var req = false;
var loadanim = "loader";
var loadcheck;
var load_array = new Array();
var ready_to_load = true;

if (document.getElementById) {
	doc = "document.getElementById('";
	style = "').style.";
	visible = "block";
	hidden = "none";
	inner = "').innerHTML";
} else if (document.layers) {
	doc = "document.";
	style = ".";
	visible = "block";
	hidden = "none";
	inner = ".innerHTML";
} else if (document.all) {
	doc = "document.all.";
	style = ".style.";
	visible = "block";
	hidden = "none";
	inner = ".innerHTML";
}

try {
	req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
	try {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e) {
		req = false;
	}
}

if (!req && typeof XMLHttpRequest != 'undefined') {
	req = new XMLHttpRequest();
}
//req.setRequestHeader("Content-Type", "text/html; charset=utf-8");
//req.setRequestHeader("Accept-Charset", "latin1");

function typeload(url, target) {
	this.url = url;
	this.target = target;
}

function load(url, target) {
/*	if (load_array.length = 0) {
		toload = true;
	} else {
		toload = false;
	} */
	toload = (load_array.length == 0) ? true : false;
	load_array.push(new typeload(url, target));
	if (toload) {
		loadcheck = window.setInterval('check_load()', 100);
	}
/*
	if (req) {
		req.abort();
		req.onreadystatechange = function() { load_done(target); };
		req.open("GET", url, true);
		req.send("");
	}
	*/
}
function load_done(target) {
	if (req.readyState == 4) {
		if (req.status == 200) {
			eval(doc+target+inner+" = req.responseText;");
		} else {
			eval(doc+target+inner+" = 'Fehler: <br>'+ req.statusText;");
		}
		ready_to_load = true;
	}
}

function check_load() {
	if (ready_to_load) {
		if (load_array.length > 0) {
			ready_to_load = false;
			if (loadanim) {
				eval(doc+loadanim+style+"display='"+visible+"';");
			}
			loadvariable = load_array.shift();
			if (req) {
				req.abort();
				req.onreadystatechange = function() { load_done(loadvariable.target); };
				req.open("GET", loadvariable.url, true);
				req.send("");
			}
		} else {
			if (loadanim) {
				eval(doc+loadanim+style+"display='"+hidden+"';");
			}
			window.clearInterval(loadcheck);
		}
	}
}
