var Ticker = new Class({
	setOptions: function(options) {
		this.options = Object.extend({
			speed: 500,
			onComplete: Class.empty,
			onStart: Class.empty,
			locked: false
		}, options || {});
	},
	
	initialize: function(el,options){
		this.setOptions(options);
		this.el = $(el);
		this.items = this.el.getElements('li');
		var w = 0;
		var h = 0;
		w = this.el.getSize().x;
		this.items.each(function(li,index) {
			h += li.getSize().y;
		});

		this.el.setStyles({
			position: 'absolute',
			top: 0,
			left: 0,
			width: w,
			height: h
		});

		this.fxsetup = new Fx.Morph(this.el,{
			duration:0,
			onStart:function() {
				var i = (this.current==0)?this.items.length:this.current;
				this.items[this.current].inject(this.el,'top'); 

			}.bind(this)

		});
		
		this.fx = new Fx.Morph(this.el,{
			duration:this.options.speed,
			onStart:function() {
				
			}.bind(this),
			onComplete:function() {
				var i = (this.current==0)?this.items.length:this.current;
				this.items[i-1].injectInside(this.el);
				this.el.setStyles({
					left:0,
					top:0
				});
			}.bind(this)
		});
		this.current = 0;
	},
	
	next: function() {
		this.current++;
		if (this.current >= this.items.length) this.current = 0;
		var pos = this.items[this.current];

		this.fx.start({
			top: -pos.offsetTop
		});
	}
});

var mytimer = null;