var searchReq = getXmlHttpRequestObject();

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('sValue').value);
		var grp = escape(document.getElementById('gValue').value);
        if (str.length > 2) {
		   searchReq.open("GET", '/search.games/ss.asp?search=' + str + '&group=' + grp, true);
		   searchReq.onreadystatechange = handleSearchSuggest; 
		   searchReq.send(null);
		} else {
		  var ss = document.getElementById('search_suggest')
		  ss.innerHTML = '';
		}
	}		
}

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++) {
			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;
		}
	}
}

function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}

function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

function setSearch(value) {
	document.getElementById('SValue').value = value.replace(/&amp;/, "&");
	document.getElementById('search_suggest').innerHTML = '';
}

function getXmlHttpRequestObject() {
 var C=null;
 try{
   C=new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e){
   try{
     C=new ActiveXObject("Microsoft.XMLHTTP");
   }catch(sc){
     C=null;
   }
 }
 if(!C&&typeof XMLHttpRequest!="undefined"){
   C=new XMLHttpRequest();
 }
 return C;
}