
function loadStates(o){
	populateSelectList(o, "Select a State", ["Alabama", "Alaska", "American Samoa", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida",
									"Georgia", "Guam", "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", "Northern Marianas Islands", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Puerto Rico", "Rhode Island", 
									"South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Virgin Islands", "Washington", "West Virginia", 
									"Wisconsin", "Wyoming"]);
}

function loadProvinces(o){
	populateSelectList(o, "Select a Province", ["Alberta", "British Columbia", "Manitoba", "New Brunswick", "Newfoundland", "Northwest Territories", "Nova Scotia", "Nunavut",
												"Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon"]);
}

function country_change(oCountry, oState){
	var s = oCountry.options[oCountry.selectedIndex].value;
	var oNewState = document.createElement("input");
	oNewState.id = oState.id;
	oNewState.name = oState.name;
	oNewState.type = "text";
	oNewState.className = "text_input";
	if(s == "United States"){
		oNewState = createSelectList(oState);
		oState.parentNode.replaceChild(oNewState, oState);
		loadStates(oNewState);
	}else if(s == "Canada"){
		oNewState = createSelectList(oState);
		oState.parentNode.replaceChild(oNewState, oState);
		loadProvinces(oNewState);
	}else{
		oState.parentNode.replaceChild(oNewState, oState);	
	}
}

function createSelectList(o){
	var sl = document.createElement("select");
	sl.id = o.id;
	sl.name = o.name;
	sl.className = "select_input";
	return sl;
}

function populateSelectList(o, s, l){
	for(var i = o.options.length - 1; i >= 0; i--){
		o.remove(i);	
	}
	
	var opt = document.createElement("option");
	opt.text = s;
	opt.value = "";
	o.options.add(opt)
	
	for(var i = 0; i < l.length; i++){
		opt = document.createElement("option");
		opt.text = l[i];
		opt.value = encodeURIComponent(l[i]);
		o.options.add(opt)
	}	
}

