/******************* File Comments **************************
Filename:		cscombo.js
Description:	This file populates comboboxes with all
	known countries (as of 03/26/2003).  When the user
	selects a country the state combobox will be populated
	with the states associated with the country selected.
Compatibility:
	MSIE 4, 5, 6
	Netscape 4.7, 6, 7
	WebTV
	Opera	
Usage:		I generally have this command executed just before
	the closing < / body > tag.  Also in the onChange event
	of the Country combobox.
Warnings:	There is a bug in IE that requires the focus to 
	be shifted any other control on the form or the defaults
	will be off by one.  There is a fix within the code however 
	if causes focus to be sent to either the country or state
	combobox.  Quick fix would be to add a *.focus();
	event to fire to a textbox on the form.

Example 1:
	...page...
	< SCRIPT >
		FillCountry(document.form1.Country, document.form1.State, 'USA');
		FillState(document.form1.Country, document.form1.State, 'Florida');
		document.form1.Title.focus();
	< / SCRIPT >
	< / body >
	< / html >
	...end...
Example 2:
	 onChange="FillState(document.form1.Country, document.form1.State, 'Florida')"

This file was created by Brian Reeves  (ketapillar'ayat'hotmail.com)
Open Source feel free to take.  I do appreciate feedback as
well.  BTW vote at www.planet-source-code.com thanks.

Created:	@12/01/2002		brian
Modified:	3/26/2003		brian
	Modified so that the whole contents work by passing the
	comboboxes to the function.  Also changed the coding so
	that it resides in a script include.  No longer requires
	minimal ASP.
*************************************************************/

/******************* FillCountry() Comments *****************
This function needs to be called first to populate the country
combobox.  

Created:	@12/01/2002		brian
Modified:	3/26/2003		brian
	Modified to allow the passing of combo's instead of hard
	coding them.  Also created the default capabilities of
	passing a default country to be selected.

Example:  FillCountry(NameOfCountryCombo, NameOfStateCombo, DefaultCountry)
*************************************************************/
function FillCountry(cboCountry, cboState, sDefaultCountry){
	var sDefaultCountry, sDefault, sCountry
		
	cboCountry.options.length=0
	for(i=0;i<sCountryString.split("|").length;i++){
		sCountry = sCountryString.split("|")[i];

		if (sDefaultCountry == sCountry) {
			sDefault=true;
			if (navigator.appName=="Microsoft Internet Explorer"){cboState.focus();}
		}
		else {sDefault=false;}
		
		if (sDefault) {cboCountry.options[i]=new Option(sCountry,sCountry,sDefault,sDefault);}
		else {//cboCountry.options[i]=new Option(sCountryString.split("|")[i]);
cboCountry.options[i]=new Option(sCountryString.split("|")[i],sCountryString.split("|")[i]);
}
	}
}
if (navigator.appName=="Netscape"){
isNav=true
}

/******************* FillState() Comments *******************
This function needs to be called after the FillCountry() to
populate the State combobox.  Also from the onChange of the
country combobox.

Created:	@12/01/2002		brian
Modified:	3/26/2003		brian
	Modified to allow the passing of combo's instead of hard
	coding them.  Also created the default capabilities of
	passing a default country to be selected.

Example:  FillState(NameOfCountryCombo, NameOfStateCombo, DefaultState)
*************************************************************/
function FillState(cboCountry, cboState, sDefaultState){
	var sDefaultState, sState, sDefault
		
	cboState.options.length=0
	for(i=0;i<sStateArray[cboCountry.selectedIndex].split("|").length;i++){
		sState = sStateArray[cboCountry.selectedIndex].split("|")[i];
		
		if(sDefaultState == sState) {
			sDefault=true;
			if (navigator.appName=="Microsoft Internet Explorer"){cboState.focus();}
		} 
		else {sDefault=false;}
		
		if(sDefault) {cboState.options[i]=new Option(sState,sState,sDefault,sDefault)}
		else {cboState.options[i]=new Option(sState,sState);}
	}
}

var sCountryString = "|Andhra Pradesh|Arunachal|Assam|Bihar|Orissa|Bhutan|Chhatisgarh|Chandigarh|Delhi|Goa|Gujrat|Haryana|Himachal|Jharkhand|Jammu & Kashmir|Karnatka|Kerla|Maharashtra|Manipur|Meghalya|Mizoram|Madhya Pradesh|Nagaland|Nepal|Punjab|Pondichery|Rajasthan|Sikkim|Tamilnadu|Tripura|Uttar Pradesh|Uttranchal|West Bengal"
		
var sStateArray = new Array()
sStateArray[0]=""
sStateArray[1]="Hyderabad|Vijaywada|Visakhapatnam|Chittor|Secunderabad"
sStateArray[2]="Itanagar|Pasighat"
sStateArray[3]="Guwahati|Jorhat|Tinsukia|Tezpur|dibrugarh"
sStateArray[4]="Patna"
sStateArray[5]="Bhubneshwar|Baripada"
sStateArray[6]="Thimphu"
sStateArray[7]="Raipur|Raigarh|Bilaspur|Korba|Titlagarh"
sStateArray[8]="Chandigarh"
sStateArray[9]="Delhi"
sStateArray[10]="Mapusa|Margao|Vasco-da-Gama"
sStateArray[11]="Navsari|Rajkot|Bhavnagar|Dahod|Baroda|Gandhinagar|Visnagar|Surat|Junagarh|Anjar|Ahmedabad"
sStateArray[12]="Hissar|Bhiwani|Yamunanagar|Karnal"
sStateArray[13]="Shimla|Palampur|Chamba|Sundarnagar|Kullu|Rampur Bushahar"
sStateArray[14]="Ranchi|Chas"
sStateArray[15]="Anantnag|Srinagar|Sapore|Jammu|Budgam|Shopian|Leh"
sStateArray[16]="Bangalore|Bijapur|Mysore|Chikmagalur"
sStateArray[17]="Thrissur|Calicut|Cochin|Irinjalakuda|Quillon|Kollam"
sStateArray[18]="Mumbai|Nagpur|Parbhani|Pune|Shrirampur|Aurangabad|Buldana"
sStateArray[19]="Imphal"
sStateArray[20]="Tura|Shillong"
sStateArray[21]="Aizawal"
sStateArray[22]="Ratlam|Bhopal|Satna|Indore|Jabalpur"
sStateArray[23]="Mokokchung"
sStateArray[24]="Kathmandu"
sStateArray[25]="Amritsar|Jallandhar|Malout|Mukerian"
sStateArray[26]="Pondichery"
sStateArray[27]="Udaipur|Banswara|Jodhpur|Jaipur|Sri Ganganagar|Kota|Alwar"
sStateArray[28]="Gangtok"
sStateArray[29]="Chennai|Coimbatore|Erode|Hosur|Vijayamangalam|Chikmagalur"
sStateArray[30]="Agartala"
sStateArray[31]="Kanpur|Varanasi|Aligarh|Ghaziabad|Lucknow|Merrut|Bareilly"
sStateArray[32]="Rudrapur|Dehradun|Saharanpur"
sStateArray[33]="Kolkata|Siliguri|Kalimpong"
