var cScroller = function(scroller_id, start, end, step, delay, speed)
{
	var self = this;
	var interval = null;
	this.scroller = document.getElementById(scroller_id);

	function fScroll(obj, speed, end)
	{
		if(speed<0 && parseInt(obj.style.left) + speed <= end)
			obj.style.left = end + 'px';
		else if(speed>0 && parseInt(obj.style.left) + speed >= end)
			obj.style.left = end + 'px';
		else
		{
			obj.style.left = parseInt(obj.style.left) + speed + 'px';
			setTimeout(function(){fScroll(obj, speed, end);}, 50);
		}
	}


	this.fScrollLoopStart = function()
	{
		interval = setInterval(function()
		{
			if(parseInt(self.scroller.style.left) == end)
				fScroll(self.scroller, -speed*10, 0);
			else if(parseInt(self.scroller.style.left) + step < end)
				fScroll(self.scroller, speed, end);
			else
				fScroll(self.scroller, speed, parseInt(self.scroller.style.left) + step);
		}, delay);
	}

	this.fScrollLoopStop = function()
	{
		clearInterval(interval);
	}

	this.fScrollTo = function(pos)
	{
		var s;
		if(parseInt(self.scroller.style.left) < pos) s = -speed*10;
		else s = speed*10;
		if(pos < end) pos = end;
		if(pos > start) pos = start;
		self.fScrollLoopStop();
		fScroll(self.scroller, s, pos);
		self.fScrollLoopStart();
	}
}
