//ADD FOCUS EVENTS TO ALL ELEMENTS IN FORM 
var foc;
var focusval="False";
window.onload = function() 
{
	for (i=0; i<document.Form1.elements.length-1; i++) 
	{
		elem = document.Form1.elements[i];
		if(elem.id == "DestinationTo")
		{
			elem.foc = false;
			elem.hasFocus = function() {
					return this.foc;
				};
			elem.onfocus=function() {
					this.foc=true;
				};
			elem.onfocusout=function() {
					this.foc=false;
				};
		}
		else
		{
			elem.onfocus= function () 
				{	//alert('focust');
					fillval();
				};	
		}
   
	}
	focusval="True";
}
//CHECK KEY EVENT 
function chkkey(oEvent)
{
	if (!oEvent)
	{
		oEvent = window.event;
	}    
	if(oEvent.keyCode != 38 && oEvent.keyCode != 40 && oEvent.keyCode != 13)
	{
		var str=document.getElementById("DestinationTo").value;
		var CID=trim(str);
		if(CID.length >=3)
		{
			//alert(CID);
			var tlen=0;
			var cities = getDest(CID);  
			//alert(cities);
			if (cities == null || typeof(cities) != "object")
			{
				document.getElementById("HCOUNT").value=-1;
			}
			else
			{
				document.getElementById("HCOUNT").value=cities.Rows.length - 1 ;
				document.getElementById("HRow").value=-1;
				showDiv(cities);
				document.getElementById("MMTXT").value=document.getElementById("menuContainer").innerHTML;
			}
			resizeDiv();
		}
		else
		{
			//document.getElementById("menuContainer").innerHTML="";
			var theTable = document.getElementById('mytbl');
			if  (theTable.tBodies[0].rows.length>0)
			{
				while (theTable.tBodies[0].rows.length>0)
				{
					var x=theTable.tBodies[0].rows.length -1 ;
					theTable.tBodies[0].deleteRow(x);
				}
			}
		}
	}
	
}

function showDiv(cities)
{
	var theTable = document.getElementById('mytbl');
	if  (theTable.tBodies[0].rows.length>0)
	{
		while (theTable.tBodies[0].rows.length>0)
		{
			var x=theTable.tBodies[0].rows.length -1 ;
			theTable.tBodies[0].deleteRow(x);
			
		}
	}
		for (var i = 0; i < cities.Rows.length; ++i)
		{  
			var yy=document.createElement('tr');
			yy.id="mrtd" + i;
			if (i==0)
			{
				yy.className="divtxt1";
			}
			else
			{
				yy.className="divtxt";
			}
			yy.onkeydown= function () {handleKeyEvents(event);};
			yy.onmouseout= function () {
						this.className="divtxt";
					};
			yy.style.cursor="hand";
			yy.onmouseover= function () {
						var f=parseInt(this.id.replace("mtd", ""));
						this.className="divtxt1";
						document.getElementById('HTXT').value=this.innerText;
						document.getElementById('HRow').value=f;
						
					};
			
			theTable.tBodies[0].appendChild(yy);
			//city
			var y = document.createElement('td');
			y.id="cttd" + i;
			y.setAttribute("height","15");
			y.appendChild(document.createTextNode(cities.Rows[i].city + '    '));
			theTable.tBodies[0].rows[i].appendChild(y);
			//cityspacing
			var y = document.createElement('td');
			y.id="std1" + i;
			y.setAttribute("height","15");
			y.innerHTML = "&nbsp;&nbsp;";

			theTable.tBodies[0].rows[i].appendChild(y);

			//airport name
			var y = document.createElement('td');
			y.id="mtd" + i;
			y.setAttribute("height","15");
			y.appendChild(document.createTextNode(cities.Rows[i].dest + '    '));
			theTable.tBodies[0].rows[i].appendChild(y);
			//cityspacing
			var y = document.createElement('td');
			y.id="std2" + i;
			y.setAttribute("height","15");
			y.innerHTML = "&nbsp;&nbsp;";
			theTable.tBodies[0].rows[i].appendChild(y);
			//country
			var y = document.createElement('td');
			y.id="cntd" + i;
			y.setAttribute("height","15");
			y.appendChild(document.createTextNode(cities.Rows[i].country + '    '));
			theTable.tBodies[0].rows[i].appendChild(y);
			//cityspacing
			var y = document.createElement('td');
			y.id="std3" + i;
			y.setAttribute("height","15");
			y.innerHTML = "&nbsp;&nbsp;";
			theTable.tBodies[0].rows[i].appendChild(y);
		}

		
}
		
		
function trim(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	//while (sString.substring(sString.length-1, sString.length) == ' ')
	//{
	//	sString = sString.substring(0,sString.length-1);
	//}
	return sString;
}
		 
