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?");
	}
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

 

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

var searchReq = getXmlHttpRequestObject();
var on_choice = 'no';

function searchSuggest(e,table) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
	   if(e.value.length==0){
	       document.getElementById(e.name+'_id').style.display='none'
	   }
	   else{
    		var str = e.value;
    		var field=e.name;
    		searchReq.open("GET", url_home+'ajax_search.php?search=' + str+'&field='+field+'&table='+table, true);
       		searchReq.onreadystatechange = handleSearchSuggest; 
    		searchReq.send(null);
	   }	
	}		
}

function handleSearchSuggest() {
	if (searchReq.readyState == 4) {  
		var str = searchReq.responseText.split("\n");
        str[0]=trim(str[0]);
		var ss = document.getElementById(str[0]+'_id');
		ss.innerHTML = '';
		if(str.length>3){	
		  ss.style.position="absolute";	
		  ss.style.display="block";
          ss.style.backgroundColor= "#FFFFFF"; 
	      ss.style.textAlign= "left"; 
	      ss.style.border= "1px solid #000000";
        }
        else
        {	
		  ss.style.display="none";
        }
       
		for(i=1; 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,\''+str[0]+'\');" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
	on_choice='yes';
}

//Mouse out function

function suggestOut(div_value) {
	div_value.className = 'suggest_link';
	on_choice='no';
}

function setSearch(value,name) {
	document.getElementsByName(name)[0].value = value;
	document.getElementById(name+'_id').innerHTML = '';
	document.getElementById(name+'_id').style.display = 'none';
	on_choice='no';
}
