var count = 0;
function dosearchSuggest() {
   count = count + 1;
   setTimeout("searchSuggestGo("+count+")", 200);
}

function searchSuggestGo(currCount) {
   if (currCount == count) {
      count = 0;
      searchSuggest();
   }
} 


function searchSuggest() {
   var str = escape(document.getElementById('txtSearch').value);
   var l = str.length;
   if ((l >= 3) || (l == 0)) {
      var ajaxRequest;
      try {
         ajaxRequest = new XMLHttpRequest();
      }
      catch (e){
         try {
            ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP');
         }
         catch (e) {
            try {
               ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (e){
               alert('Do something about it !');
               return false;
            }
         }
      }
      ajaxRequest.onreadystatechange = function() {
         if(ajaxRequest.readyState == 4){
            var ajaxDisplay = document.getElementById ("search_suggest");
		    if (ajaxRequest.responseText == "") {
  		       ajaxDisplay.style.display = "none";
		    }
		    else {
  		       ajaxDisplay.style.display = "block";
		    }
            ajaxDisplay.innerHTML = ajaxRequest.responseText;
         }
      }

      var queryString = '?bustcache=' + new Date().getTime() + '&search=' + str;
      ajaxRequest.open('GET', "searchSuggest.php" + queryString, true);
      ajaxRequest.send(null); 
   }
}



function getXmlHttpRequestObject() {
   if (window.XMLHttpRequest) {
      return new XMLHttpRequest();
   }
   else if (window.ActiveXObject) {
      return new ActiveXObject("Microsoft.XMLHTTP");
   }
   else {
      alert ("Your Browser Sucks!");
   }
}

var searchReq = getXmlHttpRequestObject();

function searchSuggest_orig() {
   if (searchReq.readyState == 4 || searchReq.readyState == 0) {
      var str = escape(document.getElementById('txtSearch').value);
	  searchReq.open("GET", 'searchSuggest.php?search=' + str, true);
	  searchReq.onreadystatechange = handleSearchSuggest;
	  searchReq.send(null);
   }
}

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('txtSearch').value = value;
   document.getElementById('search_suggest').innerHTML = '';
}
