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.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-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))
}
}
}
}
	);
