var slider = new Class({
	Implements: [Events,Options],
	
	options: {
		interval: 6000,
		speed: 4000
	},
	
	initialize: function(list,options){
		this.setOptions(options);
		this.list = list;
		this.elements = this.list.getElements("img");
		if(this.elements.length>0)
			this.schedule();
	},
	
	schedule: function(){
		var width = 0;
		this.elements.each(function(el){
			width = width + el.getCoordinates().width + 23;
		});
		while(width < 650){
			this.elements.each(function(el){
				var a = el.getParent("a");
				a.clone().inject($("slider2"));
				width = width + el.getCoordinates().width + 23;
			}.bind(this));
		}
		$("slider2").setStyle("width",width);
		if(width>this.list.getCoordinates().width){
			this.run.periodical(this.options.interval,this);
		}
	},
	
	run: function(){
		var a = this.list.getElement("a");		
		var width = a.getCoordinates().width;
		var fx = new Fx.Tween(a,{
			transition: Fx.Transitions.easeInOut,
			duration:this.options.speed,
			onComplete:function(){				
				$("slider2").grab(a);
				a.setStyle("margin-left",0);
			}.bind(this)
		}).start("margin-left",-width);		
	}
});
