
var http_request  = null;
var ajax_ready = true;
var timer2 = null;

function GetXMLHttpRequest() 
{
	if (window.XMLHttpRequest) {// Mozilla, Safari, ...
		var object = new XMLHttpRequest();
		if (object.overrideMimeType) {
			object.overrideMimeType('text/html; charset=ISO-8859-1');
		}
	} else if (window.ActiveXObject) {	// IE
		try {
			object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				object = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {}
		}
	} else {
		return false;
	}
	return object;
}

function handleUpdate(http, destid) {
	if (http)
	if (http.readyState == 4) {
		if (http.status == 200) {
			var xcontent = http.responseText;

			var goal = document.getElementById( destid );

			if (xcontent!='' && xcontent.substr(xcontent.length-1,1)!='|') xcontent+='|';
			var is = xcontent.split('|');

			for (var i=0;i<is.length;i++) {
				if (is[i]=='') continue;
				goal.innerHTML += '<div onclick="setEintrag(\''+i+'\')" style="padding:3px" onmousemove="setCursor(\''+i+'\')">'+is[i]+'</div>';
			}

			timer2 = setTimeout("leeren()", 10000);
			ajax_ready = true;
		} 
	}
}

function makeRequest(url, data, destid, async, erasebefore) {
	if (timer2)
		clearTimeout(timer2);

	if (!ajax_ready) { window.setTimeout("makeRequest('"+url+"', '"+data+"', '"+destid+"', '"+async+"')", 50); return false; }
	if (http_request && http_request.readyState != 0) { http_request.abort(); }
	
	http_request = GetXMLHttpRequest();
	if (!http_request) { return false; }
//	ajax_ready = false;

	if (erasebefore)
		document.getElementById( destid ).innerHTML = '';
		
	http_request.onreadystatechange = function() { handleUpdate(http_request, destid); };
	http_request.open('GET', url+'?q='+escape(document.getElementById(data).value), async);
	http_request.send(null);
	return false;
}
