var pausecontent=new Array()
pausecontent[0]='Wow, Robert your software is so creative and inspiring! You\'re a true artist - Kevin Hobby';
pausecontent[1]='I love your polyrhythm metronome ... thanks for the very cool utility - David Kaplowitz';
// pausecontent[1]='Probably the best tech support I\'ve ever got - for something I haven\'t even paid for yet - Sheryar'
pausecontent[2]='You have a truly great product. What I use it for is simulating being at a rehearsal and watching the conductor for tempo including time changes etc... - Dan DelProposto'
pausecontent[3]='...I\'m a returning Trombonist (after 30 years) who had poor music reading skills. Bounce allows me to setup a simulated \"conducted\" environment with the scripts created for each piece... I use Bounce Metronome every day and have stopped using my handheld Metronome... - Dan DelProposto'
pausecontent[4]='...I have scripted all the music for the concert band I am a member of... I have a Computer Monitor/TV on my wall so I can see it above my music stand, a kind of conductor simulation. Nice Job! - Dan DelProposto';
pausecontent[5]='Terrific Robert! This program should be in the arsenal of every musician. There\'s something about the bounce that keeps the practicing vibrant... - Dan Axelrod'
// pausecontent[6]='...On an interesting note, it seamlessly interfaces with other midi apps. I set a Band in a box file at tempo 75, started BM and it went for an hour synced perfectly as if the 2 programs were joined at the hip. Real nice...'
pausecontent[6]='...It\'s a great and fun tool. - Dan Axelrod'
/**
pausecontent[8]='I like how you have the help menu linked to show instructions related to where the mouse pointer is located on the program interface. Very \"cutting edge\"...'
pausecontent[9]='...Awesome program. The colors are amazing. Very comofortable to look at. Those pastel shades you chose are my favorite color shades. Very pleasing interface to look at without any eye strain...'
pausecontent[10]='...I\'ve never seen anything this deep and all encompassing. Great programs.- Wally Lepore';
**/
//pausecontent[7]='It works very nicely Robert, a true professional piece of work! - Jerry Batchelor';
pausecontent[7]='Bounce Metronome is really fantastic. The visual representation of rhythm is unique and invaluable for a frustrated beginning percussionist - Greg Moores';
pausecontent[8]='This is by far the most powerful and flexible metronome that I have ever used. GREAT software! - J. Weiss';
pausecontent[9]='I play with two polyrhythmic drummers. This will help a lot ... thanks for your wonderful tool - Stan Lassiter';
pausecontent[10]='Wow! What a brilliant program!...  - Alan Collins'
pausecontent[11]='... Thankyou again for providing me with this music software and the musical journey I am making with it. As an amateur and purely intuitive music maker, both TS and BM are opening so many \'musical\' doors for me - Alan Collins';
pausecontent[12]='Within minutes of downloading the software and just \'playing around\' with its parameters, I was generating rhythms and beats and was literally <I>conducting </I>like a true professional. I learned more about time and signatures in those first few minutes than it had taken me a lifetime to from books! - Alan Collins';
<!-- pausecontent[12]='Excellent really useful software - Hannipig' -->
pausecontent[13]='I have been enjoying using your Bounce Metronome program to help with some of the complex timing of movements in Tai Chi. Your representations of time are very in sync with what I learn in Tai Chi... - Steven Grainger'
pausecontent[14]='...Thanks for designing such a creative program... - Steven Grainger'
pausecontent[15]='...Brian Eno said the problem with the computer is there isn\'t enough Africa in it. Well I find your program has some ancient China in it, some Africa, and some future in it. - Steven Grainger';

/***********************************************
* 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,url){
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 onclick="location.href=\''+url+ '\';" id="'+divId+'" class="'+divClass+'" style="cursor:pointer;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
}
