(function($){
	$.fn.tabbedInfo = function(options){
		var defaults = {
			firetab: 0,
			tabbtns: ".tabbtns", // button container
			tabinfo: ".tabinfo", // info container
			tabactive: "tabactive", // active button class
			tabcontactive: "tabcontactive", // active info class
			remotebtns: ".remotetab" // remote button class
		};
		var settings = $.extend({},defaults,options);
		$(".tabbtns").css("display","block");
		// find buttons assign click
		function buildTabs(){
			$(settings.tabbtns+" a").each(function(i){
					$(this).click(function(e){ 
							processTabs(i); 
							// product reviews enabler
							var revtxt = $(this).text();
							var regex = /reviews/i;
							if(regex.test(revtxt)){
								$("#scProductReviewsFrame").each( function(){ 
										$(this).attr({src: $(this).attr("src")});
										$(this).load(function(){$(".scfeaturestatus").fadeOut(400)});
									}
								);
							}
							e.preventDefault();
					});
				}
			);
		}
		// clear tabs/info with empty info
		function clearEmpty(){
			$(settings.tabinfo).each(function(i){
				if($(this).text()==""){
					$(this).remove();
					$(settings.tabbtns+" a").eq(i).parent().remove();
				} else {

				}
			});
			// build tabs when done
			buildTabs();
		}
		// product reviews remote
		$("#scReviewsPInfoAvgRating a").click(function(){
			$(settings.tabbtns+" a").each(function(i){
				var revtxt = $(this).text();
				var regex = /reviews/i;
				if(regex.test(revtxt)){  
					processTabs(i);
				}
			});
		});
		
		// setup remote tab access
		$(settings.remotebtns).click(function(e){ processTabs($(this).attr("name")-1); e.preventDefault();});
		$(".tabbtns").click(
							  function(e){
								  
								}
							);
		
		// process buttons & info when clicked
		function processTabs(tabnum){
			$(settings.tabinfo).css("display","none");
			$(settings.tabbtns+" a").removeClass(settings.tabactive).parent().removeClass(settings.tabcontactive);
			$(settings.tabbtns+" a").eq(tabnum).addClass(settings.tabactive).parent().addClass(settings.tabcontactive);
			$(settings.tabinfo).eq(tabnum).fadeIn(300);
		}
		// fire first button
		clearEmpty();
		processTabs(settings.firetab);
		
	}
})(jQuery);
	
