/*Example message arrays for the two demo scrollers*/
var pausecontent=new Array();
pausecontent[0] = "
\n";
pausecontent[0] += "
\n";
pausecontent[0] += "
"+ "onside law has recently advised the England and Wales Cricket Board on contractual arrangements relating to the landmark “neutral” matches between Australia and Pakistan. " +"
\n";
pausecontent[0] += "
\n";
pausecontent[0] += "
\n";
pausecontent[1] = "\n";
pausecontent[1] += "
\n";
pausecontent[1] += "
"+ "onside law client, Justin Rose has won his second PGA Tour event in a month, winning the AT&T National in Pennsylvania.
" +"
\n";
pausecontent[1] += "
\n";
pausecontent[1] += "
\n";
pausecontent[2] = "\n";
pausecontent[2] += "
\n";
pausecontent[2] += "
"+ "onside law have been advising Carole White on her witness statements to the International Criminal Court in the Hague regarding the prosecution of the ex President of Liberia, Charles Taylor, for war crimes and crimes against humanity." +"
\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;
}
}