   // AJAX

   // Die Funktion 'loadData' liest eine XML-Datei aus stellst die Daten als Text-String (TXT) und XML-Objekt (XML) 
   // zur weiteren Verarbeitung bereit.


	var http_request = false;
	var XML;
	var TXT;
	var onloadFunction;
	
	/////////////////////////////////////////////////////////////////////////////////////////////////
	// Landen des XML-Objektes
	function loadData(sourceUrl,afterLoadFunction) {
	
		// onload-Funktion
		evalAfterLoadFunction = afterLoadFunction;
	
		// Http-Request
		_XMLHttpRequestLoader(sourceUrl);

		}

	
	/////////////////////////////////////////////////////////////////////////////////////////////////
	// Http-Request
	function _XMLHttpRequestLoader(url) {
	
		// Request
		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) {}
				}
			}

		if (!http_request) {
			alert('Ende :( Es kann keine XMLHTTP-Instanz erzeugt werden');
			return false;
			}
		
		http_request.onreadystatechange = _loadXML;
		http_request.open('POST', url, true); // mit der Methode 'POST', wird vermutlich das Caching beim IE verhindert
		http_request.setRequestHeader('Content-Type', 'text/xml'); 
		http_request.setRequestHeader('Cache-Control','no-cache, must-revalidate');
		http_request.send(null);
		}


	/////////////////////////////////////////////////////////////////////////////////////////////////
	// Landen des XML-Objektes
	function _loadXML() {
	
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				
				XML = http_request.responseXML;
				TXT = http_request.responseText;
				
				eval (evalAfterLoadFunction);
				
				}
			else {
				alert('Bei dem Request ist ein Problem aufgetreten.');
            	}
			}
		}