var vScroller=new Class({Extends:Scroller,initialize:function(B,A){this.parent(B,A);if(this.options.listener){this.listener=$(this.options.listener)}},scroll:function(){var B=this.element.getSize(),A=this.element.getScroll(),D=this.element.getPosition(),C={x:0};if(this.page.x<(this.options.area+D.x)&&A.x!=0){C.x=(this.page.x-this.options.area-D.x)*this.options.velocity}else{if(this.page.x+this.options.area>(B.x+D.x)&&B.x+B.x!=A.x){C.x=(this.page.x-B.x+this.options.area-D.x)*this.options.velocity}}if(C.x){this.fireEvent("onChange",[A.x+C.x,0])}}});var vCarousel=new Class({Implements:[Events,Options],options:{slider:null,onProgress:$empty,onPreload:$empty,onComplete:$empty},reflect:function(D,B){B=$extend({height:this.container.getSize().y.toInt()-D.height,opacity:"0.0"},B||{});var A;A=new Element("canvas",{styles:{width:D.width,height:B.height}});if(!A.getContext){return }var C=A.setProperties({width:D.width,height:B.height}).getContext("2d");C.save();C.translate(0,D.height-1);C.scale(1,-1);C.drawImage(D,0,0,D.width,D.height);C.restore();C.globalCompositeOperation="destination-out";var E=C.createLinearGradient(0,0,0,B.height);E.addColorStop(0,"rgba(255, 255, 255, "+(1-B.opacity)+")");E.addColorStop(1,"rgba(255, 255, 255, 1.0)");C.fillStyle=E;C.rect(0,0,D.width,B.height);C.fill();return A},initialize:function(G,C){this.setOptions(C);this.list=$(G);this.container=this.list.getParent();this.listener=this.container;this.container.setStyle("overflow","hidden").scrollTo(0,0);var B=[];var A=this.list.getChildren();var E=0;A.each(function(H){var I=H.getElement("img");if(I.getParent().get("tag")=="li"){H.setProperty("_href",I.getParent().getProperty("href"))}H.setProperty("_title",I.getProperty("title"));I.addEvent("mouseover",function(){new Fx.Style(I,"opacity",{duration:300}).start(0.8)});I.addEvent("mouseout",function(){new Fx.Style(I,"opacity",{duration:300}).start(1)});B.push(I.getProperty("src"));E++});var D=this;var F=Asset.images(B,{onProgress:function(H,I){this.fireEvent("onProgress",[H+1,B.length])}.bind(D),onComplete:function(){this.fireEvent("onPreload");var J=G.getLast();var I=J.getPosition(G).x+(J.getStyle("width").toInt()-J.getFirst().getStyle("padding-right").toInt());var N=E*1;G.setStyle("width",I+N+10);this.scroller=new vScroller(this.container,{area:Math.floor(this.container.getSize().x/6),velocity:0.1,listener:this.listener,onChange:function(O){this.container.scrollTo(O,0);if(this.slider){this.slider.set(O)}}.bind(this)},this);this.scroller.start();this.listener.addEvent("mouseenter",this.scroller.start.bind(this.scroller)).addEvent("mouseleave",this.scroller.stop.bind(this.scroller));var L=$("slider").getSize().x;var H=$("container").getSize().x;var K=I/H;var M=Math.floor(L/K);if(M>L){M=L}$("slider-knob").setStyle("width",M+"px");this.options.slider.options=$merge({steps:this.list.getSize().x-this.container.getSize().x,onChange:function(O){this.container.scrollTo(O)}.bind(this)},this.options.slider.options);if($type(this.options.slider)!="nothing"){this.slider=new Slider(this.options.slider.element,this.options.slider.knob,this.options.slider.options)}this.fireEvent("onComplete")}.bind(D)})},scrollTo:function(A){this.container.scrollTo(A,0)}});

