1var noobSlide=new Class({initialize:function(a){this.items=a.items; 2this.mode=a.mode||'horizontal';this.modes={horizontal:['left','width'],vertical:['top','height']}; 3this.size=a.size||200; 4this.box=a.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+'px'); 5this.button_event=a.button_event||'click';this.handle_event=a.handle_event||'click'; 6this.onWalk=a.onWalk||null; 7this.currentIndex=null; 8this.previousIndex=null; 9this.nextIndex=null; 10this.interval=a.interval||5000; 11this.autoPlay=a.autoPlay||false; 12this._play=null; 13this.handles=a.handles||null; 14if(this.handles){this.addHandleButtons(this.handles)}this.buttons={previous:[],next:[],play:[],playback:[],stop:[]}; 15if(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 i=0;i<a.length;i++){a[i].addEvent(this.handle_event,this.walk.pass([i,true],this))}},addActionButtons:function(a,b){for(var i=0;i<b.length;i++){switch(a){case'previous':b[i].addEvent(this.button_event,this.previous.pass([true],this));break;case'next':b[i].addEvent(this.button_event,this.next.pass([true],this));break;case'play':b[i].addEvent(this.button_event,this.play.pass([this.interval,'next',false],this));break;case'playback':b[i].addEvent(this.button_event,this.play.pass([this.interval,'previous',false],this));break;case'stop':b[i].addEvent(this.button_event,this.stop.create({bind:this}));break}this.buttons[a].push(b[i])}},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();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))}}}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.