(function($)
{
	$.fn.tabs = function(options)
	{
		var tabs = $(this).find(options.tab).find("li").find("a");
		var items = $(this).find(options.content);
		var state = options.state;
		var hash = window.location.hash;
		
		items.hide();
		tabs.filter(":first").parent().addClass(state);
		items.filter(":first").show();
		
		tabs.each(function()
		{
			$(this).click(function()
			{
				if(!$(items).is(':animated') && $(this.hash).is(":hidden")){
					var me = this;
					tabs.parent().removeClass(state);
					$(this).parent().addClass(state);
					
					items.filter(":visible").fadeOut('slow', function(){
						$(me.hash).stop().fadeIn("slow");
					});
				}
				
				return false;
			});
		});
	};
	
	$.fn.panels = function(options)
	{
		var tabs = $(this).find(options.tab);
		var items = $(this).find(options.content);
		var state = options.state;
		
		items.hide();
		tabs.filter(":first").addClass(state);
		items.filter(":first").show();
		
		tabs.each(function()
		{
			$(this).click(function()
			{
				items.hide();
				$(this).next().show();
				tabs.removeClass(state);
				$(this).addClass(state);
				
				return false;
			});
		});
	};
})(jQuery);