var pozycja=-1;
var dlugosc=0;

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?");
	}
}

var searchReq = getXmlHttpRequestObject();
window.onload=init;


function searchSuggest(e) {

 e = (!e) ? window.event : e;
 code = (e.charCode) ? e.charCode :
       ((e.keyCode) ? e.keyCode :
       ((e.which) ? e.which : 0));

 if (code==40) {
  if (pozycja>-1) document.getElementById("lista"+pozycja).className="suggest_link";
  if (pozycja<dlugosc-1) {
   pozycja++;
   document.getElementById("lista"+pozycja).className="suggest_link_over";
   document.getElementById('tekst').value = document.getElementById("lista"+pozycja).innerHTML;
  } else pozycja=-1;

 } else 
 if (code==38) {

  document.getElementById("lista"+pozycja).className="suggest_link";
  pozycja--;
  document.getElementById("lista"+pozycja).className="suggest_link_over";
  document.getElementById('tekst').value = document.getElementById("lista"+pozycja).innerHTML;

 } else
 if (code==13) {

  document.getElementById('search_suggest').innerHTML = '';
  document.getElementById('search_suggest').style.border=0;

 } else {

   if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str = escape(document.getElementById('tekst').value);
    searchReq.open("GET", 'http://www.grynapc.com/searchSuggest.php?search=' + str, true);
    searchReq.onreadystatechange = handleSearchSuggest; 
    searchReq.send(null);
   }		
 }
}


function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
 	  if (searchReq.status==200) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		pozycja=-1;
		dlugosc=str.length - 1;

		if (dlugosc>0) ss.style.border='1px solid #000'; else ss.style.border=0;

		for(i=0; i < str.length - 1; i++) {

			var suggest = '<div id="lista'+i+'" 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('tekst').value = value;
	document.getElementById('search_suggest').innerHTML = '';
        document.getElementById('search_suggest').style.border=0;
}

function init() {
 document.getElementById("tekst").setAttribute("autocomplete","off");
}
