xmlHttp = null;
var numOfElements;
var currElement = -1;
var currTerm = '';
var currID = '';

document.onkeyup = checkKeyEvent;

function checkKeyEvent(event){
	if(currID == ''){
		return;
	}
	numOfElements = document.getElementById('suggest_' + currID).childNodes.length;
	if (numOfElements > 0){
		if (window.event)
		{
			event = window.event;
		}
		if(event.keyCode == 40){
			if(currElement > -1){
				document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#fff';
				document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#000';
			}
			if(currElement < numOfElements - 1){
				currElement++;
			}else{
				currElement = 0;
			}
			document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#0000ff';
			document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#fff';
			elem = document.getElementById('suggest_' + currID).childNodes[currElement]
			document.getElementById(currID).value = elem.innerHTML;
		}else if(event.keyCode == 38){
			if(currElement > -1){
				document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#fff';
				document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#000';
			}
			if(currElement > 0){
				currElement--;
			}else{
				currElement = document.getElementById('suggest_' + currID).childNodes.length - 1;
			}
			document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#0000ff';
			document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#fff';
			elem = document.getElementById('suggest_' + currID).childNodes[currElement]
			document.getElementById(currID).value = elem.innerHTML;
		}
		
		//up arrow = 38
		//down arrow = 40
		//enter = 13
	}
	
}

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

function getCities(cityString, state){
	if(xmlHttp != null){
		xmlHttp.abort();
	}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		//alert ("Your browser does not support AJAX!");
		return;
	}
	var url="citysearch.php";
	url=url+"?state=" + state + "&city=" + cityString;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged(){
	if (xmlHttp.readyState==4){
		results = xmlHttp.responseText;
		document.getElementById('suggest_' + currID).innerHTML = results;
		if(results != ""){
			document.getElementById('suggest_' + currID).style.display = "block";
		}else{
			document.getElementById('suggest_' + currID).style.display = "none";
		}
	}
	currElement = -1;
}

function suggestSearch(event, myID){
	currID = myID;
	if (window.event){
		event = window.event;
	}
	if(event.keyCode != 40 && event.keyCode != 38){
		myState = document.getElementById("st").value;
		if(myState == null || myState == "state" || myState == ""){
			myState = "";
		}
		city = document.getElementById(myID).value
		if(city == null || city == "" || city == "city" || city.length < 3){
			document.getElementById('suggest_' + currID).innerHTML = "";
			document.getElementById('suggest_' + currID).style.display = "none";
			return;
		}
		
		getCities(city, myState);
	}
}


function clearSuggest(){
	document.getElementById('suggest_' + currID).innerHTML = "";	
	document.getElementById('suggest_' + currID).style.display = "none";
}

function mouseHover(elem){
	if(currElement > -1){
		document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#fff';
		document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#000';
	}
	currElement = elem;
	document.getElementById('suggest_' + currID).childNodes[currElement].style.backgroundColor = '#0000ff';
	document.getElementById('suggest_' + currID).childNodes[currElement].style.color = '#fff';
	elem = document.getElementById('suggest_' + currID).childNodes[currElement]
	document.getElementById(currID).value = elem.innerHTML;
}





