﻿
function ToggleProductListScrollButtons(scrollId, isVertical, dir, disabled) {
    var aButton;
    var bButton;
    if (isVertical) {
        aButton = document.getElementById(scrollId + "_UpButton");
        bButton = document.getElementById(scrollId + "_DownButton");
    }
    else {
        aButton = document.getElementById(scrollId + "_LeftButton");
        bButton = document.getElementById(scrollId + "_RightButton");
    }
    if (dir == -1) {
        aButton.className = (disabled ? aButton.className.replace("Disabled", "") + "Disabled" : aButton.className.replace("Disabled", ""));
        aButton.disabled = disabled;
    }
    else {
        bButton.className = (disabled ? bButton.className.replace("Disabled", "") + "Disabled" : bButton.className.replace("Disabled", ""));
        bButton.disabled = disabled;
    }
}
function ProductListVerticalScroll(scrollId, dir, scrolledAmnt) {
    var scrollWin = document.getElementById(scrollId);
    var previousButtonId = scrollId + "_UpButton";
    var nextButtonId = scrollId + "_DownButton";
    var scrollIncrement = scrollWin.clientHeight;
    var maxScrollTop = scrollWin.scrollHeight - scrollWin.clientHeight;
    if (scrolledAmnt >= scrollWin.clientHeight) return;

    scrollWin.scrollTop += scrollIncrement * dir;
    scrolledAmnt += scrollIncrement;
    if (scrollWin.scrollTop == maxScrollTop || scrollWin.scrollTop == 0) {
        ToggleProductListScrollButtons(scrollId, true, dir * -1, false);
        ToggleProductListScrollButtons(scrollId, true, dir, true);
    } else {
        ToggleProductListScrollButtons(scrollId, true, dir, false);
        ToggleProductListScrollButtons(scrollId, true, dir * -1, false);
    }
    timerUp = setTimeout("ProductListVerticalScroll('" + scrollId + "'," + dir + "," + scrolledAmnt + ")", 50);
}
function ProductListHorizontalScroll(scrollId, dir, scrolledAmnt) {
    var scrollWin = document.getElementById(scrollId);
    var previousButtonId = scrollId + "_LeftButton";
    var nextButtonId = scrollId + "_RightButton";
    var scrollIncrement = scrollWin.clientWidth;
    var maxScrollLeft = scrollWin.scrollWidth - scrollWin.clientWidth;
    if (scrolledAmnt >= scrollWin.clientWidth) return;

    scrollWin.scrollLeft += scrollIncrement * dir;
    scrolledAmnt += scrollIncrement;
    if (scrollWin.scrollLeft == maxScrollLeft || scrollWin.scrollLeft == 0) {
        ToggleProductListScrollButtons(scrollId, false, dir * -1, false);
        ToggleProductListScrollButtons(scrollId, false, dir, true);
    } else {
        ToggleProductListScrollButtons(scrollId, false, dir, false);
        ToggleProductListScrollButtons(scrollId, false, dir * -1, false);
    }
    timerUp = setTimeout("ProductListHorizontalScroll('" + scrollId + "'," + dir + "," + scrolledAmnt + ")", 50);
}
function SetupProductListScroll(scrollId) {
    var scrollWin = document.getElementById(scrollId);
    scrollWin.style.overflow = "hidden";
    var upButton = document.getElementById(scrollId + "_UpButton");
    var downButton = document.getElementById(scrollId + "_DownButton");
    var leftButton = document.getElementById(scrollId + "_LeftButton");
    var rightButton = document.getElementById(scrollId + "_RightButton");
    if (upButton) {
        upButton.onclick = function() { ProductListVerticalScroll(scrollId, -1, 0); return false; }
        upButton.style.display = "block";
        ToggleProductListScrollButtons(scrollId, true, -1, true);
    }
    if (downButton) {
        downButton.onclick = function() { ProductListVerticalScroll(scrollId, 1, 0); return false; }
        downButton.style.display = "block";
        ToggleProductListScrollButtons(scrollId, true, 1, (scrollWin.scrollHeight == scrollWin.clientHeight));
    }
    if (leftButton) {
        leftButton.onclick = function() { ProductListHorizontalScroll(scrollId, -1, 0); return false; }
        leftButton.style.display = "block";
        ToggleProductListScrollButtons(scrollId, false, -1, true);
    }
    if (rightButton) {
        rightButton.onclick = function() { ProductListHorizontalScroll(scrollId, 1, 0); return false; }
        rightButton.style.display = "block";
        ToggleProductListScrollButtons(scrollId, false, 1, (scrollWin.scrollWidth == scrollWin.clientWidth));
    }
}

