// Description: 
// url = ajaxseite die den text erzeugt
// id = html-id in der der output angezeigt werden soll
// handler = funktion die verwendet werden soll


var http_request = false;
var target_id = '';
	
function doRequest(url,id,handler)
{
	http_request = false;
	target_id = id;
		
	if (window.XMLHttpRequest)
	{			
		http_request = new XMLHttpRequest();
		
		if (http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try {http_request = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e)
		{
			try {http_request = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e) {}
		}
	}

	if (!http_request)
	{
		alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	}
	if (!handler)
	{
		http_request.onreadystatechange = standardHandler;
	}
	else
	{
		http_request.onreadystatechange = handler;
	}
	http_request.open('GET', url, true);
	http_request.send(null);
}

//Handler

function standardHandler()
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			var zieldiv = document.getElementById(target_id);
			zieldiv.innerHTML = http_request.responseText;

			//Macht JS via Ajax ausführbar
			var evaljs = true;
			if(evaljs == true)
			{
				var ch = zieldiv.childNodes;
				for(var ajaxsource_i = 0; ajaxsource_i < ch.length; ajaxsource_i++)
				{
					if(ch[ajaxsource_i].tagName == "SCRIPT")
					{
						try
						{
							if (window.execScript)
							{
								window.execScript(ch[ajaxsource_i].innerHTML); // eval in global
								//scope for IE 
							}
							else
							{
								if(this.eval)
								{
									this.eval(ch[ajaxsource_i].innerHTML);
								}
								else
								{
									eval(ch[ajaxsource_i].innerHTML);
								}
							}
						}
						catch(e)
						{
							
						}
					}
				}
			}
			//Eo Macht JS via Ajax ausführbar
		}
		else
		{
			alert('Bei dem Request ist ein Problem aufgetreten. Status:' + http_request.status);
		}
	}
}