var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function doStart() {
init();
document.getElementById("bar").style.visibility = "visible";
}
function init() {
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleChange;
var url = "progressBar.mgc?action=init×tamp=" + new Date().getTime();
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function handleChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
refresh();
}
}
}
function refresh() {
createXMLHttpRequest();
xmlHttp.onreadystatechange = callback;
var url = "progressBar.mgc?action=run×tamp=" + new Date().getTime();
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
setTimeout("refresh()", "500");
}
function callback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
parseResult();
}
}
}
function parseResult() {
var xmlDoc = xmlHttp.responseXML;
var pros = xmlDoc.getElementsByTagName("progress");
var result = "";
for (var i = 0; i < pros.length; i++) {
var massage = pros[i].childNodes[0].childNodes[0].nodeValue;
var percent = pros[i].childNodes[1].childNodes[0].nodeValue;
result += massage + "[" + percent + "%]" + "<br />";
}
document.getElementById("result").innerHTML = result;
clearBar();
var percents = xmlDoc.getElementsByTagName("percent");
var nowPercent = percents[percents.length - 1].childNodes[0].nodeValue;
var count = parseInt(nowPercent / 10);
for (var i = 0; i <= count; i++) {
if (i != 0) {
var bar = document.getElementById("bar" + i);
bar.style.backgroundColor = "#bababa";
}
}
}
function clearBar() {
for (var i = 1; i <= 10; i++) {
var bar = document.getElementById("bar" + i);
bar.style.backgroundColor = "#FFFFFF";
}
}