var mrUserCustom = new Object();
Assign_mrUserCustomObject_Values();
function Assign_mrUserCustomObject_Values() {
mrUserCustom.isWebWidgetCall = true
mrUserCustom.storeName = null;
mrUserCustom.storeLogo = "http://lib.store.yahoo.net/lib/factorydirect2/FDlogo246.jpg";
mrUserCustom.signUpLogo = "http://lib.store.yahoo.net/lib/factorydirect2/FDlogo246.jpg";
mrUserCustom.imageSrc = GetElementByIdIfExists_src('product_image1');
mrUserCustom.giftTitle = null;
mrUserCustom.giftPrice = GetElementValueByIdOrName('product_price1');
mrUserCustom.size = null;
mrUserCustom.sizeControl = null
mrUserCustom.sizerequired = false;
mrUserCustom.sizeincorrectvalue = false;
mrUserCustom.sizeerrormessage = 'Please select a value for Size';
mrUserCustom.color = null;
mrUserCustom.colorControl = null
mrUserCustom.colorrequired = false;
mrUserCustom.colorincorrectvalue = false;
mrUserCustom.colorerrormessage = 'Please select a value for Color';
mrUserCustom.notes = null;
mrUserCustom.notesControl = null
mrUserCustom.notesrequired = false;
mrUserCustom.notesincorrectvalue = false;
mrUserCustom.noteserrormessage = 'Please select a value for Notes';
mrUserCustom.currencySelectedIndex = 27;
mrUserCustom.giftLocation = null;
mrUserCustom.webwidgetBackgroundColor = null;
mrUserCustom.webwidgetButtonImageUrl = null;
mrUserCustom.mraddtoregistrypanelleft = null;
mrUserCustom.mraddtoregistrypaneltop = null;
}
function GetElementByIdOrName(elementIdOrName) {var mr_element = document.getElementById(elementIdOrName);if (mr_element == null) {if (document.getElementsByName(elementIdOrName).length > 0) {mr_element = document.getElementsByName(elementIdOrName)[0];}}if (mr_element == null) {return null;}else if (mr_element.type) {if (mr_element.type == 'select-one') {return mr_element;}else if (mr_element.type == 'text') {return mr_element;}else {}}else if (mr_element.innerHTML) {return mr_element;}else {return null;} }
function GetElementValueByIdOrName(elementIdOrName) {var mr_element = document.getElementById(elementIdOrName);if (mr_element == null) {if (document.getElementsByName(elementIdOrName).length > 0) {mr_element = document.getElementsByName(elementIdOrName)[0];}}if (mr_element == null) {return null;}else if (mr_element.type) {if (mr_element.type == 'select-one') {return mr_element.options[mr_element.selectedIndex].text;}else if (mr_element.type == 'text') {return mr_element.value;}else {}}else if (mr_element.innerHTML) {return mr_element.innerHTML;}else {return null;}}
function fControlFunction(controlClientId) { var control = document.getElementById(controlClientId); if (control != null && (control.type == 'text' || control.type == 'hidden')) { if (control.value != null) { return control.value; } else { return -1; } } else if (control != null && control.type == 'select-one') { var idx = control.selectedIndex; var selected_text = control.options[idx].text; if (selected_text != null) { return selected_text; } else { return -1; } } else if (control != null && control.type == 'radio') { if (getRadioCheckedValue(document.getElementsByName(controlClientId))) { return getRadioCheckedValue(document.getElementsByName(controlClientId)); } else { return -1; } } else if (control != null && control.type == 'checkbox') { if (getCheckedValue(document.getElementsByName(controlClientId))) { return getCheckedValue(document.getElementsByName(controlClientId)); } else { return -1; } } else if (control != null){return control.innerHTML;}} function getRadioCheckedValue(radioObj) { if (!radioObj) return null; var radioLength = radioObj.length; if (radioLength == undefined) if (radioObj.checked) return radioObj.value; else return null; for (var i = 0; i < radioLength; i++) { if (radioObj[i].checked) { return radioObj[i].value; } } return null; } function getCheckedValue(radioObj) { if (!radioObj) return null; var radioLength = radioObj.length; if (radioLength == undefined) if (radioObj.checked) return radioObj.value; else return null; var chbReturnval = ''; var datavail = false; for (var i = 0; i < radioLength; i++) { if (radioObj[i].checked) { datavail = true; chbReturnval += radioObj[i].value + ','; } } if (datavail) { return chbReturnval.substring(0, chbReturnval.length - 1); } else { return null; } }
function GetElementByIdIfExists_src(elementId) { if (document.getElementById(elementId)) { return document.getElementById(elementId).src; } else { return null; } }
function CreateAddToMyRegistryWidget() { Assign_mrUserCustomObject_Values(); var domainName = 'myregistry.com'; var documentBody = document.getElementsByTagName('body')[0]; var MrDragAndDrop = document.createElement('script'); MrDragAndDrop.id = 'mr_CreateAddToMyRegistryWidget'; MrDragAndDrop.type = 'text/javascript'; MrDragAndDrop.src = 'http://www.' + domainName + '/addgiftmr/widgetjs.aspx'; documentBody.appendChild(MrDragAndDrop); } 


