var postState = '';
var postCountry = '';

var countryStateObj = new Array();

countryStateObj['CA'] = {'name':'Canada', 'states':{"AB":"Alberta","MB":"Manitoba","BC":"British Columbia","NB":"New Brunswick","NL":"Newfoundland and Labrador","NS":"Nova Scotia","NT":"Northwest Territories","NU":"Nunavut","ON":"Ontario","PE":"Prince Edward Island","QC":"Quebec","SK":"Saskatchewan","YT":"Yukon Territory"}};
countryStateObj['US'] = {'name':"United States", 'states':{"AK":"Alaska", "AK":"Alaska", "AL":"Alabama", "AR":"Arkansas", "AS":"American Samoa", "AZ":"Arizona", "CA":"California", "CO":"Colorado", "CT":"Connecticut", "DC":"D.C.", "DE":"Delaware", "FL":"Florida", "FM":"Micronesia", "GA":"Georgia", "GU":"Guam", "HI":"Hawaii", "IA":"Iowa", "ID":"Idaho", "IL":"Illinois", "IN":"Indiana", "KS":"Kansas", "KY":"Kentucky", "LA":"Louisiana", "MA":"Massachusetts", "MD":"Maryland", "ME":"Maine", "MH":"Marshall Islands", "MI":"Michigan", "MN":"Minnesota", "MO":"Missouri", "MP":"Marianas", "MS":"Mississippi", "MT":"Montana", "NC":"North Carolina", "ND":"North Dakota", "NE":"Nebraska", "NH":"New Hampshire", "NJ":"New Jersey", "NM":"New Mexico", "NV":"Nevada", "NY":"New York", "OH":"Ohio", "OK":"Oklahoma", "OR":"Oregon", "PA":"Pennsylvania", "PR":"Puerto Rico", "PW":"Palau", "RI":"Rhode Island", "SC":"South Carolina", "SD":"South Dakota", "TN":"Tennessee", "TX":"Texas", "UT":"Utah", "VA":"Virginia", "VI":"Virgin Islands", "VT":"Vermont", "WA":"Washington", "WI":"Wisconsin", "WV":"West Virginia", "WY":"Wyoming", "AA":"Military Americas", "AE":"Military Europe/ME/Canada", "AP":"Military Pacific"}};
countryStateObj['AF'] = {'name':'Afghanistan'};
countryStateObj['AL'] = {'name':'Albania'};
countryStateObj['DZ'] = {'name':'Algeria'};
countryStateObj['AS'] = {'name':'American Samoa'};
countryStateObj['AD'] = {'name':'Andorra'};
countryStateObj['AO'] = {'name':'Angola'};
countryStateObj['AI'] = {'name':'Anguilla'};
countryStateObj['AQ'] = {'name':'Antarctica'};
countryStateObj['AG'] = {'name':'Antigua and Barbuda'};
countryStateObj['AR'] = {'name':'Argentina'};
countryStateObj['AM'] = {'name':'Armenia'};
countryStateObj['AW'] = {'name':'Aruba'};
countryStateObj['AU'] = {'name':"Australia", 'states':{"AAT":"Australian Antarctic Territory", "ACT":"Australian Capital Territory", "NT":"Northern Territory", "NSW":"New South Wales", "QLD":"Queensland", "SA":"South Australia", "TAS":"Tasmania", "VIC":"Victoria", "WA":"Western Australia"}};
countryStateObj['AT'] = {'name':'Austria'};
countryStateObj['AZ'] = {'name':'Azerbaijan'};
countryStateObj['AP'] = {'name':'Azores'};
countryStateObj['BS'] = {'name':'Bahamas'};
countryStateObj['BH'] = {'name':'Bahrain'};
countryStateObj['BD'] = {'name':'Bangladesh'};
countryStateObj['BB'] = {'name':'Barbados'};
countryStateObj['BY'] = {'name':'Belarus'};
countryStateObj['BE'] = {'name':'Belgium'};
countryStateObj['BZ'] = {'name':'Belize'};
countryStateObj['BJ'] = {'name':'Benin'};
countryStateObj['BM'] = {'name':'Bermuda'};
countryStateObj['BT'] = {'name':'Bhutan'};
countryStateObj['BO'] = {'name':'Bolivia'};
countryStateObj['BA'] = {'name':'Bosnia And Herzegowina'};
countryStateObj['XB'] = {'name':'Bosnia-Herzegovina'};
countryStateObj['BW'] = {'name':'Botswana'};
countryStateObj['BV'] = {'name':'Bouvet Island'};
countryStateObj['BR'] = {'name':"Brazil", 'states':{"AC":"Acre", "AL":"Alagoas", "AM":"Amazonas", "AP":"Amapa", "BA":"Baia", "CE":"Ceara", "DF":"Distrito Federal", "ES":"Espirito Santo", "FN":"Fernando de Noronha", "GO":"Goias", "MA":"Maranhao", "MG":"Minas Gerais", "MS":"Mato Grosso do Sul", "MT":"Mato Grosso", "PA":"Para", "PB":"Paraiba", "PE":"Pernambuco", "PI":"Piaui", "PR":"Parana", "RJ":"Rio de Janeiro", "RN":"Rio Grande do Norte", "RO":"Rondonia", "RR":"Roraima", "RS":"Rio Grande do Sul", "SC":"Santa Catarina", "SE":"Sergipe", "SP":"Sao Paulo", "TO":"Tocatins"}};
countryStateObj['IO'] = {'name':'British Indian Ocean Territory'};
countryStateObj['VG'] = {'name':'British Virgin Islands'};
countryStateObj['BN'] = {'name':'Brunei Darussalam'};
countryStateObj['BG'] = {'name':'Bulgaria'};
countryStateObj['BF'] = {'name':'Burkina Faso'};
countryStateObj['BI'] = {'name':'Burundi'};
countryStateObj['KH'] = {'name':'Cambodia'};
countryStateObj['CM'] = {'name':'Cameroon'};
countryStateObj['CV'] = {'name':'Cape Verde'};
countryStateObj['KY'] = {'name':'Cayman Islands'};
countryStateObj['CF'] = {'name':'Central African Republic'};
countryStateObj['TD'] = {'name':'Chad'};
countryStateObj['CL'] = {'name':'Chile'};
countryStateObj['CN'] = {'name':'China'};
countryStateObj['CX'] = {'name':'Christmas Island'};
countryStateObj['CC'] = {'name':'Cocos (Keeling) Islands'};
countryStateObj['CO'] = {'name':'Colombia'};
countryStateObj['KM'] = {'name':'Comoros'};
countryStateObj['CG'] = {'name':'Congo'};
countryStateObj['CD'] = {'name':'Congo, The Democratic Republic O'};
countryStateObj['CK'] = {'name':'Cook Islands'};
countryStateObj['XE'] = {'name':'Corsica'};
countryStateObj['CR'] = {'name':'Costa Rica'};
countryStateObj['CI'] = {'name':'Cote d` Ivoire (Ivory Coast)'};
countryStateObj['HR'] = {'name':'Croatia'};
countryStateObj['CU'] = {'name':'Cuba'};
countryStateObj['CY'] = {'name':'Cyprus'};
countryStateObj['CZ'] = {'name':'Czech Republic'};
countryStateObj['DK'] = {'name':'Denmark'};
countryStateObj['DJ'] = {'name':'Djibouti'};
countryStateObj['DM'] = {'name':'Dominica'};
countryStateObj['DO'] = {'name':'Dominican Republic'};
countryStateObj['TP'] = {'name':'East Timor'};
countryStateObj['EC'] = {'name':'Ecuador'};
countryStateObj['EG'] = {'name':'Egypt'};
countryStateObj['SV'] = {'name':'El Salvador'};
countryStateObj['GQ'] = {'name':'Equatorial Guinea'};
countryStateObj['ER'] = {'name':'Eritrea'};
countryStateObj['EE'] = {'name':'Estonia'};
countryStateObj['ET'] = {'name':'Ethiopia'};
countryStateObj['FK'] = {'name':'Falkland Islands (Malvinas)'};
countryStateObj['FO'] = {'name':'Faroe Islands'};
countryStateObj['FJ'] = {'name':'Fiji'};
countryStateObj['FI'] = {'name':'Finland'};
countryStateObj['FR'] = {'name':'France (Includes Monaco)'};
countryStateObj['FX'] = {'name':'France, Metropolitan'};
countryStateObj['GF'] = {'name':'French Guiana'};
countryStateObj['PF'] = {'name':'French Polynesia'};
countryStateObj['TA'] = {'name':'French Polynesia (Tahiti)'};
countryStateObj['TF'] = {'name':'French Southern Territories'};
countryStateObj['GA'] = {'name':'Gabon'};
countryStateObj['GM'] = {'name':'Gambia'};
countryStateObj['GE'] = {'name':'Georgia'};
countryStateObj['DE'] = {'name':'Germany'};
countryStateObj['GH'] = {'name':'Ghana'};
countryStateObj['GI'] = {'name':'Gibraltar'};
countryStateObj['GR'] = {'name':'Greece'};
countryStateObj['GL'] = {'name':'Greenland'};
countryStateObj['GD'] = {'name':'Grenada'};
countryStateObj['GP'] = {'name':'Guadeloupe'};
countryStateObj['GU'] = {'name':'Guam'};
countryStateObj['GT'] = {'name':'Guatemala'};
countryStateObj['GN'] = {'name':'Guinea'};
countryStateObj['GW'] = {'name':'Guinea-Bissau'};
countryStateObj['GY'] = {'name':'Guyana'};
countryStateObj['HT'] = {'name':'Haiti'};
countryStateObj['HM'] = {'name':'Heard And Mc Donald Islands'};
countryStateObj['VA'] = {'name':'Holy See (Vatican City State)'};
countryStateObj['HN'] = {'name':'Honduras'};
countryStateObj['HK'] = {'name':'Hong Kong'};
countryStateObj['HU'] = {'name':'Hungary'};
countryStateObj['IS'] = {'name':'Iceland'};
countryStateObj['IN'] = {'name':'India'};
countryStateObj['ID'] = {'name':'Indonesia'};
countryStateObj['IR'] = {'name':'Iran'};
countryStateObj['IQ'] = {'name':'Iraq'};
countryStateObj['IE'] = {'name':'Ireland'};
countryStateObj['EI'] = {'name':"Ireland (Eire)", 'states':{"CO ANTRIM":"County Antrim", "CO ARMAGH":"County Armagh", "CO DOWN":"County Down", "CO FERMANAGH":"County Fermanagh", "CO DERRY":"County Londonderry", "CO TYRONE":"County Tyrone", "CO CAVAN":"County Cavan", "CO DONEGAL":"County Donegal", "CO MONAGHAN":"County Monaghan", "CO DUBLIN":"County Dublin", "CO CARLOW":"County Carlow", "CO KILDARE":"County Kildare", "CO KILKENNY":"County Kilkenny", "CO LAOIS":"County Laois", "CO LONGFORD":"County Longford", "CO LOUTH":"County Louth", "CO MEATH":"County Meath", "CO OFFALY":"County Offaly", "CO WESTMEATH":"County Westmeath", "CO WEXFORD":"County Wexford", "CO WICKLOW":"County Wicklow", "CO GALWAY":"County Galway", "CO MAYO":"County Mayo", "CO LEITRIM":"County Leitrim", "CO ROSCOMMON":"County Roscommon", "CO SLIGO":"County Sligo", "CO CLARE":"County Clare", "CO CORK":"County Cork", "CO KERRY":"County Kerry", "CO LIMERICK":"County Limerick", "CO TIPPERARY":"County Tipperary", "CO WATERFORD":"County Waterford"}};
countryStateObj['IL'] = {'name':'Israel'};
countryStateObj['IT'] = {'name':'Italy'};
countryStateObj['JM'] = {'name':'Jamaica'};
countryStateObj['JP'] = {'name':'Japan'};
countryStateObj['JO'] = {'name':'Jordan'};
countryStateObj['KZ'] = {'name':'Kazakhstan'};
countryStateObj['KE'] = {'name':'Kenya'};
countryStateObj['KI'] = {'name':'Kiribati'};
countryStateObj['KP'] = {'name':'Korea, Democratic People\'S Repub'};
countryStateObj['KW'] = {'name':'Kuwait'};
countryStateObj['KG'] = {'name':'Kyrgyzstan'};
countryStateObj['LA'] = {'name':'Laos'};
countryStateObj['LV'] = {'name':'Latvia'};
countryStateObj['LB'] = {'name':'Lebanon'};
countryStateObj['LS'] = {'name':'Lesotho'};
countryStateObj['LR'] = {'name':'Liberia'};
countryStateObj['LY'] = {'name':'Libya'};
countryStateObj['LI'] = {'name':'Liechtenstein'};
countryStateObj['LT'] = {'name':'Lithuania'};
countryStateObj['LU'] = {'name':'Luxembourg'};
countryStateObj['MO'] = {'name':'Macao'};
countryStateObj['MK'] = {'name':'Macedonia'};
countryStateObj['MG'] = {'name':'Madagascar'};
countryStateObj['ME'] = {'name':'Madeira Islands'};
countryStateObj['MW'] = {'name':'Malawi'};
countryStateObj['MY'] = {'name':'Malaysia'};
countryStateObj['MV'] = {'name':'Maldives'};
countryStateObj['ML'] = {'name':'Mali'};
countryStateObj['MT'] = {'name':'Malta'};
countryStateObj['MH'] = {'name':'Marshall Islands'};
countryStateObj['MQ'] = {'name':'Martinique'};
countryStateObj['MR'] = {'name':'Mauritania'};
countryStateObj['MU'] = {'name':'Mauritius'};
countryStateObj['YT'] = {'name':'Mayotte'};
countryStateObj['MX'] = {'name':'Mexico'};
countryStateObj['FM'] = {'name':'Micronesia, Federated States Of'};
countryStateObj['MD'] = {'name':'Moldova, Republic Of'};
countryStateObj['MC'] = {'name':'Monaco'};
countryStateObj['MN'] = {'name':'Mongolia'};
countryStateObj['MS'] = {'name':'Montserrat'};
countryStateObj['MA'] = {'name':'Morocco'};
countryStateObj['MZ'] = {'name':'Mozambique'};
countryStateObj['MM'] = {'name':'Myanmar (Burma)'};
countryStateObj['NA'] = {'name':'Namibia'};
countryStateObj['NR'] = {'name':'Nauru'};
countryStateObj['NP'] = {'name':'Nepal'};
countryStateObj['NL'] = {'name':"Netherlands", 'states':{"DR":"Drente", "FL":"Flevoland", "FR":"Friesland", "GL":"Gelderland", "GR":"Groningen", "LB":"Limburg", "NB":"Noord Brabant", "NH":"Noord Holland", "OV":"Overijssel", "UT":"Utrecht", "ZH":"Zuid Holland", "ZL":"Zeeland"}};
countryStateObj['AN'] = {'name':'Netherlands Antilles'};
countryStateObj['NC'] = {'name':'New Caledonia'};
countryStateObj['NZ'] = {'name':'New Zealand'};
countryStateObj['NI'] = {'name':'Nicaragua'};
countryStateObj['NE'] = {'name':'Niger'};
countryStateObj['NG'] = {'name':'Nigeria'};
countryStateObj['NU'] = {'name':'Niue'};
countryStateObj['NF'] = {'name':'Norfolk Island'};
countryStateObj['MP'] = {'name':'Northern Mariana Islands'};
countryStateObj['NO'] = {'name':'Norway'};
countryStateObj['OM'] = {'name':'Oman'};
countryStateObj['PK'] = {'name':'Pakistan'};
countryStateObj['PW'] = {'name':'Palau'};
countryStateObj['PS'] = {'name':'Palestinian Territory, Occupied'};
countryStateObj['PA'] = {'name':'Panama'};
countryStateObj['PG'] = {'name':'Papua New Guinea'};
countryStateObj['PY'] = {'name':'Paraguay'};
countryStateObj['PE'] = {'name':'Peru'};
countryStateObj['PH'] = {'name':'Philippines'};
countryStateObj['PN'] = {'name':'Pitcairn'};
countryStateObj['PL'] = {'name':'Poland'};
countryStateObj['PT'] = {'name':'Portugal'};
countryStateObj['PR'] = {'name':'Puerto Rico'};
countryStateObj['QA'] = {'name':'Qatar'};
countryStateObj['RE'] = {'name':'Reunion'};
countryStateObj['RO'] = {'name':'Romania'};
countryStateObj['RU'] = {'name':'Russian Federation'};
countryStateObj['RW'] = {'name':'Rwanda'};
countryStateObj['KN'] = {'name':'Saint Kitts And Nevis'};
countryStateObj['SM'] = {'name':'San Marino'};
countryStateObj['ST'] = {'name':'Sao Tome and Principe'};
countryStateObj['SA'] = {'name':'Saudi Arabia'};
countryStateObj['SN'] = {'name':'Senegal'};
countryStateObj['XS'] = {'name':'Serbia-Montenegro'};
countryStateObj['SC'] = {'name':'Seychelles'};
countryStateObj['SL'] = {'name':'Sierra Leone'};
countryStateObj['SG'] = {'name':'Singapore'};
countryStateObj['SK'] = {'name':'Slovak Republic'};
countryStateObj['SI'] = {'name':'Slovenia'};
countryStateObj['SB'] = {'name':'Solomon Islands'};
countryStateObj['SO'] = {'name':'Somalia'};
countryStateObj['ZA'] = {'name':'South Africa'};
countryStateObj['GS'] = {'name':'South Georgia And The South Sand'};
countryStateObj['KR'] = {'name':'South Korea'};
countryStateObj['ES'] = {'name':'Spain'};
countryStateObj['LK'] = {'name':'Sri Lanka'};
countryStateObj['NV'] = {'name':'St. Christopher and Nevis'};
countryStateObj['SH'] = {'name':'St. Helena'};
countryStateObj['LC'] = {'name':'St. Lucia'};
countryStateObj['PM'] = {'name':'St. Pierre and Miquelon'};
countryStateObj['VC'] = {'name':'St. Vincent and the Grenadines'};
countryStateObj['SD'] = {'name':'Sudan'};
countryStateObj['SR'] = {'name':'Suriname'};
countryStateObj['SJ'] = {'name':'Svalbard And Jan Mayen Islands'};
countryStateObj['SZ'] = {'name':'Swaziland'};
countryStateObj['SE'] = {'name':'Sweden'};
countryStateObj['CH'] = {'name':'Switzerland'};
countryStateObj['SY'] = {'name':'Syrian Arab Republic'};
countryStateObj['TW'] = {'name':'Taiwan'};
countryStateObj['TJ'] = {'name':'Tajikistan'};
countryStateObj['TZ'] = {'name':'Tanzania'};
countryStateObj['TH'] = {'name':'Thailand'};
countryStateObj['TG'] = {'name':'Togo'};
countryStateObj['TK'] = {'name':'Tokelau'};
countryStateObj['TO'] = {'name':'Tonga'};
countryStateObj['TT'] = {'name':'Trinidad and Tobago'};
countryStateObj['XU'] = {'name':'Tristan da Cunha'};
countryStateObj['TN'] = {'name':'Tunisia'};
countryStateObj['TR'] = {'name':'Turkey'};
countryStateObj['TM'] = {'name':'Turkmenistan'};
countryStateObj['TC'] = {'name':'Turks and Caicos Islands'};
countryStateObj['TV'] = {'name':'Tuvalu'};
countryStateObj['UG'] = {'name':'Uganda'};
countryStateObj['UA'] = {'name':'Ukraine'};
countryStateObj['AE'] = {'name':'United Arab Emirates'};
countryStateObj['UK'] = {'name':"United Kingdom", 'states':{"AVON":"Avon", "BEDS":"Bedfordshire", "BERKS":"Berkshire", "BUCKS":"Buckinghamshire", "CAMBS":"Cambridgeshire", "CHESH":"Cheshire", "CLEVE":"Cleveland", "CORN":"Cornwall", "CUMB":"Cumbria", "DERBY":"Derbyshire", "DEVON":"Devon", "DORSET":"Dorset", "DURHAM":"Durham", "ESSEX":"Essex", "GLOUS":"Gloucestershire", "GLONDON":"Greater London", "GMANCH":"Greater Manchester", "HANTS":"Hampshire", "HERWOR":"Hereford & Worcestershire", "HERTS":"Hertfordshire", "HUMBER":"Humberside", "IOM":"Isle of Man", "IOW":"Isle of Wight", "KENT":"Kent", "LANCS":"Lancashire", "LEICS":"Leicestershire", "LINCS":"Lincolnshire", "MERSEY":"Merseyside", "NORF":"Norfolk", "NHANTS":"Northamptonshire", "NTHUMB":"Northumberland", "NOTTS":"Nottinghamshire", "OXON":"Oxfordshire", "SHROPS":"Shropshire", "SOM":"Somerset", "STAFFS":"Staffordshire", "SUFF":"Suffolk", "SURREY":"Surrey", "SUSS":"Sussex", "WARKS":"Warwickshire", "WMID":"West Midlands", "WILTS":"Wiltshire", "YORK":"Yorkshire"}};
countryStateObj['UM'] = {'name':'United States Minor Outlying Isl'};
countryStateObj['UY'] = {'name':'Uruguay'};
countryStateObj['UZ'] = {'name':'Uzbekistan'};
countryStateObj['VU'] = {'name':'Vanuatu'};
countryStateObj['XV'] = {'name':'Vatican City'};
countryStateObj['VE'] = {'name':'Venezuela'};
countryStateObj['VN'] = {'name':'Vietnam'};
countryStateObj['VI'] = {'name':'Virgin Islands (U.S.)'};
countryStateObj['WF'] = {'name':'Wallis and Furuna Islands'};
countryStateObj['EH'] = {'name':'Western Sahara'};
countryStateObj['WS'] = {'name':'Western Samoa'};
countryStateObj['YE'] = {'name':'Yemen'};
countryStateObj['YU'] = {'name':'Yugoslavia'};
countryStateObj['ZR'] = {'name':'Zaire'};
countryStateObj['ZM'] = {'name':'Zambia'};
countryStateObj['ZW'] = {'name':'Zimbabwe'};

