var Carousel=new Class({initialize:function(a,b,c,d,e){this.container=$(a);this.seats=[];this.imageURLs=b||[];this.numImagesPerSeat=c||4;this.transitionInterval=d||0;this.transitionDuration=e||2000;this.previousSeat=0;this.currentSeat=0;this.loadingImages=[];if(this.container){var f=Math.ceil(b.length/c);for(var i=0;i<f;i++){this.seats.push(new Element('div',{'class':'carousel-seat'}))}this.currentSeat=this.seats.length-1;this.loadNextSeat()}},loadNextSeat:function(){this.previousSeat=this.currentSeat;if(this.currentSeat==this.seats.length-1){this.currentSeat=0}else{this.currentSeat++}this.prepareSeat()},prepareSeat:function(){this.seats[this.currentSeat].setStyle('left',this.container.getCoordinates().width);this.seats[this.currentSeat].injectInside(this.container);if(this.seats[this.currentSeat].getChildren().length==0){this.loadingImages=[];var a;var b;for(var i=0;i<this.numImagesPerSeat;i++){b=this.currentSeat*this.numImagesPerSeat+i;if(b<this.imageURLs.length){a=new Element('img',{'src':this.imageURLs[b],'class':'carousel-passenger'});this.loadingImages.push(a);a.injectInside(this.seats[this.currentSeat])}}this.prepareSeat.bind(this).delay(2000)}else{if(this.seatLoaded()){this.rotateCarousel()}else{this.prepareSeat.bind(this).delay(2000)}}},seatLoaded:function(){if(this.loadingImages.length==0){return false}for(var i=0;i<this.loadingImages.length;i++){if(this.loadingImages[i].complete==false){return false}}return true},rotateCarousel:function(){if(!this.seats[this.previousSeat].fx){this.seats[this.previousSeat].fx=new Fx.Style(this.seats[this.previousSeat],'left',{duration:this.transitionDuration,transition:Fx.Transitions.Cubic.easeOut,onComplete:this.rotateCompleteListener.bind(this,[this.seats[this.previousSeat],this.previousSeat])})}if(!this.seats[this.currentSeat].fx){this.seats[this.currentSeat].fx=new Fx.Style(this.seats[this.currentSeat],'left',{duration:this.transitionDuration,transition:Fx.Transitions.Cubic.easeOut,onComplete:this.rotateCompleteListener.bind(this,[this.seats[this.currentSeat],this.currentSeat])})}this.seats[this.previousSeat].fx.start(0,0-this.container.getCoordinates().width);this.seats[this.currentSeat].fx.start(this.container.getCoordinates().width,0)},rotateCompleteListener:function(a,b){if(b==this.previousSeat){if(a.parentNode){a.remove()}}else if(b==this.currentSeat){this.loadNextSeat.bind(this).delay(this.transitionInterval)}}});