﻿
var sbSlideTransition = Effect.Transitions.sinoidal; //spring, sinoidal, linear
var sbMasterDuration = 0.4;

var sbWindowWidth = 524;

var sbNumberOfPages = 3;
var sbCurrPage = 1;
var sbPrevPage = 1;

var sbEnableBox = "";


function SbSetupNavigation() {
	SbSetupLeftArrow(true, 'rated');
	SbSetupRightArrow(true, 'rated');
	SbSetupNavIcons(true, 'rated');
}

function SbSetupLeftArrow(isEnabled, box) {
	leftArrow = document.getElementById('scrollbox_LeftArrow_btn');
	if (isEnabled && sbCurrPage != 1) {
		leftArrow.disabled = false;
		leftArrow.src = 'http://static.tradera.com/internal/site/items/scr_arrow_left.png';
	}
	else {
		leftArrow.disabled = true;
		leftArrow.src = 'http://static.tradera.com/internal/site/items/scr_arrow_left_off.png';
	}
}

function SbSetupRightArrow(isEnabled, box) {
	rightArrow = document.getElementById('scrollbox_RightArrow_btn');
	if (isEnabled && sbCurrPage != sbNumberOfPages) {
		rightArrow.disabled = false;
		rightArrow.src = 'http://static.tradera.com/internal/site/items/scr_arrow_right.png';
	}
	else {
		rightArrow.disabled = true;
		rightArrow.src = 'http://static.tradera.com/internal/site/items/scr_arrow_right_off.png';
	}
}

function SbSetupNavIcons(isEnabled, box) {
	for (i = 1; i <= sbNumberOfPages; i++) {
		navIcon = document.getElementById('scrollbox_nav' + i);
		if (isEnabled) {
			navIcon.disabled = (i == sbCurrPage);
		}
		else {
			navIcon.disabled = true;
		}
	}
}

function SbDisableNavigation(duration, box) {
	duration = duration * 1000; // to miliseconds

	SbSetupLeftArrow(false, box);
	SbSetupRightArrow(false, box);
	SbSetupNavIcons(false, box);

	sbEnableBox = box;
	setTimeout('SbEnableNavigation()', duration);
}

function SbEnableNavigation() {
	SbSetupLeftArrow(true, sbEnableBox);
	SbSetupRightArrow(true, sbEnableBox);
	SbSetupNavIcons(true, sbEnableBox);
}

function SbMoveLeft(box, moveBy) {
	var currPage = 0;
	var prevPage = 0;
	var masterDuration = 0;

	switch (box) {
		case 'rated':
			sbPrevPage = sbCurrPage;
			sbCurrPage = sbCurrPage - moveBy;

			moveSize = sbWindowWidth * (1 * moveBy);

			if (sbCurrPage <= 0) {
				moveSize = sbWindowWidth * -(sbNumberOfPages - 1);
				sbCurrPage = sbNumberOfPages;
			}
			currPage = sbCurrPage;
			prevPage = sbPrevPage;
			masterDuration = sbMasterDuration * moveBy;
			break;
	}

	SbDisableNavigation(masterDuration, box);

	new Effect.Parallel([
			new Effect.MoveBy('scrollbox_MainBox', 0, moveSize, { transition: sbSlideTransition, duration: masterDuration }),
			new Effect.Morph('scrollbox_nav' + currPage, { style: 'background-color:#ff8400;', duration: masterDuration }),
			new Effect.Morph('scrollbox_nav' + prevPage, { style: 'background-color:#CCCCCC;', duration: masterDuration })
			], {
				duration: masterDuration,
				delay: masterDuration
			});
}

function SbMoveRight(box, moveBy) {
	var currPage = 0;
	var prevPage = 0;
	var masterDuration = 0;

	switch (box) {
		case 'rated':
			sbPrevPage = sbCurrPage;
			sbCurrPage = sbCurrPage + moveBy;

			moveSize = sbWindowWidth * (-1 * moveBy);

			if (sbCurrPage > sbNumberOfPages) {
				moveSize = sbWindowWidth * (sbNumberOfPages - 1);
				sbCurrPage = 1;
			}
			currPage = sbCurrPage;
			prevPage = sbPrevPage;
			masterDuration = sbMasterDuration * moveBy;
			break;
	}

	SbDisableNavigation(masterDuration, box);

	new Effect.Parallel([
			new Effect.MoveBy('scrollbox_MainBox', 0, moveSize, { transition: sbSlideTransition, duration: masterDuration }),
			new Effect.Morph('scrollbox_nav' + currPage, { style: 'background-color:#ff8400;', duration: masterDuration }),
			new Effect.Morph('scrollbox_nav' + prevPage, { style: 'background-color:#CCCCCC;', duration: masterDuration })
			], {
				duration: masterDuration,
				delay: masterDuration
			});

}

function SbMoveTo(newPage) {
	var pageDiff = sbCurrPage - newPage;
	var moveBy = Math.abs(pageDiff);
	if (pageDiff > 0) {
		SbMoveLeft("rated", Math.abs(pageDiff));
	}
	else if (pageDiff < 0) {
		SbMoveRight("rated", Math.abs(pageDiff));
	}
	return;
}

function SbToggleCollapsed(toggleTo) {
	document.getElementById('scrollBox_divScrollBoxExpanded').style.display = (toggleTo ? "" : "none");
	document.getElementById('scrollBox_divScrollBoxCollapsed').style.display = (toggleTo ? "none" : "");

	var hiddenfield = $$('.scrollbox-client-side-hidden')[0];
	hiddenfield.value = toggleTo ? "0" : "1";
}
