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/3))+'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++){
	alert(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:Math.abs(this.items.length/3)-1),a)
},next:function(a){
this.walk((this.currentIndex<Math.abs(this.items.length/3)-1?this.currentIndex+1:0),a)
//alert(this.currentIndex)
},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))
			}
	}
}
});

