﻿		/***********************************************
		* 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.
		***********************************************/

		var MarqueeContent = new Array()
		
		function pausescroller(content, divId, divClass, delay){
			if (content == null || content.length < 0 || content == undefined) return ;
			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=1 ; //index of message array for hidden div
			if (content.length > 1) {
				document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden; width:230px; height:134px; top: 0px; left:0px;"><div class="innerDiv" style="position: absolute; height: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; height: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>') ;
				var scrollerinstance=this ;
				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) ;
			} else {document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden; width:230px; height:134px; top: 0px; left:0px;"><div class="innerDiv" style="position: absolute; height: 100%" id="'+divId+'1">'+content[0]+'</div></div>') ;}
		}

		// -------------------------------------------------------------------
		// 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.hiddendiv=document.getElementById(this.tickerid+"2") ;
			this.visibledivleft=parseInt(pausescroller.getCSSpadding(this.tickerdiv)) ;
			//set height of inner DIVs to outer DIV's height minus padding (padding assumed to be left padding x 2)
			this.visiblediv.style.height=this.hiddendiv.style.height=this.tickerdiv.offsetHeight-(this.visibledivleft*2)+"px" ;
			this.getinline(this.visiblediv, this.hiddendiv) ;
			this.hiddendiv.style.visibility="visible" ;
			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 (parseInt(this.hiddendiv.style.left)>(this.visibledivleft+5)){
				this.visiblediv.style.left=parseInt(this.visiblediv.style.left)-5+"px" ;
				this.hiddendiv.style.left=parseInt(this.hiddendiv.style.left)-5+"px" ;
				setTimeout(function(){scrollerinstance.animateup()}, 50) ;
			}
			else{
				this.getinline(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.hiddendiv ;
			this.hiddendiv=tempcontainer ;
		}

		pausescroller.prototype.getinline=function(div1, div2){
			div1.style.left=this.visibledivleft+"px" ; 
			div2.style.left=Math.max(div1.parentNode.offsetWidth, div1.offsetWidth)+"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() ;
			}
		}

		pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
		if (tickerobj.currentStyle)
			return tickerobj.currentStyle["paddingLeft"];
		else if (window.getComputedStyle) //if DOM2
			return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-left");
		else
			return 0 ;
		}