﻿
var slidingModalContainer = {
    data: {
        currentVideoIndex: 0,
        initialTabToShow: 0,
        currentPlayingName: 0,
        currentWorksWith: null,
        currentMatchingSlide: null,
        endCardSlides: null,
        whilePlayingSlides: null,
        worksWithSlides: null,
        matchingPlayingSlides: null,
        playList: null,
        defaultListID: 1,
        currentListID: 1,
        defaultPlayList: "ConveyorVideosNext",
        altPlayList: "FeaturedVideosNext",
        videoEndSubscribe: true,
        playNextVideo: true,
        playNextEnabled: false,
        playMode: "regular",
        currentVideoName: ""
    },
    initialize: function(options) {
        // load the passed in data
        slidingModalContainer.data = jQuery.extend({}, this.data, options);

        // Set slides to be the set of listitems
        slidingModalContainer.data.playList = jQuery("#PlayListCards li");
        slidingModalContainer.data.endCardSlides = jQuery("#EndCardList li");
        slidingModalContainer.data.whilePlayingSlides = jQuery("#WhilePlaying li");
        slidingModalContainer.data.worksWithSlides = jQuery("#WorksWithPlaying li");
        slidingModalContainer.data.matchingPlayingSlides = jQuery("#SlidePlaying li");

        // Initial View State of the Data
        jQuery("#ConveyorVideosNext ").css({ "display": "block" });
        jQuery("#FeaturedVideosNext ").css({ "display": "none" });
        jQuery("#TimerAnimationWrapper").css({ "display": "none" });


    },
    enableNextVideo: function() {

        slidingModalContainer.data.playNextEnabled = true;
    },
    disableNextVideo: function() {

        slidingModalContainer.data.playNextEnabled = false;
    },
    videoEndReached: function() {
        // Set Timer at far left...

        slidingModalContainer.data.playNextVideo = true;

        // start the animation
        var deltaPosition = 180;
        if (slidingModalContainer.data.playNextEnabled) {
        jQuery("#SlidingWhiteForeground").css({ "left": "-180px" });
        jQuery("#TimerAnimationWrapper").css({ "display": "block" });
            jQuery("#SlidingWhiteForeground").animate({ "left": "+=" + deltaPosition + "px" }, 10000, function() {
                slidingModalContainer.backgroundMoveCallback();
            });
        }
    },
    backgroundMoveCallback: function() {
        // Animation Complete
        // Hide the wrapper;
        jQuery("#TimerAnimationWrapper").css({ "display": "none" });
        // get the next video as displayed in cards and play;
        if (slidingModalContainer.data.playNextVideo) {
            var nextVideoName = slidingModalContainer.data.playList.filter(":eq(" + smallSlidingVideoSelector.controller.data.currentIndex + ")").html();
            slidingModalContainer.data.playMode = "autoplay";
            showVideoInPopup(nextVideoName);
        }
    },
    switchPlaylists: function(listID) {


    if (listID === slidingModalContainer.data.currentListID) {
        }
        else {
            if (listID === 1) {
                slidingModalContainer.data.currentListID = 1;
                jQuery("#ConveyorVideosNext").css({ "display": "block" });
                jQuery("#FeaturedVideosNext").css({ "display": "none" });
                slidingModalContainer.data.playList = jQuery("#PlayListCards li");
                slidingModalContainer.data.endCardSlides = jQuery("#EndCardList li");
                slidingModalContainer.data.whilePlayingSlides = jQuery("#WhilePlaying li");
                slidingModalContainer.data.worksWithSlides = jQuery("#WorksWithPlaying li");
                slidingModalContainer.data.matchingPlayingSlides = jQuery("#SlidePlaying li");
                smallSlidingVideoSelector.controller.initialize({ slideSpeed: 500, backgroundSlideShift: 0, startingSlide: 1, currentIndex: 0, initialSlideToShow: 1, slideContainerName: slidingModalContainer.data.defaultPlayList });

            }
            else {
                slidingModalContainer.data.currentListID = 2;
                jQuery("#ConveyorVideosNext").css({ "display": "none" });
                jQuery("#FeaturedVideosNext").css({ "display": "block" });
                slidingModalContainer.data.playList = jQuery("#PlayListVideos li");
                slidingModalContainer.data.endCardSlides = jQuery("#EndCardListVideos li");
                slidingModalContainer.data.whilePlayingSlides = jQuery("#WhilePlayingVideos li");
                slidingModalContainer.data.worksWithSlides = jQuery("#WorksWithVideoPlaying li");
                slidingModalContainer.data.matchingPlayingSlides = jQuery("#SlideForVideoPlaying li");
                smallSlidingVideoSelector.controller.initialize({ slideSpeed: 500, backgroundSlideShift: 0, startingSlide: 1, currentIndex: 0, initialSlideToShow: 1, slideContainerName: slidingModalContainer.data.altPlayList });
            }
        }
    },
    setActiveVideo: function(videoName, listid) {
        var isSelected = false;
        //Evaluate If we are using the correct list of next cards - switch if needed.
        slidingModalContainer.switchPlaylists(listid);
        slidingModalContainer.data.currentVideoName = videoName;
        // DO NOT PLAY NEXT VIDEO UNTIL END REACHED...
        slidingModalContainer.data.playNextVideo = false;

        if (slidingModalContainer.data.playList.length > 0) {
            for (var i = 0; i < this.data.playList.length; i++) {
                var nextHTML = slidingModalContainer.data.playList.filter(":eq(" + i + ")").html()
                if (nextHTML == videoName) {
                    slidingModalContainer.data.currentVideoIndex = i;
                    break;
                }
            }
        }
        smallSlidingVideoSelector.controller.setPosition((slidingModalContainer.data.currentVideoIndex + 1) % slidingModalContainer.data.playList.length);

        var moreInfoHTML = slidingModalContainer.data.whilePlayingSlides.filter(":eq(" + slidingModalContainer.data.currentVideoIndex + ")").html();
        var endCardHTML = slidingModalContainer.data.endCardSlides.filter(":eq(" + slidingModalContainer.data.currentVideoIndex + ")").html();

        slidingModalContainer.data.currentWorksWith = slidingModalContainer.data.worksWithSlides.filter(":eq(" + slidingModalContainer.data.currentVideoIndex + ")").html();
        slidingModalContainer.data.currentMatchingSlide = slidingModalContainer.data.matchingPlayingSlides.filter(":eq(" + slidingModalContainer.data.currentVideoIndex + ")").html();

        // SET THE ILIKE AND BACKGROUND CARD INFORMATION
        jQuery("#MoreInfoOnVideo").html(moreInfoHTML);
        jQuery("#EndCard").html(endCardHTML);
    },
    setNextVideo: function(videoName) {

        var isSelected = false;
        if (slidingModalContainer.data.playList.count > 0) {
            for (var i = 0; i < slidingModalContainer.data.playList.count; i++) {
                if (slidingModalContainer.data.playList.html() === videoName) {
                    slidingModalContainer.data.currentVideoIndex = i;
                }
            }
        }

    }
};