var Rotater = new Class(
{
    Implements:[Options,Events],options:{slideInterval:4000,transitionDuration:1000,startIndex:0,autoplay:true},
    initialize:function(B,A){
        this.setOptions(A);
        this.slides=$$(B);
        this.createFx();
        this.showSlide(this.options.startIndex);
        
        if(this.slides.length<2)
        {
            this.options.autoplay=false
        }
            
        if(this.options.autoplay)
        {
            this.autoplay()
        }
        
        return this
    },
    toElement:function(){
        return this.container
    },
    createFx:function(){
        if(!this.slideFx)
        {
            this.slideFx=new Fx.Elements(this.slides,{duration:this.options.transitionDuration})
        }
        
        this.slides.each(function(A){
            A.setStyle("opacity",0)
            A.setStyle("display","")
        })
    },
    showSlide:function(B){
        var A={};
        this.slides.each(function(C,D){
            if(D==B&&D!=this.currentSlide)
            {
                A[D.toString()]={opacity:1}
            }
            else
            {
                A[D.toString()]={opacity:0}}},this);this.fireEvent("onShowSlide",B);this.currentSlide=B;this.slideFx.start(A);return this},autoplay:function(){this.slideshowInt=this.rotate.periodical(this.options.slideInterval,this);this.fireEvent("onAutoPlay");return this},stop:function(){$clear(this.slideshowInt);this.fireEvent("onStop");return this},rotate:function(){current=this.currentSlide;next=(current+1>=this.slides.length)?0:current+1;this.showSlide(next);this.fireEvent("onRotate",next);return this}});
