var slider = new Class({
	Implements: [Events,Options],
	
	options: {
		interval: 3000,
		speed: 1000
	},
	
	initialize: function(list,options){
		this.setOptions(options);
		this.list = list;
		this.elements = this.list.getElements("a");
		if(this.elements.length>0)
			this.schedule();
	},
	
	schedule: function(){
		this.run.periodical(this.options.interval,this);
	},
	
	run: function(){
		var a = this.list.getElement("a");		
		var s = this.list.getElement("span");
		var width = a.getCoordinates().width;
		var fx = new Fx.Tween(a,{
			transition: Fx.Transitions.easeInOut,
			duration:this.options.speed,
			onComplete:function(){
				var removedA = a.dispose();
				removedA.setStyles({"margin-left":0}).inject(this.list).fade(1);
				var removedS = s.dispose();
				removedS.inject(this.list).fade(1);
			}.bind(this)
		}).start("margin-left",-(width+22));
		a.fade(0);
		s.fade(0);
	}
});
