var noobSlideBuckets=new Class({initialize:function(d){this.items=d.items;this.mode=d.mode||"horizontal";this.modes={horizontal:["left","width"],vertical:["top","height"]};this.size=d.size||240;this.box=d.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+"px");this.button_event=d.button_event||"click";this.handle_event=d.handle_event||"click";this.onWalk=d.onWalk||null;this.currentIndex=null;this.previousIndex=null;this.nextIndex=null;this.interval=d.interval||5000;this.autoPlay=d.autoPlay||false;this._play=null;this.handles=d.handles||null;if(this.handles){this.addHandleButtons(this.handles);}this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};if(d.addButtons){for(var c in d.addButtons){this.addActionButtons(c,$type(d.addButtons[c])=="array"?d.addButtons[c]:[d.addButtons[c]]);}}this.fx=new Fx.Tween(this.box,$extend((d.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));this.walk((d.startItem||0),true,true);},addHandleButtons:function(b){for(var c=0;c<b.length;c++){b[c].addEvent(this.handle_event,this.walk.bind(this,[c,true]));}},addActionButtons:function(d,c){for(var e=0;e<c.length;e++){switch(d){case"previous":c[e].addEvent(this.button_event,this.previous.bind(this,[true]));break;case"next":c[e].addEvent(this.button_event,this.next.bind(this,[true]));break;case"play":c[e].addEvent(this.button_event,this.play.bind(this,[this.interval,"next",false]));break;case"playback":c[e].addEvent(this.button_event,this.play.bind(this,[this.interval,"previous",false]));break;case"stop":c[e].addEvent(this.button_event,this.stop.bind(this));break;}this.buttons[d].push(c[e]);}},previous:function(b){this.walk((this.currentIndex>0?this.currentIndex-1:this.items.length-1),b);},next:function(b){this.walk((this.currentIndex<this.items.length-1?this.currentIndex+1:0),b);},play:function(e,d,f){this.stop();if(!f){this[d](false);}this._play=this[d].periodical(e,this,[false]);},stop:function(){$clear(this._play);},walk:function(e,d,f){if(e!=this.currentIndex){this.currentIndex=e;this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(d){this.stop();}if(f){this.fx.cancel().set((this.size*-this.currentIndex)+"px");}else{this.fx.start(this.size*-this.currentIndex);}if(d&&this.autoPlay){this.play(this.interval,"next",true);}if(this.onWalk){this.onWalk((this.items[this.currentIndex]||null),(this.handles&&this.handles[this.currentIndex]?this.handles[this.currentIndex]:null));}}}});
