var cWindow_Tabs = {
    eventTabLinkClick: function(e) 
    {
        var tab_no = null;
        if ((tab_no = e.target.id.match(/\d+$/))) {                       
            this.setActiveTab(tab_no);
        }
    },
    
    setActiveTab: function(tab_no) 
    {
        if (tab_no != this.selected) {                       
            this.tabs[this.selected].hide();            
            this.tab_links[this.selected].removeClass('selected');
            
            this.tabs[tab_no].show();
            this.tab_links[tab_no].addClass('selected');
            
            this.selected = tab_no;
        }
    }    
};

function Window_Tabs(data)
{  
    this.pc = Window;
    this.pc(data);
         
    for (var f in cWindow_Tabs) {               
        this[f] = cWindow_Tabs[f];        
    }
    
    var _this = this;
    var event_envelope_tab_link_click = function(e)
    {                        
        e.preventDefault();
        _this.eventTabLinkClick(e);
    }  
        
    this.selected = data.selected;        
        
    this.tabs = [];
    this.tab_links = [];       
    this.tabs_count = data.tabs_count;
    for (var i = 0; i < this.tabs_count; i++) {
        this.tabs.push($(_(this.name + '_tab_' + i)));
    
        var tab_link = _(this.name + '_tab_link_' + i);
        jEvent.addEvent(tab_link, 'click', event_envelope_tab_link_click, true);
        this.tab_links.push($(tab_link));        
    }   
}
