var Slider=new Class({Implements:Options,options:{transition:Fx.Transitions.Sine.easeOut,duration:200},initialize:function(b,a){this._sliderBox=$(b);this._sliderList=this._sliderBox.getElement("ul");this._items=this._sliderList.getElements("li");this._itemSizes={};this._itemWidth=0;this._numItems=this._items.length;this._firstVisibleItem=0;this._sliderSize=null;this._itemSideSpread=0;this._listOffset=0;this.setOptions(a);this._init();this._calcSpread();this._spreadOut();this._adjustVerticalHeight()},_init:function(){if(this._sliderBox.parentNode){this._sliderBox.setStyle("width",$(this._sliderBox.parentNode).getStyle("width"))}var c=0;var b;var a=0;this._items.forEach((function(d){d.set("tween",{link:"chain",transition:this.options.transition,duration:this.options.duration});b=d.getSize();this._itemSizes[c]=b;a+=b.x;c++}).bind(this));this._itemWidth=Math.round(a/c);this._sliderList.setStyle("width",a);this._sliderList.set("tween",{link:"chain",transition:this.options.transition,duration:this.options.duration});this._sliderSize=this._sliderBox.getSize();this._numVisibleItems=this._numItemsFit(this._firstVisibleItem);if(this._numItems>this._numVisibleItems){this._initControls();this._sliderSize=this._sliderBox.getSize()}},_initControls:function(){var c=new Element("a",{href:"#",html:"«","class":"slide-left"});c.addEvent("click",(function(d){d.stop();this.slideLeft()}).bind(this));var a=new Element("a",{href:"#",html:"»","class":"slide-right"});a.addEvent("click",(function(d){d.stop();this.slideRight()}).bind(this));var b=new Element("div",{"class":"slider-controls"});b.adopt(c,a);this._sliderBox.grab(b,"top")},_numItemsFit:function(d){var a=0;var c=0;var b;for(b=d;b<this._numItems;b++){c+=this._itemSizes[b].x;if(c>this._sliderSize.x){break}a++}return a},_lastStartingItem:function(){return this._numItems-this._numVisibleItems},_widthCurrentItems:function(){var b=0;var a=this._firstVisibleItem;var c=this._numVisibleItems;while(a<this._numItems&&c>0){b+=this._itemSizes[a].x;a++;c--}return b},_calcSpread:function(){var a=this._sliderSize.x-this._widthCurrentItems();this._itemSideSpread=Math.round(a/this._numVisibleItems/2)},_spreadOut:function(){if(this._itemSideSpread){this._sliderList.setStyle("width",this._sliderList.getStyle("width").toInt()+(this._itemSideSpread*(this._numItems*2-1)));var a=1;this._items.forEach((function(b){b.tween("padding-left",this._itemSideSpread);if(a!=this._numItems){b.tween("padding-right",this._itemSideSpread)}a++}).bind(this))}},_adjustVerticalHeight:function(){var c=0;var a=this._firstVisibleItem;var b=this._numVisibleItems;while(b){c=Math.max(c,this._itemSizes[a].y);b--;a++}this._sliderList.tween("height",c);a=this._firstVisibleItem;b=this._numVisibleItems;while(b){this._items[a].tween("margin-top",Math.round((c-this._itemSizes[a].y)/2));b--;a++}},_getListOffset:function(a){return -(a*this._itemWidth+a*this._itemSideSpread*2)},_wrapListAround:function(){var b;if(this._numItems>20){b=this.options.duration*10}else{b=Math.round((this.options.duration/2)*this._numItems)}var a=new Fx.Tween(this._sliderList,{duration:b,transition:Fx.Transitions.Sine.easeInOut});a.start("margin-left",this._listOffset)},slideLeft:function(){if(this._firstVisibleItem==0){this._firstVisibleItem=this._lastStartingItem();this._listOffset=this._getListOffset(this._firstVisibleItem);this._wrapListAround()}else{this._listOffset+=this._itemWidth+this._itemSideSpread*2;this._sliderList.tween("margin-left",this._listOffset);this._firstVisibleItem--}this._adjustVerticalHeight()},slideRight:function(){if(this._firstVisibleItem==this._lastStartingItem()){this._listOffset=0;this._wrapListAround();this._firstVisibleItem=0}else{this._listOffset-=this._itemWidth+this._itemSideSpread*2;this._sliderList.tween("margin-left",this._listOffset);this._firstVisibleItem++}this._adjustVerticalHeight()}});
