var Slides=new Class({
	initialize:function(c,d,e){
		d=$(d);
		d.innerHTML="";
		Object.extend(this,e);
		var f=[];
		var g=d.getSize();
		c.each(function(a){
			var b=$(d.appendChild(document.createElement("img")));
			b.setStyles({opacity:0,position:"absolute",zIndex:0});
			b.addEvent("load",function(){this.loaded=true});
			Object.extend(b,a);
			f.push(b)
		});
		this.slides=f;
		this.workingElement=d
	},start:function(){
		this.displaySlide(this.slides[0],true);
		return this
	},displaySlide:function(a,b){
		a=$(a);
		if(a.loaded==true){
			this.forceDisplaySlide(a,b)
		}else{
			a.addEvent("load",this.forceDisplaySlide.pass([a,b],this))
		}
		return this
	},forceDisplaySlide:function(a,b){
		a=$(a);
		if(this.activeSlide){
			this.activeSlide.setStyle.delay(this.transitionFor,this.activeSlide,["opacity",0]);
			this.activeSlide.setStyle("z-index",0)
		}
		this.activeSlide=a;
		a.setStyle("z-index",1);
		this.fadeFx=new Fx.Style(a,"opacity",{duration:this.transitionFor}).start(0,1);
		if(b){
			this.displaySlide.delay(this.transitionFor+this.showFor,this,[this.nextSlide(),b])
		}
		return this
	},nextSlide:function(){
		var a=this.slides.indexOf(this.activeSlide)+1;
		if(a>=this.slides.length){
			a=0
		}
		return this.slides[a]
	}
});
Slides.start=function(a,b,c){
	return new Slides(a,b,c).start()
};