// Constructor
function SCFlyout(fobj1,fobj2,fobj3,ftopoffset,fbtnoffset,fstay){
	coreFO = this;
	coreFO.fobj1 = fobj1; // overall container
	coreFO.fobj2 = fobj2; // tab container
	coreFO.fobj3 = fobj3; // tab button
	coreFO.flytopoffset = ftopoffset; // distance from top of overall container
	coreFO.flybtnoffset = -(fbtnoffset);
	coreFO.fstay = fstay; // auto scroll true/false
	coreFO.flypos = 0;
	coreFO.flyoutFunc = flyoutFunc();
	
	function flyoutFunc(){
		
		var useCore = coreFO;
		$(useCore.fobj2).css("display","block");
		var bodywidth = $(useCore.fobj1).width();
		var flywidth = $(useCore.fobj2).width();
		var flytip = $(useCore.fobj2+' .sc-flyout-tip');
		
		// initial positioning
		$(useCore.fobj2).css("top",useCore.flytopoffset).css("left",(bodywidth));
		// toggle flyout open and close
		$(useCore.fobj3).css("left", useCore.flybtnoffset).toggle(
			function(){
				$(useCore.fobj2).animate({left:(bodywidth - flywidth - 2)+"px"}); useCore.flypos=1; $(this).addClass("sc-flyout-tab-on");}, 
			function(){
				$(useCore.fobj2).animate({left:(bodywidth)+"px"}); useCore.flypos=0; $(this).removeClass("sc-flyout-tab-on");}
		).hover(
			function(){if(useCore.flypos==0){flytip.css('display','block')}},
			function(){flytip.css('display','none')
		});
		// tip appears when page loads
		//flytip.hover(flytip.css('display','block'));
		
		// scroll animation plus top offset
		if(useCore.fstay){
			$(window).scroll(
				function(){
					$(useCore.fobj2).animate({top: ($(window).scrollTop()+useCore.flytopoffset) + "px" },{queue: false, duration: 350});
			});
		}
		// add ID for seperate css control over layout
		//$(".sc-flyout-tab-info").each(function(i){$(this).attr("id",'sc-flyout-tab-info'+i)});
		
		$.fn.processFlyOutOn = function(){
			$(this).addClass("sc-flyout-tab-btn-on");
			$(this).siblings().show("fast");
		}
		$.fn.processFlyOutOff = function(){
			$(this).removeClass("sc-flyout-tab-btn-on");
			$(this).siblings().hide("fast");
		}
		// section toggle showing contents
		$(useCore.fobj2 + " .sc-flyout-tab-btn").toggle(
			function(){
				$(this).processFlyOutOn();
			},
			function(){
				$(this).processFlyOutOff();
			}
		);
		
		// make first section visible
		$(useCore.fobj2 + " .sc-flyout-tab-btn:first").click();
	}
}
