var pauseIntervall=60; //Intervall in ms. Nach dieser Pausenzeit wird das Marquee neugezeichnet
var pixelShift=2; //Abstand in Pixel, um die das DIV verschoben wird
//------------------------------------------------------------------------------
//Enumeration Geschwindigkeit
var normalSpeed=1; //normale Geschwindigkeit
var lowSpeed=2; //langsame Geschwindigkeit
var midSpeed=3; //mittlere Geschwindigkeit
var highSpeed=4; //hohe Geschwindigkeit
//------------------------------------------------------------------------------
//Enumeration Bewegungsrichtung
var moveLeft=1; //bewegt den Inhalt nach links (=scrollen nach Rechts)
var moveRight=-1; //bewegt den Inhalt nach rechts (=scrollen nach Links)
//------------------------------------------------------------------------------
//interne Variablen
var pauseScrolling=false; //Lightbox kann hierüber den Filmstreifen anhalten
var endPos,leftPos,timMarquee,speedFactor,direction,stopAtEnd,running,content,contenttbl,container,btnRight,btnLeft;

function MarqueeRun(){
	running=true;
	if (pauseScrolling){
		timMarquee=setTimeout('MarqueeRun()',1000);
		return;
	}
	content.style.left=leftPos+'px';
	leftPos=leftPos-pixelShift*direction;
	if(leftPos<=endPos || leftPos>=0){
		if(stopAtEnd){
			MarqueeStop();
		}
		else {
			direction=(leftPos<=endPos)?moveRight:moveLeft;
		}
	}
	if(running)
		timMarquee=setTimeout('MarqueeRun()',pauseIntervall/speedFactor);
}

function MarqueeStop(){
    clearTimeout(timMarquee);
	running=false;
}

function fastRight(){
	speedFactor=highSpeed;
	stopAtEnd=true;
	direction=moveLeft;
}

function fastLeft(){
	speedFactor=highSpeed;
	stopAtEnd=true;
	direction=moveRight;
}

function slowDown(){
	speedFactor=normalSpeed;
	stopAtEnd=false;
	if(!running)
	{
		direction=-direction;
		MarqueeRun();
	}
}

function getEnd(){
	if((container.offsetWidth-contenttbl.offsetWidth)<0){
		btnRight.style.display='inline';
		btnLeft.style.display='inline';
	}
	return container.offsetWidth-contenttbl.offsetWidth;
}

function MarqueeInit(){
	//Initialisierungen der internen Variablen
	speedFactor=normalSpeed; //Faktor, um den das Intervall verkürzt wird
	direction=1; //Richtung, in die der Inhalt bewegt wird(1=nach links, -1=nach rechts)
	stopAtEnd=false;
	//Objekte ermitteln
	contenttbl=document.getElementById('tbl');
	content=document.getElementById('fsslide');
	container=document.getElementById('fscont');
	btnRight=document.getElementById('fsright');
	btnLeft=document.getElementById('fsleft');
	//Positionen berechnen und starten
	leftPos=0; //linke Position des DIVs
	endPos=getEnd(); //maximale linke Position bis Richtungsumkehr
	if(endPos<0){
		//Inhalt ist breiter als der sichtbare Bereich im Container. Scrolling starten.
		container.onmouseover=MarqueeStop;
		container.onmouseout=MarqueeRun;
		btnRight.onmouseover=fastRight;
		btnRight.onmouseout=slowDown;
		btnLeft.onmouseover=fastLeft;
		btnLeft.onmouseout=slowDown;
		running=true;
		MarqueeRun();
	}else{
		//Inhalt ist schmäler als der sichtbare Bereich im Container. Kein Scrolling. Zentrierte Anzeige.
		content.style.left=endPos/2;
	}
}
appendOnloadHandler(MarqueeInit);

