var scrollBoxWidth;
var scrollSpeed;
var scrollSteps;
var scrollStepsTemp;
var scrollIntervalId;
var scrollPosLeft;
var scrollCounter;
var itemScrolled;
var itemWidthRest;
var scrollStepsTotal;

function left(){
	scrollPosLeft += scrollSteps;
	scrollCounter++;
	
	with(document.getElementById("contents"))
	{
		if (scrollPosLeft > 0){
			scrollPosLeft = 0;
			stopScrolling();
		}
	
		if(style)
			style.left = scrollPosLeft + "px";
		else
			setAttribute("style", "left: " + scrollPosLeft + "px");
	}
	checkPosition();
}

function right(){
	scrollPosLeft -= scrollSteps;
	scrollCounter++;
	with(document.getElementById("contents"))
	{
		if(scrollPosLeft < -clientWidth+scrollBoxWidth){
			scrollPosLeft = -clientWidth+scrollBoxWidth;
			stopScrolling();
		}
		
		if(style)
			style.left = scrollPosLeft + "px";
		else
			setAttribute("style", "left: " + scrollPosLeft + "px");
	}
	checkPosition();
}

function startScrolling(direction){
	if (direction == 'left' && !scrollIntervalId){
		scrollCounter = 0;
		scrollIntervalId = setInterval(left, scrollSpeed); 
	}
	if (direction == 'right' && !scrollIntervalId){
		scrollCounter = 0;
		scrollIntervalId = setInterval(right, scrollSpeed);  
	}
}

function stopScrolling(){
	clearInterval(scrollIntervalId);
	scrollIntervalId = null;
}

function checkPosition(){
	if (itemScrolled == true){
		scrollSteps = scrollStepsTemp;
		stopScrolling();
		itemScrolled = false;
	}
	if (scrollCounter == scrollStepsTotal ){
		scrollSteps = itemWidthRest;
		itemScrolled = true;
	}
}

function initializeScrolling(speed, steps, itemWidth){
	scrollBoxWidth	= document.getElementById('scrollable').offsetWidth;  /*px*/
	scrollSpeed 	= speed;  /*ms*/
	scrollSteps 	= steps;  /*px*/
	scrollStepsTemp = scrollSteps;
	scrollPosLeft 	= 0;
	scrollCounter	= 0;
	itemScrolled 	= false;
	_itemWidth 		= itemWidth;
	itemWidthRest 	= _itemWidth % scrollSteps;
	scrollStepsTotal= (_itemWidth - itemWidthRest)/scrollSteps;
}