/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function pausescroller(content, divId, divClass, delay){
	this.content=content; //message array content
	this.tickerid=divId; //ID of ticker div to display information
	this.delay=delay; //Delay between msg change, in miliseconds.
	this.mouseoverBol=0; //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
	this.hiddendivpointer=2; //index of message array for hidden div
	document.write('<div class="tab"><ul id="'+divId+'"><li id="'+divId+'1" style="top:0px;">'+content[0]+'</li><li id="'+divId+'2" style="top:138px;">'+content[1]+'</li><li id="'+divId+'3" style="top:276px;">'+content[2]+'</li></ul></div>');
	
	var scrollerinstance=this;
	if(content.length>2){
		if (window.addEventListener) //run onload in DOM2 browsers
			window.addEventListener("load", function(){scrollerinstance.initialize()}, false);
		else if (window.attachEvent) //run onload in IE5.5+
			window.attachEvent("onload", function(){scrollerinstance.initialize()});
		else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
			setTimeout(function(){scrollerinstance.initialize()}, 500);
	}
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize=function(){
	this.tickerdiv=document.getElementById(this.tickerid);
	this.visiblediv=document.getElementById(this.tickerid+"1");
	this.visiblediv2=document.getElementById(this.tickerid+"2");
	this.hiddendiv=document.getElementById(this.tickerid+"3");
	this.visibledivtop=0;
	var scrollerinstance=this;
	document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1};
	document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0};
	if (window.attachEvent) //Clean up loose references in IE
		window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null});
	setTimeout(function(){scrollerinstance.animateup()}, this.delay);
}


// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup=function(){
	var scrollerinstance=this;
	if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
		setTimeout(function(){scrollerinstance.animateup()}, 100);
	else{
		if (parseInt(this.visiblediv2.style.top)>parseInt(this.visibledivtop+5)){
			this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px";
			this.visiblediv2.style.top=parseInt(this.visiblediv2.style.top)-5+"px";
			this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px";
			setTimeout(function(){scrollerinstance.animateup()}, 30); //HIER WIRD DIE GESCHWINDIGKEIT EINGESTELLT
		}
		else{
			this.getinline(this.visiblediv2, this.hiddendiv, this.visiblediv);
			this.swapdivs();
			setTimeout(function(){scrollerinstance.setmessage()}, this.delay);
		}
	}
}

// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs=function(){
	var tempcontainer=this.visiblediv;
	this.visiblediv=this.visiblediv2;
	this.visiblediv2=this.hiddendiv;
	this.hiddendiv=tempcontainer;
}

pausescroller.prototype.getinline=function(div1, div2, div3){
	div1.style.top=0+"px";
	div2.style.top=138+"px";
	div3.style.top=276+"px";
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage=function(){
	var scrollerinstance=this;
	if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
		setTimeout(function(){scrollerinstance.setmessage()}, 100);
	else{
		var i=this.hiddendivpointer;
		var ceiling=this.content.length;
		this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1;
		this.hiddendiv.innerHTML=this.content[this.hiddendivpointer];
		this.animateup();
		$('#tab_pager').children('li').removeClass('active');
		switch(this.hiddendivpointer) {
			case 1:
			case 2:
				$('#tab_pager li').eq(0).addClass('active');
				break;
			case 3:
			case 4:
				$('#tab_pager li').eq(1).addClass('active');
				break;
			case 0:
			case 5:
				$('#tab_pager li').eq(2).addClass('active');
				break;
		}
	}
}

pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
	if (tickerobj.currentStyle)
		return tickerobj.currentStyle["paddingTop"];
	else if (window.getComputedStyle) //if DOM2
		return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top");
	else
		return 0;
}