function TrimString(sInString) {
	if ( sInString ) {
		sInString = sInString.replace( /^\s+/g, "" );// strip leading
		return sInString.replace( /\s+$/g, "" );// strip trailing
	}
}

// Populates the country selected with the counties from the country list
function populateCountry(defaultCountry) {
	if (postCountry != '') {
		defaultCountry = postCountry;
	}
	var selObj = document.getElementById('country');
	selObj.options[0] = new Option('Select Country','');
	selObj.selectedIndex = 0;

	var optionCntr = 1;
	for (var countryCode in countryStateObj ) {
	var stateName  = countryStateObj[countryCode];
		if (countryCode != "" && countryStateObj[countryCode] != null && countryStateObj[countryCode].name != "") {
			countryName  = countryStateObj[countryCode].name;
			if (countryCode != '') {
				selObj.options[optionCntr] = new Option(countryName, countryCode);
			}
			if (defaultCountry == countryCode) {
				selObj.selectedIndex = optionCntr;
			}
		}
	optionCntr++;
	}
}

function populateState() {
	var selObj = document.getElementById('province');
	var foundState = false;
	// Empty options just in case new drop down is shorter
	if (selObj.type == 'select-one') {
		for (var i = 0; i < selObj.options.length; i++) {
			selObj.options[i] = null;
		}
		selObj.options.length=null;
		selObj.options[0] = new Option('Select Province/State','');
		selObj.selectedIndex = 0;
	}
	var optionCntr = 1;
	
	for (var countryCode in countryStateObj ) {
		var countryName  = countryStateObj[countryCode].name;
		var stateArray = countryStateObj[countryCode].states;

		for (var stateCode in stateArray ) {
			var stateName  = stateArray[stateCode];		
			if (document.getElementById('country').value == countryCode && countryCode != '' ) {
				// If it's a input element, change it to a select
				if ( selObj.type == 'text' ) {
					parentObj = document.getElementById('province').parentNode;
					parentObj.removeChild(selObj);
					var inputSel = document.createElement("SELECT");
					inputSel.setAttribute("name","state");
					inputSel.setAttribute("id","province");
					parentObj.appendChild(inputSel) ;
					selObj = document.getElementById('province');
					selObj.options[0] = new Option('Select State','');
					selObj.selectedIndex = 0;
				}
				if ( stateCode != '' ) {
					selObj.options[optionCntr] = new Option(stateName, stateCode);
				}
				// See if it's selected from a previous post
				if ( stateCode == postState && countryCode == postCountry ) {
					selObj.selectedIndex = optionCntr;
				}
				foundState = true;
				optionCntr++
			}
		}
	}
	// If the country has no states, change the select to a text box
	if ( ! foundState ) {
		parentObj = document.getElementById('province').parentNode;
		parentObj.removeChild(selObj);
		// Create the Input Field
		var inputEl = document.createElement("INPUT");
		inputEl.setAttribute("id", "province");
		inputEl.setAttribute("type", "text");
		inputEl.setAttribute("name", "state");
		inputEl.setAttribute("size", 20);
		inputEl.setAttribute("value", postState);
		parentObj.appendChild(inputEl) ;
	}
}

