function countryChoose() {
	
	document.getElementById('country').value=document.getElementById('countrySelect').value;
	
	Hide('cityDiv');
	Hide('regionDiv');
	Hide('radiusDiv');
	Hide('chooseDivDiv');
	
	document.getElementById('cityId').value='';
	document.getElementById('cityInput').value='';
	document.getElementById('chooseSelect').value='Entire State';
	document.getElementById('regionSelect').value='';
	document.getElementById('radiusSelect').value='';
		
	if (document.getElementById('countrySelect').value == '0') {
		Hide('stateDiv');
		document.getElementById('state').value='';
	}else {
		getState();
	}
}

function chooser() {
		
	var selection = document.getElementById('chooseSelect').value;
	document.getElementById('choose').value=selection;
	
	if (selection == 'City') {
		Hide("regionDiv");
		document.getElementById('cityDiv').style.height='36px';
		document.getElementById('radiusDiv').style.height='36px';
		getCity();
	}
	if (selection == 'Region') {
		Hide("cityDiv");
		Hide("radiusDiv");
		document.getElementById('regionDiv').style.height='36px';
		getRegion();
	}
	if (selection == 'Entire State') {
		Hide('cityDiv');
		Hide('regionDiv');
		Hide('radiusDiv');
	}
}

function changeState() {
	document.getElementById("chooseSelect").value="Entire State";
	unHide('chooseDivDiv'); 
	chooser('Entire State'); 
	document.getElementById('cityInput').value=''; 
	document.getElementById('cityId').value='';
	
}

function getState() {
	var country = document.getElementById('country').value;
	var stateSelect = document.getElementById('state');

	if (country=='US') {
		stateSelect[0].text='Select State';
		document.getElementById('chooseSelect')[0].text='Entire State';
	}
	if (country=='CA') {
		stateSelect[0].text='Select Province';
		document.getElementById('chooseSelect')[0].text='Entire Province';
	}

	unHide("stateDiv");

	for (i = stateSelect.length - 1; i>=1; i--) {
		stateSelect.remove(i);
	}

	// Set up the request
	var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', '/getState.php', true);

	// The callback function
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				var states = xmlhttp.responseXML.documentElement.getElementsByTagName("state");
				for (var i = 0; i < states.length; i++) {
					var newOption = document.createElement("option");
					newOption.text = states[i].getElementsByTagName("stateName")[0].firstChild.data;
					newOption.value = states[i].getElementsByTagName("stateCode")[0].firstChild.data;
					try {
						stateSelect.add(newOption, null); // standards compliant; doesn't work in IE
					}
					catch(ex) {
						stateSelect.add(newOption); // IE only
					}

				}
			}
		}
		document.getElementById("stateDiv").style.visibility="visible";
	}

	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('country=' + country);
}

function getRegion() {
	var state = document.getElementById('state').value;
	var regionSelect = document.getElementById('regionSelect');

	unHide("regionDiv");

	for (i = regionSelect.length - 1; i>=1; i--) {
		regionSelect.remove(i);
	}

	// Set up the request
	var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', '/getRegion.php', true);

	// The callback function
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				var regions = xmlhttp.responseXML.documentElement.getElementsByTagName("region");
				for (var i = 0; i < regions.length; i++) {
					var newOption = document.createElement("option");
					newOption.text = regions[i].getElementsByTagName("regionName")[0].firstChild.data;
					newOption.value = regions[i].getElementsByTagName("regionId")[0].firstChild.data;
					try {
						regionSelect.add(newOption, null); // standards compliant; doesn't work in IE
					}
					catch(ex) {
						regionSelect.add(newOption); // IE only
					}

				}
			}
		}
		document.getElementById("regionDiv").style.visibility="visible";
	}

	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('state=' + state);
}


function getCity() {
	var state = document.getElementById('state').value;
	cities = new Array();

	document.getElementById("radiusSelect").value='';

	// Set up the request
	var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', '/getCity.php', true);

	// The callback function
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				var city = xmlhttp.responseXML.documentElement.getElementsByTagName("city");
				for (var i = 0; i < city.length; i++) {
					cities[i]=new Array(city[i].getElementsByTagName("cityName")[0].firstChild.data,city[i].getElementsByTagName("cityId")[0].firstChild.data);
				}
			}
		}
		unHide("cityDiv");
		unHide("radiusDiv");
	}

	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('state=' + state);
	
	if (state == 'DC') {
		document.getElementById('locked').value="Washington";
		document.getElementById('cityInput').value="Washington";
	}else {
		document.getElementById('locked').value="";
		document.getElementById('cityInput').value="";
	}
}





