dynListEntry = false;
dynListFirstString = "";
keynum = false;
submitForms = true;

usedNavigator = false;

if(document.layers)
{
	document.captureEvents(Event.ONKEYDOWN);
	document.onkeydown = handleEventKeyDown;
}
else if(document.all)
{
	document.onkeydown = handleEventKeyDown;
}
else if(document.getElementById)
{
	document.onkeydown = handleEventKeyDown;
}

function handleEventKeyDown(e)
{
	if(window.event) // IE
	{
		keynum = window.event.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}

	go = false;
	if(document.getElementById("topSearchResponse").style.display=="block")	go = true;
	if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	go = true;
	if(go==true)
	{
		if(keynum==38 || keynum==40 || keynum==27 || keynum==13)
		{
			moveDynListEntry(keynum);	
		}
		else
		{
			dynListEntry = false;
		}
	}
}

function moveDynListEntry(keynum)
{
	if(dynListEntry==false)
	{
		if(document.getElementById("topSearchResponse").style.display=="block")		dynListFirstString = document.getElementById("searchTermTop").value;
		if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	dynListFirstString = document.getElementById("searchTerm").value;
		if(keynum==40)
		{
			// GO TO THE FIRST LIST ELEMENT
			listObj = false;
			if(document.getElementById("topSearchResponse").style.display=="block")		listObj = document.getElementById("topSearchResponse");
			if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	listObj = document.getElementById("mainSearchResponse");
			if(listObj)
			{
				if(listObj.firstChild)
				{
					dynListEntry = listObj.firstChild;
				}
			}
		}
	}
	else
	{
		if(keynum==40)
		{
			// GO TO THE NEXT LIST ELEMENT
			if(dynListEntry.nextSibling)
			{
				dynListEntry.style.backgroundColor = "white";
				dynListEntry = dynListEntry.nextSibling;
			}
		}
		if(keynum==38)
		{
			// GO TO THE PREVIOUS LIST ELEMENT
			if(dynListEntry.previousSibling)
			{
				dynListEntry.style.backgroundColor = "white";
				dynListEntry = dynListEntry.previousSibling;
			}
			else
			{
				keynum = 27;
			}
		}
		if(keynum==27)
		{
			// ESCAPE FROM LIST
			if(document.getElementById("topSearchResponse").style.display=="block")		document.getElementById("searchTermTop").value = dynListFirstString;
			if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	document.getElementById("searchTerm").value = dynListFirstString;
			cleanDynList();
		}
		if(keynum==13)
		{
			if(document.getElementById("topSearchResponse").style.display=="block")		document.getElementById("searchTermTop").value = dynListEntry.innerHTML;
			if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	document.getElementById("searchTerm").value = dynListEntry.innerHTML;
			cleanDynList();
			submitForms = false;
		}

	}
	if(dynListEntry!=false)
	{
		dynListEntry.style.backgroundColor = "silver";
		if(document.getElementById("topSearchResponse").style.display=="block")		document.getElementById("searchTermTop").value = dynListEntry.innerHTML;
		if(document.getElementById("mainSearchResponse"))	if(document.getElementById("mainSearchResponse").style.display=="block")	document.getElementById("searchTerm").value = dynListEntry.innerHTML;
	}
}

function setDynListEntry(obj)
{
	if(dynListEntry && dynListEntry!=obj)
	{
		dynListEntry.style.backgroundColor = "white";
	}
	dynListEntry = obj;
	dynListEntry.style.backgroundColor = "silver";
}

function getXmlHttpResponse(responseUrl,obj)
{
	var xmlHttp = null;
	// Mozilla, Opera, Safari sowie Internet Explorer 7
	if (typeof XMLHttpRequest != 'undefined')
	{
		xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp)
	{
		// Internet Explorer 6 und älter
		try
		{
			xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				xmlHttp  = null;
			}
		}
	}
	if (xmlHttp)
	{
		xmlHttp.open('GET', responseUrl, true);
		xmlHttp.onreadystatechange = function ()
		{
			if (xmlHttp.readyState == 4)
			{
				exploitResponse(obj,xmlHttp.responseText);
				return;
			}
		};
		xmlHttp.send(null);
	}
}

function exploitResponse(obj,t)
{
	if(obj.id=="searchTermTop")
	{
		if(t=="")
		{
			document.getElementById("topSearchResponse").style.display = "none";
			document.getElementById("topSearchResponse").innerHTML = "";
		}
		else
		{
			document.getElementById("topSearchResponse").innerHTML = t;
			document.getElementById("topSearchResponse").style.display = "block";
		}
	}
	if(obj.id=="searchTerm")
	{
		if(document.getElementById("mainSearchResponse"))
		{
			if(t=="")
			{
				document.getElementById("mainSearchResponse").style.display = "none";
				document.getElementById("mainSearchResponse").innerHTML = "";
			}
			else
			{
				document.getElementById("mainSearchResponse").innerHTML = t;
				document.getElementById("mainSearchResponse").style.display = "block";
			}
		}
	}
}

function handleXmlRequest(obj)
{
	if(keynum!=27)
	{
	if(obj.id=="searchTermTop")
	{
		if(obj.value=="")
		{
			document.getElementById("topSearchResponse").style.display = "none";
		}
		else
		{
			response = getXmlHttpResponse("/files/include/application/x-httpd-php/response.php?mod="+obj.id+"&word="+obj.value,obj);
		}
	}
	if(obj.id=="searchTerm")
	{
		if(obj.value=="")
		{
			if(document.getElementById("mainSearchResponse"))	document.getElementById("mainSearchResponse").style.display = "none";
		}
		else
		{
			response = getXmlHttpResponse("/files/include/application/x-httpd-php/response.php?mod="+obj.id+"&word="+obj.value,obj);
		}
	}
	}
}

function setNodeAttribute(objId,attributeName,attributeValue)
{
	if(document.getElementById(objId))
	{
		document.getElementById(objId).setAttribute(attributeName,attributeValue,0);
	}
}

function takeValue(objId,val)
{
	if(document.getElementById(objId))
	{
		document.getElementById(objId).value = val;
	}
}

function cleanDynList()
{
	if(dynListEntry)	dynListEntry.style.backgroundColor = "white";
	dynListEntry = false;
}

function cleanDisplay()
{
	if(document.getElementById("topSearchResponse"))
	{
		document.getElementById("topSearchResponse").style.display = "none";
		document.getElementById("topSearchResponse").innerHTML = "";
	}
	if(document.getElementById("mainSearchResponse"))
	{
		document.getElementById("mainSearchResponse").style.display = "none";
		document.getElementById("mainSearchResponse").innerHTML = "";
	}
	cleanDynList();
}

function iniPage()
{
	setNodeAttribute("searchTermTop","autocomplete","off");
	setNodeAttribute("searchTerm","autocomplete","off");
	
	tmpNavigator = navigator.userAgent.toLowerCase();
	if(tmpNavigator.indexOf("safari")!=-1)
	{
		usedNavigator = "safari";
		if(document.getElementById("topSearchResponse"))
		{
			document.getElementById("topSearchResponse").style.marginTop = "-2px";
			document.getElementById("topSearchResponse").style.right = "4px";
		}
		if(document.getElementById("topSearchResponse"))
		{
			document.getElementById("mainSearchResponse").style.marginTop = "-3px";
		}
		
		
		
	}	
}

