/* -- tohle nastaveni je dobre dat pred include scriptu

// catalog browse objekt s polozkama horizontalne na jednom radku
var objToScroll = $('scroll-box-inner--b--catalog-home-vypis--content--');
var itemsOnScreen = 8;
var speedAuto = 7;
*/

// nejaka ta funkcnost
	var objToScroll;
	var itemsOnScreen = 4;
	var speedAuto = 7;

	var actualScrollPositionX = 0;
	var newScrollPositionX = 0;
	var intervalID = null;
	var autoScrollDiff = 2;
	var autoScrollDisableTick = 0;

	var contentSizeX = 0;
	var itemSizeX = 0;

	var arrListItem;

	var objContent;
	var arrClear;
	var objClear;

var scrollFn = function(){
	diff = (actualScrollPositionX - newScrollPositionX) / 5;

	if (Math.abs(diff) < 0.1) { // zakonceni posouvani, at to netrva
		diff = actualScrollPositionX - newScrollPositionX;
	}

	actualScrollPositionX -= diff;
	if (actualScrollPositionX < 0){ // kdyz jsme na zacatku a chce doleva
		actualScrollPositionX = (contentSizeX - itemSizeX*(itemsOnScreen))-1;
		newScrollPositionX = (contentSizeX - itemSizeX*(itemsOnScreen+1));
	}

	if (actualScrollPositionX >= (contentSizeX - itemSizeX*itemsOnScreen)){ // kdyz jsme na konci, tak se tocime
		actualScrollPositionX = 0;
		newScrollPositionX = 0;
	}

	objToScroll.scrollTo(actualScrollPositionX, 0);

	if (actualScrollPositionX == newScrollPositionX) {
		$clear(intervalID);
		autoScrollDisableTick = 1;
	}
}


var autoScrollFn = function(){
	if (autoScrollDiff == 0) {
		autoScrollDisableTick++;
		if (autoScrollDisableTick > 120) {
			autoScrollDiff = speedAuto;
		}
	} else {
		autoScrollDisableTick = 0;
		newScrollPositionX = actualScrollPositionX + autoScrollDiff;
		diff = (actualScrollPositionX - newScrollPositionX) / 5;

		if (Math.abs(diff) < 0.1) { // zakonceni posouvani, at to netrva
			diff = actualScrollPositionX - newScrollPositionX;
		}

		actualScrollPositionX -= diff;
		if (actualScrollPositionX < 0){ // kdyz jsme na zacatku a chce doleva
			actualScrollPositionX = (contentSizeX - itemSizeX*(itemsOnScreen))-1;
			newScrollPositionX = (contentSizeX - itemSizeX*(itemsOnScreen+1));
		}

		if (actualScrollPositionX >= (contentSizeX - itemSizeX*itemsOnScreen)){ // kdyz jsme na konci, tak se tocime
			actualScrollPositionX = 0;
			newScrollPositionX = 0;
		}

		objToScroll.scrollTo(actualScrollPositionX, 0);
	}
}

var stopAutoScroll = function(){
	autoScrollDiff = 0;
	autoScrollDisableTick = 1;
}

// scroll right
function scrollRight() {
		newScrollPositionX = actualScrollPositionX + itemSizeX;
		intervalID = scrollFn.periodical(30);
}

// scroll right
function scrollLeft() {
		newScrollPositionX = actualScrollPositionX - itemSizeX;
		intervalID = scrollFn.periodical(30);
}


window.addEvent('domready',function() {
	objToScroll = $(objToScrollName);
	arrListItem = objToScroll.getElements('div[class=list_item]');
	itemSizeX = arrListItem[0].getSize().x;


	objContent = objToScroll.getElements('div[class=catalog_browse]')[0];
	arrClear = objContent.getElements('div[class=clear]');
	objClear = arrClear[arrClear.length-1];
	objClear.dispose();
	for (var n = 0; n<itemsOnScreen; n++){ // abychom se mohli tocit dokola, tak kopie prvnich X polozek
		objContent.appendChild(arrListItem[n].cloneNode(true));
	}

	objToScroll.setStyle('width', itemsOnScreen*(itemSizeX)+'px');
	objToScroll.setStyle('overflow', 'hidden');
	objToScroll.setStyle('margin', 'auto');
	objToScroll.setStyle('position', 'relative');
	objContent.setStyle('width', objToScroll.getElements('div[class=list_item]').length*(itemSizeX)+'px');
	contentSizeX = objToScroll.getElements('div[class=list_item]').length*(itemSizeX);

	// ovladaci prvky posouvani
	try {
		$(objToScrollName).onmousemove = stopAutoScroll;
		$('right-arr').onclick = scrollRight;
		$('left-arr').onclick = scrollLeft;
		$('right-arr').onmousemove = stopAutoScroll;
		$('left-arr').onmousemove = stopAutoScroll;
	} catch(err){}

	// start automatickeho posouvani
	autoScrollDiff = speedAuto;
	autoScrollFn.periodical(75);
});
