	var arCompanyStateAllOpts;
	var state_fd;
	var bStateInit = false;

	arNotApply = Array(	new Option("Not Required", ''));
			
	
	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("Andhra Pradesh ", "Andhra Pradesh")
	
						, new Option("Arunachal Pradesh ", "Arunachal Pradesh")
	
						, new Option("Assam ", "Assam")
	
						, new Option("Bihar ", "Bihar")
	
						, new Option("Chhattisgarh", "Chhattisgarh")
	
						, new Option("Delhi ", "Delhi")
	
						, new Option("Goa ", "Goa")
	
						, new Option("Gujarat ", "Gujarat")
	
						, new Option("Haryana ", "Haryana")
	
						, new Option("Himachal Pradesh ", "Himachal Pradesh")
	
						, new Option("Jammu & Kashmir ", "Jammu & Kashmir")
	
						, new Option("Jharkhand ", "Jharkhand")
	
						, new Option("Karnataka ", "Karnataka")
	
						, new Option("Kerala ", "Kerala")
	
						, new Option("Madhya Pradesh ", "Madhya Pradesh")
	
						, new Option("Maharashtra ", "Maharashtra")
	
						, new Option("Manipur ", "Manipur")
	
						, new Option("Meghalaya ", "Meghalaya")
	
						, new Option("Mizoram ", "Mizoram")
	
						, new Option("Nagaland ", "Nagaland")
	
						, new Option("Orissa ", "Orissa")
	
						, new Option("Punjab ", "Punjab")
	
						, new Option("Rajasthan ", "Rajasthan")
	
						, new Option("Tamil Nadu ", "Tamil Nadu")
	
						, new Option("Tripura ", "Tripura")
	
						, new Option("Uttar Pradesh ", "Uttar Pradesh")
	
						, 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")
	
	);
	
		
	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("Andhra Pradesh ", "Andhra Pradesh")
	
						, new Option("Arunachal Pradesh ", "Arunachal Pradesh")
	
						, new Option("Assam ", "Assam")
	
						, new Option("Bihar ", "Bihar")
	
						, new Option("Chhattisgarh", "Chattisgargh")
	
						, new Option("Delhi ", "Delhi")
	
						, new Option("Goa ", "Goa")
	
						, new Option("Gujarat ", "Gujarat")
	
						, new Option("Haryana ", "Haryana")
	
						, new Option("Himachal Pradesh ", "Himachal Pradesh")
	
						, new Option("Jammu & Kashmir ", "Jammu & Kashmir")
	
						, new Option("Jharkhand ", "Jharkhand")
	
						, new Option("Karnataka ", "Karnataka")
	
						, new Option("Kerala ", "Kerala")
	
						, new Option("Madhya Pradesh ", "Madhya Pradesh")
	
						, new Option("Maharashtra ", "Maharashtra")
	
						, new Option("Manipur ", "Manipur")
	
						, new Option("Meghalaya ", "Meghalaya")
	
						, new Option("Mizoram ", "Mizoram")
	
						, new Option("Nagaland ", "Nagaland")
	
						, new Option("Orissa ", "Orissa")
	
						, new Option("Punjab ", "Punjab")
	
						, new Option("Rajasthan ", "Rajasthan")
	
						, new Option("Tamil Nadu ", "Tamil Nadu")
	
						, new Option("Tripura ", "Tripura")
	
						, new Option("Uttar Pradesh ", "Uttar Pradesh")
	
						, 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")
	
	
		);
		
	function InitStateOpts(){
		try {
			state_fd = SFDC_state_pl.getForm().elements['state'];
			mapCountries = {"Canada":arCanada, "India":arIndia, "USA":arUSA, "Australia":arAustralia, "China":arChina, "HongKong":arHongKong };
			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 == 'USA')||(c == 'Canada')||(c == 'India')||(c == 'Australia')||(c == 'China')||(c == 'HongKong'))?'inline':'none';}
			}
		}catch(e){
				
		}finally{}
	}
	
	var SFDC_state_pl = {
		supportedCountries: 'Canada,India,USA,Australia,China,HongKong,Singapore',
		
		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;
		}
	}
				
