
var myin='';
var myout='';
var myhidden='';
var theindex=0;
var mytype='';
var mystatus='';

function getHTTPObject()
{ 
 if (typeof XMLHttpRequest != 'undefined') { 
  return new XMLHttpRequest(); } 
 try { 
  return new ActiveXObject("Msxml2.XMLHTTP"); } 
 catch (e) { 
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } 
	catch (e) {} } 
 return false; 
}

var http = getHTTPObject();

function sendquery(iname,oname,type,hname,e,istatus)
{
 if (keycheck(e))
 {
  myin=iname;
  myout=oname;
  myhidden=hname;
	mytype=type;
	theindex=0;
	mystatus=istatus;
	setTimeout("godoit()",10); //slight delay needed so that calculations occur AFTER the user input takes effect
 }
}

function godoit(iname,type)
{
 http.abort();
 http.open("GET", "/Include/ajax.aspx?status="+mystatus+"&type="+mytype+"&clue=" + escape(document.getElementById(myin).value), true);
 http.onreadystatechange = useHttpResponse;
 http.send(null);
}

function useHttpResponse() {
  if (http.readyState == 4) {
    var textout = http.responseText;
		if (textout==99) //code signifying no output
		{
		 document.getElementById(myout).style.borderStyle="none";
		 textout='';
		}
		else
		 document.getElementById(myout).style.borderStyle="solid";
		document.getElementById(myout).innerHTML=textout;
  }
}

function loadit(x,y)
{
 document.getElementById(myin).value=x;
 document.getElementById(myout).innerHTML='';
 document.getElementById(myout).style.borderStyle="none";
 document.getElementById(myhidden).value=y;
 document.getElementById(myin).focus();
}

function keycheck(e) //returns true if we should run a new mysql query
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13 || (keycode >= 37 && keycode <= 40)) //special characters, don't run query
   {
	 interpret(keycode);
   return false;
   }
else
   return true;
}

function interpret(k)
{
 switch (k)
 {
  case 38:
	 if (theindex>0)
	  theindex--;
	 break;
	case 40:
	 theindex++;
	 break;
 }
}

