var xmlhttp;
var old_text_given = '';
var ti = new Date();
var last_run = (ti.getTime()-5000);
var delay_holder;
var can_post = true;
var delaying = false;

function should_showResult_delay(str) {
   can_post = true;
   delaying = false;
   showResult(str);
}
function should_showResult(str) {
  document.getElementById("keywords").value = str;
  if (str != old_text_given) {
    if (str.length >= 3) {
      var tk = new Date();
      old_text_given = str;
      if ((last_run+2000) < tk.getTime()) {
        last_run = tk.getTime();
        //showResult(str);
      } else {
        document.getElementById("livesearch").innerHTML=" two second search delay activated.... ";
        if (can_post == false) {
          if (delaying == false) {
            delaying = true;
            delay_holder = setTimeout('should_showResult_delay(\''+str+'\')',2100);
          }

        } else {
          showResult(str);
        }
      }
    } else {
         document.getElementById("livesearch").innerHTML=" Search string must be at least 3 charaters ";
    }
  }
}

function showResult(str) {
  var strng = "";
  if (str.length==0) {
    document.getElementById("livesearch").innerHTML="";
//    document.getElementById("livesearch").style.border="0px";
    return;
  }
  if (delaying == true) { return; }
  strg = document.getElementById("keywords").value;
  if (strg != str) {
    delaying = true;
    delay_holder = setTimeout('should_showResult_delay(\''+strg+'\')',2100);
    return;
  }
  strg = strg.replace('&','');
  strg = strg.replace('$','');
  strg = strg.replace('#','');
  strg = strg.replace('@','');
  strg = strg.replace('/','');
  if (strg != str) {
    document.getElementById("livesearch").innerHTML="invalid charaters";
    return;
  }
  xmlhttp=GetXmlHttpObject()
  if (xmlhttp==null) {
    alert ("Your browser does not support XML HTTP Request");
    return;
  }
  var url="http://canitbesaturdaynow.com/js/response.ajax_search.php";
  url=url+"?q="+strg;
  url=url+"&sid="+Math.random();
  xmlhttp.onreadystatechange=stateChanged ;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  can_post = false;
}

function stateChanged()
{
if (xmlhttp.readyState==4)
  {
  document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
//  document.getElementById("livesearch").style.border="1px solid #A5ACB2";
  }
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}