﻿// JScript File

// script for hiding/showing tabs in tab-based templates.
// values passed as params are the ClientIDs generated by .NET.
function showHideTabs(tabLabelId, tabPanelId, selTabLabelId, selTabPanelId) {

    var tabLabelPrefix = tabLabelId.substring(0,tabLabelId.length-1);
    var tabPanelPrefix = tabPanelId.substring(0,tabPanelId.length-1);
    
    // hide all and remove style class
    for (var i=1; i<=5; i++) {
        var tabLabelHide = tabLabelPrefix + i;
        if (document.getElementById(tabLabelHide)) {
            document.getElementById(tabLabelHide).className = 'tabby';
        }
        
        var tabPanelHide = tabPanelPrefix + i;
        if (document.getElementById(tabPanelHide)) {
            document.getElementById(tabPanelHide).style.display = 'none';
        } 
    }
    
    // show current one
    document.getElementById(tabLabelId).className = 'active tabby';
    document.getElementById(tabPanelId).style.display = 'block';
    document.getElementById(selTabPanelId).value = tabPanelId;
    document.getElementById(selTabLabelId).value = tabLabelId;
}

// gets called when a tabs page loads and is passed the CliendIDs generated
// by .NET for tab 1. if a tab index is passed in the querystring, that value
// overrides the default value of 1, and that tab is shown.
// DEPENDENCY: createRequestObject() Functionand FORM_DATA delegate in global.js
// NOTE: querystring is case sensitive
function tabsPageLoad(tabLabelId, tabPanelId, selTabLabelId, selTabPanelId) {
    
    // get selected value from querystring
    var qstr = FORM_DATA['SelectedTab']; // TODO: how to get this in javascript?
    
    // if there's a value, override param values
    if (qstr) {
    
        // parse root ClientIDs from params; we need to reuse those
        var tabLabelPrefix = tabLabelId.substring(0,tabLabelId.length-1);
        var tabPanelPrefix = tabPanelId.substring(0,tabPanelId.length-1);
        
        tabLabelId = tabLabelPrefix + qstr;
        tabPanelId = tabPanelPrefix + qstr;
    }
    
    // call function to show desired tab
    showHideTabs(tabLabelId, tabPanelId, selTabLabelId, selTabPanelId);

}
