   var inputId          = 'qry';
   var outputId         = 'results';
   var processURI       = '/qry.php';
   var emptyString      = '';
   var liveSearch       = false;
   var t                = null;
   var liveSearchLast   = "";
   var isIE             = false;

   var inputElement;
   var outputElement;

   if (window.XMLHttpRequest) {
   	liveSearch = new XMLHttpRequest();
   }

   function liveSearchInit() {

   	inputElement  = document.getElementById(inputId);
   	outputElement = document.getElementById(outputId);

   	if( inputElement == null || outputElement == null )
   		return;


   	if (navigator.userAgent.indexOf("Safari") > 0) {
   		inputElement.addEventListener("keydown",liveSearchStart,false);

   	} else if (navigator.product == "Gecko") {
   		inputElement.addEventListener("keypress",liveSearchStart,false);

   	} else {
   		inputElement.attachEvent('onkeydown',liveSearchStart);
   		isIE = true;
   	}

   	if(emptyString == '') {
   		outputElement.style.display = "none";
   	} else {
   		outputElement.innerHTML = emptyString;
   	}

      document.getElementById(inputId).setAttribute("autocomplete","off");

   }

   function liveSearchStart() {
   	if (t) {
   		window.clearTimeout(t);
   	}
   	t = window.setTimeout("liveSearchDoSearch()",400);
   }

   function liveSearchDoSearch() {
   	if (liveSearchLast != inputElement.value && inputElement.value != "") {
   		if (liveSearch && liveSearch.readyState < 4) {
   			liveSearch.abort();
   		}
   		if (window.XMLHttpRequest) {
   		} else if (window.ActiveXObject) {
   			liveSearch = new ActiveXObject("Microsoft.XMLHTTP");
   		}

   		liveSearch.onreadystatechange = liveSearchProcessSearchChange;
   		liveSearch.open("GET", processURI + "?s=" + encodeURI(inputElement.value));
   		liveSearchLast = inputElement.value;
   		liveSearch.send(null);
   	} else if(inputElement.value == "") {
   		if(emptyString == '') {
   			outputElement.innerHTML = '';
   			outputElement.style.display = "none";
   		} else {
   			outputElement.innerHTML = emptyString;
   		}
   	}
   }

   function liveSearchProcessSearchChange() {
   	if (liveSearch.readyState == 4) {
   		outputElement.innerHTML = liveSearch.responseText;
   		if(emptyString == '') {
   			outputElement.style.display = "block";
   		}
   	}
   }