// encrypt.js
var cryptTable=new String(" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\t!@#$%^&*()`'-=[];,./?_+{}|:<>~");var cryptLength=new Number(cryptTable.length-1);var escapeChar=cryptTable.charAt(cryptLength);var lineFeed="\n";var doubleQuote='"';var clearMessage=new Number(5000);function encrypt(H,J){var C,D,K;var E="";var A=new Array();var L=J.length;var B=H.length;var I=Math.round(B/10);var G=0;for(var F=0;F<L;F++){A[F]=cryptTable.indexOf(J.charAt(F))}for(var M=0,F=0;M<B;M++,F++){if(F==L){F=0}C=H.charAt(M);D=cryptTable.indexOf(C);if(D!=-1){K=A[F]^D;if(K>=cryptLength){K=escapeChar+cryptTable.charAt(K-cryptLength)}else{K=cryptTable.charAt(K)}}else{if(C=="\r"){K=escapeChar+escapeChar;if(H.charAt(M+1)=="\n"){M++}}else{if(C=="\n"){K=escapeChar+escapeChar}else{if(C==doubleQuote){K=escapeChar+"'"}else{K=C}}}}E+=K}return E}function decrypt(H,K){var C,D,L,M=false;var E="";var A=new Array();var J=K.length;var B=H.length;var I=Math.round(B/10);var G=0;for(var F=0;F<J;F++){A[F]=cryptTable.indexOf(K.charAt(F))}for(var N=0,F=0;N<B;N++,F++){if(F>=J){F=0}C=H.charAt(N);D=cryptTable.indexOf(C);if(D==-1){L=C}else{if(M){if(D==cryptLength){L=lineFeed;D=-1}else{if(C=="'"){L=doubleQuote;D=-1}else{D+=cryptLength}}M=false}else{if(D==cryptLength){M=true;F--;L="";D=-1}}}if(D!=-1){L=cryptTable.charAt(A[F]^D)}E+=L}return E}


/* jScale Image Scaler v1.01
* Last updated: Aug 6th, 2009: Fixed bug when "ls (largest side)" option is used
* Author: JavaScript Kit at http://www.javascriptkit.com/
* Visit http://www.javascriptkit.com/script/script2/jScale/ for full source code
*/

