var arCompanyStateAllOpts;
var state_fd;
var bStateInit = false;

arNotApply = Array(	new Option("Not Required", 'N/A'));


arCanada = Array(	new Option("Select One", '')
				 
				 , new Option("Alberta", "AB")
				 , new Option("British Columbia", "BC")
				 , new Option("Manitoba", "MB")
				 , new Option("New Brunswick", "NB")
				 , new Option("Newfoundland", "NL")
				 , new Option("Northwest Territories", "NT")
				 , new Option("Nova Scotia", "NS")
				 , new Option("Nunavut", "NU")
				 , new Option("Ontario", "ON")
				 , new Option("Prince Edward Island", "PE")
				 , new Option("Quebec", "QC")
				 , new Option("Saskatchewan", "SK")
				 , new Option("Yukon", "YT")
				 
				 );

arIndia = Array(	new Option("Select One", '')
				
				, new Option("Andrapradesh ", "Andrapradesh")
				, new Option("Arunachal Pradesh ", "Arunachal_Pradesh")
				, new Option("Assam ", "Assam")
				, new Option("Bihar ", "Bihar")
				, new Option("Chattisgargh ", "Chattisgargh")
				, new Option("Delhi ", "Delhi")
				, new Option("Goa ", "Goa")
				, new Option("Gujarat ", "Gujarat")
				, new Option("Haryana ", "Haryana")
				, new Option("Himachal Pardesh ", "Himachal_Pardesh")
				, new Option("Jammu & Kashmir ", "Jammu_&amp;_Kashmir")
				, new Option("Jharkhand ", "Jharkhand")
				, new Option("Karnataka ", "Karnataka")
				, new Option("Kerala ", "Kerala")
				, new Option("Madhya Pardesh ", "Madhya_Pardesh")
				, new Option("Maharashtra ", "Maharashtra")
				, new Option("Manipur ", "Manipur")
				, new Option("Meghalaya ", "Meghalaya")
				, new Option("Mizoram ", "Mizoram")
				, new Option("Nagaland ", "Nagaland")
				, new Option("Orrisa ", "Orrisa")
				, new Option("Punjab ", "Punjab")
				, new Option("Rajasthan ", "Rajasthan")
				, new Option("Tamil Nadu ", "Tamil_Nadu")
				, new Option("Tripura ", "Tripura")
				, new Option("Uttar Pardesh ", "Uttar_Pardesh")
				, new Option("Uttrakhand ", "Uttrakhand")
				, new Option("West Bangal ", "West_Bangal")
				
				);

arUSA = Array(		new Option("Select One", '')
			  
			  , new Option("Alabama", "AL")
			  , new Option("Alaska", "AK")
			  , new Option("Arizona", "AZ")
			  , new Option("Arkansas", "AR")
			  , new Option("California", "CA")
			  , new Option("Colorado", "CO")
			  , new Option("Connecticut", "CT")
			  , new Option("Delaware", "DE")
			  , new Option("District of Columbia", "DC")
			  , new Option("Florida", "FL")
			  , new Option("Georgia", "GA")
			  , new Option("Hawaii", "HI")
			  , new Option("Idaho", "ID")
			  , new Option("Illinois", "IL")
			  , new Option("Indiana", "IN")
			  , new Option("Iowa", "IA")
			  , new Option("Kansas", "KS")
			  , new Option("Kentucky", "KY")
			  , new Option("Louisiana", "LA")
			  , new Option("Maine", "ME")
			  , new Option("Maryland", "MD")
			  , new Option("Massachusetts", "MA")
			  , new Option("Michigan", "MI")
			  , new Option("Minnesota", "MN")
			  , new Option("Mississippi", "MS")
			  , new Option("Missouri", "MO")
			  , new Option("Montana", "MT")
			  , new Option("Nebraska", "NE")
			  , new Option("Nevada", "NV")
			  , new Option("New Hampshire", "NH")
			  , new Option("New Jersey", "NJ")
			  , new Option("New Mexico", "NM")
			  , new Option("New York", "NY")
			  , new Option("North Carolina", "NC")
			  , new Option("North Dakota", "ND")
			  , new Option("Ohio", "OH")
			  , new Option("Oklahoma", "OK")
			  , new Option("Oregon", "OR")
			  , new Option("Pennsylvania", "PA")
			  , new Option("Rhode Island", "RI")
			  , new Option("South Carolina", "SC")
			  , new Option("South Dakota", "SD")
			  , new Option("Tennessee", "TN")
			  , new Option("Texas", "TX")
			  , new Option("Utah", "UT")
			  , new Option("Vermont", "VT")
			  , new Option("Virginia", "VA")
			  , new Option("Washington", "WA")
			  , new Option("West Virginia", "WV")
			  , new Option("Wisconsin", "WI")
			  , new Option("Wyoming", "WY")
			  
			  );

