//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("Please upgrade your browser.");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//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('criteria').value);
		searchReq.open("GET", '/ajax_search.asp?txtSearch=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest() { 
	if (searchReq.readyState == 4) { 
		document.getElementById('search_suggest').style.display = "block";
		if(document.getElementById('criteria').value == "")
		{
			document.getElementById('search_suggest').style.display = "none";
		}
		var ss = document.getElementById('search_suggest') 
		ss.innerHTML = '<div class="suggest_header">Closest Product Matches:</div> \n'; 
		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 += 'onclick="javascript:setSearch(Right(this.innerHTML, 6));" '; 
			
			
			
			suggest += 'class="suggest_link">' + str[i] + '</div>'; 
			ss.innerHTML += suggest; 
		} 
	} 
}

if (searchReq.readyState == 4) {
	var ss = document.getElementById('search_suggest')
	var str = searchReq.responseText.split("\n");
}

//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) {
	//alert(value.substr(0,11));
	if(value.indexOf("’") > -1)
	{
		var place = value.indexOf("’");
		var val1 = value.substr(0, (place));
		var val2 = value.substr((place+1), value.length);
		value = val1 +"'"+ val2;
		
		//var val3 = value.substr(0, "&");
		//var val4 = value.substr("&", value.length);
		//value = val3 + val4;
	}
		
		document.getElementById('criteria').value = value;
		document.getElementById('search_suggest').innerHTML = '';
		document.forms['searchbox'].submit()
	
}




        function Right(str, n)
        /***
                IN: str - the string we are RIGHTing
                    n - the number of characters we want to return

                RETVAL: n characters from the right side of the string
        ***/
        {
                if (n <= 0)     // Invalid bound, return blank string
                   return "";
                else if (n > String(str).length)   // Invalid bound, return
                   return str;                     // entire string
                else { // Valid bound, return appropriate substring
                   var iLen = String(str).length;
                   return String(str).substring(iLen, iLen - n);
                }
        }
