countryToStateString = '{"United States":"Alabama,Alaska,Arizona,Arkansas,California,Colorado,Connecticut,Delaware,District of Columbia,Florida,Georgia,Hawaii,Idaho,Illinois,Indiana,Iowa,Kansas,Kentucky,Louisiana,Maine,Maryland,Massachusetts,Michigan,Minnesota,Mississippi,Missouri,Montana,Nebraska,Nevada,New Hampshire,New Jersey,New Mexico,New York,North Carolina,North Dakota,Ohio,Oklahoma,Oregon,Pennsylvania,Rhode Island,South Carolina,South Dakota,Tennessee,Texas,Utah,Vermont,Virginia,Washington,West Virginia,Wisconsin,Wyoming", "Canada":"Alberta,British Columbia,Manitoba,New Brunswick,Newfoundland and Labrador,Northwest Territories,Nova Scotia,Nunavut,Ontario,Prince Edward Island,Quebec,Saskatchewan,Yukon"}';

countryToState = eval("(" + countryToStateString + ")");

stateToAbbrevString = '{"Alabama":"AL", "Alaska":"AK", "Arizona":"AZ", "Arkansas":"AR", "California":"CA", "Colorado":"CO", "Connecticut":"CT", "Delaware":"DE", "District of Columbia":"DC", "Florida":"FL", "Georgia":"GA", "Hawaii":"HI", "Idaho":"ID", "Illinois":"IL", "Indiana":"IN", "Iowa":"IA", "Kansas":"KS", "Kentucky":"KY", "Louisiana":"LA", "Maine":"ME", "Montana":"MT", "Nebraska":"NE", "Nevada":"NV", "New Hampshire":"NH", "New Jersey":"NJ", "New Mexico":"NM", "New York":"NY", "North Carolina":"NC", "North Dakota":"ND", "Ohio":"OH", "Oklahoma":"OK", "Oregon":"OR", "Maryland":"MD", "Massachusetts":"MA", "Michigan":"MI", "Minnesota":"MN", "Mississippi":"MS", "Missouri":"MO", "Pennsylvania":"PA", "Rhode Island":"RI", "South Carolina":"SC", "South Dakota":"SD", "Tennessee":"TN", "Texas":"TX", "Utah":"UT", "Vermont":"VT", "Virginia":"VA", "Washington":"WA", "West Virginia":"WV", "Wisconsin":"WI", "Wyoming":"WY", "Alberta":"AB", "British Columbia":"BC", "Manitoba":"MB", "New Brunswick":"NB", "Newfoundland and Labrador":"NL", "Northwest Territories":"NT", "Nova Scotia":"NS", "Nunavut":"NU", "Ontario":"ON", "Prince Edward Island":"PE", "Quebec":"QC", "Saskatchewan":"SK", "Yukon":"YT"}';

stateToAbbrev = eval("(" + stateToAbbrevString + ")");

function loadStateList(countryList, stateList, countyList)
{
	selectedCountry = countryList.options[countryList.selectedIndex].value;
	disableList(stateList, "Loading States...");
	switch (selectedCountry)
	{
		case "":
			disableList(stateList, "No Country Selected");
			disableList(countyList, "Not Applicable");
			break;
		case "United States":
			stateList.disabled = false;
			stateList.options[0] = new Option("Select a State","");
			var states = (countryToState[selectedCountry]).split(",");
			var state = "";
			var length = states.length;
			for (var c = 1; c <= length; c++)
			{
				state = states[c - 1];
				stateList.options[c] = new Option(state, stateToAbbrev[state]);
			}
			break;
		case "Canada":
			disableList(countyList, "Not Applicable");
			stateList.disabled = false;
			stateList.options[0] = new Option("Select a Province","");
			var states = (countryToState[selectedCountry]).split(",");
			var state = "";
			var length = states.length;
			for (var c = 1; c <= length; c++)
			{
				state = states[c - 1];
				stateList.options[c] = new Option(state, stateToAbbrev[state]);
			}
			break;
		default:
			disableList(stateList, "Not Applicable");
			disableList(countyList, "Not Applicable");
	}
}

function disableList(list, value)
{
	if (list != null)
	{
		clearList(list);
		list.disabled = true;
		list.options[0] = new Option(value,"");
		list.selectedIndex = 0;
	}
}

function clearList(list)
{
	var length = list.length;
	for (var c = 0; c < length; c++)
	{
		list.remove(0);
	}
}
