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||400;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.currentIndex=null;
		
		this.previousIndex=null;
		this.nextIndex=null;
		
		this.interval=a.interval||5000;
		
		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]])
				
				}
				
			}
			
			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.bind(this,[i,true]))}},addActionButtons:function(a,b){for(var i=0;i<b.length;
			
			i++){
				
				switch(a){case'previous':b[i].addEvent(this.button_event,this.previous.bind(this,[true]));
				
				break;
				
				case'next':b[i].addEvent(this.button_event,this.next.bind(this,[true]));
				
				break;case'play':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'next',false]));
				
				break;
				
				case'playback':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'previous',false]));
				
				break;
				
				case'stop':b[i].addEvent(this.button_event,this.stop.bind(this));
				
				break
				
				}
				
				this.buttons[a].push(b[i])}},previous:function(a){
					
					this.walk((this.currentIndex>0?this.currentIndex-1:this.items.length-4),a)
					
					},next:function(a){this.walk((this.currentIndex+5<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))
											}
											}
											}
											}
											);