arAustralia = Array(		new Option("Select One", '')
					
					, new Option("Australian Capital Territory", "ACT")
					, new Option("New South Wales", "NSW")
					, new Option("Northern Territory", "NT")
					, new Option("Queensland", "QLD")
					, new Option("South Australia", "SA")
					, new Option("Tasmania", "TAS")
					, new Option("Victoria", "VIC")
					, new Option("Western Australia", "WA")
					
					);

arChina = Array(		new Option("Select One", '')
				
				, new Option("Anhui", "Anhui")
				, new Option("Beijing", "Beijing")
				, new Option("Chongqing", "Chongqing")
				, new Option("Fujian", "Fujian")
				, new Option("Gansu", "Gansu")
				, new Option("Guangdong", "Guangdong")
				, new Option("Guangxi", "Guangxi")
				, new Option("Guizhou", "Guizhou")
				, new Option("Hainan", "Hainan")
				, new Option("Hebei", "Hebei")
				, new Option("Helongjiang", "Helongjiang")
				, new Option("Henan", "Henan")
				, new Option("Hubei", "Hubei")
				, new Option("Hunan", "Hunan")
				, new Option("Inner Mongolia", "Inner_Mongolia")
				, new Option("Jiangsu", "Jiangsu")
				, new Option("Jiangxi", "Jiangxi")
				, new Option("Jilin", "Jilin")
				, new Option("Liaoning", "Liaoning")
				, new Option("Ningxia", "Ningxia")
				, new Option("Qinghai", "Qinghai")
				, new Option("Shaanxi", "Shaanxi")
				, new Option("Shandong", "Shandong")
				, new Option("Shanghai", "Shanghai")
				, new Option("Shanxi", "Shanxi")
				, new Option("Sichuan", "Sichuan")
				, new Option("Tianjin", "Tianjin")
				, new Option("Tibet", "Tibet")
				, new Option("Xinjiang", "Xinjiang")
				, new Option("Yunnan", "Yunnan")
				, new Option("Zhejiang", "Zhejiang")
				
				);

arHongKong = Array(		new Option("Select One", '')
				   
				   , new Option("Hong Kong Island", "Hong_Kong_Island")
				   , new Option("Kowloon", "Kowloon")
				   , new Option("Lantau Island", "Lantau_Island")
				   , new Option("New Territories", "New_Territories")
				   
				   );

arSingapore = Array(		new Option("Select One", '')
					
					, new Option("Singapore", "Singapore")
					
					);


