(function($){
	$.fn.extend({
		karmatabs: function(config){
			return this.each(function(){
				var tab = $(this).find('div.tabs');
				var tabs = tab.find('div.tab');
				var curHash = $(location).attr('hash');
				
				tab.prepend('<ul class="nav"></ul>');
				var nav = tab.find('ul.nav');
				
				var i = 1;
				tabs.each(function(){
					var tabHeader = $(this).find('h2.tab-title');
					var tabID = tabHeader.attr('id');
					var tabHash = '#'+tabID;
					
					nav.append('<li><a href="'+tabHash+'">'+tabHeader.html()+'</a></li>');
					$(this).attr('id', tabID);
					tabHeader.remove();
					i++;
				});
				
				var navItems = $(this).find('ul.nav a');
				navItems.click(function(){
					tabs.hide();
					tabs.filter(this.hash).show();
					navItems.removeClass('current');
					$(this).addClass('current');
					return false;
				});

				if(tab.find('a[hash='+curHash+']').length == 1){
					tab.find('a[hash='+curHash+']').click();
					$('html, body').scrollTop(0);
				} else {
					navItems.filter(':first').click();
				}
				
				window.onhashchange = function(){
					var curHash = $(location).attr('hash');
					$('a[hash='+curHash+']').click();
				}
			});
		}
	});
})(jQuery);
