//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}

var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggestLocation() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var loc = escape(document.getElementById('location').value);
		//var cnt = escape(document.search.country.options[document.search.country.selectedIndex].value);
		var cnt = escape(document.search.country.value);
		var loclen = escape(document.search.location.value);
		var count = loclen.length;
		if (count >=15)
		{
			searchReq.open("GET", '/search/?sArea=location&subaction=search_suggest&SLoc=' + loc + '&SCnt=' + cnt, true);
			searchReq.onreadystatechange = handleSearchSuggestLocation; 
			searchReq.send(null);
		}
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggestLocation() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('location_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			suggest = '<div onmouseover="javascript:suggestOverLocation(this);" ';
			suggest += 'onmouseout="javascript:suggestOutLocation(this);" ';
			suggest += 'onclick="javascript:setSearchLocation(this.innerHTML);" ';
			suggest += 'class="suggest_link">';
			suggest += str[i];
			suggest += '</div>';
			ss.innerHTML += suggest;
		}
		showSearchLocation();
	}
}

//Mouse over function
function suggestOverLocation(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOutLocation(div_value) {
	div_value.className = 'suggest_link';
}

//Click function
function setSearchLocation(value) {
	document.getElementById('location').value = value;
	document.getElementById('location_suggest').innerHTML = '';
	hideSearchLocation();
}

//hide
function hideSearchLocation() {
	ss = document.getElementById('location_suggest')
	ss.style.visibility="hidden";
}

function showSearchLocation() {
	ss = document.getElementById('location_suggest')
	ss.style.visibility="visible";
}

//########################################################

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggestRegion() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var loc = escape(document.getElementById('location').value);
		//var cnt = escape(document.search.country.options[document.search.country.selectedIndex].value);
		var cnt = escape(document.search.country.value);
		var loclen = escape(document.search.location.value);
		var count = loclen.length;
		if (count >=15)
		{
			searchReq.open("GET", '/search/?sArea=region&subaction=search_suggest&SLoc=' + loc + '&SCnt=' + cnt, true);
			searchReq.onreadystatechange = handleSearchSuggestRegion; 
			searchReq.send(null);
		}
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggestRegion() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('region_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			suggest = '<div onmouseover="javascript:suggestOverRegion(this);" ';
			suggest += 'onmouseout="javascript:suggestOutRegion(this);" ';
			suggest += 'onclick="javascript:setSearchRegion(this.innerHTML);" ';
			suggest += 'class="suggest_link">';
			suggest += str[i];
			suggest += '</div>';
			ss.innerHTML += suggest;
		}
		showSearchRegion();
	}
}

//Mouse over function
function suggestOverRegion(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOutRegion(div_value) {
	div_value.className = 'suggest_link';
}

//Click function
function setSearchRegion(value) {
	document.getElementById('region').value = value;
	document.getElementById('region_suggest').innerHTML = '';
	hideSearchRegion();
}

//hide
function hideSearchRegion() {
	ss = document.getElementById('region_suggest')
	ss.style.visibility="hidden";
}

function showSearchRegion() {
	ss = document.getElementById('region_suggest')
	ss.style.visibility="visible";
}



