(function ($) {
	$.fn.extend({
	
		simpleTabs: function (options) {
			var defaults = {
				fadeEffect: false,
				fadeTime: 1200,
				roundCorn: false,
				rotTime: false,
				roundWrap: "<span class='s-tab-ltc'><span class='s-tab-lbc'><span class='s-tab-rtc'><span class='s-tab-rbc'></span></span></span></span>"			
			};
		
			var opts = $.extend(defaults, options);
			return this.each(function () {
				var obj = $(this);
				
				function nextTab () {
					var currentTab = $(this).find("li.selected").next();
					
					if (! (currentTab.find("a").html())) {
						currentTab = $(this).find("li:first");
					}
											
					currentTab.find("a").click();
				}
				
				function tabClick () {
					var tab = $(this);
					if (!tab.parents("li").hasClass("selected")) {
						var tabRef = tab.attr("href").split('#')[1];
						var tabBox = tab.parents(".s-tabbed").find("." + tabRef);
						var oldTab = tab.parents("li").siblings(".selected");
						var oldTabHtml = oldTab.find("a").parent().html();
						var oldTabRef = oldTab.find("a").attr("href").split('#')[1];
						
						oldTab.removeClass("selected").empty().append(oldTabHtml);
						$("a", oldTab).click(tabClick);
						
						if (opts.fadeEffect){
							var objHeight = tabBox.height() + buttonHeight + 3;
							tab.parents(".s-tabbed").height(objHeight);
							tab.parents(".s-tabbed").find("."+ oldTabRef).fadeOut(opts.fadeTime);
						} else {
							tab.parents(".s-tabbed").find("."+ oldTabRef).hide();
						}
						
						if (opts.roundCorn) { //Add the rounded corners
							tab.wrap(opts.roundWrap);
						}
						
						if (opts.fadeEffect) {
							tabBox.fadeIn(opts.fadeTime)
						} else {
							tabBox.show();
						}
					
						tab.parents("li").addClass("selected");
					}
					
					return false;
				}
				
				if (opts.fadeEffect) {
					var buttonHeight = obj.find(".s-tabs").height();
					
					obj.height(obj.find(".s-tab:visible").height() + buttonHeight + 3).css("position", "relative");
					obj.find(".s-tab").css("position", "absolute");
				}
				
				if (opts.roundCorn) { // Add the rounded corners
					$("ul.s-tabs li.selected a", obj).wrap(opts.roundWrap);
				}
				
				$("ul.s-tabs li", obj).find("a")
					.click(tabClick);
					
				if (opts.rotTime) {
					opts.rotTime = opts.rotTime + opts.fadeTime;
					$(this).everyTime(opts.rotTime, "simpleTabs",
					function () {
						$.fSimpleTabs.nextTab (obj);
					});
					
					obj.hover(
						function () {
							$(this).stopTime("simpleTabs");
						},
						function () {
							$(this).everyTime(opts.rotTime, "simpleTabs",
							function () {
								$.fSimpleTabs.nextTab (obj);
							});
						}
					);
				}
			});
		}
	});
	
	$.extend({
		fSimpleTabs: {
			nextTab: function (obj) {
				var currentTab = obj.find("li.selected").next();
				
				if (! (currentTab.find("a").html())) {
					currentTab = obj.find("li:first");
				}
										
				currentTab.find("a").click();
			}
		}
	});
}) (jQuery);