var myScroller = {
	init: function(settings) {
		
		this.windowID = settings.windowID;
		this.tapeID = settings.tapeID;
		this.prevArrowID = $defined(settings.prevArrowID) ? settings.prevArrowID : '';
		this.nextArrowID = $defined(settings.nextArrowID) ? settings.nextArrowID : '';
		
		this.itemsName = settings.itemsName;
		this.itemsSelector = settings.itemsSelector;
		this.step = $defined(settings.step) ? settings.step : 1;
		this.actItem = 0; 
		
		if($defined(this.itemsName)) {
			this.itemsArr = $(this.tapeID).getElements('[name=' + this.itemsName + ']');
		}else if($defined(this.itemsSelector)) {
			this.itemsArr = $$(itemsSelector);
		}
		
		this.idArr = new Array();
		
		var i;
		for(i = 0; i < this.itemsArr.length; i++) {
			this.idArr.push(this.itemsArr[i].id);
		}
		
		this.fx = new Fx.Scroll(this.windowID, {
			duration: 500,
			link: 'chain'
		});
		
		$(this.prevArrowID).addEvent('click', this.goPrev.pass(this));
		$(this.nextArrowID).addEvent('click', this.goNext.pass(this));
	},
	
	goPrev: function (ptr) {
		ptr.actItem -= ptr.step;
		if(ptr.actItem < 0) {
			ptr.actItem = ptr.itemsArr.length - (ptr.itemsArr.length % ptr.step);
		}
		ptr.fx.toElement(ptr.idArr[ptr.actItem]);
	},
	
	goNext: function (ptr) {
		ptr.actItem += ptr.step;
		if(ptr.actItem >= ptr.itemsArr.length) {
			ptr.actItem = 0;
		}
		ptr.fx.toElement(ptr.idArr[ptr.actItem]);	
	}
};