function naseptavac_init() {
  self.xml = naseptavac_getObj("Msxml2.XMLHTTP");
	if (!xml) xml = naseptavac_getObj("Microsoft.XMLHTTP");
	if (!xml)	{
    if (typeof XMLHttpRequest!="undefined") xml = new XMLHttpRequest();
	}
  if (!xml) {
//	  alert("Sugestivní návrhy nefungují na vašem prohlížeči.");
	}

	self.encFunc = encodeURIComponent ? encodeURIComponent : escape;
}
			
function naseptavac_getObj (obj) {
  try {
	  return new ActiveXObject(obj);
	}
	catch (e) {
	  return null;
	}
}

function sendRPCDone(results) {
  var ul = document.getElementById("naseptavac");

  while (ul.childNodes.length > 0) ul.removeChild(ul.childNodes[0]);

  self.naseptavac_aktualni = 0;
  self.naseptavac_max = results.length;

  if (results.length > 0) {
    for (var i=0; i < results.length; i++) {
      var li = document.createElement("LI");
		  var label = results[i];
		
      li.innerHTML = label;
	  	li.id = "naseptavac"+(i+1);
      ul.appendChild(li);
		  li.onclick = function() {
		    document.getElementById("vyhledavani_dotaz").value = this.innerText;
		    document.getElementById("vyhledavani_dotaz").form.submit();
	    }
		  li.onmouseover = function() {
        self.naseptavac_aktualni = parseInt(this.id.charAt(10));
        naseptavac_podbarveni();
	    }
	  }
	}
	else {
    ul.style.visibility = 'hidden';
  }
}
			
function go() {
  var q = document.getElementById("vyhledavani_dotaz");
	if (q.value != self.last) {
		self.last = q.value;
		if (xml) {
			if (xml.readyState != 0) xml.abort();
			xml.open ("GET", "/naseptavac.php?q=" + self.encFunc(q.value), true);
			xml.onreadystatechange = function() {
			  if (xml.readyState == 4 && xml.responseText) {
		  	  disp(1);
				  eval(xml.responseText);
			  }
		  }
		  xml.send(null);
	  }
  }
}
			
function disp(st) {
  self.act = st;
	var ul = document.getElementById("naseptavac");
	
  if (st) {
  	clearTimeout(self.timer);
		ul.style.visibility = "visible";
	}
	else {
	  var f = function(){ul.style.visibility = "hidden";}
		self.timer = setTimeout(f, 500);
	}
}

function naseptavac_keydown(e) {
  var klavesa;
  var puvodni;

  if (window.event) klavesa = e.keyCode; // IE
  else if (e.which) klavesa = e.which;   // Netscape/Firefox/Opera
//  keychar = String.fromCharCode(keynum)
  
  if (klavesa == 40) {
    if (self.naseptavac_aktualni < self.naseptavac_max) {
      self.naseptavac_aktualni++;
      naseptavac_podbarveni();
    }
    return false;
  }
  else if (klavesa == 38) {
    if (self.naseptavac_aktualni > 0) {
      puvodni = self.naseptavac_aktualni;
      self.naseptavac_aktualni--;
      naseptavac_podbarveni(puvodni);
    }
    return false;
  }
  else if (klavesa == 13) {
    if (self.naseptavac_aktualni > 0) {
      var ul = document.getElementById("naseptavac");
      document.getElementById("vyhledavani_dotaz").value = ul.childNodes[self.naseptavac_aktualni-1].innerHTML;
    }
    if (document.getElementById("vyhledavani_dotaz").value.length < 2) { 
      alert('Hledaný výraz musí mít alespoň 2 znaky.'); dotaz.focus(); return false;
    } 
    else return true;
  }
  return true;
}

function naseptavac_podbarveni() {
  var ul = document.getElementById("naseptavac");

  for (i = 0; i < ul.childNodes.length; i++) {
    ul.childNodes[i].style.color = "black";
    ul.childNodes[i].style.background = "white";
  }
  
  if (self.naseptavac_aktualni > 0) {
    var li = document.getElementById("naseptavac"+self.naseptavac_aktualni);
    li.style.color = "white";
    li.style.background = "gray";
  }
}
