﻿
//var _slidesViewersDictionary = new Array();

function initSlidesViewer(id) {

    var slidesViewer = $("#" + id);
    if (slidesViewer.length == 0)
        return null;

    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);
    var slideToolbar = $(".SpreadSystem_SlidesViewer_Toolbar", slidesViewer);

    var slideHeight = slideContainer.innerHeight(); //  - slideToolbar.outerHeight();
    var slideWidth = slideContainer.innerWidth();
    var slidesCount = getSlidesCount(slidesViewer);

    slideContainer.css("height", slideHeight + "px");

    var slidesList = $(".SpreadSystem_SlidesViewer_List", slidesViewer);
    slidesList.css("width", (slidesCount * slideWidth) + "px");

    var slideListLI = $("li", slidesList);
    for (var i = 0; i < slideListLI.length; i++) {
        var li = slideListLI[i];
        li.style.width = slideWidth + "px";
    }

    return slidesViewer;
}

function initializeSlidesViewer(slidesViewer) {

    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);
    var slideToolbar = $(".SpreadSystem_SlidesViewer_Toolbar", slidesViewer);

    var slideHeight = slideContainer.innerHeight() - slideToolbar.outerHeight();

    slideContainer.css("height", slideHeight + "px");
}

function getSlidesCount(slidesViewer) {
    var slideListLI = $(".SpreadSystem_SlidesViewer_List li", slidesViewer);
    return slideListLI.length;
}

function getSlideWidth(slidesViewer){
    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);
    return slideContainer.innerWidth();
}

function goToSlide(slidesViewer, index) {

    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);
    var slideContainerLeft = slideContainer.offset().left;
    var slideContainerWidth = slideContainer.innerWidth();

    var left = -slideContainerWidth * index;

    var slideList = $(".SpreadSystem_SlidesViewer_List", slideContainer);
    slideList.css("left", left);
}

function goToSlideAnimated(slidesViewer, currentIndex, newIndex) {

    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);
    var slideList = $(".SpreadSystem_SlidesViewer_List", slideContainer);
    var slideWidth = getSlideWidth(slidesViewer);

    var start = -currentIndex * slideWidth;
    var end = -newIndex * slideWidth;

    var t1 = new Tween(slideList.get(0).style, 'left', Tween.regularEaseInOut, start, end, 2, 'px');
    t1.start();
}

function nextSlideAnimated(slidesViewer, currentIndex) {
    var nextIndex = currentIndex + 1;

    if (nextIndex >= getSlidesCount(slidesViewer))
        nextIndex = 0;

    goToSlideAnimated(slidesViewer, currentIndex, nextIndex);

    return nextIndex;
}

function nextSlide(slidesViewer, currentIndex) {
    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);

    currentIndex++;

    if (currentIndex >= getSlidesCount(slidesViewer))
        currentIndex = 0;

    //goToSlide(slidesViewer, currentIndex);
    goToSlideAnimated(slidesViewer, currentIndex);

    return currentIndex;
}

function previousSlideAnimated(slidesViewer, currentIndex) {
    var previousIndex = currentIndex - 1;

    if (previousIndex < 0)
        previousIndex = getSlidesCount(slidesViewer) - 1;

    goToSlideAnimated(slidesViewer, currentIndex, previousIndex);

    return previousIndex;
}

function previousSlide(slidesViewer, currentIndex) {
    var slideContainer = $(".SpreadSystem_SlidesViewer_Container", slidesViewer);

    currentIndex--;

    if (currentIndex < 0)
        currentIndex = getSlidesCount(slidesViewer) - 1;

    //goToSlide(slidesViewer, currentIndex);
    goToSlideAnimated(slidesViewer, currentIndex);

    return currentIndex;
}


