var file = null;

function xmlRequest(requestFile, destinationElement) {
	//xmlReq-Variable initialisieren
	xmlReq = null;
	//auszuführende Datei, welche beim Aufruf dieser Funktion übergeben wurde
	file = requestFile;
	//die ID des Elements in der das Resultat angezeigt werden soll
	var destination = destinationElement;
		
	try{
		//new browsergeneration
		xmlReq = new XMLHttpRequest();
	}
	catch(e) {
		//microsoft internet explorer
		try{
			//new MSXML object
			xmlReq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try{
				//old MSXML object
				xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				//keines der XML Objekte konnte erstellt werden
				xmlReq = null;
			}
		}
	}
		
	//wenn keines der XML Objekte erstellt werden konnte
	if(xmlReq == null) {
		alert("Error creating xmlReq object!");
	}
	//wenn das XML Objekte erfolgreich erstellt werden konnte
	else {
		//Anfrage erstellen (per GET, source der Anfrage, xmlRequest ist asynchron)
		xmlReq.open("GET", "./"+file, true);
			
		//beim abschliessen des xmlRequest wird die Funktion handleResponse aufgerufen
		xmlReq.onreadystatechange = handleResponse;
		xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		var url = "random="+getRandom(0, 1000000);
		xmlReq.send(url);
	}
}

function handleResponse() {
	switch(xmlReq.readyState) {
		case 4:
			//Antwort vom Server negativ
			if(xmlReq.status!=200) {
				alert("Fehler:"+xmlReq.status);
			}
			//xmlRequest erfolgreich
			else {
				//schreibe die Antwort in das Element mit der in der Vaiable "destination" hinterlegten ID  
				//document.getElementById(destination).innerHTML = '<strong>'+xmlReq.responseText+'</strong>';
				addElement(xmlReq.responseText);
			}
		break; 
		default:                                
			return false;
		break;
	}                    
}

function openWindow(url) {
	fenster = window.open(url, "fenster1", "width=650,height=500,status=no,scrollbars=yes,resizable=no");
	fenster.focus();
}

function addElement(responseText) {
	//get parentNodes
	var parentNode = document.getElementById("mainWrapperBig");
	
	//create Elements
	//set attributes
	try {
		var divElement = document.createElement("<div id=\"subWrapper\"></div>");
		divElement.innerHTML = responseText;
	}
	catch(e) {
		var divElement = document.createElement("div");
		divElement.setAttribute("id", "subWrapper");
		divElement.innerHTML = responseText;
	}
	
	//append to document
	parentNode.appendChild(divElement);
}

function removeElement() {
	var parent = document.getElementById('mainWrapperBig');
	var olddiv = document.getElementById('subWrapper');
	parent.removeChild(olddiv);
}

function imposeMaxLength(Object, MaxLen) {
	return (Object.value.length <= MaxLen);
}

function getRandom( min, max ) {
	if(min > max) {
		return(-1);
	}
	if(min == max) {
		return(min);
	}
	return(min+parseInt(Math.random()*(max-min+1)));
}
