	function initHttpObject()
	{
		if (typeof XMLHttpRequest != 'undefined')			
			HttpObject = new XMLHttpRequest();
		else if (typeof ActiveXObject != 'undefined')
			HttpObject = new ActiveXObject('Microsoft.XMLHTTP');

		return HttpObject;
	}

	amountsResult = 0;
	currentResult = 0;
	
	function displayResults(event)
	{
		performSearch = true;
		
		if (event.keyCode == 13)
		{
			if (currentResult > 0 && amountsResult > 0)
				window.location.href = document.getElementById('companysearch_results_element_link_' + currentResult).href;
			
			performSearch = false;				
		}

		if (event.keyCode == 27)
		{
			hideResults();
			document.getElementsByName('companysearch_input')[0].blur();
			performSearch = false;
		}

		if (event.keyCode == 40)
		{
			if (window.currentResult < window.amountsResult)
				moveDown();
				
			performSearch = false;
		}

		if (event.keyCode == 39)
		{
			if (window.currentResult < window.amountsResult)
				moveDown();
			
			performSearch = false;
		}

		if (event.keyCode == 38)
		{
			if (window.currentResult > 1)
				moveUp();
			
			performSearch = false;
		}

		if (event.keyCode == 37)
		{
			if (window.currentResult > 1)
				moveUp();
			
			performSearch = false;
		}
		
		if (performSearch == true)
		{
			document.body.onclick = hideResults;
			hideResults();
			
			document.getElementById('companysearch_results').innerHTML = '<div class="companysearch_results_element">Suche läuft...</div>';
			
			document.getElementById('companysearch_results').style.left = getY(document.getElementsByName('companysearch_input')[0]) + 'px';
			document.getElementById('companysearch_results').style.top = getX(document.getElementsByName('companysearch_input')[0]) + 20 + 'px';
			document.getElementById('companysearch_results').style.visibility = 'visible';
				
			httpRequest = initHttpObject();
			httpRequest.open('GET', '/_site/ajax/companysearch.php?input='+document.getElementsByName('companysearch_input')[0].value, true);
				
			httpRequest.onreadystatechange = function()
			{
				if (httpRequest.readyState == 4)
				{
					splittedResponse = httpRequest.responseText.split('||');
					document.getElementById('companysearch_results').innerHTML = splittedResponse[0];
					window.amountsResult = splittedResponse[1];
				}
			}
			
			httpRequest.send(null);
		}
	}
	
	function moveDown()
	{
		if (window.currentResult > 0)
			document.getElementById('companysearch_result_' + window.currentResult).className='companysearch_results_element';			
		
		window.currentResult = window.currentResult + 1;
		document.getElementById('companysearch_result_' + window.currentResult).className='companysearch_results_element_hover';
	}

	function moveUp()
	{
		document.getElementById('companysearch_result_' + window.currentResult).className='companysearch_results_element';
		window.currentResult = window.currentResult - 1;
		document.getElementById('companysearch_result_' + window.currentResult).className='companysearch_results_element_hover';
	}
	
	function hideResults()
	{
		document.getElementById('companysearch_results').style.visibility = 'hidden';
		window.amountsResult = 0;
		window.currentResult = 0;
	}
