
//Javascript Variable ob Requests durchgelaufen sind (true) oder nicht (false)
var ajax_done = false;

		// Request erzeugen
		if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else {
			try {
				xmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}


queue = [];
var text = "";


function ausfaden()
{
	if((parseFloat(document.getElementById('overlay').style.opacity) === 0) || (document.getElementById('overlay').style.filter === "alpha(opacity=0)"))
	{
		document.getElementById('overlay').style.backgroundImage = "url()";
		document.getElementById('overlay').style.opacity = "1";
		//document.getElementById('overlay').style.filter = "alpha(opacity='100', finishopacity='0', style='2')";
		document.getElementById('overlay').style.filter = "alpha(opacity=100)";
		document.getElementById('mainframe').style.visibility = "visible";
		
		document.getElementById('mainframe').innerHTML = text;
	}
	else
	{
		document.getElementById('overlay').style.opacity = Math.round(parseFloat(document.getElementById('overlay').style.opacity) * 100) / 100 - 0.01;
		document.getElementById('overlay').style.filter = 'alpha(opacity='+ (Math.round(parseFloat(document.getElementById('overlay').style.opacity * 100))) +')';
		
		setTimeout("ausfaden()", 1);
	}
}

function setRequest(file, div, tag, queryString, ladebild ) {
	if(xmlHttp) {
		
		queryString += "&p_file=" + file.toString();
		
		if(document.getElementById('ready')) {document.getElementById('ready').value = 0; }
		
		/* Request Daten in die Warteschlange setzen, falls der vorherige noch nicht abgeschlossen ist */
		if(xmlHttp.readyState === 1 || xmlHttp.readyState === 2 || xmlHttp.readyState === 3) {
			queueLength = queue.length;
			queue[queueLength] = [];
			queue[queueLength][0] = file;
			queue[queueLength][1] = div;
			queue[queueLength][2] = tag;
			queue[queueLength][3] = queryString;
			queue[queueLength][4] = ladebild;
		} 
		else 
		{
				xmlHttp.open('POST', "ajax.php", true);
				xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlHttp.send(queryString);


				xmlHttp.onreadystatechange = function () {
				if(xmlHttp.readyState === 2) {

					if(typeof(ladebild) === "undefined")
					{
							document.getElementById('mainframe').style.visibility = "hidden";
							document.getElementById('overlay').style.opacity = "1";
							document.getElementById('overlay').style.filter = "alpha(opacity=100)";
							//document.getElementById('overlay').style.filter = "alpha(opacity='100', finishopacity='0', style='2')";
					}
				}
				if(xmlHttp.readyState === 4) {
					if(xmlHttp.status === 200) {
						if(xmlHttp.responseText !== "")
						{
							if(typeof(ladebild) === "undefined")
							{
								text = xmlHttp.responseText;
							}
							else
							{
								if (tag === "value") { document.getElementById(div).value = xmlHttp.responseText; }
								if (tag === "innerHTML") { document.getElementById(div).innerHTML = xmlHttp.responseText; }
							}
						}
					} else if(xmlHttp.status === 404) {
						if (tag === "value") { document.getElementById(div).value = 'Die Datei wurde nicht gefunden!'; }
						if (tag === "innerHTML") { document.getElementById(div).innerHTML = 'Die Datei wurde nicht gefunden!'; }
					}
					/* Warteschlange abarbeiten */
					queue_Length = queue.length;
					if(queue_Length !== 0) {
						setRequest(queue[0][0], queue[0][1], queue[0][2], queue[0][3], queue[0][4]);
						queue.shift(); //Erstes Element entfernen, den Rest eine Position nach vorne rücken
						
					}
					else
					{
						if(typeof(ladebild) === "undefined")
						{
							setTimeout("ausfaden()", 1000);
						}				
					}
				}
		   };
		}
	}
}
