Fuic.Carousel=function(a){this.container=a.container;this.elts=this.container.getChildren();this.vertical=a.vertical||false;this.nbVisibleItems=a.nbVisibleItems||1;this.nbVisibleItems=Math.min(this.nbVisibleItems,(this.elts.length-1));this.offset=a.offset||0;this.current=0;this.delay=a.delay||700;this.previous=a.previous;this.next=a.next;this.transition=a.transition||Fx.Transitions.sineInOut;this.container.setStyle("position","relative");this.previous.addEvent("click",(function(){if(this.autoplay){$clear(this.autoplay)}this.showPrevious()}).bind(this));this.next.addEvent("click",(function(){if(this.autoplay){$clear(this.autoplay)}this.showNext()}).bind(this));this.moving=false;this._initElements();if($defined(a.autoplay)&&$type(a.autoplay)=="number"){this.autoplay=this.showNext.periodical(a.autoplay,this)
}};Fuic.Carousel.prototype._initElements=function(){if(!this.vertical){this.elts.each(function(c){c.setStyles({position:"absolute",width:1/this.nbVisibleItems*100+"%",display:"none"})},this);for(var a=0;a<this.nbVisibleItems;a++){var b=this.elts[this.current+(a+this.offset)];if(!this.eDim){this.eDim=b.offsetWidth}b.setStyles({top:"0px",left:a/this.nbVisibleItems*100+"%",display:"block"})}this.current=this.offset}else{this.elts.each(function(c){c.setStyles({position:"absolute",height:1/this.nbVisibleItems*100+"%",display:"none"})},this);for(var a=0;a<this.nbVisibleItems;a++){var b=this.elts[this.current+(a+this.offset)];if(!this.eDim){this.eDim=b.offsetWidth}b.setStyles({top:a/this.nbVisibleItems*100+"%",left:"0",display:"block"})}this.current=this.offset}};Fuic.Carousel.prototype.stop=function(){$clear(this.autoplay)
};Fuic.Carousel.prototype.goTo=function(a){if(this.moving){return}if(this.vertical){this._showNextV(a)}else{this._showNextH(a)}this.moving=true;(function(){this.moving=false}).delay(this.delay,this)};Fuic.Carousel.prototype.showNext=function(){if(this.moving){return}if(this.vertical){this._showNextV()}else{this._showNextH()}this.moving=true;(function(){this.moving=false}).delay(this.delay,this)};Fuic.Carousel.prototype.showPrevious=function(){if(this.moving){return}if(this.vertical){this._showPreviousV()}else{this._showPreviousH()}this.moving=true;(function(){this.moving=false}).delay(this.delay+100,this)};Fuic.Carousel.prototype._getIndex=function(a){if(a<0){return((this.elts.length)+a)%(this.elts.length)}else{return(a)%(this.elts.length)}};Fuic.Carousel.prototype._showNextH=function(h){if(!$defined(h)){var h=this._getIndex(this.current+this.nbVisibleItems);
var b=this.elts[h];var a;var l=[];for(var g=0;g<this.nbVisibleItems;g++){var k=this.elts[this._getIndex(this.current+g)];var f=new Fx.Tween(k,{property:"left",unit:"%",duration:this.delay,wait:false,transition:this.transition});if(g==0){f.onComplete=k.setStyle.bind(k,["display","none"])}l[g]=f.start.pass((g-1)/this.nbVisibleItems*100,f)}b.setStyles({position:"absolute",top:"0px",left:"100%",display:"block"});var e=new Fx.Tween(b,{property:"left",duration:this.delay,unit:"%",wait:false,transition:Fx.Transitions.sineInOut});l.each(function(c){c()});e.start((this.nbVisibleItems-1)/this.nbVisibleItems*100);this.current++}else{var a;var j=[];for(var g=0;g<this.nbVisibleItems;g++){var b=this.elts[this._getIndex(h+g)];b.setStyles({position:"absolute",top:"0px",left:"100%",display:"block"});var f=new Fx.Tween(b,{property:"left",unit:"%",duration:this.delay,wait:false,transition:Fx.Transitions.sineInOut});
j[g]=f.start.pass(g/this.nbVisibleItems*100,f)}var l=[];for(var g=0;g<this.nbVisibleItems;g++){if(h!=this.current+g){var k=this.elts[this._getIndex(this.current+g)];var d=new Fx.Tween(k,{property:"left",unit:"%",duration:this.delay,wait:false,transition:this.transition,onComplete:function(c){c.setStyle("display","none")}});l[g]=d.start.pass((g-this.nbVisibleItems)/this.nbVisibleItems*100,d)}}l.each(function(c){c()});j.each(function(c){c()});this.current=h}};Fuic.Carousel.prototype._showPreviousH=function(){if(!d){var d=this._getIndex(this.current-1)}var j=this.elts[d];var b;var a=[];for(var e=0;e<this.nbVisibleItems;e++){var h=this.elts[this._getIndex(this.current+e)];var f=new Fx.Tween(h,{property:"left",unit:"%",duration:this.delay,wait:false,transition:Fx.Transitions.sineInOut});if(e==this.nbVisibleItems-1){f.onComplete=h.setStyle.bind(h,["display","none"])
}a[e]=f.start.pass((e+1)/this.nbVisibleItems*100,f)}j.setStyles({position:"absolute",top:"0",left:-(1/this.nbVisibleItems*100)+"%",display:"block"});var g=new Fx.Tween(j,{property:"left",duration:this.delay,unit:"%",wait:false,transition:Fx.Transitions.sineInOut});a.each(function(c){c()});g.start(0);this.current=d};Fuic.Carousel.prototype._showNextV=function(h){if(!$defined(h)){var h=this._getIndex(this.current+this.nbVisibleItems);var b=this.elts[h];var a;var l=[];for(var g=0;g<this.nbVisibleItems;g++){var k=this.elts[this._getIndex(this.current+g)];var f=new Fx.Tween(k,{property:"top",unit:"%",duration:this.delay,wait:false,transition:this.transition});if(g==0){f.onComplete=k.setStyle.bind(k,["display","none"])}l[g]=f.start.pass((g-1)/this.nbVisibleItems*100,f)}b.setStyles({position:"absolute",left:"0px",top:"100%",display:"block"});
var e=new Fx.Tween(b,{property:"top",duration:this.delay,unit:"%",wait:false,transition:Fx.Transitions.sineInOut});l.each(function(c){c()});e.start((this.nbVisibleItems-1)/this.nbVisibleItems*100);this.current++}else{var a;var j=[];for(var g=0;g<this.nbVisibleItems;g++){var b=this.elts[this._getIndex(h+g)];b.setStyles({position:"absolute",left:"0px",top:"100%",display:"block"});var f=new Fx.Tween(b,{property:"top",unit:"%",duration:this.delay,wait:false,transition:Fx.Transitions.sineInOut});j[g]=f.start.pass(g/this.nbVisibleItems*100,f)}var l=[];for(var g=0;g<this.nbVisibleItems;g++){if(h!=this.current+g){var k=this.elts[this._getIndex(this.current+g)];var d=new Fx.Tween(k,{property:"top",unit:"%",duration:this.delay,wait:false,transition:this.transition,onComplete:function(c){c.setStyle("display","none")
}});l[g]=d.start.pass((g-this.nbVisibleItems)/this.nbVisibleItems*100,d)}}l.each(function(c){c()});j.each(function(c){c()});this.current=h}};Fuic.Carousel.prototype._showPreviousV=function(){var d=this._getIndex(this.current-1);var j=this.elts[d];var b;var a=[];for(var e=0;e<this.nbVisibleItems;e++){var h=this.elts[this._getIndex(this.current+e)];var f=new Fx.Tween(h,{property:"top",unit:"%",duration:this.delay,wait:false,transition:Fx.Transitions.sineInOut});if(e==this.nbVisibleItems-1){f.onComplete=h.setStyle.bind(h,["display","none"])}a[e]=f.start.pass((e+1)/this.nbVisibleItems*100,f)}j.setStyles({position:"absolute",left:"0",top:-(1/this.nbVisibleItems*100)+"%",display:"block"});var g=new Fx.Tween(j,{property:"top",duration:this.delay,unit:"%",wait:false,transition:Fx.Transitions.sineInOut});
a.each(function(c){c()});g.start(0);this.current=d};
