var noobSlide=new Class({initialize:function(a){this.items=a.items;this.mode=a.mode||"horizontal";this.fade=a.fade||false;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.divElements=a.divElements;this.button_event=a.button_event||"click";this.handle_event=a.handle_event||"click";this.onWalk=a.onWalk||null;this.currentIndex=null;this.previousIndex=null;this.nextIndex=null;this.interval=a.interval||5e3;this.autoPlay=a.autoPlay||false;this._play=null;this.handles=a.handles||null;if(this.handles){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]])}}if(this.fade){this.orderItems(a);this.fading(a.startItem||0,true,true)}else{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)}},orderItems:function(){for(i=0;i<this.items.length;i++){$$(this.divElements)[i].setStyle("position","absolute");$$(this.divElements)[i].setStyle("left","0px");$$(this.divElements)[i].setStyle("z-index",i+1);if(i>0){$$(this.divElements)[i].fade("out");$$(this.divElements)[i].setStyle("display","none")}}},addHandleButtons:function(a){for(var b=0;b<a.length;b++){if(this.fade){a[b].addEvent(this.handle_event,this.fading.pass([b,true],this))}else{a[b].addEvent(this.handle_event,this.walk.pass([b,true],this))}}},addActionButtons:function(a,b){for(var c=0;c<b.length;c++){switch(a){case"previous":b[c].addEvent(this.button_event,this.previous.pass([true],this));break;case"next":b[c].addEvent(this.button_event,this.next.pass([true],this));break;case"play":b[c].addEvent(this.button_event,this.play.pass([this.interval,"next",false],this));break;case"playback":b[c].addEvent(this.button_event,this.play.pass([this.interval,"previous",false],this));break;case"stop":b[c].addEvent(this.button_event,this.stop.create({bind:this}));break}this.buttons[a].push(b[c])}},previous:function(a){if(this.fade){this.fading(this.currentIndex>0?this.currentIndex-1:this.items.length-1,a)}else{this.walk(this.currentIndex>0?this.currentIndex-1:this.items.length-1,a)}},next:function(a){if(this.fade){this.fading(this.currentIndex<this.items.length-1?this.currentIndex+1:0,a)}else{this.walk(this.currentIndex<this.items.length-1?this.currentIndex+1:0,a)}},play:function(a,b,c){this.stop();if(!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);if(b){this.stop()}if(c){this.fx.cancel().set(this.size*-this.currentIndex+"px")}else{this.fx.start(this.size*-this.currentIndex)}if(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)}}},fading:function(a,b,c){if(a!=this.currentIndex){this.lastIndex=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);if(b){this.stop()}if(!c){$$(this.divElements)[this.currentIndex].fade("in");$$(this.divElements)[this.currentIndex].setStyle("display","block");$$(this.divElements)[this.lastIndex].fade("out")}if(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)}}}})
