﻿
/* 
 * Render the tab menu box and show/hide the div for the contents
 */
function RenderTabMenuBox(menuListString, selectedMenu, isDebug) {

    /* private constants */
    var _delimiter = ",";
    var _menuIdPrefix = "menu";
    var _selectedMenuCss = "selected";
    var _unselectedMenuCss = "";
    var _contentPanelIdPrefix = "content";
    var _selectedContendPanelCss = "tab selected";
    var _unselectedContendPanelCss = "tab";

    /* no menu, no box */
    if(menuListString) {
        try {
            var menuList = menuListString.split(_delimiter);
            
            /* If no selectedMenu, use the first one */
            selectedMenu = selectedMenu || menuList[0];
            
            /* Render the tab & attach the event function to onclick */
            for(var i=0; i<menuList.length; i++) {
                var menu = document.getElementById(_menuIdPrefix + menuList[i]);
                
                /* For selected, change the css for list and show the dontents */
                if(menu) {
                    if(menuList[i] == selectedMenu) {
                        menu.className = _selectedMenuCss;
                    }
                    else {
                        menu.className = _unselectedMenuCss;
                    };
                }
                else if(isDebug) {
                    alert("No menu found for " + menuList[i]);
                };
                
                var contentPanelId = _contentPanelIdPrefix + menuList[i];
                var contentPanel = document.getElementById(contentPanelId);
                if(contentPanel) {
                    if(menuList[i] == selectedMenu) {
                        contentPanel.className = _selectedContendPanelCss;
                        contentPanel.style.display = "block";
                    }
                    else {
                        contentPanel.className = _unselectedContendPanelCss;
                        contentPanel.style.display = "none";
                    };
                }
                else if(isDebug) {
                    alert("No content panel found for " + contentPanelId);
                };
            }
        }
        catch(e) {
            /* Don't display any error */
            if(isDebug) {
                alert("[RenderTabMenuBox] Error: " + e);
            };
        };
    }
    else if(isDebug) {
        alert("Invalid menu list!");
    };
};



