
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
var totalCount = 0;
var isOverDiv = 0;
var curdiv = '';
var curdivid = '';
//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('referenceObj').value);
		if(str.length > 2){	
			searchReq.open("GET", 'ajax/getStdBearings.cfm?search=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggest; 
			searchReq.send(null);
		}else{
			document.getElementById('search_suggest').style.visibility = 'hidden';
		}
	}		
}

function searchSuggestOrder(id) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('id_'+id+'Obj').value);
		curdiv = 'search_suggest'+id;
		curdivid = id;
		if(str.length > 2){	
			searchReq.open("GET", 'ajax/getProduct.cfm?search=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggestOrder; 
			searchReq.send(null);
		}else{
			document.getElementById('search_suggest'+id).style.visibility = 'hidden';
		}
	}		
}
//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_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.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
		
		totalCount=str.length;
		//alert(Math.min(totalCount * 10,300)+'px');
		document.getElementById('search_suggest').style.height = Math.min(totalCount * 14,300)+'px';
		document.getElementById('search_suggest').style.width = "150px";
		if(totalCount != 0){document.getElementById('search_suggest').style.visibility = 'visible';}
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggestOrder() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById(curdiv)
		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.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearchOrder(this.innerHTML,curdiv,curdivid);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
		
		totalCount=str.length;
		//alert(Math.min(totalCount * 10,300)+'px');
		document.getElementById(curdiv).style.height = Math.min(totalCount * 14,300)+'px';
		document.getElementById(curdiv).style.width = "150px";
		if(totalCount != 0){document.getElementById(curdiv).style.visibility = 'visible';}
	}		
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('referenceObj').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility = 'hidden';
}
//Click function
function setSearchOrder(value,divname,divid) {
	document.getElementById('id_'+divid+'Obj').value = value;
	document.getElementById(divname).innerHTML = '';
	document.getElementById(divname).style.visibility = 'hidden';
}
//Click function
function closeDivOrder(divname) {
	if(isOverDiv == 0) { document.getElementById('search_suggest'+divname).style.visibility = 'hidden'; }
}