/*Example message arrays for the two demo scrollers*/

var pausecontent=new Array()
  pausecontent[0]='<b>BES MailBox wins Pinstack Five Star Award.</b><p align="right"><img src="images/ps_5star-1.gif"></p><b>Exceptional BlackBerry application developed by an outstanding company.</b><br /><p align="right">- Pinstack </p>'
  pausecontent[1]='<b>This is a big deal since you can not do this natively on your BlackBerry. It also removes the clutter of having SMS, PIN, and personal messages mixed in with your work emails. Enjoy this great application!</b><br /><p align="right">- BerryReview on BES MailBox</p>'
  pausecontent[2]='<b>Consider Empower HTML Email Viewer your light at the end of the tunnel.</b><br /><img src="images/cb-messageboard.gif"><p align="right">- CrackBerry.com on Empower</p>'
  pausecontent[3]='<b>Empower becomes the #1 BestSeller!</b><br /><img src="images/MobiHandLogo.jpg"><p align="right"><b>Merely 18 days after its launch!</b></p>'
  pausecontent[4]='<b>InstaSpell wins BerryReview Editors Choice Awards!</b><br /><p align="right"><img src="images/editors-choice-small-1.jpg"></p>'
  pausecontent[5]='<b>InstaSpell easily outclasses the native spell check. Its almost like comparing WordPerfect spell checking with Microsoft Word. Ideally I wish RIM would just buy Empower’s product to replace their spell checker.</b><p align="right">- BerryReview on InstaSpell</p>'
  pausecontent[6]='<b>This is a killer app! Just wanted to give props to the developer who fixed what I consider to be the single most irritating flaw of the BlackBerry Storm! & the best thing about it is that you can enable & disable it for each app to suit your preference... I think I would have paid $20 for this damn app...</b><p align="right"><b>- StopTilt as Reviewed on BlackBerry AppWorld</b></p>'
  pausecontent[7]='<b>Works like a charm...makes me feel like this phone just got a little closer to perfection!!! So here is to a brighter future for this vendor and the storm.<p align="right"><b>- StopTilt as Reviewed on BlackBerry AppWorld</b></p>'
  pausecontent[8]='<b>I was happily surprised when I forwarded an appointment from my work calendar (Outlook) to my BB and AddTo saw it in my email and recognized it as a calendar item. I highly recommend this product.<p align="right"><b>- AddTo as Reviewed on BlackBerry AppWorld</b></p>'
  pausecontent[9]='<b>Fantastic! This app does exactly what it claims to do and the integration is seemless. <p align="right"><b>- AddTo as Reviewed on BlackBerry AppWorld</b></p>'

/***********************************************
* 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=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 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)
}

// -------------------------------------------------------------------
// 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}
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.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
}

