var TAB_HEADER_CLASS = 'header';
var TAB_CONTENT_CLASS = 'content';

var TAB_HEADER_UNSELECTED_CLASS = 'tab-' + TAB_HEADER_CLASS + '-unselected';
var TAB_HEADER_SELECTED_CLASS = 'tab-' + TAB_HEADER_CLASS + '-selected';

var TAB_CONTENT_UNSELECTED_CLASS = 'tab-' + TAB_CONTENT_CLASS + '-unselected';
var TAB_CONTENT_SELECTED_CLASS = 'tab-' + TAB_CONTENT_CLASS + '-selected';

function loadCurrentView(idFamily) {
    switchTab(idFamily, getCurrentView(idFamily).value, true);
}

function getCurrentTab(idFamily) {
    return getCurrentView(idFamily).value;
}

function switchTab(idFamily, tabNum, trueSwitch) {
    if (trueSwitch == true) {
        var i = 1;
        var header = getTabHeader(idFamily, i);
        var content = getTabContent(idFamily, i);
        while (header != null && content != null) {
            header.className = TAB_HEADER_UNSELECTED_CLASS;
            content.className = TAB_CONTENT_UNSELECTED_CLASS;
            header = getTabHeader(idFamily, i);
            content = getTabContent(idFamily, i);
            i++;
        }


        getTabHeader(idFamily, tabNum).className = TAB_HEADER_SELECTED_CLASS;
        getTabContent(idFamily, tabNum).className = TAB_CONTENT_SELECTED_CLASS;
    }
    getCurrentView(idFamily).value = tabNum;
}

function getTabHeader(idFamily, tabNum) {
    return getTab(idFamily, tabNum, 'header');
}
function getTabContent(idFamily, tabNum) {
    return getTab(idFamily, tabNum, 'content');
}
function getCurrentView(idFamily) {
    return eval("document.getElementById('tab_" + idFamily + "_view');");
}
function getTab(idFamily, tabNum, type) {
    return eval("document.getElementById('tab_" + type + "_" + idFamily + "_" + tabNum + "');");
}