arCompanyStateAllOpts = Array(	new Option("Select One", "")
							  
							  , new Option("Alabama", "AL")
							  , new Option("Alaska", "AK")
							  , new Option("Arizona", "AZ")
							  , new Option("Arkansas", "AR")
							  , new Option("California", "CA")
							  , new Option("Colorado", "CO")
							  , new Option("Connecticut", "CT")
							  , new Option("Delaware", "DE")
							  , new Option("District of Columbia", "DC")
							  , new Option("Florida", "FL")
							  , new Option("Georgia", "GA")
							  , new Option("Hawaii", "HI")
							  , new Option("Idaho", "ID")
							  , new Option("Illinois", "IL")
							  , new Option("Indiana", "IN")
							  , new Option("Iowa", "IA")
							  , new Option("Kansas", "KS")
							  , new Option("Kentucky", "KY")
							  , new Option("Louisiana", "LA")
							  , new Option("Maine", "ME")
							  , new Option("Maryland", "MD")
							  , new Option("Massachusetts", "MA")
							  , new Option("Michigan", "MI")
							  , new Option("Minnesota", "MN")
							  , new Option("Mississippi", "MS")
							  , new Option("Missouri", "MO")
							  , new Option("Montana", "MT")
							  , new Option("Nebraska", "NE")
							  , new Option("Nevada", "NV")
							  , new Option("New Hampshire", "NH")
							  , new Option("New Jersey", "NJ")
							  , new Option("New Mexico", "NM")
							  , new Option("New York", "NY")
							  , new Option("North Carolina", "NC")
							  , new Option("North Dakota", "ND")
							  , new Option("Ohio", "OH")
							  , new Option("Oklahoma", "OK")
							  , new Option("Oregon", "OR")
							  , new Option("Pennsylvania", "PA")
							  , new Option("Rhode Island", "RI")
							  , new Option("South Carolina", "SC")
							  , new Option("South Dakota", "SD")
							  , new Option("Tennessee", "TN")									
							  , new Option("Texas", "TX")									
							  , new Option("Utah", "UT")									
							  , new Option("Vermont", "VT")									
							  , new Option("Virginia", "VA")									
							  , new Option("Washington", "WA")									
							  , new Option("West Virginia", "WV")									
							  , new Option("Wisconsin", "WI")									
							  , new Option("Wyoming", "WY")									
							  
							  
							  
							  , new Option("Alberta", "AB")									
							  , new Option("British Columbia", "BC")									
							  , new Option("Manitoba", "MB")									
							  , new Option("New Brunswick", "NB")
							  , new Option("Newfoundland", "NL")
							  , new Option("Northwest Territories", "NT")									
							  , new Option("Nova Scotia", "NS")									
							  , new Option("Nunavut", "NU")
							  , new Option("Ontario", "ON")									
							  , new Option("Prince Edward Island", "PE")									
							  , new Option("Quebec", "QC")									
							  , new Option("Saskatchewan", "SK")									
							  , new Option("Yukon", "YT")
							  
							  
							  
							  , new Option("Andrapradesh ", "Andrapradesh")									
							  , new Option("Arunachal Pradesh ", "Arunachal_Pradesh")									
							  , new Option("Assam ", "Assam")									
							  , new Option("Bihar ", "Bihar")									
							  , new Option("Chattisgargh ", "Chattisgargh")									
							  , new Option("Delhi ", "Delhi")									
							  , new Option("Goa ", "Goa")									
							  , new Option("Gujarat ", "Gujarat")									
							  , new Option("Haryana ", "Haryana")									
							  , new Option("Himachal Pardesh ", "Himachal_Pardesh")									
							  , new Option("Jammu & Kashmir ", "Jammu_&amp;_Kashmir")									
							  , new Option("Jharkhand ", "Jharkhand")									
							  , new Option("Karnataka ", "Karnataka")									
							  , new Option("Kerala ", "Kerala")									
							  , new Option("Madhya Pardesh ", "Madhya_Pardesh")									
							  , new Option("Maharashtra ", "Maharashtra")									
							  , new Option("Manipur ", "Manipur")									
							  , new Option("Meghalaya ", "Meghalaya")									
							  , new Option("Mizoram ", "Mizoram")									
							  , new Option("Nagaland ", "Nagaland")									
							  , new Option("Orrisa ", "Orrisa")									
							  , new Option("Punjab ", "Punjab")
							  , new Option("Rajasthan ", "Rajasthan")
							  , new Option("Tamil Nadu ", "Tamil_Nadu")
							  , new Option("Tripura ", "Tripura")
							  , new Option("Uttar Pardesh ", "Uttar_Pardesh")									
							  , new Option("Uttrakhand ", "Uttrakhand")									
							  , new Option("West Bangal ", "West_Bangal")
							  
							  
							  
							  , new Option("Australian Capital Territory", "ACT")
							  , new Option("New South Wales", "NSW")									
							  , new Option("Northern Territory", "NT")									
							  , new Option("Queensland", "QLD")									
							  , new Option("South Australia", "SA")									
							  , new Option("Tasmania", "TAS")									
							  , new Option("Victoria", "VIC")
							  , new Option("Western Australia", "WA")
							  
							  
							  
							  , new Option("Anhui", "Anhui")									
							  , new Option("Beijing", "Beijing")									
							  , new Option("Chongqing", "Chongqing")									
							  , new Option("Fujian", "Fujian")
							  , new Option("Gansu", "Gansu")
							  , new Option("Guangdong", "Guangdong")
							  , new Option("Guangxi", "Guangxi")
							  , new Option("Guizhou", "Guizhou")
							  , new Option("Hainan", "Hainan")
							  , new Option("Hebei", "Hebei")									
							  , new Option("Helongjiang", "Helongjiang")
							  , new Option("Henan", "Henan")									
							  , new Option("Hubei", "Hubei")									
							  , new Option("Hunan", "Hunan")
							  , new Option("Inner Mongolia", "Inner_Mongolia")									
							  , new Option("Jiangsu", "Jiangsu")									
							  , new Option("Jiangxi", "Jiangxi")									
							  , new Option("Jilin", "Jilin")									
							  , new Option("Liaoning", "Liaoning")									
							  , new Option("Ningxia", "Ningxia")
							  , new Option("Qinghai", "Qinghai")
							  , new Option("Shaanxi", "Shaanxi")
							  , new Option("Shandong", "Shandong")
							  , new Option("Shanghai", "Shanghai")
							  , new Option("Shanxi", "Shanxi")
							  , new Option("Sichuan", "Sichuan")
							  , new Option("Tianjin", "Tianjin")
							  , new Option("Tibet", "Tibet")									
							  , new Option("Xinjiang", "Xinjiang")									
							  , new Option("Yunnan", "Yunnan")									
							  , new Option("Zhejiang", "Zhejiang")
							  
							  
							  
							  , new Option("Hong Kong Island", "Hong_Kong_Island")									
							  , new Option("Kowloon", "Kowloon")									
							  , new Option("Lantau Island", "Lantau_Island")									
							  , new Option("New Territories", "New_Territories")
							  
							  
							  
							  , new Option("Singapore", "Singapore")
							  
							  );

