				var HttpReq = false;

	if (window.ActiveXObject){
		HttpReq=new ActiveXObject("Msxml2.XMLHTTP");
		if (! HttpReq){
			HttpReq=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if(HttpReq){
			/* Unlikely to branch here, as IE uses will be able to use either one of the constructors*/
		} else {
			alert("Your browser does not permit the use of all "+"of this application\'s features!");
		}
	} else if(window.XMLHttpRequest){
		HttpReq = new XMLHttpRequest();
	} else {
		alert("Your browser does not permit the use of all "+"of this application\'s features!");
	}

	function getLoad(e, qtable, qfield, File)	{	
					if(navigator.appName.indexOf("Microsoft") != -1)
						var keyValue = e.keyCode;
					else
					if(navigator.appName.indexOf("Netscape") != -1)
						var keyValue = e.which;
			
					if(obj.key.value=="" || keyValue==27)
					{
						HideElements(true);
					}else {
						if(keyValue!=9 && keyValue!=13 && keyValue!=20 && keyValue!=37 && keyValue!=38 && keyValue!=39 && keyValue!=40){
							if(HttpReq)	{
								HttpReq.open("GET", File+"?key="+obj.key.value+"&table="+qtable+"&field="+qfield, true);
								HttpReq.onreadystatechange = getList;
								HttpReq.send(null);
							}
							VariableReset();
						}else {
							if(keyValue==13) {
								KeyEvents(keyValue);
							}
						}
					}
					
					
}

				
				
				function getList()
				{
				
					if(HttpReq.readyState == 4)
					{
						var response = HttpReq.responseText;

						obj.mainDiv.style.visibility = "visible";
						
						
						obj.mainDiv.style.left = obj.divleft;
						obj.mainDiv.style.width = obj.key.offsetWidth;
						
						
						obj.div_visible = true;
						obj.myDiv.innerHTML = response;
						obj.tdiv = document.getElementById("NumRec").value;
						
						
					}
				}
				





function Init()
				{
					this.group = new Array();
					this.currentid="";
					this.dcounter=0;
					this.tdiv=0;
					this.div_visible=false;
					this.divleft=0;
					this.keyCode=0;
					this.style="";
			
					this.key = "";
					this.myDiv = "";
					this.mainDiv = "";
				}
				
				var obj = new Init();
				
				
				function InitComponent(txtId, index)
				{
					obj.key = document.getElementById(txtId);
					obj.mainDiv = document.getElementById(obj.group[index]);

					var xid = obj.mainDiv.id;
					
					obj.myDiv = document.getElementById(xid + xid);

					var xPos = obj.key;
					obj.divleft = obj.key.offsetLeft;
					/*
					do {
					
						xPos = xPos.offsetParent;
						
						obj.divleft	+= xPos.offsetLeft;
					} while(xPos.tagName!="BODY");
					*/
				}

				
				function UpDown(e)
				{
					if(navigator.appName.indexOf("Microsoft") != -1)
						var keyValue = e.keyCode;
					else
					if(navigator.appName.indexOf("Netscape") != -1)
						var keyValue = e.which;
					if(keyValue==38 || keyValue==40)
						KeyEvents(keyValue);
					else
						return false;
				}
				
				function KeyEvents(keyValue)
				{	
					switch(keyValue)
					{
						case 38 :	if( (obj.dcounter>=0) && (obj.tdiv>0) )
									{
										if(obj.keyCode==40 && obj.dcounter==0)
										{	obj.dcounter=obj.tdiv;	}

										obj.dcounter = (obj.dcounter>=1) ? obj.dcounter-1 : obj.dcounter;
										
										if(obj.dcounter==0) obj.dcounter=obj.tdiv;
										if(obj.dcounter==obj.tdiv)document.getElementById("key_div_1").className="SuggestkeyDivOut";
										
										document.getElementById("key_div_"+obj.dcounter).className="SuggestkeyDivOver";
										obj.currentid = "key_div_"+obj.dcounter;
										if(obj.dcounter < obj.tdiv)
										{
											document.getElementById("key_div_"+(obj.dcounter+1)).className="SuggestkeyDivOut";
										}

										obj.keyCode=38;
									}
									break;
			
						case 40	:	if( (obj.dcounter<=obj.tdiv) && (obj.tdiv>0) )
									{
										if(obj.keyCode==38 && obj.dcounter==10)
										{	obj.dcounter=0;	}
										
										obj.dcounter = (obj.dcounter < obj.tdiv) ? obj.dcounter+1 : obj.dcounter;
										obj.currentid = "key_div_"+obj.dcounter;
										document.getElementById("key_div_"+obj.dcounter).className="SuggestkeyDivOver";
										if(obj.dcounter>1)
										{
											document.getElementById("key_div_"+(obj.dcounter-1)).className="SuggestkeyDivOut";
										}
										if(obj.dcounter==1)document.getElementById("key_div_"+obj.tdiv).className="SuggestkeyDivOut";
										if(obj.dcounter==obj.tdiv) obj.dcounter=0;

										obj.keyCode=40;
									}
									break;
									
						case 13	:	if(obj.currentid!="")
									{
										obj.key.value = document.getElementById(obj.currentid).innerHTML;
									}
									HideElements(true);
									break;
					}
				}

				function HideElements(Focus, divText)
				{
					obj.myDiv.innerHTML="";
					if(obj.mainDiv){
						obj.mainDiv.style.visibility="hidden";
					} else {
//						alert("skip");
					}
					VariableReset();
					if(Focus)
					{
						obj.key.focus();
						if(divText)
							obj.key.value = divText;
					}
					obj.div_visible = false;
					obj.tdiv=0;
				}

				function SetStyle(divid, GetLost)
				{
					if(obj.currentid!="")
						document.getElementById(obj.currentid).className = "SuggestkeyDivOut";
					document.getElementById(divid).className = GetLost ? "SuggestkeyDivOver" : "SuggestkeyDivOut";
				}

				function VariableReset()
				{
					obj.currentid="";
					obj.dcounter=0;
				}
				//---------------------------------------------
					document.onmousedown = HideElements;
				//---------------------------------------------