function initCountry(country) {
	postCountry = country;
	populateCountry(country);
	populateState();
}

function initCountryState(country, state) {
	postState = state;
	postCountry = country;
	populateCountry(country);
	populateState();
}

function sortAssoc(aInput) {
	var aTemp = [];
	for (var sKey in aInput)
	aTemp.push([sKey, aInput[sKey]]);
	aTemp.sort(function () {return arguments[0][1] < arguments[1][1]});

	var aOutput = [];
	for (var nIndex = aTemp.length-1; nIndex >=0; nIndex--)
	aOutput[aTemp[nIndex][0]] = aTemp[nIndex][1];

	return aOutput;
}

// Example of filterObj
// var filterObj = {'CA':{'AB', 'MB', 'ON', 'NS'}};

function filterbyCountryState(filterObj) {
	for (countryCode in countryStateObj) {
		// Search filterObj to see if it exists
		if (filterObj[countryCode] != null) {
			stateArray = countryStateObj[countryCode].states;
			filterStateArray = filterObj[countryCode];
			for (stateCode in stateArray) {
				if (!isIn(stateCode, filterStateArray)) {
					delete stateArray[stateCode];
				}
			}
			countryStateObj[countryCode].states = stateArray;
		}
		else {
			delete countryStateObj[countryCode];
		}
	}
}

function isIn(value, array){
	for (i=0; i<array.length; i++) {
		if (array[i]==value) {
			return true;
		}
	}
	return false;
}


