var xmlHttp;
var errorcode;
var reg = /^[a-zA-Z0-9- &]*$/;
var pic1, pic2;
function $(id) { return document.getElementById(id); }
window.onload=function() {
  document.getElementById("err").innerHTML="";
  pic1=new Image(13,13); pic1.src="../images/spacer.gif"; 
  pic2=new Image(13,13); pic2.src="../images/loading.gif"; 
}
function clearText()
{
	//Check for errors
	document.getElementById("jobs").value = "";
}
function check_for_error()
{
	//Check for errors
	if(!reg.test(document.getElementById("jobs").value))
	{
		errorcode = 1;
		document.getElementById("err").innerHTML="<br><b class='keyworderr'>Error:</b> Invalid input detected.<br>Only letters, numbers, spaces, and dashes allowed";
		return false;
	}
	else
	{
		errorcode = 0;
		document.getElementById("err").innerHTML="";
		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<3)
	    { 
			errorcode = 1;
			check_for_error();
			document.getElementById("searchsuggest").innerHTML="<br><br>Enter job title or skills. (Minimum 3 characters)<br><br><span style='font-size: 11px;'>*Example 1: customer service</span><br><span style='font-size: 11px;'>*Example 2: admin assistant</span><br><span style='font-size: 11px;'>*Example 3: degree java developer</span>";
			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; 
				document.getElementById("searchsuggest").innerHTML="<br><br>Searching...";				
			}
			var url="searchjobs.php";
			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("searchsuggest").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;
}
