var ajax_http = null;
var ajax_nodeID = null;
var ajax_newNodeID = null;
var ajax_timeoutid = null;

if (window.XMLHttpRequest) {
   ajax_http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
   ajax_http = new ActiveXObject("Microsoft.XMLHTTP");
}

function ausgeben() {
   //Element.hide('loading');
	if (ajax_http.readyState == 4) {
		
		if(ajax_http.responseText != "") {
			document.getElementById(ajax_newNodeID).innerHTML = ajax_http.responseText;
			Effect.BlindDown(ajax_newNodeID);
		} else {
			document.getElementById(ajax_newNodeID).innerHTML = '<span class="error">Inhalt wurde nicht gefunden.</span>';
			Effect.Appear(ajax_newNodeID);
		}
		window.clearTimeout(ajax_timeoutid);
   }
}

function abbrechen() {
   ajax_http.abort();
   document.getElementById(ajax_newNodeID).innerHTML = '<span class="error">Die Anfrage dauerte zu lange. Anfrage wurde durch Timeout abgebrochen.</span>';
   Effect.Appear(ajax_newNodeID);
}



function ajax(URL, nodeID, timeout) {
	
	URL = "../scripts/htmlentities.php?file=" + URL;
	alert(URL);
	
	//set node variables
	ajax_nodeID = nodeID;
	ajax_newNodeID = nodeID;
	
	document.getElementById(ajax_newNodeID).innerHTML = '<span class="ajax_load">Inhalt wird geladen.</span>';
	Effect.Appear(ajax_newNodeID);
	
	//if(newNodeID != "") {
	if(false) {
		ajax_newNodeID = newNodeID;
		
		// create new node for ajax content
		node = document.getElementById(ajax_nodeID);
		newNode = document.createElement("div");
		newNode.setAttribute('id', ajax_newNodeID);
		newNode.setAttribute('style', 'border:1px solid red;');
		insertBefore(newNode, node);
	}
	
	//alert(URL + " wird in node " + nodeID + " geladen.");
	if (ajax_http != null) {
	   ajax_http.open("GET", URL, true);
	   
	   ajax_http.onreadystatechange = ausgeben;
	   ajax_http.send(null);
	   ajax_timeoutid = window.setTimeout("abbrechen()", timeout*1000); // timeout in ms
	} else {
		document.getElementById(ajax_newNodeID).innerHTML = '<span class="error">Inhalt kann nicht geladen werden!</span>';
	}
}
