var timeout = null;

function getXhr()
{
	var xhr = null;

	if(window.XMLHttpRequest)
	{
		xhr = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{
		alert("Your browser does not support XMLHTTPRequest.");
		xhr = false;
	}

	return xhr
}

function clearResults()
{
	if (timeout)
	{
		clearTimeout(timeout);
		document.getElementById('hakuehto').value = '';
		document.getElementById('hakutulokset').value = '';
		document.getElementById('hakutulokset').style.visibility = 'hidden';
	}
}

function loseFocus()
{
	if (timeout) clearTimeout(timeout);
	timeout = setTimeout(clearResults, 200);
}

function findResults()
{
	if (timeout)
	{
		var xhr = getXhr()

		xhr.onreadystatechange = function()
		{
			document.getElementById('hakutulokset').innerHTML = xhr.responseText;
		}

		var haku = document.getElementById('hakuehto').value;
		var pituus = document.getElementById('hakuehto').value.length;

		if (pituus >= 3)
		{
			xhr.open("GET", "etsi.php?haku=" + haku, true);
			xhr.send(null);

			document.getElementById('hakutulokset').style.visibility = 'visible';
		}
	}
}

function go()
{
	if (timeout) clearTimeout(timeout);
	timeout = setTimeout(findResults, 200);
}
