/***********************************************
* DHTML Ticker script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
* Modified in http://www.dynamicdrive.com/forums by jscheuer1
* Wider Cross Browser Fade effects and optional Manual Controls
***********************************************/

function domticker(content, divId, divClass, delay, controls, fadeornot){
this.content=content
this.tickerid=divId //ID of master ticker div. Message is contained inside first child of ticker div
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over ticker (and pause it if it is)
this.pointer=0
this.controls=typeof controls=="number"? controls : null;
this.opacitystring=typeof fadeornot!="undefined"||(typeof controls!="undefined"&&typeof controls!="number")? document.body.filters? "width: 100%; filter:progid:DXImageTransform.Microsoft.alpha(opacity=100);" : "width: 100%;-moz-opacity: 1;opacity:1;" : ""
if (this.opacitystring!="") this.delay+=500 //add 1/2 sec to account for fade effect, if enabled
this.opacitysetting=0.2 //Opacity value when reset. Internal use.
document.write('<div id="'+divId+'" class="'+divClass+'"><div style="'+this.opacitystring+'"></div></div>')
if (this.controls) {
document.write('<div id="d'+divId+'" align="center"><input title="Previous" style="font-weight:bold;" type="image" width="8" height="10" src="images/left_arrow.gif" value="+" id="l2'+divId+'"><span style="padding: 0 40px;">&nbsp;</span>')/**left arrow image**/
document.write(' <input title="Next" style="font-weight:bold;" type="image" width="8" height="10" src="images/right_arrow.gif" value="-" id="l3'+divId+'"></div>')/**right arrow image**/
document.getElementById('d'+this.tickerid).style.width=document.getElementById(this.tickerid).offsetWidth+'px';
document.getElementById('l2'+this.tickerid).style.width=document.getElementById('l3'+this.tickerid).offsetWidth+'px';
}
this.initialize()
}

domticker.prototype.initialize=function(){
var instanceOfTicker=this
this.contentdiv=document.getElementById(this.tickerid).firstChild //div of inner content that holds the messages
//document.getElementById(this.tickerid).onmouseover=function(){instanceOfTicker.mouseoverBol=1}
//document.getElementById(this.tickerid).onmouseout=function(){instanceOfTicker.mouseoverBol=0}
if (this.controls) {
document.getElementById('l2'+this.tickerid).onclick=function(){instanceOfTicker.onclickinit();instanceOfTicker.rotatemsg()}
document.getElementById('l3'+this.tickerid).onclick=function(){instanceOfTicker.onclickinit();instanceOfTicker.reversemsg()}
}
this.rotatemsg()
}

domticker.prototype.onclickinit=function(){
var instanceOfTicker=this
var contentdiv=instanceOfTicker.contentdiv;
if (contentdiv.filters && contentdiv.filters[0]){
if (typeof contentdiv.filters[0].opacity=="number") //IE6+
contentdiv.filters[0].opacity=100
else //IE 5.5
contentdiv.style.filter="alpha(opacity=100)"
}
else if (typeof contentdiv.style.MozOpacity!="undefined" && this.opacitystring!=""){
contentdiv.style.MozOpacity=1
}
else if (typeof contentdiv.style.opacity!="undefined" && this.opacitystring!="" &&!contentdiv.filters){
contentdiv.style.opacity=1
}
if(instanceOfTicker.fadetimer1){clearInterval(instanceOfTicker.fadetimer1)};
if(instanceOfTicker.repeat){clearTimeout(instanceOfTicker.repeat)};
}

domticker.prototype.rotatemsg=function(){
var instanceOfTicker=this
if (this.mouseoverBol==1) //if mouse is currently over ticker, do nothing (pause it)
setTimeout(function(){instanceOfTicker.rotatemsg()}, 100)
this.fadetransition("reset") //FADE EFFECT- RESET OPACITY
this.contentdiv.innerHTML=this.content[this.pointer]
this.fadetimer1=setInterval(function(){instanceOfTicker.fadetransition('up', 'fadetimer1')}, 100) //FADE EFFECT- PLAY IT
this.pointer=(this.pointer<this.content.length-1)? this.pointer+1 : 0
this.repeat=setTimeout(function(){instanceOfTicker.rotatemsg()}, this.delay) //update container
}

domticker.prototype.reversemsg=function(){
var instanceOfTicker=this
this.fadetransition("reset") //FADE EFFECT- RESET OPACITY
this.pointer=(this.pointer>1)? this.pointer-2 : this.content.length+this.pointer-2
this.contentdiv.innerHTML=this.content[this.pointer]
this.fadetimer1=setInterval(function(){instanceOfTicker.fadetransition('up', 'fadetimer1')}, 100) //FADE EFFECT- PLAY IT
this.pointer=(this.pointer<this.content.length-1)? this.pointer+1 : 0
this.repeat=setTimeout(function(){instanceOfTicker.rotatemsg()}, this.delay) //update container
}

// -------------------------------------------------------------------
// fadetransition()- cross browser fade method for IE5.5+ and Mozilla/Firefox
// -------------------------------------------------------------------

domticker.prototype.fadetransition=function(fadetype, timerid){
var contentdiv=this.contentdiv
if (fadetype=="reset")
this.opacitysetting=0.2
if (contentdiv.filters && contentdiv.filters[0]){
if (typeof contentdiv.filters[0].opacity=="number") //IE6+
contentdiv.filters[0].opacity=this.opacitysetting*100
else //IE 5.5
contentdiv.style.filter="alpha(opacity="+this.opacitysetting*100+")"
}
else if (typeof contentdiv.style.MozOpacity!="undefined" && this.opacitystring!=""){
contentdiv.style.MozOpacity=this.opacitysetting
}
else if (typeof contentdiv.style.opacity!="undefined" && this.opacitystring!="" &&!contentdiv.filters){
contentdiv.style.opacity=this.opacitysetting
}
else
this.opacitysetting=1
if (fadetype=="up")
this.opacitysetting+=0.2
if (fadetype=="up" && this.opacitysetting>=1)
clearInterval(this[timerid])
}
