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

var pausecontent=new Array()
pausecontent[0]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/AdverseAffectofNitrateontheAquarium.htm">The Adverse Affect of Nitrate on the Aquarium</a><br />Article dicusses the detrimental effect on nitrate on aquarium fish, and why it is the cause of Hole in the Head in freshwater fish and Marine Head and Lateral Line Erosion.'
pausecontent[1]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/Low_Tech_Planted_Aquarium.htm">Low Tech Planted Aquarium</a><br />Article covers a low tech approach to having a beautiful planted aquarium.'
pausecontent[2]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/clownfish_and_their_host_anemone.htm">Clownfish and their Host Anemones in the Aquarium</a><br />Article has information on common clownfish species found in the aquarium hobby and on anemone placement in the aquarium.'
pausecontent[3]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/Pondering_a_Pond.htm">Pondering a Pond</a><br />Article contains information about pond fish, invertebrates, aquatic turtles, design, location, filtration, quarantine, and aquatic pond plants.'
pausecontent[4]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/Crossing_a_Wild_Heckel_with_a_Cobalt_Blue_Discus.htm">Crossing a Wild Heckel with a Cobalt Blue Discus</a><br />Article about crossing the Wild Heckel Discus with a Cobalt Blue, and what to expect from the offspring.'
pausecontent[5]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/ThinkOutOfTheBox.htm">Think Out Of The Box for Aquarium and Pond Supplies</a><br />Tony Griffitts provides alternatives on where to buy aquarium supplies and items that can be used for the hobby.'
pausecontent[6]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/HowtoQuarantineMarineFish.htm">How to Quarantine Marine Fish</a><br />Article outlines a technique on how to quarantine saltwater fish.'
pausecontent[7]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/hatching_brine_shrimp.htm">Hatching Brine Shrimp</a><br />Article provides a step by step guide on how to hatch brine shrimp eggs for your fish fry and corals.'
pausecontent[8]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/california_tiger_endler.htm">California Tiger Endler\'s Livebearer</a><br />Article about how the California Tiger Endler was developed.'
pausecontent[9]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/Your_First_Pond.htm">Your First Pond</a><br />Article contains information about new pond common mistakes, water chemistry, water testing, algae, heavy metal toxicity, and acclimating fish.'
pausecontent[10]='<a href="http://www.aquaworldaquarium.com/Articles/TonyGriffitts/NewAquarium.htm">Must Know Information for a New Aquarium</a><br />Article about information you need to know when you set up a new aquarium.'
pausecontent[11]='<a href="http://www.aquaworldaquarium.com/Article_Index.html">Article Index</a><br />See a list of all Aquaworld Aquarium articles.'

var pausecontent2=new Array()
pausecontent2[0]='<a href="http://www.news.com">News.com: Technology and business reports</a>'
pausecontent2[1]='<a href="http://www.cnn.com">CNN: Headline and breaking news 24/7</a>'
pausecontent2[2]='<a href="http://news.bbc.co.uk">BBC News: UK and international news</a>'


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