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