﻿namespace('nnet.sd');

nnet.sd.NavigationTabs = $j.klass({
    initialize: function() {
        this.TopPadding = 10;
        this.TabPanel = null;
        //Ext.onReady(this.initNavigationTabs)
    },

    disableMapTab: function() {
        try {
            this.TabPanel.setActiveTab('CTab');
            this.TabPanel.getItem('MTab').disable();
        } catch (e) { logE("sd.NavigationTabs.disableMapTab", e); }
    },

    selectMapTab: function() {
        try {
            this.TabPanel.getItem('MTab').enable();
            this.TabPanel.setActiveTab('MTab');
        } catch (e) { logE("sd.NavigationTabs.selectMapTab", e); }
    },

    enableMapTab: function() {
        try {
            this.TabPanel.getItem('MTab').enable();
        } catch (e) { logE("sd.NavigationTabs.enableMapTab", e); }
    },

    // event handler so not in context.
    // Needs to have code to set up correct tabs dependent on display.
    initNavigationTabs: function() {
        try {
            SD.NavigationTabs.TabPanel = new Ext.TabPanel({
                renderTo: 'tabs',
                autoHeight: true,
                autoWidth: true,
                defaults: { autoHeight: true },
                plain: true,
                deferredRender: false,
                activeTab: 0,
                layoutOnTabChange: true,
                items: [
                    { contentEl: 'CategoryTab', title: 'Category', id: 'CTab' },
                    { contentEl: 'MapTab', title: 'Map', disabled: true, id: 'MTab' }
                    ]
                });
            SD.NavigationTabs.TabPanel.header.setStyle("padding-top", "5px")
            SD.NavigationTabs.resize();
        } catch (e) { logE("sd.NavigationTabs.initNavigationTabs", e); }
    },

    getHeaderHeight: function() {
        return this.TabPanel.header.getHeight();
    },

    resize: function() {
        var navH = $j("#leftColumn").innerHeight() - this.getHeaderHeight();
        $j("#TreePanel").height(navH);
        $j("#SMLContent").height(navH);
    }

});
