// JavaScript Document
var ticker = Class.create({   
    initialize: function(container, options) {   
        this.container = container;   
        this.options = Object.extend(options || {},{   
            frequency: 500,   
            item_frequency: 5000,   
            char_frequency: 100,   
            endBits: ['_','']   
        });   
        this.current = 0;   
        this.currentChar = 0;   
        this.startTick();   
    },   
    startTick: function() {   
        this.container.each(function(item) {   
            item.hide();   
        });   
        setTimeout(this.onTick.bind(this), this.options.frequency);   
    },   
    onTick: function() {   
        if(this.currentChar==0) {   
            if (this.current_item) {   
                this.current_item.hide();   
            }   
            this.current_item = this.container[this.current%this.container.length];   
            this.current_item.show();   
            this.current_element = this.current_item.firstDescendant()   
            this.current_title = this.current_element.innerHTML;   
            this.current++;   
        }   
  
        this.current_element.innerHTML = this.current_title.substring(0,this.currentChar) + this.options.endBits[this.currentChar&this.options.endBits.length-1];   
        if(this.currentChar==this.current_title.length) {   
            this.current_element.innerHTML = this.current_title.substring(0,this.current_title.length);   
            this.currentChar=0;   
            var t = this.options.item_frequency || 1000;   
        } else {   
            this.currentChar++;   
            var t = this.options.char_frequency || 50;   
        }   
        setTimeout(this.onTick.bind(this),t);   
    }
	
});   