var Ticker = new Class({
	setOptions: function(options) {
		this.options = Object.extend({
			speed: 1000,
			delay: 5000,
			onComplete: Class.empty,
			onStart: Class.empty
		}, options || {});
	},
	initialize: function(el,options){
		this.setOptions(options);
		this.el = $(el);
		if(!this.el) {
			return;
		}
		this.items = this.el.getElements('li');
		var h = 0;
		this.items.each(function(li,index) {
			h += li.getCoordinates().height
		});
		this.el.setStyles({
			position: 'absolute',
			top: 0,
			left: 0,
			height: h
		});
		this.periodical = 
		this.fx = new Fx.Morph(this.el,{duration:this.options.speed,onComplete:function() {
			var i = (this.current==0)?this.items.length:this.current;
			this.items[i-1].injectInside(this.el);
			this.el.setStyle('top',0);
		}.bind(this)});
		this.current = 0;
		this.next();
	},
	next: function() {
		this.current++;
		if (this.current >= this.items.length) this.current = 0;
		this.fx.start({
			top: -this.items[this.current].offsetTop
		});
		this.next.bind(this).delay(this.options.delay);
	}
});
