var xmlHttp
var errorcode;
var reg = /^[a-zA-Z0-9- ,+'\|&\/()*]*$/;
var pic1, pic2;
function $(id) { return document.getElementById(id); }
function hide(obj) { $(obj).style.display='none'; }
function show(obj) { $(obj).style.display=''; }
window.onload=function() {
  pic1=new Image(13,13); pic1.src="img/spacer.gif"; 
  pic2=new Image(13,13); pic2.src="img/loading.gif"; 
  $('jobs').value=""; $('jobs').focus(); 
}

function check_for_error()
{
	//Check for errors
	if(!reg.test(document.getElementById("jobs").value))
	{
		errorcode = 1;
		show('err');
		hide('keysuggest');
		return false;
	}
	else
	{
		errorcode = 0;
		hide('err');
		show('keysuggest');
		apply_add_ajax_search();
	}
}

function apply_add_ajax_search() {
		// Find the search box in the DOM
		var theElement = document.getElementById('jobs');
		// Create a function for when the user presses a key
		theElement.onkeyup = function(){ 
		
		if (theElement.value.length<=1)
	    { 
			errorcode = 1;
			check_for_error();
			document.getElementById("keysuggest").innerHTML="";
			if(pic1 && pic1.src) $('load').src=pic1.src;
			return;
		}
		search_delay(this); 
		}
}

	function search_delay(element) {
		
		check_for_error();
		// Create a function to get the search results
		var func = function() { 
		
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		  {
			  alert ("Your browser does not support AJAX!");
			  return;
		  } 
		if(errorcode == 0)
		{
		 	if(pic2 && pic2.src) $('load').src=pic2.src; 
			var url="searchpopularjobs.asp";
			url=url+"?q="+element.value;
			xmlHttp.onreadystatechange=stateChanged;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}}
		// Check to see if there is already a timeout and if so...
		// ...cancel it and create a new one
		if ( element.zid ) {
			clearTimeout(element.zid);
		if (element.value.length<1)
	    { 
			//document.getElementById("keysuggest").innerHTML="";
			if(pic1 && pic1.src) $('load').src=pic1.src;
			errorcode = 1;
		    return;
		}
		}
		element.zid = setTimeout(func,1500);
	}
	
function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("keysuggest").innerHTML=xmlHttp.responseText;
if(pic1 && pic1.src) $('load').src=pic1.src;
}
}

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;
}

