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

var pausecontent=new Array()
pausecontent[0]='<a href="http://shure.com/ProAudio/Products/WiredMicrophones/us_pro_beta27_content" target=_blank><span class="judul style1">SHURE &#124; BETA 27 Side-Address Microphone</span></a><br /><img src="images/nr_beta27.png" title="" border="0" align="left" />The Beta 27 side-address condenser microphone is precision engineered for professional sound reinforcement and project studio recording applications. Its flat frequency response and low self-noise &nbsp;<a href="http://shure.com/ProAudio/Products/WiredMicrophones/us_pro_beta27_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[1]='<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_SM58-X2u_content" target=_blank><span class="judul style1">SHURE &#124; SM58+X2u USB Digital Bundle</span></a><br /><img src="images/nr_sm58&x2u.png" title="" border="0" align="left" />The legendary SM58 cardioid dynamic vocal microphone is now available with the X2u USB Signal Adapter, which features built-in headphone monitoring with zero latency, and easy controls to balance microphone and playback audio. Digitally record &nbsp;<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_SM58-X2u_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[2]='<a href="http://www.qscaudio.com/products/speakers/k_series/" target=_blank><span class="judul style1">QSC &#124; K Series Active loudspeakers</span></a><br><img src="images/nr_kseries.png" title="" border="0" align="left" />The QSC K Series is quite simply The New Standard in lightweight powered loudspeaker systems. Under the directon of Pat Quilter, QSC&#39;s team of amplifier engineers have created a new standard in Class D power &nbsp;<a href="http://www.qscaudio.com/products/speakers/k_series/" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[3]='<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_sm57-x2u_content" target=_blank><span class="judul style1">SHURE &#124; SM57+X2u USB Digital Bundle</span></a><br /><img src="images/nr_sm57x2u.png" title="" border="0" align="left" />The legendary SM57 cardioid dynamic instrument microphone is now available with the X2u USB Signal Adapter, which features built-in headphone monitoring with zero latency, and easy controls to balance microphone and playback audio.&nbsp<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_sm57-x2u_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[4]='<a href="http://www.shure.com/ProAudio/Products/Headphones/us_pro_srh240_content" target=_blank><span class="judul style1">SHURE &#124; Headphones SRH240</span></a><br><img src="images/nr_srh240.png" title="" border="0" align="left" />The SRH240 Headphones from Shure provide excellent sound reproduction and comfort.  With 40mm neodymium dynamic drivers optimized for general listening and monitoring, the SRH240 Headphones reproduce deep bass with clear mids and highs.&nbsp;<a href="http://shure.com/ProAudio/Products/Headphones/us_pro_srh240_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[5]='<a href="http://www.shure.com/ProAudio/Products/Headphones/us_pro_srh440_content" target=_blank><span class="judul style1">SHURE &#124; Headphones SRH440</span></a><br><img src="images/nr_srh440.png" title="" border="0" align="left" />The SRH440 Professional Studio Headphones from Shure provide exceptional sound reproduction and comfort.  Optimized for home and studio recording, SRH440 headphones reproduce accurate audio across an extended range.<br><a href="http://shure.com/ProAudio/Products/Headphones/us_pro_srh440_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[6]='<a href="http://www.shure.com/ProAudio/Products/Headphones/us_pro_srh840_content" target=_blank><span class="judul style1">SHURE &#124; Headphones SRH840</span></a><br><img src="images/nr_srh840.png" border="0" align="left">Designed for professional audio engineers and musicians, the SRH840 Professional Monitoring Headphones from Shure are optimized for studio recording and critical listening.  A precisely tailored frequency response and 40mm neodymium dynamic &nbsp;<a href="http://shure.com/ProAudio/Products/Headphones/us_pro_srh840_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;' 
pausecontent[7]='<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_ksm313_content" target=_blank><span class="judul style1">SHURE &#124; KSM313 Dual-Voice Ribbon Microphone</span></a><br><img src="images/nr_ksm313.png" border="0" align="left">The KSM313 is a premium bi-directional ribbon microphone for world-class audio and performance.  The Dual-Voice design features discrete front-and-rear side sonic signatures for use with amplified instruments or in intimate vocal applications. Hand assembled in the USA with custom components &nbsp;<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_ksm313_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[8]='<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_ksm353_content" target=_blank><span class="judul style1">SHURE &#124; KSM353 Premier Bi-directional Ribbon Microphone</a></span><br><img src="images/nr_ksm353.png" border="0" align="left">The KSM353 is a premium bi-directional ribbon microphone crafted for pristine audio in studio and concert hall applications.  Proprietary Roswellite&trade; technology provides revolutionary ribbon resilience and durability under extreme conditions. &nbsp;<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_ksm353_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[9]='<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_super_55_content" target=_blank><span class="judul style1">SHURE &#124; Super 55 Deluxe Vocal Microphone</a></span><br><img src="images/nr_super55.png" border="0" align="left">The Super 55 Deluxe Vocal Microphone features a signature satin chrome-plated die-cast casing, Supercardioid polar pattern, vibrant blue foam, and tailored frequency response for natural vocals and speech. Integrated, swivel stand mount is included.&nbsp;<a href="http://www.shure.com/ProAudio/Products/WiredMicrophones/us_pro_super_55_content" target=_blank><span class="link style1">more</span></a><br>___________________________<br>&nbsp;'
pausecontent[10]='<a href="http://www.rane.com/mongoose/index.html" target=_blank><span class="judul style1">RANE &#124; Mongoose</a></span><br><br><img src="images/nr_rane_mongoose.png" border="0" align="left"><br><br>Mongoose can replace the analog mic and line level portions of an audio system with digitized audio over regular CAT 5 cable. Mongoose can be used with or without CobraNet.&nbsp;<br><a href="http://www.rane.com/mongoose/index.html" target=_blank><span class="link style1">more</span></a><br><br><br><br>___________________________<br>&nbsp;'

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

//new pausescroller(name_of_message_array, CSS_ID, CSS_classname, pause_in_miliseconds)

new pausescroller(pausecontent, "pscroller", "", 5000)
//document.write("<br />")
//new pausescroller(pausecontent2, "pscroller2", "someclass", 2000)