﻿/* ********************************************************** */
/* Initialise tab manager                                     */        
/* ********************************************************** */
(function() {

    // Add tab to the tab manager.
    if (!ECBCalculator.tabManager.tab4) {
        var tab = ECBCalculatorTab({ index: 3, validationGroupCount: 2 });
        ECBCalculator.tabManager.addTab(tab);
        ECBCalculator.tabManager.tab4 = tab;
    }

    if (typeof ECBCalculator.tabManager.tab4.SetAverageRoomCalculatedIndex !== 'function') {
        ECBCalculator.tabManager.tab4.SetAverageRoomCalculatedIndex = function() {
            var roomAverageIndex = _tab1Tracker.Get('roomAverageIndex');
            var comboRoom = window['_t4p1_AverageRoomsCount'];
            var labelRoom = window['_t4p1_AverageRoomsCountSelectorLabel'];
            if (comboRoom !== undefined) {
                comboRoom.SetSelectedIndex(roomAverageIndex);
                if (labelRoom !== undefined) {
                    labelRoom.SetText(comboRoom.GetText());
                    comboRoom.SetClientVisible(false);
                    labelRoom.SetClientVisible(true);
                }
            }
        };
    }

    /* ********************************************************** */
    /* Genaral Percentage validation for switches                 */
    /* ********************************************************** */
    var totalPercentageInValidation = false;
    if (typeof ECBCalculator.tabManager.tab4.Validate_TotalPercentage !== 'function') {
        ECBCalculator.tabManager.tab4.Validate_TotalPercentage = function(s, e, controlId1, controlId2, controlId3) {
            var value1 = parseInt(window[controlId1].GetValue());
            var value2 = parseInt(window[controlId2].GetValue());
            var value3 = parseInt(window[controlId3].GetValue());
            // Check if total is 100.
            e.isValid = (value1 + value2 + value3 === 100);

            if (!totalPercentageInValidation) {
                // Validate the second and third controls.
                totalPercentageInValidation = true;
                window[controlId2].Validate();
                window[controlId3].Validate();
                totalPercentageInValidation = false;
            }
        };
    }

})();

/* ********************************************************** */
/* Initialise tab                                             */        
/* ********************************************************** */
(function() {

    /* *************************************** */
    /*  Tab4Panel1                             */
    /* *************************************** */

    /* Switch ventilation type to allow either the bathroom or the Comfort */
    if (typeof ECBCalculator.tabManager.tab4.toggleVentilationComfort !== 'function') {
        ECBCalculator.tabManager.tab4.toggleVentilationComfort = function(index, tabIndex) {
            // Toggle input control state.
            var hasComfortVentilation = (index === 0 ? true : false);
            if (hasComfortVentilation) {
                if (tabIndex === 2) {
                    _t4p2_HasBathroomVentilators.SetSelectedIndex(1);
                }
                else {
                    _t4p1_HasBathroomVentilators.SetSelectedIndex(1);
                }
            }
        };
    }

    /* Switch ventilation type to allow either the bathroom or the Comfort */
    if (typeof ECBCalculator.tabManager.tab4.toggleVentilationBathRoom !== 'function') {
        ECBCalculator.tabManager.tab4.toggleVentilationBathRoom = function(index, tabIndex) {
            // Toggle input control state.
            var hasBathroomVentilators = (index === 0 ? true : false);
            if (hasBathroomVentilators) {
                if (tabIndex === 2) {
                    _t4p2_HasComfortVentilation.SetSelectedIndex(1);
                }
                else {
                    _t4p1_HasComfortVentilation.SetSelectedIndex(1);
                }
            }
        };
    }

    /* *************************************** */
    /*  Tab4Panel2                             */
    /* *************************************** */

    /* *************************************** */
    /*  Tab4Panel3                             */
    /* *************************************** */

    /* Control group toggling */
    if (typeof ECBCalculator.tabManager.tab4.toggleVentilationTypeP3 !== 'function') {
        ECBCalculator.tabManager.tab4.toggleVentilationTypeP3 = function(index) {
            // Toggle input control state.
            var validatorState = (index === 0 ? true : false);
            ECBCalculator.toggleInputControlState('_t4p3_VentilationType', validatorState, true);

            // Toggle visibility state.
            var visibilityState = (index === 0 ? true : false);
            KeaneUtils.toggleVisibilityState('_t4p3_div10', visibilityState);
        };
    }

    /* *************************************** */
    /*  Tab4Panel4                             */
    /* *************************************** */

    /* Control group toggling */
    if (typeof ECBCalculator.tabManager.tab4.toggleVentilationTypeP4 !== 'function') {
        ECBCalculator.tabManager.tab4.toggleVentilationTypeP4 = function(index) {
            // Toggle input control state.
            var validatorState = (index === 0 ? true : false);
            ECBCalculator.toggleInputControlState('_t4p4_VentilationType', validatorState, true);

            // Toggle visibility state.
            var visibilityState = (index === 0 ? true : false);
            KeaneUtils.toggleVisibilityState('_t4p4_div22', visibilityState);
        };
    }
})();