var IVL=30;//konstante: intervallzeit
var dist,//errechnete distanz
dir,//errechnete richtung
curX,//zeigt x-status des layers waerend bewegung
layerStatX,//zeigt x-status des layers
step;// px-wert uebergeben bei moveLayer-aufruf(px)

var ivlStat=0;//zeigt, ob intervall aktiv
var curMovedX=0;//zeigt, wieviele px bewegt
var d=document;//kurz

function moveLayer(name,scroll,aim,px){//versetzt layer direkt(if scroll==0) oder initialisiert intervall
	step=px;
	switch(ivlStat){
	case 1: break;//wenn intervall aktiv, brich ab
	default:
		layerStatX=getLayerStatX(name);//get: aktuelle position des Layers
		
		if(scroll==0){
			if(isIE4) eval("d.all."+name+".style.pixelLeft = aim");
			if(isNS4) eval("d."+name+".left = aim");
			if(isNS6) eval("d.getElementById(\""+ name +"\").style.left = aim");
		}else{
			if(layerStatX!=aim){
				dist=Math.abs(aim-layerStatX);//errechnen der bewegungsstrecke
				if((aim-layerStatX)!=Math.abs(aim-layerStatX)){ dir=0; }else{ dir=1; };//ermitteln der bewegungsrichtung
				eval("move = window.setInterval('moveNow(\""+name+"\")',IVL)");//initialisieren des intervall
				ivlStat=1;//intervallstatus aktiv
			}
		}
	}//switch
}

function moveNow(name){//vollzieht eigentliche bewegung
	curX = getLayerStatX(name);

	if(curMovedX < dist){
		if(dist<(curMovedX+step)) step=dist-curMovedX;//bei rest, der kleiner als ein step ist
	
		if(isIE4) eval("d.all."+name+".style.pixelLeft = (dir==1)?(curX+step):(curX-step)");
		if(isNS4) eval("d."+name+".left = (dir==1)?(curX+step):(curX-step)");
		if(isNS6){ eval("d.getElementById(\""+ name +"\").style.left = (dir==1)?(parseInt(curX)+parseInt(step)):(parseInt(curX)-parseInt(step))");}
		curMovedX=curMovedX+step;//mitzaehlen der bewegung
	} else {
	window.clearInterval(move);//stop intervall
	ivlStat=0;//intervallstatus nicht aktiv
	curMovedX=0;//ruecksetzen
	dir=null;//ruecksetzen
	}
}

function getLayerStatX(name){//ermittelt x-position des layers
	if(isIE4) return eval("d.all."+ name +".style.pixelLeft");
	if(isNS4) return eval("d."+ name +".left");
	if(isNS6){ var temp = eval("d.getElementById(\""+ name +"\").style.left"); return temp.split("p",1);}
}