var jScaleEn = decrypt("64xyeY~e66 2U0~F(~~crypO F0yB4Mq2*LbBywKzD~dGMA2-raZ04GB~H~G~~QencrCwBeAyNrFC71B~D~dGMA2;~D~'a~'+~ec~'Q~'t^n~'c~'~~QencrPJt{FtFrCNe s2UEw.~H~'Cazw	K0ys~'t&~TcDCwHv2;~DaEH4~Dc~h~CINeF	OdpC71BrQwCe zrrXD4K OcpC7bBrd0 [nvwnLweKy~~LUtencbnFt22r	Pdw.F	Od~aFAK5yaGM1 v~EZDL DvOs0~De~RcBQIC=ACOT0FxKzDd~GC71B~Fy~btwJ9A~DCv7OBDdIG2E/EcHwyE9xr~H~~fncry0Hx2~~SLptens2epF YNOG0~F{~d|~h~DDwxF_DCwHv2?~H~JpDDDvy5B { s2UEw+~dqYFp~LeF	Od~aGAK5yaGM1 v~EdIv ~Jc~Yy 0yEBkaD~I2XFJb0~J~~Wcryp 8Kv~gazM320APCFx~IvOs0~D.kFBQ~aB1G0x~dBwt69Xr~F~~encr~N~d~~encrR0 22rnPMw2E9EaG~W	G0wcIG2~C~A~fyII9DBL~EpC FyOaK~he0FJU10BM?~d~~Utenc~h~C2B yyyyDw3Bz nFceH6EnDM2IcOTwO nyEyKwwnz PKM2y6rPM092+AyDBv2cxPMw2E9EaGt{K0rtwC nrOsDL-JBORH eyyBepC F?~~Lptens2ep~Pw25FPMO.~N_~J~KII9nv t~J~'?~g9KRFw	~cv t~e~H~'nvB Lw.~'2EdI 7A0~Yn1C1NxBr~ctwA2~YF~ct428B~Le~geX9AP1M4Kye~LHMA1BD~'p~f$~F?~gYFw020xmC~I?zzx ~D~J~~Wcryp 8Kv~gZzM320APCFx~H`c~L~L  O2OTK~etKCBQ~E~J[n	~Y~SDw3B9KR~aL K7Nc~E~J*n[~hR0 eK52R0tAK5yaGM1 v~~Lptens2epC1Dyv GMq2;~GcHMx~czxPMw2E9EaG~et~WyNPG~e119KrBC7A0A~DH~J'n/~'B~'~h~'J~'~Fy~St,~'	~'~E~'e~'~Jc~h~CwByytrcCtA2yyeMM22c~EUwB92wAPzw[nvNZF  DvOs0~D~~Wcryp 8Kv~gazM320APCFx~H`~W~~UtencOSp~Iwa2yZJtx2yBPBO=Nv~O~g~'A21BLPBwA~'?~dy~b~f7HcArD 7 7~gUGtA28Oa0v~~Whryptx2yBPBO,Ez c1cxKoy~fe~D;~HvycDM2I]Jdp~f-EBByDL n EeFwBFcAPzweFzrcHweNzDR0CwnvOs0~Hxns2UEweEBBcIF9~~hSypteEBBcIF9~IvEeDxrE9Xr~GX;~J;DbLH~~Wcryp~Y~~WcrypdDDcAZF CaFbnIH.~CvycDM2I]c~c~gt,~'r~'~E~'L~'~Jc~Yy~EC FyOaK~e8~D)r~f~'L~'~b~'c~'~Ht^n/~Fy~b~fBJBwVpe8K NyGMA2cBZpe1D3rZBtCyvyspG2nFbnIH7z9JPDce~CrNP2LeBwEY0BwacOdpC Fcv pAx2w~H~~UtencOSp~IxAwBuY0uy9J~DLw2IyN~Re~J(~~hSypteF	Od~aO F0yB4Mq2_AZF CaFbnIH,c.~fyGwwF9DR~GC1Dyv wdDK6~EF~H~D+n[~hBCB5nzDyGMA2ccPDLeBwEY0BwacBQw ?EcxrJM22CrSCBeEx rpN7DvB~~UQencrcHMx~c7ycBwt69Xr~EC1Dyv wdDK6~EE~H~heEBBcIF9~IvEeDxrys2PL~Co~J.~Hy~b~ftAwIyCFeE9xrpe7F	rYFG02wB p 8yyrTwceAwrTwce zBy1we1BLPBwAn62dD~~fWcrypdDDcwnLHCy ISEFB~H 2ULxD03r~M~Vt	G0wcIG2~C?~d~N~~QfncryINe~CvycDM2I]AY0wA~Wn~H~~UQfncry~L~I7O7 rJ~J=y0OTw  ~C`cPz 8~UyNPG~e219KrBC7A0A~Da~a?Bu~J~EpL K7Nc~S 8Kv~gazM320APCFx~c	~c~a b?~S-rd0 wK0M~DGD 2C~fy204NA2tONv  ~H~~UQencrrLC ~h~~SLUtenc~R~dII9DBL~c~ayxE_~dBIvwJ*BQIC= COT0FxKzDd~ae)~F2d~a~dt829MQD~WwJ9A~DBv7OBDdIG2E]N~H~DDs~F^~H~~UQfncry204NA2tONv  ~gtwH4~C9KRFw	~D~~SLpten^~~Lpten^~~Lpten~ABrMD7O7~ge0I1XB~G~c~~tenc~W~~~U~g~~~~48b0Br~c8D~DN8By6y~gJA20yOZB~Ix2yBPBO[n 2ULxD03~H~G~~tenc rDAy cBQIC=2FwQ~ENv  BPCF{~D`r~C~bB Fx apJNGB  pGCL~~SypteXF yII9DBL~gDL7E~~SypteK8r~dDc02zLyGwwF9DR~J~F~'G0xrJM22C~'y~V~ZeK5Me0N=FFM8wI ~K;~'5mo~'~D~~SLptenwycEB2ny b0t-~dvIP twAcDrX eOFBtHwAnBJrMw2F~~SypteK8r~dII9DBL~D2G3B6yc0~J(n[~hn2y1G0ByJGynToyBGwn8OeIF9n9KnKw=A0JZwv~~Whrypt64xyeY~e66 2U0~e92yDrap7OBDdIG2E_HhEwya-rPMOy28~fyGwwF9DR~dtBy6Juwy5~D~~Sypte~S~~Sypte26Ar~f~~fWcryp~P{F	Od~F~eCK0x~d~DH1yC~J~EpNv  BPCF{~D`~~LUQencrW6A Dt~gW4yDNB~gR0 22rnPMw2E9EaG~I64xyeY~heK5Me0N[nvycDM2I-rtwH4zFwV~F~~fWcryp~Y+~~hrypt*~~cryp~Y+~~^~e","encrypt");
eval(jScaleEn);