function InitStateOpts(){
	try {
		state_fd = SFDC_state_pl.getForm().elements['state'];
		mapCountries = {"CA":arCanada, "IN":arIndia, "US":arUSA, "AU":arAustralia, "CN":arChina, "HK":arHongKong, "SG":arSingapore};
		bStateInit = true;
	} catch(e) {
		
	}
}


function swapCountryStates(arCountry){
	
	new_ubound = arCountry.length;
	old_ubound = state_fd.options.length;
	z_ubound = old_ubound;
	if(new_ubound > old_ubound){z_ubound=new_ubound;}
	for(oi=0; oi < new_ubound; oi++){state_fd.options[oi] = arCountry[oi];}
	for(zi = state_fd.options.length-1;zi>=oi;zi--){state_fd.options[zi]= null;}
}

function checkStates(c){
	try{
		if(!bStateInit){InitStateOpts();}
		if(c == ''){
			arCountry = arCompanyStateAllOpts;
		}else{
			arCountry = mapCountries[c];
			if(typeof(arCountry) == 'undefined'){arCountry = arNotApply;}
			if(arCountry){swapCountryStates(arCountry);}
			var st_span = document.getElementById('state_req_span');
			if(st_span){st_span.style.display = ((c == 'US')||(c == 'CA')||(c == 'IN')||(c == 'AU')||(c == 'CN')||(c == 'HK')||(c == 'SG'))?'inline':'inline';}
		}
	}catch(e){
		
	}finally{}
}

var SFDC_state_pl = {
supportedCountries: 'CA,IN,US,AU,CN,HK,SG',
	
validateState: function( countryElement, stateElement, errObject ) {
	var c_val = countryElement[countryElement.selectedIndex].value;
	
	if(this.supportedCountries.indexOf(c_val) != -1){
		if(stateElement.selectedIndex < 1) {
			errObject[stateElement.id]="Enter your State/Province";
		}
	}
},
	
getForm: function() {
	for( var iform = 0; iform < document.forms.length; iform++) {
		var currentForm = document.forms[iform];
		
		if (currentForm["state"]) {
			return currentForm;
		}
	}
	
	return;
}
}
