states = new Array(
"Outside N.America",
"Alberta",
"Alabama",
"Alaska",
"American Samoa",
"Arizona",
"Arkansas",
"British Columbia",
"California",
"Colorado",
"Connecticut",
"Delaware",
"District of Columbia",
"Fed St of Micronesia",
"Florida",
"Georgia",
"Guam",
"Hawaii",
"Idaho",
"Illinois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Marshall Islands",
"Maryland",
"Massachusetts",
"Manitoba",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"New Brunswick",
"Nebraska",
"Newfoundland",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"Nova Scotia",
"Northwest Territories",
"New York",
"North Carolina",
"North Dakota",
"N Mariana Islands",
"Ohio",
"Oklahoma",
"Ontario",
"Oregon",
"Prince Edward Island",
"Palau",
"Pennsylvania",
"Puerto Rico",
"Quebec",
"Rhode Island",
"South Carolina",
"South Dakota",
"Saskatchewan",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virgin Islands",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Wyoming",
"Yukon"
);

codes = new Array(
"00", 
"AB", 
"AL", 
"AK", 
"AS", 
"AZ", 
"AR", 
"BC", 
"CA", 
"CO", 
"CT", 
"DE", 
"DC", 
"FM", 
"FL", 
"GA", 
"GU", 
"HI", 
"ID", 
"IL", 
"IN", 
"IA", 
"KS", 
"KY", 
"LA", 
"ME", 
"MH", 
"MD", 
"MA", 
"MB", 
"MI", 
"MN", 
"MS", 
"MO", 
"MT", 
"NB", 
"NE", 
"NF", 
"NV", 
"NH", 
"NJ", 
"NM", 
"NS", 
"NT", 
"NY", 
"NC", 
"ND", 
"MP", 
"OH", 
"OK", 
"ON", 
"OR", 
"PE", 
"PW", 
"PA", 
"PR", 
"QC", 
"RI", 
"SC", 
"SD", 
"SK", 
"TN", 
"TX", 
"UT", 
"VT", 
"VI", 
"VA", 
"WA", 
"WV", 
"WI", 
"WY", 
"YT" );

var sug_state = "";
var sug_state_disp = "";

function getState()
{
	var input = document.forms['theform'].state.value;
	var len = input.length;
	sug_state_disp = ""; sug_state = "";
	
	if (input.length)
	{
		// get matching state from array
		for (ele in states)
		{
			if (states[ele].substr(0,len).toLowerCase() == input.toLowerCase())
			{
				sug_state_disp = input + states[ele].substr(len);
				sug_state = states[ele];
				break;
			}
		}
	} 
	document.forms['theform'].sug_state.value = sug_state_disp;
	
	if (!sug_state.length || input == sug_state_disp){
		document.getElementById('sug_state_btn').style.display = "none";
	}
	else{
		document.getElementById('sug_state_btn').style.display = "block";
	}
}

function setState()
{
	document.forms['theform'].state.value = sug_state;
	var index = 0;
	for (ele in states)
	{
		if (states[ele].toLowerCase() == sug_state.toLowerCase())
		{
			document.forms['theform'].state_code.value = codes[index];
			break;
		}
		index++;
	}

	if(document.forms['theform'].state_code.value == "00" && document.forms['theform'].country.value == "USA")
	{
		document.forms['theform'].country.value = "";
	}
	hideStateSug();
}

function hideStateSug()
{
	document.forms['theform'].sug_state.value = "";
	document.getElementById('sug_state_btn').style.display = "none";
}