function autoComplete() {
	var cityName=document.getElementById("cityInput").value;
	
	cityName = cityName.toUpperCase().replace(/MT /i, 'Mount ');
	cityName = cityName.toUpperCase().replace(/MT. /i, 'Mount ');

	locked=document.getElementById("locked").value;
	if (cityName.length >0 && locked !='') {
		document.getElementById("cityInput").value=locked;
	}

	var c=0;
	for (i=0;i<cities.length;i++)
	{
		var city=cities[i][0].toUpperCase();
		city=city.substring(0,cityName.length);
		if(city.match(cityName.toUpperCase())) {
			c++;
			var found=i;
		}
	}
	if (c == 1) {
		document.getElementById("cityInput").value=cities[found][0];
		document.getElementById("cityInput").style.backgroundColor="#F7EFCE";
		document.getElementById("locked").value=cities[found][0];
		document.getElementById("cityId").value=cities[found][1];
		
		// Replace Manhatten, NY with New York City, NY
		if (cities[found][1]==32083) {
			document.getElementById("cityId").value=32309;
		}
	}
	if (c > 1) {
		document.getElementById("cityInput").style.backgroundColor="white";
		document.getElementById("locked").value="";
		document.getElementById("cityId").value="";
	}
}



function clearCity() {
	document.getElementById("cityInput").style.backgroundColor="white";
	document.getElementById("locked").value="";
	document.getElementById("cityId").value="";
	document.getElementById("cityInput").value="";
	document.getElementById("cityInput").focus();
}

function unHide(box) {
	document.getElementById(box).style.visibility="visible";
}
function Hide(box) {
	document.getElementById(box).style.visibility="hidden";
	document.getElementById(box).style.height="1px";
}

function verifyForm() {
	if (document.getElementById('country').value != '0' && document.getElementById('state').value != '' ) {
		if (document.getElementById('choose').value=='Region' && document.getElementById('regionSelect').value=='0') {
			alert('Please select a region.');
			return false;
		}else {
			document.searchForm.submit();
		}
	}else {
		alert('Please select a country and state/province.');
		return false;
	}
}

function mapIt() {
	var inputs = document.getElementsByTagName("input");
	var count=0;
	
	for (var i=0; i < inputs.length; i++) {
		var name=inputs[i].getAttribute("name");
		if (name.indexOf('map-')!=-1 && inputs[i].checked == true) { 
			count++;
		}
	}
	if (count > 0) {
		document.mapForm.submit();
	}else {
		alert('Please select at least one inn to show on the map.');
		return false;
	}
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function clearStuff() {
	
	if (readCookie('adv-search') == 'modify') {
		modifySearch();
	}else {
		document.getElementById("countrySelect").value="0";
		document.getElementById("cityInput").value="";
		document.getElementById("cityId").value="";
		document.getElementById("radiusSelect").value="";
		document.getElementById("regionSelect").value="0";
		document.getElementById("rate").value="0";
		document.getElementById("children").value="-1";
		document.getElementById("pets").value="";
		document.getElementById("smoking").value="";
		
		var inputs = document.getElementsByTagName("input");
		
		for (var i=0; i<inputs.length; i++) {
			if (inputs[i].getAttribute("type") == "checkbox") {
				inputs[i].checked = false;
			}
		}
	}
}

function modifySearch() {
	if(document.getElementById("country").value !=0) {
		getState();
		setTimeout("document.getElementById('state').value = '"+readCookie('adv-searchState')+"'", 500);
		changeState();
		setTimeout("document.getElementById('chooseSelect').value = '"+readCookie('adv-searchChoose')+"'", 550);
		setTimeout("chooser()",650);
		setTimeout("getRegion()",650);
		setTimeout("document.getElementById('cityInput').value = '"+readCookie('adv-searchCityInput')+"'", 700);				
		document.getElementById('cityId').value = readCookie('adv-searchCityId');
		if (readCookie('adv-searchRadius') != null) {
			setTimeout("document.getElementById('radiusSelect').value = '"+readCookie('adv-searchRadius')+"'", 900);
		}
		setTimeout("document.getElementById('regionSelect').value = '"+readCookie('adv-searchRegion')+"'", 900);
	}
	clearCookies();
}

function clearCookies() {
	document.cookie ='adv-search=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchState=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchChoose=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchCityInput=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchCityId=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchRadius=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
	document.cookie ='adv-searchRegion=; expires="expires=Thu, 01-Jan-1970 00:00:01 GMT"; path=/';
}

function hideField(inputName) {
	var newVal ='1';
	if (document.getElementById(inputName) != null) {
		if (document.getElementById(inputName).value=='1') {
			newVal='0';
			document.getElementById(inputName).value=newVal;
			//document.getElementById(inputName+'Box').src='/images/checkbox.gif';
		}else {
			document.getElementById(inputName).value=newVal;
			//document.getElementById(inputName+'Box').src='/images/checkbox2.gif';
		}
	}else {
		var hiddenInput = document.createElement('input');
		hiddenInput.setAttribute('type','hidden');
		hiddenInput.setAttribute('name',inputName);
		hiddenInput.setAttribute('id',inputName);
		hiddenInput.setAttribute('value',newVal);
		if (newVal == '1') {
			document.getElementById('searchForm').appendChild(hiddenInput);
			//document.getElementById(inputName+'Box').src='/images/checkbox2.gif';
		}else {
			//document.getElementById(inputName+'Box').src='/images/checkbox.gif';
		}
	}
}