﻿/* Rotator */
var previousIndex = 0;

function OnRotatorLoad(oRotator, args) {

    var item = args.get_item();
    if (item != null) {

        var currentIndex = item.get_index();
        var count = oRotator.get_items().length;
        var lastIndex = count - 1;
        var rotatorWidth = parseInt(oRotator.get_width());
        var itemSampling = oRotator.get_currentItem().get_element().getElementsByTagName("DIV");
        var viewportSize = 0;
        if (item != null) {
            if (itemSampling[0] != null) {
                var itemWidthSampling = itemSampling[0].offsetWidth;
                viewportSize = Math.round(rotatorWidth / itemWidthSampling);
            }
        }

        /* debugging only
        alert(
        'currentIndex: ' + currentIndex + '\n' +
        'lastIndex   : ' + lastIndex + '\n' +
        'rotatorWidth: ' + rotatorWidth + '\n' +
        'viewportSize: ' + viewportSize + '\n'
        );
        */

        if (currentIndex == 0) {

            disableLeftButtons(true, oRotator);
        }
        else {
            disableLeftButtons(false, oRotator);
        }

        //calculate how many have been shown, then see if we are showing them all, if so disable the next button
        if (currentIndex + (viewportSize - 1) >= lastIndex) {
            disableRightButtons(true, oRotator);
        }
        else {
            disableRightButtons(false, oRotator);
        }
    }
}

function disableLeftButtons(isDisabled, oRotator) {

    var prevImg = document.getElementById(oRotator._leftButton.id);

    if (isDisabled) {
        prevImg.style.cursor = 'default';
        prevImg.style.opacity = '1.0';
        prevImg.style.filter = 'alpha(opacity=100)';
    }
    else {
        prevImg.style.cursor = 'pointer';
        prevImg.style.opacity = '0.0';
        prevImg.style.filter = 'alpha(opacity=0)';
    }
}

function disableRightButtons(isDisabled, oRotator) {
    var nextImg = document.getElementById(oRotator._rightButton.id);
    if (isDisabled) {
        nextImg.style.cursor = 'default';
        nextImg.style.opacity = '1.0';
        nextImg.style.filter = 'alpha(opacity=100)';
    }
    else {
        nextImg.style.cursor = 'pointer';
        nextImg.style.opacity = '0.0';
        nextImg.style.filter = 'alpha(opacity=0)';
    }
}

// RadSlider for Event Presentations item in FI ctrl
function ScrollText(sender, eventArgs) {
	var sliderId = sender.get_id();
	var wrapperId = sliderId.replace("_radSlider", "_contentWrapper");
	var contentId = sliderId.replace("_radSlider", "_content");

    var wrapperDiv = document.getElementById(wrapperId);
    var contentDiv = document.getElementById(contentId);

    var availableHeight = contentDiv.scrollHeight - wrapperDiv.offsetHeight;
               
    var sliderSmallChange = sender.get_smallChange();
    var sliderMinValue = sender.get_minimumValue();
    var sliderValue = sender.get_value();
        
    var steps = sliderValue / sliderSmallChange;
    var stepLength = availableHeight / ((sender.get_maximumValue() - sliderMinValue) / sliderSmallChange);
        
    var newPosition = (-1) * steps * stepLength;
    contentDiv.style.top = ((sliderValue == sliderMinValue) ? 0 : newPosition) + "px";
}
