var secs;
var timerID = null;
var timerRunning = false;
var delay = 1000;
var xmlHttp;

 function handleEnter (field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
		if (field == field.form.elements[i])
			field.form.elements[i].focus();
			return false;
	} 
	else
	return true;
}      


function showResult(str,type) {
	if (str.length==0) { 
		document.getElementById("livesearch").innerHTML="";
		document.getElementById("livesearch").style.padding="0px";
		document.getElementById("livesearch").style.display="none";
		StopTheClock();
		return
	}
	
	else {
	InitializeTimer()
	}
} 


function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 1;
    StopTheClock();
    StartTheTimer();
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
	var str = document.getElementById('txt1').value;
	
	document.getElementById("livesearch").style.display="block";

    if (secs==0)
    {
	//temp - see if we can remove
	//document.getElementById("livesearch").style.display="block";
	
        if(document.getElementById('txt1').value.length >= 2) {

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	} 

	var url="/functions/find.cfm";
	url=url+"?incoming_data="+str;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged; 
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);


	}
	else if(document.getElementById('txt1').value.length > 0){

	document.getElementById("livesearch").style.display="none";

	}
	else{

		document.getElementById("livesearch").innerHTML="";
		document.getElementById("livesearch").style.padding="0px";
		document.getElementById("livesearch").style.display="none";

	}	
    }
    else
    {

	if(str.length >= 2) {
		document.getElementById("livesearch").innerHTML="searching...";
		document.getElementById("livesearch").style.padding="10px";
		document.getElementById("livesearch").style.backgroundColor="#000033";
		document.getElementById("livesearch").style.display="block";
	}
	
	else {	
	document.getElementById("livesearch").style.display="none";
	}

        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}

function stateChanged() { 

	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
	
		if(xmlHttp.responseText.indexOf('div') > 0 || xmlHttp.responseText.indexOf('no') > 0) {
		document.getElementById("livesearch").innerHTML=xmlHttp.responseText;
		}
		else {
		document.getElementById("livesearch").innerHTML="no matches found";
		}
		document.getElementById("livesearch").style.padding="10px";
		document.getElementById("livesearch").style.backgroundColor="#000033";
		document.getElementById("livesearch").style.display="block";

		if (xmlHttp.responseText.indexOf('no matches found') >0){
 
		var rsln=xmlHttp.responseText.indexOf('no matches found');
		
		var missingstring=xmlHttp.responseText.substring(rsln+20);
		
		var s=s_gi('sflnsurflinecom');
		s.tl(this,'o','DynamicSearch:NoMatch:'+missingstring);
		
		  }
	} else { 
	
		document.getElementById("livesearch").innerHTML="searching...";
		document.getElementById("livesearch").style.padding="10px";
		document.getElementById("livesearch").style.backgroundColor="#000033";
		document.getElementById("livesearch").style.display="block";
	} 
}

function 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;
}
