var canadianStates = {
		'AB': 'Alberta',
		'BC': 'British Columbia',
		'MB': 'Manitoba',
		'NB': 'New Brunswick',
		'NF': 'Newfoundland',
		'NT': 'Northwest Territories',
		'NS': 'Nova Scotia',
		'NU': 'Nunavut Territory',
		'ON': 'Ontario',
		'PE': 'Prince Edward Island',
		'QC': 'Quebec',
		'SK': 'Saskatchewan',
		'YT': 'Yukon Territory'
};

var usStates = {
		'AL': 'Alabama',
		'AK': 'Alaska',
		'AZ': 'Arizona',
		'AR': 'Arkansas',
		'CA': 'California',
		'CO': 'Colorado',
		'CT': 'Connecticut',
		'DE': 'Delaware',
		'FL': 'Florida',
		'GA': 'Georgia',
		'HI': 'Hawaii',
		'ID': 'Idaho',
		'IL': 'Illinois',
		'IN': 'Indiana',
		'IA': 'Iowa',
		'KS': 'Kansas',
		'KY': 'Kentucky',
		'LA': 'Louisiana',
		'MA': 'Massachusetts',
		'MD': 'Maryland',
		'ME': 'Maine',
		'MI': 'Michigan',
		'MN': 'Minnesota',
		'MS': 'Mississippi',
		'MO': 'Missouri',
		'MT': 'Montana',
		'NE': 'Nebraska',
		'NH': 'New Hampshire',
		'NJ': 'New Jersey',
		'NM': 'New Mexico',
		'NV': 'Nevada',
		'NY': 'New York',
		'NC': 'North Carolina',
		'ND': 'North Dakota',
		'OH': 'Ohio',
		'OK': 'Oklahoma',
		'OR': 'Oregon',
		'PA': 'Pennsylvania',
		'RI': 'Rhode Island',
		'SC': 'South Carolina',
		'SD': 'South Dakota',
		'TN': 'Tennessee',
		'TX': 'Texas',
		'UT': 'Utah',
		'VA': 'Virginia',
		'VT': 'Vermont',
		'WA': 'Washington (state)',
		'DC': 'Washington (DC)',
		'WI': 'Wisconsin',
		'WV': 'West Virginia',
		'WY': 'Wyoming'
};

var switzStates = {
		'Aargau': 'Aargau',
		'Appenzell': 'Appenzell',
		'Basel': 'Basel',
		'Geneve': 'Geneve',
		'Glarus': 'Glarus',
		'Jura': 'Jura',
		'Luzern': 'Luzern',
		'Neuchatel': 'Neuchatel',
		'Schaffhausen': 'Schaffhausen',
		'Schwyz': 'Schwyz',
		'Solothurn': 'Solothurn',
		'St-Gall': 'St-Gall',
		'Tessin': 'Tessin',
		'Thurgau': 'Thurgau',
		'Unterwald': 'Unterwald',
		'Uri': 'Uri',
		'Vaud': 'Vaud',
		'Zug': 'Zug',
		'Zurich': 'Zurich'
};

function fillCombo(id,values,lng,state) {
	if($(id)) {
		$(id).options.length=0;

		$(id).options[0] = new Option("Please select ...","");
		if(lng=="fr") $(id).options[0] = new Option("Veuillez sélectionner ...","");
		if(lng=="de") $(id).options[0] = new Option("Bitte auswahlen ...","");

		i = 1;
		$each(values, function(countryCode,countryName) {
			$(id).options[i] = new Option(countryCode,countryName);
			if($(id).options[i].value == state)
				$(id).options[i].style["selected"] = "selected";
			i++;
		});
	}
}

function hideInputs(object,lng,state){
	var menuIndex = object.options[object.selectedIndex].value;
	if (menuIndex == 'USA') {
		$("hidestate").setStyles('display: block;');
		if ($("hidestate2"))
			$("hidestate2").setStyles('display: block;');
		if ($("hidephonemand"))
			$("hidephonemand").setStyles('display: inline-block;');
		fillCombo("state",usStates,lng,state);
		stateMandatory(true);
	} else if(menuIndex == 'Canada') {


		$("hidestate").setStyles('display: block;');
		if ($("hidestate2"))
			$("hidestate2").setStyles('display: block;');
		if ($("hidephonemand"))
			$("hidephonemand").setStyles('display: none;');
		fillCombo("state",canadianStates,lng,state);
		stateMandatory(true);
	} else if(menuIndex == 'Switzerland' || menuIndex == 'Suisse') {

		$("hidestate").setStyles('display: block;');
		if ($("hidestate2"))
			$("hidestate2").setStyles('display: block;');
		if ($("hidephonemand")) 
			$("hidephonemand").setStyles('display: none;');
		fillCombo("state",switzStates,lng,state);
		stateMandatory(true);
	} else {


		$("hidestate").setStyles('display: none;');
		if ($("hidestate2"))
			$("hidestate2").setStyles('display: none;');
		if ($("hidephonemand"))
			$("hidephonemand").setStyles('display: none;');
		// when loading the form, the stateMandatory function is not available
		if(validFields) {
			stateMandatory(false);
		}
	}
	hideZipInputs(object,lng);
}
function hideZipInputs(object,lng){
	var menuIndex = object.options[object.selectedIndex].value;
	if (menuIndex == 'USA' || menuIndex == 'Canada'  || menuIndex == 'Switzerland') {
		$("hideZip").setStyles('display: none;');
		if ($("hideZip2"))
			$("hideZip2").setStyles('display: none;');
	} else {
		$("hideZip").setStyles('display: block;');
		if ($("hideZip2"))
			$("hideZip2").setStyles('display: block;');

	}
}
