(function($) {

    $.fn.tabs = function(config)
    {
        var App = this;
        
        App.config = $.extend({
            tabs: '.tabs',
            panels: '.panels',
            activate: 0,
            currentClass: 'current'
        }, config||{});
        
        return this.each(function() {
        
            var $this = this;
            var tabs = $(App.config.tabs, this).eq(0);
            var panels = $(App.config.panels, this).eq(0);
            var current = null;
            var currentIndex = null;
            
            panels.children().not(':eq('+App.config.activate+')').hide();
            
            tabs.children().click(function() {
                var index = $(App.selector + ' ' + App.config.tabs+' > *').index(this);
                if (current)
                {
                    current.removeClass(App.config.currentClass);
                    panels.children(currentIndex).hide();
                }
                current = $(this);
                current.addClass(App.config.currentClass);
                currentIndex = index;
                panels.children().eq(index).show();
                
                return false;
            });
            
            tabs.children().eq(App.config.activate).click();
            
        });
    
    };

})(jQuery);
