/**
 * Lädt Informationen asynchron nach.
 * @param String url Datei, die die neuen Infos laden soll.
 * @param String loadingImage Pfad zum Ladebild.
 * @param String elementId Div in das die Daten reingeschrieben werden sollen.
 * @param Integer padding 
 * @return
 */
function ajax(url, elementId, loadingImage, padding) {
	waitWheel = document.createElement('img');
	waitWheel.src = loadingImage;
	waitWheel.alt = 'loading...';

	element = document.getElementById(elementId);
	element.innerHTML = '';
	
	element.style.paddingTop = padding + 'px';
	element.style.paddingBottom = padding + 'px';
	element.style.textAlign = 'center';

	element.appendChild(waitWheel);
	doNewRequest(new getNewRequestObject(), url, elementId);
}

function getNewRequestObject(){
	try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
	try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
	try{return new XMLHttpRequest();}catch(e){}
	alert("XMLHttpRequest wird von Deinem Browser nicht unterstützt.");
	return false; 
}

function doNewRequest(request, url, elementId) {
	request.onreadystatechange = function(){processReqChange(request, elementId)};
	request.open("GET", url, true);
	request.setRequestHeader("Pragma", "no-cache");
	request.setRequestHeader("Cache-Control", "must-revalidate");
	request.setRequestHeader("If-Modified-Since", document.lastModified);
	request.send("");
}

function processReqChange(request, elementId) {
    // only if req shows "loaded"
    if (request.readyState == 4) {
        // only if "OK"
        if (request.status == 200) {
            // document.getElementById('contentToChange').style.color = req.responseText;
			div = document.getElementById(elementId);
			div.style.textAlign = '';
			div.style.paddingTop = '';
			div.style.paddingBottom = '';
			div.innerHTML = '';
			div.innerHTML = request.responseText;
        } else {
            alert("There was a problem retrieving the XML data:\n" +
            	request.statusText);
        }
    }
}
