				var ticker = Class.create({
					initialize: function(container, options) {
						this.container = container;
						this.options = Object.extend(options || {},{
							frequency: 300,
							item_frequency: 3500,
							char_frequency: 35,
							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);
					}
				});
			