function fillval()
{//alert(focusval);
	if (focusval=='True')
	{
			if (document.getElementById("DestinationTo").hasFocus()==false)
			{//alert('hi');
			//alert(document.getElementById("HTXT").value);
				if (trim(document.getElementById("HTXT").value) != "")
				{
					var message=document.getElementById("HTXT").value;
					var dtxt=message.split("    ")
					document.getElementById("DestinationTo").value=trim(dtxt[1]);
					document.getElementById("HTXT").value="";
				}
				var theTable = document.getElementById('mytbl');
				if  (theTable.tBodies[0].rows.length>0)
				{
					while (theTable.tBodies[0].rows.length>0)
					{
						var x=theTable.tBodies[0].rows.length -1 ;
						theTable.tBodies[0].deleteRow(x);
					}
				}
			}

	}
}
		 
function handleKeyEvents(oEvent)
{
	if (!oEvent)
	{
		oEvent = window.event;
	}    
	switch(oEvent.keyCode) 
	{
		case 38: //up arrow
				previousSuggestion();
				break;
		case 40: //down arrow 
			    nextSuggestion();
				break;
		case 13: //enter
			//	alert('hi');
				fillval();
				break;
		case 9://tab
				fillval();
				break;
	}
}

function previousSuggestion()
{
	var cpos=parseInt(document.getElementById("HRow").value);
	var tpos=parseInt(document.getElementById("HCOUNT").value);
	var npos=cpos - 1;
	var ntd="mrtd" + npos;
	var ctd="mrtd" + cpos;
	if (npos >= 0)
	{	
		if (cpos != -1)
		{
			document.getElementById(ctd).className="divtxt";
		}
		document.getElementById("HRow").value=npos;
		document.getElementById(ntd).focus();
		document.getElementById(ntd).className="divtxt1";
		document.getElementById('HTXT').value=document.getElementById(ntd).innerText;
	}
	else if(npos<0)
	{
		npos=tpos;
		ntd="mrtd" + npos;
		document.getElementById(ctd).className="divtxt";
		document.getElementById("HRow").value=npos;
		document.getElementById(ntd).focus();
		document.getElementById(ntd).className="divtxt1";
		document.getElementById('HTXT').value=document.getElementById(ntd).innerText;
	}
}

function nextSuggestion()
{//alert('nextsug');
	var cpos=parseInt(document.getElementById("HRow").value);
	var tpos=parseInt(document.getElementById("HCOUNT").value);
	var npos=cpos + 1;
	var ntd="mrtd" + npos;
	var ctd="mrtd" + cpos;
	if (npos <=tpos)
	{	
		if (cpos != -1)
		{
			document.getElementById(ctd).className="divtxt";
		}
		document.getElementById("HRow").value=npos;
		document.getElementById(ntd).focus();
		document.getElementById(ntd).className="divtxt1";
		document.getElementById('HTXT').value=document.getElementById(ntd).innerText;
	}
	else if(npos>tpos)
	{
		npos=0;
		ntd="mrtd" + npos;
		document.getElementById(ctd).className="divtxt";
		document.getElementById("HRow").value=npos;
		document.getElementById(ntd).focus();
		document.getElementById(ntd).className="divtxt1";
		document.getElementById('HTXT').value=document.getElementById(ntd).innerText;
	}
	//alert(document.getElementById('HTXT').value);
}


function resizeDiv()
{
	if (document.getElementById("menuContainer").innerHTML != "")
	{
		//get top & left
		var oNode = document.getElementById("DestinationTo");
		var iTop = 0;
		var iLeft = 0;
		while(oNode.tagName != "BODY") 
			//		while(oNode.tagName != "BODY" && oNode.tagName != "HTML") 
		{
			iTop += oNode.offsetTop;
			iLeft += oNode.offsetLeft;
			oNode = oNode.offsetParent;
		}
		iTop+= document.getElementById("DestinationTo").offsetHeight + 1;
		//iLeft+=1;
		document.getElementById("menuContainer").style.posLeft=iLeft;
		document.getElementById("menuContainer").style.posTop=iTop;
	}
}