/*Example message arrays for the two demo scrollers*/
var pausecontent=new Array();
pausecontent[0] = "
\n";
pausecontent[0] += "
\n";
pausecontent[0] += "
"+ "onside law have recently advised the ECB in its successful defence of appeals brought by Northamptonshire CCC and Lancashire CCC against the ECB’s rejection of governing body endorsement applications for their ongoing employment of Johann Van Der Wath, Riki Wessels and Francois Du Plessis respectively." +"
\n";
pausecontent[0] += "
\n";
pausecontent[0] += "
\n";
pausecontent[1] = "\n";
pausecontent[1] += "
\n";
pausecontent[1] += "
"+ "onside law advises Sven-Göran Eriksson on all aspects of his departure from Notts County Football Club." +"
\n";
pausecontent[1] += "
\n";
pausecontent[1] += "
\n";
pausecontent[2] = "\n";
pausecontent[2] += "
\n";
pausecontent[2] += "
"+ "onside law advised Paddy Power on its deal to become the Snow Leopard, Kwame Nkrumah-Acheampong’s Principal Sponsor. " +"
\n";
pausecontent[2] += "
\n";
pausecontent[2] += "
\n";
function pausescroller(content, divId, divClass, delay){
//message array content
this.content=content;
//ID of ticker div to display information
this.tickerid=divId;
//Delay between msg change, in miliseconds.
this.delay=delay;
//Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.mouseoverBol=0;
//index of message array for hidden div
this.hiddendivpointer=1;
document.write(''+content[0]+'
'+content[1]+'
');
var scrollerinstance=this;
//run onload in DOM2 browsers
if (window.addEventListener) {
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.hiddendiv=document.getElementById(this.tickerid+"2");
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv));
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*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;
}
//Clean up loose references in IE
if (window.attachEvent) {
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.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px";
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-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.top=this.visibledivtop+"px";
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"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["paddingTop"];
}else if (window.getComputedStyle){ //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top");
}else{
return 0;
}
}