

/**
 *
 */
function ajax(callback)
{
	http_request = false;
	
	if (window.XMLHttpRequest) 
	{ 
		// Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject)
	{ 
		// IE
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			// empty
			}
		}
	}

	if (!http_request)
	{
		alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	}
	
	http_request.open('POST', '/ajaxctrl/index.php', true);	
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
	enc_req = "&action="+encodeURIComponent(JSON.stringify(req));
	http_request.setRequestHeader("Content-length", enc_req.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(enc_req);	
	
	if(callback)
	{
		http_request.onreadystatechange = eval(req.func);
		
	}
	else
	{
		http_request.onreadystatechange = AjaxResult;
	}
}


/**
 *
 */
AjaxResult = function()
{	

	if (AjaxIsLoad())
	{
		eval(http_request.responseText);
		
	}
};


/**
 *
 */
AjaxIsLoad = function()
{	
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			return true;		
		}
		else
		{
			alert('Bei dem Request ist ein Problem aufgetreten.');
		}
	}
};


