// Create namespace if (at == undefined) var at = {}; if (at.bartelme == undefined) at.bartelme = {}; // Newsticker Class at.bartelme.newsticker = Class.create(); at.bartelme.newsticker.prototype = { initialize: function() { // Get elements this.interval = 10000; this.container = document.getElementById("newsticker"); this.messages = $A(this.container.getElementsByTagName("li")); this.number_of_messages = this.messages.length; if (this.number_of_messages == 0) { this.showError(); return false; } this.current_message = 0; this.current_message_text = ""; this.previous_message = null; this.hideMessages(); this.showMessage(); // Install timer this.timer = setInterval(this.showMessage.bind(this), this.interval); }, feedMessage: function(){ var node = this.messages[this.current_message].firstChild.firstChild; node.nodeValue = this.current_message_text.substring(0,node.nodeValue.length+1); if(node.nodeValue.length == this.current_message_text.length){ if (this.current_message < this.number_of_messages-1) { this.previous_message = this.current_message; this.current_message = this.current_message + 1; } else { this.current_message = 0; this.previous_message = this.number_of_messages - 1; } } }, showMessage: function() { Element.show(this.messages[this.current_message]); var node = this.messages[this.current_message].firstChild.firstChild; this.current_message_text = node.nodeValue.replace(/\t/g, "").replace(/\n/g, ""); node.nodeValue = ""; for(i=0; i