var request = false;
var request2 = false;
var intervall = false;
var statuscode = 0;
// Request senden
function createRequest() {
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
if (window.XMLHttpRequest) {
request2 = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request2 = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request2 = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
}
function startDownload() {
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "downloader.php";
// Request öffnen
request.open('post', url, false);
// Requestheader senden
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request.send('h='+hash);
}
}
function sendRequest(r) {
// überprüfen, ob Request erzeugt wurde
if (statuscode <= 100) {
if (!request2) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "index.php?mode=ajax";
// Request öffnen
request2.open('post', url, true);
// Requestheader senden
request2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request2.onreadystatechange = interpretRequest2;
request2.send('r='+r+'&h='+hash);
// Request auswerten
}
} else
{
window.clearInterval(intervall);
alert("yes");
}
}
// Request auswerten
function interpretRequest() {
switch (request.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
var content = request.responseText;
// den Inhalt des Requests in das <div> schreiben
document.getElementById('statustxt').innerHTML = content;
status = content;
}
break;
default:
break;
}
}
function interpretRequest2() {
switch (request2.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request2.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
var status = request2.responseXML.documentElement;
// Alle gefundenen Elemente nacheinander abarbeiten.
for (var i = 0; i < status.childNodes.length; i++) {
if (status.childNodes[i].nodeType == 1) {
var element = document.getElementById(status.childNodes[i].tagName);
if (element && status.childNodes[i].tagName != "statusbar")
element.innerHTML = status.childNodes[i].firstChild.nodeValue;
else if (element && status.childNodes[i].tagName == "statusbar") {
myJsProgressBarHandler.setPercentage('statusbar', status.childNodes[i].firstChild.nodeValue);
statuscode = status.childNodes[i].firstChild.nodeValue;
}
element = false;
}
}
}
break;
default:
break;
}
}