/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Michael J. Damato | http://developing.damato.net/ */
// State lists
var states = new Array();
states['Select'] = new Array('Select State');
states['East'] = new Array('Select State','Arunachal Pradesh','Assam','Bihar','Chhattisgarh','Jharkhand','Manipur','Meghalaya','Mizoram','Nagaland','Orissa','Sikkim','Tripura','West Bengal');
states['North'] = new Array('Select State','Chandigarh','Delhi','Haryana','Himachal Pradesh','Jammu and Kashmir','Madhya Pradesh','Punjab','Rajasthan','Uttar Pradesh','Uttarakhand');
states['South'] = new Array('Select State','Andaman & Nicobar','Andhra Pradesh','Karnataka','Kerala','Puducherry','Tamil Nadu');
states['West'] = new Array('Select State','Goa','Gujrat','Maharastra');

// City lists
var cities = new Array();

cities['East'] = new Array('Select City');
cities['East']['Arunachal Pradesh'] = new Array('Select City','Ittanagar');
cities['East']['Assam'] = new Array('Select City','Guwahati');
cities['East']['Bihar'] = new Array('Select City','Patna','Gaya','Bhagalpur','Muzaffarpur','Darbhanga','Bihar Sharif','Arrah','Purnia');
cities['East']['Chhattisgarh'] = new Array('Select City','Raipur','Bhilai','Korba','Bilaspur','Durg');
cities['East']['Jharkhand'] = new Array('Select City','Ranchi','Jamshedpur','Bokaro','Dhanbad');
cities['East']['Manipur'] = new Array('Select City','Imphal');
cities['East']['Meghalaya'] = new Array('Select City','Shillong');
cities['East']['Mizoram'] = new Array('Select City','Aizawl');
cities['East']['Nagaland'] = new Array('Select City','Dimapur','Kohima');
cities['East']['Orissa'] = new Array('Select City','Bhubaneswar','Cuttack','Brahmapur','Rourkela');
cities['East']['Sikkim'] = new Array('Select City','Gangtok');
cities['East']['Tripura'] = new Array('Select City','Agartala');
cities['East']['West Bengal'] = new Array('Select City','Kolkata','Howrah','Rajpur Sonarpur','Siliguri','Durgapur','Bhatpara','South Dumdum','Maheshtala','Asansol','Rajarhat Gopalpur','Panihati','Kamarhati','Bally','Kulti','Bardhaman','Naihati','Baranagar','Srirampur','North Dumdum','Uluberia','Bidhan Nagar');

cities['North'] = new Array('Select City');
cities['North']['Chandigarh'] = new Array('Select City','Chandigarh');
cities['North']['Delhi'] = new Array('Select City','Delhi','Deoli','Nangloi Jat','New Delhi');
cities['North']['Haryana'] = new Array('Select City','Faridabad','Rohtak','Hisar','Panipat','Sonipat');
cities['North']['Himachal Pradesh'] = new Array('Select City','Shimla');
cities['North']['Jammu and Kashmir'] = new Array('Select City','Srinagar','Jammu');
cities['North']['Madhya Pradesh'] = new Array('Select City','Indore','Bhopal','Jabalpur','Gwalior','Ujjain','Singrauli','Dewas','Satna','Sagar','Ratlam','Rewa');
cities['North']['Punjab'] = new Array('Select City','Ludhiana','Amritsar','Jalandhar','Patiala','Bathinda');
cities['North']['Rajasthan'] = new Array('Select City','Jaipur','Jodhpur','Kota','Bikaner','Ajmer','Udaipur','Bhilwara','Alwar','Bharatpur','Sri Ganganagar','Pali');
cities['North']['Uttar Pradesh'] = new Array('Select City','Kanpur','Lucknow','Agra','Ghaziabad','Meerut','Varanasi','Allahabad','Aligarh','Bareilly','Moradabad','Gorakhpur','Saharanpur','Noida','Jhansi','Muzaffarnagar','Mathura','Shahjahanpur','Firozabad','Etawah','Rampur','Mau','Hapur','Farrukhabad','Loni','Mirzapur');
cities['North']['Uttarakhand'] = new Array('Select City','Dehradun');

cities['South'] = new Array('Select City');
cities['South']['Andaman & Nicobar'] = new Array('Select City','Port Blair');
cities['South']['Andhra Pradesh'] = new Array('Select City','Hyderabad','Visakhapatnam','Vijayawada','Warangal','Guntur','Nellore','Lalbahadur Nagar','Quthbullapur','Nizamabad','Kakinada','Kurnool','Rajahmundry','Tirupati','Karimnagar','Anantapur','Kapra','Ramagundam');
cities['South']['Karnataka'] = new Array('Select City','Bangalore','Mysore','Hubballi-Dharwad','Gulbarga','Belgaum','Davanagere','Mangalore','Tumakuru (Tumkur)','Shivamogga (Shimoga)','Bellary','Bijapur','Raichur','Hosapete','Bidar');
cities['South']['Kerala'] = new Array('Select City','Thiruvananthapuram','Kozhikode (Calicut)','Kollam (Quilon)','Thrissur','Kochi');
cities['South']['Puducherry'] = new Array('Select City','Ozhukarai');
cities['South']['Tamil Nadu'] = new Array('Select City','Chennai','Coimbatore','Salem','Madurai','Tiruchirappalli','Tirunelveli','Tirupur','Ambattur','Avadi','Tiruvottiyur');

cities['West'] = new Array('Select City');
cities['West']['Goa'] = new Array('Select City','Goa');
cities['West']['Gujrat'] = new Array('Select City','Ahmedabad','Surat','Vadodara','Rajkot','Bhavnagar','Jamnagar','Gandhinagar');
cities['West']['Maharastra'] = new Array('Select City','Mumbai','Pune','Nagpur','Thane','Pimpri-Chinchwad','Nashik','Kalyan-Dombivali','Navi Mumbai','Aurangabad','Solapur','Mira-Bhayandar','Bhiwandi','Amravati','Ulhasnagar','Kolhapur','Sangli-Miraj & Kupwad','Nanded','Jalgaon','Malegaon','Akola','Ahmadnagar','Latur','Dhule','Chandrapur','Nala Sopara','Parbhani','Jalna','Ichalkaranji','Navghar','Panvel','Ambernath');


function setStates() {
  cntrySel = document.getElementById('country');
  stateList = states[cntrySel.value];
  changeSelect('state', stateList, stateList);
  setCities();
}

function setCities() {
  cntrySel = document.getElementById('country');
  stateSel = document.getElementById('state');
  cityList = cities[cntrySel.value][stateSel.value];
  changeSelect('city', cityList, cityList);
}

function changeSelect(fieldID, newOptions, newValues) {
  selectField = document.getElementById(fieldID);
  selectField.options.length = 0;
  for (i=0; i<newOptions.length; i++) {
    selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
  }
}

// Multiple onload function created by: Simon Willison
// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  setStates();
});
