﻿function ChangeTabView(tab, mode)
{
    /*IE6*/
    if (tab.className != 'selected-tab')
        tab.className = mode == 1 ? 'unselected-tab-hover' : 'unselected-tab';
} 
function FindTabsheet(tabsheets, id)
{
    var idx = -1;
    var children = tabsheets.childNodes;
    for (var i = 0; i < children.length; i++)
        if (children[i].nodeName == 'DIV')
            if ((++idx) == id)
                return children[i];
    return null;
}
function ChangeTabsheetVisiblity(tabsheets, id, visible)
{
    var sheet = FindTabsheet(tabsheets, id);
    sheet.className = visible ? 'tabsheet-visible' : 'tabsheet-invisible';
}
function FillSelectedTabInTabControl(tabber, tabcontrol)
{
    if (tabcontrol.currentSelectedTab == null)
    {
        var divs = tabber.getElementsByTagName('div');
        for (var i = 0; i < divs.length; i++)
        {
            var div = divs[i];                    
            if (div.className == 'selected-tab')
            {
                tabcontrol.currentSelectedTab = div;
                tabcontrol.currentSelectedTabId = i;
                break;
            }
        }
    }
}
function FindTabSheets(tabcontrol)
{
    var tabsheets = tabcontrol.tabsheets;
    if (tabsheets != null)
        return tabsheets;
    else
    {
        var children = tabcontrol.childNodes;
        for (var i = 0; i < children.length; i++)
            if (children[i].nodeName == 'DIV' && children[i].className == 'tabsheets')
                return tabcontrol.tabsheets = children[i];
    }
}
function ChangeTab(nextSelectedTab, nextSelectedTabId)   
{
    var tabber = nextSelectedTab.parentNode;
    var tabcontrol = tabber.parentNode;

    FillSelectedTabInTabControl(tabber, tabcontrol);
    var csTab = tabcontrol.currentSelectedTab;
    var csTabId = tabcontrol.currentSelectedTabId;

    csTab.className = 'unselected-tab';
    nextSelectedTab.className = 'selected-tab';
    
    var tabsheets = FindTabSheets(tabcontrol);
    ChangeTabsheetVisiblity(tabsheets, csTabId, false);
    ChangeTabsheetVisiblity(tabsheets, nextSelectedTabId, true);

    tabcontrol.currentSelectedTab = nextSelectedTab;
    tabcontrol.currentSelectedTabId = nextSelectedTabId;
}
