(function($){
 $.fn.tabify = function(options) 
 {
	var defaults = 
	{
	   
	};
	var options = $.extend(defaults, options);
	
	var currentTab;
	var currentHeader;
 
    return this.each(function() 
	{
		obj = $(this);
		if (obj.closest('.ms-SPZone').html() != null)
			return;
		id = obj.attr('id');
		var container = obj.closest('table').parent().closest('table');
		container.after('<div id="webpart-tabs-' + id + '"><ul class="webpart-tabs-header"></ul><div class="webpart-tabs-content"></div></div>');
		
		var header = container.find();
		
		var i = 0;
		container.find('h3').each(function()
		{
			$('<li><a href="#tab'+ ++i + '">' + $(this).text() + '</a></li>').appendTo('.webpart-tabs-header');
		});
		i = 0;
		container.find('div[webpartid]').each(function() 
		{
			if ($(this).find('.webpart-tab-container').html() != null)
				return;
			elt = $(this).detach();
			elt.appendTo('.webpart-tabs-content');
			elt.attr('id', 'tab' + ++i + '-' + id);
			if (i > 1)
			{
				elt.hide();
			}
			else
			{
				currentTab = elt;
				currentHeader = $('#webpart-tabs-' + id + ' > .webpart-tabs-header > li:first');
				currentHeader.addClass('selected');
			}
		});
		
		container.remove();
		$('#webpart-tabs-' + id + ' > .webpart-tabs-header > li').click(function()
		{
			if (currentTab != undefined)
			{
				currentTab.hide();
				currentHeader.removeClass('selected');
			}
			href = $(this).find('a').attr('href');
			href = href.split('#')[1];
			currentTab = $('#webpart-tabs-' + id + ' > .webpart-tabs-content > #' + href + '-' + id);
			currentHeader = $(this);
			currentHeader.addClass('selected');
			currentTab.fadeIn();
		});
    });
 };
})(jQuery);

