function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) { 
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} //else {
		//alert("Your Browser Sucks!");
	//} 
} 
//Our XmlHttpRequest object to get the auto suggest 
var searchReq = getXmlHttpRequestObject(); 
//Called from keyup on the search textbox. 
//Starts the AJAX request. 
var doWait= false;

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) { 
		var str = escape(document.getElementById('dbTxt').value);
		searchReq.open("GET", 'call.php?action=searchSuggest&search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; searchReq.send(null);
	}
} 
//Called when the AJAX response is returned. 
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('layer1'); 
		var str1 = document.getElementById('dbTxt'); 
		var curLeft=0; 
		if (str1.offsetParent){
			while (str1.offsetParent){
				if (getStyle(str1.offsetParent,"position") == "relative") break;
				curLeft += str1.offsetLeft;
				if (getStyle(str1.offsetParent,"position") == "absolute") break;
				str1 = str1.offsetParent; 
			} 
		}
		var str2 = document.getElementById('dbTxt'); 
		var curTop=20; 
		if (str2.offsetParent){
			while (str2.offsetParent){
				curTop += str2.offsetTop;
				if (getStyle(str2.offsetParent,"position") == "absolute") break;
				str2 = str2.offsetParent; 
			} 
		} 
		var str =searchReq.responseText.split("\n"); 
		if(str.length==1) document.getElementById('layer1').style.visibility = "hidden"; 
		else ss.setAttribute('style','cursor: pointer; text-align: left; position:absolute;top:37px;z-index:1001;padding:5px;max-height: 300px;border: 1px solid #000000;overflow:auto;background-color:#F5F5FF;'); 
		ss.innerHTML = ''; 
		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.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" '; 
			suggest += 'onmouseout="javascript:suggestOut(this);" '; 
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" '; 
			suggest += 'class="an_pricingLabel">' + str[i] + '</div>';
			ss.innerHTML += suggest; 
		}
	} 
 } 
 function enterSearch() {
 	var ss = document.getElementById('layer1'); 
 	if (ss.innerHTML!="") ss.style.visibility = 'visible';
 }
 function leaveSearch() {
 	if (!doWait) {	if (document.activeElement.id!="layer1") document.getElementById('layer1').style.visibility = 'hidden'; }
 }
 //Mouse over function 
 function suggestOver(div_value) { doWait=true; } 
 //Mouse out function 
 function suggestOut(div_value) { doWait=false; } 
 //Click function 
 function setSearch(value) {
	document.getElementById('dbTxt').value = value;
	document.getElementById('layer1').innerHTML = '';
	document.getElementById('layer1').style.visibility = "hidden"; 
	document.getElementById("suggestSearch").submit();
 }