(function($) {
    $.fn.tabify = function() {
        var tabContents = this.children('div');

        var tabList = $('<ul>').addClass('tabs');

        tabContents.first().before(tabList);
        
        tabContents.each(function() {
            var tabClass = $(this).attr('class');
            var tabLabel = $(this).children().first();

            var tab = $('<li>').addClass(tabClass).append(tabLabel);

            if(!tabLabel.is('form')) {
                tab.click(function() {
                    if(!$(this).hasClass('active')) {
                        tabContents.hide();
                        $('div.' + tabClass).show();  

                        $(this).siblings().removeClass('active');
                        $(this).addClass('active');
                    };
                });
            }

            tabList.append(tab);
        });

        tabList.children().first().click();

        return this;
    };
})(jQuery);

