function init(){
  document.getElementById('search').setAttribute("autocomplete","off");
  self.xml = getObj("Msxml2.XMLHTTP");
  if (!xml) xml = getObj("Microsoft.XMLHTTP");
  if (!xml) {
    if (typeof XMLHttpRequest!="undefined")
      xml = new XMLHttpRequest();
  };
  self.encFunc = encodeURIComponent ?
      encodeURIComponent : escape;
}

function getObj (obj) {
  try { return new ActiveXObject(obj); }
  catch(e) { return null; }
}

function disp(st) {
  self.act = st;
  var div = document.getElementById("suggest");
  if (st)
  {
    clearTimeout(self.timer);
    div.style.visibility = "visible";
  }
  else
  {
    var f = function(){div.style.visibility = "hidden";}
    self.timer = setTimeout(f, 500);
  }
}

function go(){
  var q = document.getElementById("search");
  q.autocomplete = 'off';
  if (q.value != self.last){
    self.last = q.value;
    if (xml) {
      if (xml.readyState != 0) xml.abort();
      xml.open ("GET", "/whisper.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 sendRPCDone(frameEl, searchText, names, counts){
  var div = document.getElementById("suggest");
  while (div.childNodes.length > 0)
    div.removeChild(div.childNodes[0]);
  for (var i=0; i < names.length; i++){
    var a = document.createElement("A");
    var label = names[i] + ' - ' + counts[i];
    a.s = names[i];
    a.innerHTML = label;
    a.href = 'javascript:void(0);';
    div.appendChild(a);
    a.onclick = function(){
      document.getElementById("search").value = this.s;
      document.getElementById("hledani").submit();
    }
  }
}