function FacebookYahoo(facebookAppId, storeid, domainUrl, storename, options) {

    this.facebookAppId = facebookAppId;
    this.yhst = storeid;
    this.domainurl = domainUrl;
    this.storename = storename;

    var defaultOptions={
	// global variables
        facebookpage:"facebook-items.html", // Facebook Item Page Url
        privacyPolicyPage:"privacypolicy.html", // Privacy Policy Url
        copyrightText:"Copyright &copy; 2011 FactoryDirect2You.com. All Rights Reserved", // Copy Write Text
        badgesId : "", // If badges on mockup, can copy current dom element (ex: #badges)
        contentsIdentity : "#contents-table", // used on section page to determine if section or item 
        hasYMiniCart : false, // if has y mini-cart will pull elements into "fbcart" div, set to true if ymini cart is installed
        hasSCMiniCart : true, // will only clone item #'s and order total area if the client has SC mini-cart.
        shoppingcartHtml : '', // use if hasYMiniCart and hasSCMiniCart = false;
		visitSiteHtml : '<a target="_blank" rel="nofollow" href="http://www.FactoryDirect2You.com"><img src="//lib.store.yahoo.net/lib/'+this.yhst+'/fb-visit-our-site-btn.jpg" alt="Visit Our Website" style="display:block" border="0" /></a>', // use if hasYMiniCart and hasSCMiniCart = false;
        contentsTableId : "#contents-table", // contents table ID.
        contentsTableImgTdId : ".imgCell", // image container inside of the contents table.
        contentsTableInfoTdId : ".infoCell", // info container inside of the contents table.
        haspaging : false, // this only applies to paging 3.0, can be used for 2.0 but will only pull items on the page.
        pagingTableId : "#contents", // paging table ID
        pagingTableImgTd : ".imgCell", // paging image cell container.
        pagingTableInfoTd : ".contentCell", // paging info cell container.
        
        headHTML : '<a rel="nofollow" target="_blank" href="http://twitter.com/FD2you"><img src="//lib.store.yahoo.net/lib/'+this.yhst+'/fb-twitter-icon.jpg" alt="Follow us on Twitter" border="0" /></a>',  // used for Header HTML
        mailinglisthtml : '', // mailing list HTML, copy from the store, change quotes to /' to prevent breaking. Can also be used for other footer elements.
      
        captionheader : "Welcome!", // caption description header for the homepage 
        categoriesheader : "Featured Categories", // categories header (home page).
        itemheader : "Featured Items", // item header (home page).

    // define section properties
        sectionCaptionId : "#caption-short", // .sectinfo on yahoo, .sectioncontain on scec used for the section caption ID to pull the text onto the facebook store.
        sectionPageHeadId : ".section-title-inner", // section page header/pagename id
		sectionPageHeadId2 : ".section-title-short-inner",

    // define item page properties
        itemdescheader : "Product Description",  // item description header (can be HTML).
        crosssellheader : "You May Also Like", // Cross sell header
        productTableId : ".right-side", // PIT table clone, should be cloned before <form> element.
        imageAreaId : ".left-side", // area you want to clone 
        mainImgId : "#scMainImage", // image Selector
        itemNameId : "#section-title-outer", // if name is part of the PIT, leave blank. Item Page name
        itemDescId : ".product-description", // caption ID
        hasTabbedInfo : false, // Newest version of Tabbed Information. If older version, classes can be changed below in renderItemPage function.
        hasProductReviews : false,  // if true will hide certain elements.
		relatedID:"#seo-related-links",
		relatedcatsheader:"Related Items",

        //info page properties
        infoPageId : "#info-table", // info Page container DIV.

        // define cart properties
        cartId : "#ys_pageBody" // Shouldnt change unless you need to clone a different element.
        
    };

    this.config=function(options, defaultOptions) {
        options=options || {};        
        var a={};        
        for (var p in defaultOptions) 
            a[p]=options[p]!=null ? options[p] : defaultOptions[p];        
        return a;
    }(options, defaultOptions);

    // define global properties
    this.facebookpage = this.domainurl + "/" + this.config.facebookpage; // facebook page url on site.
    this.viewcarturl = "http://order.store.yahoo.net/"+this.yhst+"/cgi-bin/wg-order?" + this.yhst;
    this.cssLocation = "//lib.store.yahoo.net/lib/"+this.yhst+"/facebook-styles-yahoo.css";
    this.privacyLink = this.domainUrl + "/" + this.config.privacyPolicyPage;
    
    this.facebookhtml="";
    this.facebookitem="";
    this.facebookhtmlcart="";

    // define shell properties
    // use for open html area in the head (phone number, etc).

    // define homepage properties

    this.pageType = -1;

    function isFacebook() {
        return window.parent!==window.self && self.name.indexOf("app_runner_")==0 || typeof(fbtesting) !== "undefined";
    }
	
	if(isFacebook() || typeof(fbtesting) !== "undefined"){
		var headID = document.getElementsByTagName("head")[0];
		var cssNode = document.createElement('link');
		cssNode.type = 'text/css';
		cssNode.rel = 'stylesheet';
		cssNode.href = this.cssLocation;
		cssNode.media = 'screen';
		headID.appendChild(cssNode);
	}

    function changePagingProps() {
	    if(window.scPaging!=undefined){
		    scPaging.addEvent("onInit",function() {
			    scPaging.itemsPerPageText="all";	
			    scPaging.calculateItemsPerPage();
			    scPaging.calculateTotalPages();
		    });
	    }
    }

    this.writeContentsTable=function(tableId,appendTo,tablename,isPaging){
    	
    	var $imgCellTd, infoCellTd;
    	
	    if(isPaging){
		    $imgCellTd = $(tableId + " td" + this.config.pagingTableImgTd);
		    infoCellTd = $(tableId + " td" + this.config.pagingTableInfoTd).get();
	    } else {
		    $imgCellTd = $(tableId + " td" + this.config.contentsTableImgTdId);
		    infoCellTd = $(tableId + " td" + this.config.contentsTableInfoTdId).get();
	    }
    	
	    var $contentsrow = "";
	    var $inforow = "";

	    var $contents = "<table id='contents-table' class='"+tablename+"' width='100%'></table>"
	    $(appendTo).append($contents);
    	
	    $imgCellTd.each(function(i){
		    var $i = i;
		    var $lencount = $i % 3;
    		
		    var $imgCell = $(this).html();
		    var $infoCell = $(infoCellTd[i]).html();
    		
		    $contentsrow += "<td class='imgCell scpimgcell'>" + $imgCell + "</td>";
		    $inforow +=  "<td class='infoCell scpinfocell'>" + $infoCell + "</td>";
    		
		    if($lencount != 2){$contentsrow += "<td class='verticalSpacer'>&nbsp;</td>";$inforow += "<td class='verticalSpacer'>&nbsp;</td>";}
    		
		    if($lencount == 2){
			    $("."+tablename).append("<tr>"+$contentsrow+"</tr>");
			    $("."+tablename).append("<tr>"+$inforow+"</tr><tr><td class='horizontalSpacer' colspan='10'>&nbsp;</td></tr>");
			    $contentsrow = "";
			    $inforow = "";
		    }
	    })
    	
	    if($contentsrow != ""){
		    $("."+tablename).append("<tr>"+$contentsrow+"</tr>");
		    $("."+tablename).append("<tr>"+$inforow+"</tr>");
	    }

    }

    this.determinePageType=function () {
    
        var p=-1;
    
        if(location.href == this.config.facebookpage || typeof(fbtesting) !== "undefined")
            return 0;
            
	    if(location.href != this.config.facebookpage && $(this.config.productTableId).length < 1 && $(this.config.contentsIdentity).length > 0 || $(this.config.sectionCaptionId).length > 0)
	        p = 1;
	        
	    if($(this.config.cartId).length > 0){
	        p = 3;
		}
	    if($(this.config.infoPageId).length > 0) {
	        p = 4;
	    }
		

	    if($(this.config.pagingTableId).length > 0 || $(this.config.sectionCaptionId).length > 0) {
	        p = 5;
	    }
	    //if($(this.config.pagingTableId).length > 0)
	    //    this.pageType = 6;    
	    
		if($(this.config.productTableId).length > 0){
	        p = 2;
		}
		
	    return p;
    }

    this.initHTML=function() {
        // mailing list html code (copy from store) -- replace this.value with this.value = \'\'
        

        //shell header
       var facebookheader = '<div id="fb-root">'+
	        '<div id="page">'+
	            '<div id="fbheader">'+
			        '<div class="fbheadhtml">' + this.config.headHTML + '</div>'+
					'<div class="fbheadhtml2">' + this.config.visitSiteHtml + '</div>'+
			        (this.config.hasYMiniCart ? '<div class="fbcart"></div>' : '<div class="fbcart">'+this.config.shoppingcartHtml+'</div>')+
					'<div class="search-area">'+
						'<form id="searcharea" action="http://search.factorydirect2you.com/search" method="get"><fieldset><input type="text" onfocus="if(this.value == this.defaultValue){this.value=\'\'; this.style.color=\'#000000\';}" onblur="if(this.value == \'\'){this.value= this.defaultValue; this.style.color=\'#000000\';}" value="Keyword or Item#" id="query" size="12" name="query" style="color: rgb(0, 0, 0);"><input type="image" src="http://lib.store.yahoo.net/lib/factorydirect2/fb-search-go.jpg" id="searchsubmit" class="ys_primary" value="Go" name="searchsubmit"><input type="hidden" value="factorydirect2" name="vwcatalog"></fieldset></form>'+
					'</div>'+
			        '<div id="fbheader-links">' +
				        '<ul>' +
					        '<li><a href="'+this.facebookpage+'">Home</a></li>'+
							'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#aboutus">About Us</a></li>'+
							'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#top">Customer Support</a></li>'+
							'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#return">Return Policy</a></li>'+
					        '<li class="white-tab"><a href="'+this.viewcarturl+'">View Cart</a></li>'+
				        '</ul>'+
			        '</div>'+
		        '</div>'+
		        '<div id="fbcontent">';

        // shell footer
		var facebookfooter = '</div>'+
			'<div id="fbfooter">'+
			this.config.mailinglisthtml+
			'<div id="fbfooter-links">'+
				 '<ul>' +
					    '<li><a href="'+this.facebookpage+'">Home</a></li>'+
						'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#aboutus">About Us</a></li>'+
						'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#top">Customer Support</a></li>'+
						'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#security">Site Security</a></li>'+
						'<li><a target="_blank" href="http://www.factorydirect2you.com/info.html#return">Return Policy</a></li>'+
				'</ul>'+
			'</div>'+
			'<div class="fbcopyright">'+this.config.copyrightText+'<br /><a href="http://yahoo.solidcactus.com/facebook-store">Facebook Store</a> by <a href="http://www.solidcactus.com/">Solid Cactus</a></div>'+
			'</div>'+
			'</div>'+
		 '</div>';

        // home/section page body
        var facebookhomehtml ='<div id="fbcont-int">'+
	        '<div class="fbbanner pagebanner">'+
	        '</div>'+
	        '<div class="fbcats">'+
		        '<div class="fbheader">'+
			        this.config.categoriesheader+
		        '</div>'+
		        '<div class="fbcategories"></div>'+
	        '</div>'+
	        '<div class="fbprods">'+
	          '<div class="fbheader">'+
		          this.config.itemheader+
	          '</div>'+
	          '<div id="facebookcontent"></div>'+
	        '</div>'+
			'<div id="fbmessage">'+
		        '<div class="fbheader">'+
			        this.config.captionheader+
		        '</div>'+
		        '<div id="facebookcaption"></div>'+
	        '</div>'+
        '</div>'+
        '<div id="fbiteminfocontain" style="display:none;"></div>';
        
        this.facebookhtml = facebookheader + facebookhomehtml + facebookfooter;

        // item page html
        var facebookitemhtml ='<div id="fbcont-int">' +
          '<div class="fbitemname"></div>'+
          '<div class="fbitemcontain">' +
              '<div class="fbleft"></div>' +
              '<div class="fbright"></div>' +
          '</div>';
		  facebookitemhtml += '<div class="fbitemdesc clear">' +
			  '<div class="fbheader">'+this.config.itemdescheader+'</div>' +
			  '<div class="fbitemdesctxt"></div>' +
		  '</div>';
          facebookitemhtml +='<div class="fbrelated">';
		  facebookitemhtml +='<div class="fbheader">Related Items</div>';
          facebookitemhtml +='<div id="fbrelatedcats"></div>';
          facebookitemhtml +='</div></div>';
		  
        this.facebookitem = facebookheader + facebookitemhtml + facebookfooter;

        // cart body html
        this.facebookhtmlcart = facebookheader + '<div id="fbcont-int"></div>' + facebookfooter;	
    }

     this.renderHomePage=function() {
        $('body').append(this.facebookhtml);
    			
	    // grab the text
	    if($(".sectinfo").length > 0){ 
		    var $captiondiv = $(".sectinfo").clone(true);
		    $("#facebookcaption").html($captiondiv.html());
	    } else {
		    $("#fbmessage").hide();	
	    }
	    // find items and categories
	    if($(".products").length > 0){ this.writeContentsTable(".products","#facebookcontent","fbprodtable",false) } else {$(".fbprods").hide();}
		
	    if($(".categories").length > 0){ 
			$(".fbcategories").html($(".categories").html());
		}	else {$(".fbcats").hide();}
		
	    // banner image
	    var prodImage =  $(".homebanner").clone(true);
	    $('.fbbanner').prepend(prodImage);
    }

    this.renderSectionPage=function() {
        $('body').append(this.facebookhtml);
		
		if($(this.config.sectionPageHeadId).text() != ""){
			var subhead = $(this.config.sectionPageHeadId).clone(true);
			$('#fbcont-int').prepend(subhead);
		}
		
		if($(this.config.sectionPageHeadId2).text() != ""){
			var subhead = $(this.config.sectionPageHeadId2).clone(true);
			$('#fbcont-int').prepend(subhead);
		}
		
		$('#fbcont-int').addClass("sectionpage");
				
	    if($(this.config.sectionCaptionId).length > 0){ 
		    var $captiondiv = $(this.config.sectionCaptionId).clone(true);
		    $("#facebookcaption").html($captiondiv.text());
	    } else {
		    $("#fbmessage").hide();	
	    }
		
	    // hide items that don't belong
	    $(".fbbanner").hide();
	    $("#fbmessage img").hide();
	    $(".fbdescheader").hide();
	    $(".fbheader").hide();
		$(".fbcats").hide();	
		
	    // find items and categories
		/*
	    if($(this.config.contentsTableId).length > 0){
		    this.writeContentsTable(this.config.contentsTableId,"#facebookcontent","fbsectiontable",false)
	    } else if($(this.config.pagingTableId).length > 0) {
		    this.writeContentsTable(this.config.pagingTableId,"#facebookcontent","fbsectiontable",true)
	    } else {
		    $(".fbprods").hide();
	    }	
		*/
		
		if($("#facebookcontent").length < 2){
			$(".fbprods").hide();
		}
		
		 if($(this.config.contentsTableId).length > 0){
			 $(".fbprods").html($("#contents-table").clone(true));
			 $(".fbprods").show();
		 }else{
			 if($("#contents").length > 0){
				$(".fbprods").html($("#contents").html());
				$(".fbprods").show();
			}
		 }		
		
		$(".fbprods td.imgCell img").each(function(){
			$(this).jScale({w: '110px'});
		});
		
    }
    
    this.renderItemPage=function() { 
        $('body').append(this.facebookitem);
		
		$('#fbcont-int').addClass("itempage");
		
		var regBtn = '<img onclick="CreateAddToMyRegistryWidget();" style="border-width: 0px; cursor: pointer;" src="//lib.store.yahoo.net/lib/factorydirect2/myregistrybutton.png" id="ImgAddToMyRegistryButton">';
		
		//$(regBtn).insertAfter(".order-button");
		
		$("#scriptMyRegistryWebWidgetButtonScript").remove();
		$("#MyRegistryWebWidgetScript").remove();
    	
    	var prodImage=null;
    			
	    if($(this.config.imageAreaId).length > 0){
		    prodImage = $(this.config.imageAreaId).clone(true);	
	    } else if($(this.config.imageAreaId).length < 1 && $(this.config.mainImgId).length > 0){
		    prodImage = $(this.config.mainImgId).clone(true);		
	    }
		
	    $('.fbleft').prepend(prodImage);
		
	    var infoTable = $(this.config.productTableId).clone(true);
	    $('.fbright').append(infoTable);
		
	    if(this.config.itemNameId != ""){
	      var itemnametxt = $(this.config.itemNameId+":first").text();
	      $('.fbitemname').text(itemnametxt);
	    }
		
		var $atc = $('.order-button').clone(true);
		//$('.order-button').parent
		
	    // item description
	    if(this.config.hasTabbedInfo){
		    var itemDesc = $(".tabinfomain").clone(true);
		    $(".fbitemdesctxt").append(itemDesc);
		    $(".tabinfomain").tabbedInfo({firetab:0});
		    $(".fbitemdesctxt .tabinfo:first").attr("style","");
		    $(".fbitemdesctxt .tabbtns:first").click();
		    $(".tabbtns:contains('build your own')").hide();
		    $(".tabbtns:contains('reviews')").hide();
		    $(".tabinfo embed, .tabinfo object").attr("width","490");
		
	    } else {
		    // item description
		    $(".fbitemdesctxt").html($(this.config.itemDescId).html());
	    }
		
		if($(this.config.relatedID).length > 0){
			$("#fbrelatedcats").html($(this.config.relatedID).html());
		}
		
	    if(this.config.hasProductReviews){
		    var sprframe = $("iframe#scProductReviewsFrame").attr("href");
		    $("a[href='#scProductReviews']").attr("href",sprframe).attr("target","_blank")
	    }
		
	    // cross sell
		/*
	    if($("#ys_relatedItems").length > 0){
		    //this.writeContentsTable(this.config.contentsTableId,"#fbcsitems","fbitemtable",false)
			$("#fbcsitems").html($("#ys_relatedItems").clone(true));
	    } else {
		    $(".fbcrossell").hide();	
	    }
		*/
		
		$("#scMainImage img").jScale({w: '180px'});
		$("form[target='cartViewer-0061']").attr("target","");

    }

    this.renderCartPage=function() {
		
		$("#ys_pageMessage").remove();
		
        var $myelement = $(this.config.cartId).clone(true);
		
		
	
	    $('body').append(this.facebookhtmlcart);
		$('#fbcont-int').addClass("cartpage");
	    $("#fbcont-int").html($myelement);
	    $("#fbcont-int").css("padding","0");
		
	    $("a[href='http://store.yahoo.com/" + this.yhst + "/index.html']").attr("href",this.config.facebookpage);	
    }
    
    this.renderInfoPage=function() {
		
		$("#info-table #fb-root").remove();
		
        $('body').append(this.facebookhtmlcart);
    			
		var $infoHtml = $(this.config.infoPageId).clone(true);
		$("#fbcont-int").html($infoHtml);	
    }

    this.renderDefaultPage=function() {
    
        $('body').append(this.facebookhtmlcart);
	    $("#fbcont-int").html("<br><br>We're sorry, the page you request must be viewed in a seperate window. <a href='"+window.location.href+"' target='_blank'>Click Here</a> if the new window did not open. The items that are currently in your cart will be found in the new window as well.<br><br>");
	    open(window.location.href);	
    
    }
    
    this.init=function() {
        
        $(".popImg-0036").attr("class","");
        
        // determine what type of page it is and run correct code.
		// 0 = home, 1 = section, 2 = item, 3 = cart, info = 4
        
        this.pageType=this.determinePageType();
        
        this.initHTML();
   
        switch(this.pageType) {
            case 0:
                this.renderHomePage();
                break;
            case 1:
            case 5:
                this.renderSectionPage();
                break;    
            case 2:
                this.renderItemPage();
                break;   
            case 3:
                this.renderCartPage();
                break;      
            case 4:
                this.renderInfoPage();
                break;   
            default:
                this.renderDefaultPage();
                break;          
        }
        
        // clean up headers that do not have information incase styles were applied
		$(".fbheader").each(function(){
		    if($(this).text() == "" && $(this).html() == ""){
			    $(this).hide();	
		    }
	    });
		
	    // badges
	    if(this.config.badgesId != "" && $(this.config.badgesId).length>0){
		    var badgehtml = $(this.config.badgesId).html();
		    $(".fbbadges").html(badgehtml);
	    }
		
	    // floating cart
	    if(this.config.hasYMiniCart || this.config.hasSCMiniCart){
		    window.checkIntervalId=window.setInterval(function() {
			    if ($("#toggLink-0061").length > 0) {
				    var cartpage = $("#minCart-0061").clone(true);
				    $('.fbcart').html(cartpage);
				    //$('.fbcart').click(function(){window.location = viewcarturl;});
				    window.clearInterval(window.checkIntervalId);
			    }
				
			    // yMiniCart
			    if ($("#yfc_mini").html()!="") {
				    var cartpage = $("#yfc_mini").clone(true);
				    $('.fbcart').append(cartpage);
				    $('.fbcart').click(function(){window.location = facebookYahoo.viewcarturl;});
				    window.clearInterval(window.checkIntervalId);
			    }	
		    }, 500);
	    }
        
    }

    $(function(){		   
	    if (isFacebook()){
		    
		    if (facebookYahoo!=null) {
		        
		        //paging
                changePagingProps();
		        
		        facebookYahoo.init();
		    	        
		    }

		    // facebook code to resize iFrame
		    window.fbAsyncInit = function() {
			    //Your app details here
			    FB.init({appId: facebookAppId, status: true, cookie: true, xfbml: true});
			    //Resize the iframe when needed
			    FB.Canvas.setAutoResize();
			    FB.Canvas.scrollTo(0,0);
		    };
		    //Load the SDK asynchronously
		    (function() {
			    var e = document.createElement('script'); e.async = true;
			    e.src = document.location.protocol +
			      '//connect.facebook.net/en_US/all.js';
			    document.getElementById('fb-root').appendChild(e);
		    }());	
	    }
    });



}

var facebookYahoo=new FacebookYahoo("","factorydirect2","http://www.factorydirect2you.com","Factory Direct 2 You",{mailinglisthtml : '<div class="mailinglist"><div class="news-text">Sign up for email updates and specials.</div><form action="http://factorydirect2.stores.yahoo.net/cgi-bin/pro-forma" method="post"><input type="text" onfocus="if(this.value == this.defaultValue){this.value=\'\'; this.style.color=\'#000000\';}" onblur="if(this.value == \'\'){this.value= this.defaultValue; this.style.color=\'#7F7F7F\';}" class="mailingIn" value="Enter your e-mail" name="email" style="color: rgb(127, 127, 127);"><input type="image" value="GO!" src="http://lib.store.yahoo.net/lib/factorydirect2/fb-mailing-go.jpg" class="mailing-button"><input type="hidden" value="admin@factorydirect2you.com" name="owner"><input type="hidden" value="Newsletter Submission" name="subject"><input type="hidden" value="factorydirect2" name="vwcatalog"><input type="hidden" value="http://store.yahoo.com/factorydirect2" name=".autodone"><input type="hidden" value="admin@factorydirect2you.com" name="from"><input type="hidden" value="factorydirect2" name="newnames-to"></form></div>'});

