// (C) 2007 www.ukneeq.com
// Author: Fedil Grogan (fedil@ukneeq.com)
// Program: ukiAutoComplete
// Version: 1.0
// http://www.ukneeq.com/scripts/ukiAutoComplete/
// Free for all users who use this for personal uses, but leave in this header.
// If you use this on a commercial site or use it to make money please send a
// donation for my efforts.

var ukiAC_xmlHttp;
var ukiAC_txtField;

function ukiAutoComplete(txtField)
{
  ukiAC_txtField = txtField;
  if (txtField.value.length==0)
  { 
    document.getElementById("ukiAutoComplete").innerHTML="";
    if (document.getElementById("ukiAutoComplete") != null)
    {
      var delDiv = document.getElementById("ukiAutoComplete");
      document.body.removeChild(delDiv);
    }

    return;
  }
  ukiAC_xmlHttp=ukiAC_GetXmlHttpObject();
  if (ukiAC_xmlHttp==null)
  {
    alert ("Your browser does not support AJAX!");
    return;
  } 
  var searchStr = txtField.value;
  //alert('Sending ' + str + ' ' + searchField);

  var url="ukiAutoComplete.php";
  url=url+"?string="+searchStr;
  //url=url+"&searchtype="+searchField;
  url=url+"&sid="+Math.random();
  ukiAC_xmlHttp.onreadystatechange=ukiAC_stateChanged;
  ukiAC_xmlHttp.open("GET",url,true);
  ukiAC_xmlHttp.send(null);
} 
function ukiAC_stateChanged() 
{ 
  if (ukiAC_xmlHttp.readyState==4)
  { 
    if (document.getElementById("ukiAutoComplete") != null)
    {
      document.getElementById("ukiAutoComplete").innerHTML=ukiAC_xmlHttp.responseText;
    }
    else
    {
      var obj = document.getElementById("search_txt");
      var currleft = 0;
      var currtop = 0;
      if (document.getElementById("search_txt").offsetParent)
      {
        currleft = obj.offsetLeft;
        currtop = obj.offsetTop;
        while(obj = obj.offsetParent)
        {
          currleft += obj.offsetLeft;
          currtop += obj.offsetTop;
        }
      }
      currtop += 25;

      var newDiv = document.createElement('div');
      newDiv.setAttribute('id', "ukiAutoComplete");
      newDiv.style.top = currtop +'px';
      newDiv.style.left = currleft +'px';
      newDiv.innerHTML=ukiAC_xmlHttp.responseText;
      document.body.appendChild(newDiv);
    }
  }
}
function ukiAC_GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}
function ukiAC_setSearchTxt(str)
{
  ukiAC_txtField.value=str;
  document.getElementById("ukiAutoComplete").innerHTML="";

  if (document.getElementById("ukiAutoComplete") != null)
  {
    var delDiv = document.getElementById("ukiAutoComplete");
    document.body.removeChild(delDiv);
  }
}

