// constructor method of custom class for the ticker function TickerMessage(message, link) { this.Message = message; this.Link = link; } // ticker is the HTML element in which the ticker messages will display. function Ticker_PreInit(ticker) { var messages = new Array(); messages[0] = new TickerMessage('Worldwide Machinery supports clean energy', '/WIPS/NewsArticleDetails.aspx?NewsArticleID=1116047'); Ticker_Init(ticker, messages); } // sets up properties/methods of the ticker function Ticker_Init(ticker, messages) { ticker.MESSAGE_INTERVAL = 5000; ticker.CHARACTER_INTERVAL = 50; ticker.CurrentMessageIndex = 0; ticker.CurrentCharacterIndex = 0; ticker.Messages = messages; ticker.CurrentMessage = function() { return this.Messages[this.CurrentMessageIndex].Message; } ticker.CurrentLink = function() { return this.Messages[this.CurrentMessageIndex].Link; } ticker.NextCharacter = function() { this.innerHTML = this.CurrentMessage().substr(0, this.CurrentCharacterIndex); this.href = this.CurrentLink(); if(this.CurrentCharacterIndex < this.CurrentMessage().length) { if(this.CurrentCharacterIndex % 2 == 0) this.innerHTML += "_"; else this.innerHTML += "-"; this.CurrentCharacterIndex++; } else { this.CurrentMessageIndex = (this.CurrentMessageIndex + 1) % this.Messages.length; this.CurrentCharacterIndex = 0; this.DelayStart(); } } ticker.DelayStart = function() { this.Stop(); this.IntervalID = setTimeout("document.getElementById('ticker').Start()", this.MESSAGE_INTERVAL); } ticker.Start = function() { this.Stop(); this.IntervalID = setInterval("document.getElementById('ticker').NextCharacter()", this.CHARACTER_INTERVAL); } ticker.Stop = function() { clearInterval(this.IntervalID); } ticker.onmouseover = function() { this.Stop(); } ticker.onmouseout = function() { this.CurrentCharacterIndex == 0 ? this.DelayStart() : this.Start(); } ticker.DelayStart(); }