﻿var tabState = { "selected": 1, "active": 2, "nextday": 3, "inactive": 4 }
var basictabs = {
    data: {
        currentActiveDay: 1,
        currentActiveTab: 0,
        initialTabToShow: 1,
        slides: null,
        day1startrange: 0,
        day2startrange: 0,
        day3startrange: 0,
        day4startrange: 0,
        day5startrange: 0
    },
    initialize: function(options) {
        // load the passed in data
        this.data = jQuery.extend({}, this.data, options);

        // Set slides to be the set of listitems
        this.data.slides = jQuery("#ActiveTabContainer li");

        this.setActiveTab(this.data.initialTabToShow);
        var testFunc = new Function("", "basictabs.setTabFromConveyor();");
        if (typeof (slidingVideoPlayer) != 'undefined') {
            try {
                slidingVideoPlayer.controller.data.OnTimeoutEndFunctionsArray.push(testFunc);
            }
            catch (e) {
            }
        }
        // set the starting ranges based on the TabMappingList Data
        this.data.day1startrange = jQuery("#Day-1-StartRange").html();
        this.data.day2startrange = jQuery("#Day-2-StartRange").html();
        this.data.day3startrange = jQuery("#Day-3-StartRange").html();
        this.data.day4startrange = jQuery("#Day-4-StartRange").html();

    },
    setActiveTab: function(tabToSet) {
        indexToSet = tabToSet - 1;
        if (indexToSet < 0)
        { indexToSet = 0; }
        var currentState = null;
        currentActiveTab = indexToSet;
        for (var i = 0; i < this.data.slides.length; i++) {
            var isSelected = false;
            if (i === indexToSet) {
                this.setState(i, tabState.selected);
            }
            else {
                this.setState(i, tabState.active);
            }
           }
        //updates "Browse all videos" view
        try {
            updateBrowseList(tabToSet);
        }
        catch (err) {
        }
    },
    setState: function(tabIndex, state) {
        var dayChanging = parseInt(tabIndex + 1);
        // Days are active - need only deal with active & selected states
        var classToAdd = state === tabState.selected ? "selectedTab" : "activeTab";
        var classToRemove = state === tabState.selected ? "activeTab" : "selectedTab";
        jQuery("#Day_" + dayChanging + "_Span span p").removeClass(classToRemove);
        jQuery("#Day_" + dayChanging + "_Span  span p").addClass(classToAdd);
    },
    setTabFromConveyor: function() {
        var conveyorIndex = slidingVideoPlayer.controller.data.currentIndex + 1;
        var tabToSet = 0;
        // TO EXTEND _ MAKE THIS AN XML LOOKUP OF THE RANGES
        if (conveyorIndex < this.data.day2startrange) {
            tabToSet = 1;
        }
        else if (conveyorIndex < this.data.day3startrange) {
            tabToSet = 2;
        }
        else if (conveyorIndex < this.data.day4startrange) {
            tabToSet = 3;
        }
        else {
            tabToSet = 4;
        }

        this.setActiveTab(tabToSet);
    },
    setConveyorFromTab: function(tabSelectedID) {
        var conveyorIndex = 0;
        if (tabSelectedID === 1) {
            conveyorIndex = this.data.day1startrange - 1;
        }
        else if (tabSelectedID === 2) {
            conveyorIndex = this.data.day2startrange - 1;
        }
        else if (tabSelectedID === 3) {
            conveyorIndex = this.data.day3startrange - 1;
        }
        else if (tabSelectedID === 4) {
            conveyorIndex = this.data.day4startrange - 1;
        }
        slidingVideoPlayer.controller.setPosition(conveyorIndex);
    }
};