
var task=new Array(40);
for (i=0;i<task.length;i++) task[i]=null;
var block=false;
var tops=new Array();
var taskstatus=new Array();
var imgs=new Array();
var imgsloaded=false;
function wait4image(imgname){
	imgs.push(imgname);
}
function taskpush(what){
	var oldblock=block;
	block=true;
	var inserted=false;
	var i=0;
	for (i=0;i<task.length;i++) {
		if ((task[i]!=null)&&(task[i]["id"]==what["id"])){
			what["ist"]=task[i]["ist"];
			task[i]=what;
			inserted=true;
			break;
		}
	}
	if (inserted==false){
		for (i=0;i<task.length;i++) {
			if (task[i]==null){
				task[i]=what;
				inserted=true;
				break;
			}
		}
	}
	block=oldblock;
}
function taskmanager(){
//	if (block==true) {window.status="blocked!";return;}
	block=true;
	var i=0;
	if (imgsloaded==false) {
		imgsloaded=true;
		for (i=0;i<imgs.length;i++){
			imgsloaded=document.getElementById(imgs[i]).complete;
		}
		block=false;
		return;
	}
	for (i=0;i<task.length;i++) {
		if (task[i]!=null){
			var doit=true;
			if (task[i]["wait"]) {
				if (task[i]["wait"]>0) {
					task[i]["wait"]--;
					doit=false;
				}
			}
			if (doit){
				var ret=task[i]["function"](task[i]);
				if ((ret==null)&&(task[i]["after"])) task[i]["after"](task[i]);
				task[i]=ret;
			}
		}
	}
	block=false;
}
var aktiv = window.setInterval("taskmanager()",100);
/*
Timer Handler
*/
function fade(what){
	var it=what["elem"];
	var ist=parseInt(what["ist"]*100*what["soll"]/what["steps"]);
	if (what["elem"][0]){
		for (var i=0;i<what["elem"].length;i++){
			it[i].style.mozOpacity=ist/100;
			it[i].style.opacity=ist/100;
			it[i].style.filter="alpha(opacity="+ist+")";
			it[i].style.khtmlOpacity=ist/100;
		}
	}else {
		it.style.mozOpacity=ist/100;
		it.style.opacity=ist/100;
		it.style.filter="alpha(opacity="+ist+")";
		it.style.khtmlOpacity=ist/100;
	}
//	if (ist<0) ist=1+ist;
//window.status=ist/100;
	if ((what["dir"]==-1)&&(what["ist"]<=0)) return null;
	if ((what["dir"]==1)&&(what["ist"]>=what["steps"])) return null;
	what["ist"]+=what["dir"];
	if ((what["dir"]==-1)&&(what["ist"]<0)) what["ist"]=0;
	if ((what["dir"]==1)&&(what["ist"]>=what["steps"])) what["ist"]=what["steps"];
	return what;
}



