var xmlhttp;
var searchQuery;
var runTime = 0;

var sthreads=new Array();
var stindex = 0;
function sclearAllTimeouts() {
    for (var i=0; i<sthreads.length; i++) {
	    clearTimeout(sthreads[i]);
    }
    sthreads = new Array();
    stindex = 0;
}
			
function inputChanged () {
    
    var newQuery = document.getElementById('searchInput').value;
    if (newQuery=='szukaj') return;
    if (newQuery.length<3) return;
    
    runTime++;
    sclearAllTimeouts();
    sthreads[stindex]=setTimeout("timedoutSearch('"+newQuery+"', "+runTime+")",300);
    stindex++;
}
function timedoutSearch(query, runId) {
    if (runId!=runTime) return;
    search(query);
}

function search(query) {


    document.getElementById('spotIcon').style.display='none';
    document.getElementById('waitIcon').style.display='block';
    document.getElementById('searchQuery').innerHTML=query;
    
    var cache = Math.random();
    var url = '/C/jsp/search.jsp?cache='+cache+'&query='+query;
    loadXMLDoc(url);

}

function loadXMLDoc(url)
{

    xmlhttp=null;
    if (window.XMLHttpRequest)
      {// code for Firefox, Opera, IE7, etc.
          xmlhttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlhttp!=null)
      {
          xmlhttp.onreadystatechange=state_Change;
          xmlhttp.open("GET",url,true);
          xmlhttp.send(null);
      }
    else
      {
	  alert("Your browser does not support XMLHTTP.");
      }
}

function state_Change()
{
    if (xmlhttp.readyState==4)
      {// 4 = "loaded"

        document.getElementById('waitIcon').style.display='none';
        document.getElementById('spotIcon').style.display='block';
      
      if (xmlhttp.status==200)
        {// 200 = "OK"
	
	    document.getElementById('searchResults').innerHTML=xmlhttp.responseText;
	    document.getElementById('searchWindow').style.display='block';
        }
      else
        {
	    alert("Problem retrieving data:" + xmlhttp.statusText);
        }
      }
}


