var iCarousel=new Class({options:{animation:{type:"fadeNscroll",direction:"left",amount:1,transition:Fx.Transitions.Cubic.easeInOut,duration:500,rotate:{type:"manual",interval:5000,onMouseOver:"stop"}},item:{klass:"item",size:100},idPrevious:"previous",idNext:"next",idPlayPause:"playPause",idToggle:"toggle",onClickPrevious:Class.empty,onClickNext:Class.empty,onPrevious:Class.empty,onNext:Class.empty,onGoTo:Class.empty},preloadingImages:function(d,a){if(d.length>0){a.addClass("spinner");var c=new Array();d.each(function(f,e){f.setStyle("opacity",0);c.push(f.getAttribute("src").toString())});var b=new Asset.images(c,{onComplete:function(){a.removeClass("spinner");d.each(function(f,e){var g=new Fx.Morph(f,{duration:"short",transition:Fx.Transitions.linear});g.start({opacity:[0,1]})})}})}},initialize:function(b,a,c){this.setOptions(c);this.container=$(a);this.overallContainer=$(b);this.aItems=$A($$("."+this.options.item.klass));this.isMouseOver=false;this.isPlaying=true;if(this.aItems.length>this.options.animation.amount){var e=this.container.getElements("img");this.preloadingImages(e,this.overallContainer);if(this.options.idPlayPause!="undefined"&&$(this.options.idPlayPause)){$(this.options.idPlayPause).setStyle("display","block");$(this.options.idPlayPause).addEvent("click",function(f){new Event(f).stop();this.togglePlayPause()}.bind(this))}if(this.options.idPrevious!="undefined"&&$(this.options.idPrevious)){$(this.options.idPrevious).setStyle("display","block")}$(this.options.idPrevious).addEvent("click",function(f){new Event(f).stop();this._previous();this.fireEvent("onClickPrevious",this,20);if(this.isPlaying){this.togglePlayPause()}}.bind(this));if(this.options.idNext!="undefined"&&$(this.options.idNext)){$(this.options.idNext).setStyle("display","block")}$(this.options.idNext).addEvent("click",function(f){new Event(f).stop();this._next();this.fireEvent("onClickNext",this,20);if(this.isPlaying){this.togglePlayPause()}}.bind(this));if(this.options.idToggle!="undefined"&&$(this.options.idToggle)){$(this.options.idToggle).addEvent("click",function(f){new Event(f).stop();this._toggle()}.bind(this))}var d=this.options.animation;switch(this.options.animation.type.toLowerCase()){case"fade":this.aItems.each(function(f){f.fx=new Fx.Tween(f,{property:"opacity",duration:d.duration,transition:d.transition});f.setStyle("opacity",0);f.addEvents({mouseenter:function(){if(this.isPlaying){this.isMouseOver=true;if(this.options.animation.rotate.type=="auto"){this.timer=$clear(this.timer)}}}.bind(this),mouseleave:function(){if(this.isPlaying){this.isMouseOver=false;if(this.options.animation.rotate.type=="auto"){this.timer=this._autoRotate.periodical(this.options.animation.rotate.interval,this)}}}.bind(this)})}.bind(this));this.height=this.container.getStyle("height").toInt();this.atScreen=0;this._animate(this.atScreen);break;default:(2).times(function(){this.aItems.each(function(g,f){g.clone().injectInside(this.container)}.bind(this))}.bind(this));this.aItems=$A($$("."+this.options.item.klass));this.aItems.each(function(f){f.addEvents({mouseenter:function(){if(this.isPlaying){this.isMouseOver=true;if(this.options.animation.rotate.type=="auto"){this.timer=$clear(this.timer)}}}.bind(this),mouseleave:function(){if(this.isPlaying){this.isMouseOver=false;if(this.options.animation.rotate.type=="auto"){this.timer=this._autoRotate.periodical(this.options.animation.rotate.interval,this)}}}.bind(this)})}.bind(this));this.fx=new Fx.Morph(this.container,{duration:d.duration,transition:d.transition,wait:false});this.atScreen=this.aItems.length/3;this.container.setStyle(d.direction,-this.atScreen*this.options.item.size);break}if(this.options.animation.rotate.type=="auto"){this.timer=this._autoRotate.periodical(this.options.animation.rotate.interval,this)}}},togglePlayPause:function(){if(this.isPlaying){this.isMouseOver=true;this.isPlaying=false;if(this.options.animation.rotate.type=="auto"){this.timer=$clear(this.timer)}$(this.options.idPlayPause).removeClass("tx_seadproject_pi1_iCarouselPlay");$(this.options.idPlayPause).addClass("tx_seadproject_pi1_iCarouselPause")}else{this.isMouseOver=false;this.isPlaying=true;if(this.options.animation.rotate.type=="auto"){this.timer=this._autoRotate.periodical(this.options.animation.rotate.interval,this)}$(this.options.idPlayPause).removeClass("tx_seadproject_pi1_iCarouselPause");$(this.options.idPlayPause).addClass("tx_seadproject_pi1_iCarouselPlay")}},goTo:function(b){switch(this.options.animation.type.toLowerCase()){case"fade":var a=this.atScreen;this.atScreen=Math.abs(b%(this.aItems.length/3));this._animate(this.atScreen,a);break;default:this.atScreen=Math.abs(b%(this.aItems.length/3));this.atScreen+=this.aItems.length/3;this._animate(this.atScreen);break}this.fireEvent("onGoTo",this,20)},_previous:function(){switch(this.options.animation.type.toLowerCase()){case"fade":var a=this.atScreen;this.atScreen-=this.options.animation.amount;if(this.atScreen<0){this.atScreen=(this.aItems.length-1)}this._animate(this.atScreen,a);break;default:this.atScreen-=this.options.animation.amount;if(this.atScreen<this.aItems.length/3){this.container.setStyle(this.options.animation.direction,-this.options.item.size*this.aItems.length*2/3);this.atScreen=this.aItems.length*2/3-this.options.animation.amount}this._animate(this.atScreen);break}this.fireEvent("onPrevious",this,20)},_next:function(){switch(this.options.animation.type.toLowerCase()){case"fade":var a=this.atScreen;this.atScreen+=this.options.animation.amount;if(this.atScreen>=this.aItems.length){this.atScreen=0}this._animate(this.atScreen,a);break;default:this.atScreen+=this.options.animation.amount;if(this.atScreen>this.aItems.length*2/3){this.container.setStyle(this.options.animation.direction,-this.options.item.size*this.aItems.length/3);this.atScreen=this.aItems.length/3+this.options.animation.amount}this._animate(this.atScreen);break}this.fireEvent("onNext",this,20)},_toggle:function(){(this.container.getStyle("height").toInt()==0)?this.container.effect("height",{duration:1000,transition:Fx.Transitions.Sine.easeInOut}).start(this.height):this.container.effect("height",{duration:1000,transition:Fx.Transitions.Sine.easeInOut}).start(0)},_autoRotate:function(){if(this.options.animation.rotate.onMouseOver=="stop"&&!this.isMouseOver){this._next()}},_animate:function(d,c){switch(this.options.animation.type){case"fade":if($defined(c)){this.aItems[c].fade("out");this.aItems[d].fade("in")}else{this.aItems[d].fx.start(1)}break;case"scroll":var e=this;if(e.options.animation.direction=="top"){e.fx.start({top:-d*e.options.item.size})}else{e.fx.start({left:-d*e.options.item.size})}break;case"fadeNscroll":var e=this;if(e.options.animation.direction=="top"){e.fx.start({opacity:0.75}).chain(function(){e.fx.start({top:-d*e.options.item.size}).chain(function(){e.fx.start({opacity:1})})})}else{e.fx.start({opacity:0.75}).chain(function(){e.fx.start({left:-d*e.options.item.size}).chain(function(){e.fx.start({opacity:1})})})}break}}});iCarousel.implement(new Events);iCarousel.implement(new Options);
