(function() { // Set the pdUid cookie with session-level expiration (no explicit expiration date) document.cookie = "pdUid=false; path=/; domain=trophycentral.com; SameSite=Lax"; })();console.log('uid='); //*** time check 1 (0.02118s elapsed) //*** time check 2 (0.02122s elapsed) //*** JJ itemId=silh20477 //*** pageType=product //*** time check 3 (0.02585s elapsed) //*** forceOutOfStock=false //*** time check 4 (0.0259s elapsed) //*** public_mod_structuredData_renderJsonByItemId found //*** public_mod_structuredData enabled var script = document.createElement('script'); script.setAttribute('type', 'application/ld+json'); script.innerHTML = "{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"Product\",\"name\":\"Silhouette 1 Door Vinyl Bulletin Board with Black Frame, 4\'H x 2\'W, Navy\",\"description\":\"Ghent\'s Silhouette Enclosed Bulletin Board offers a protected surface for you to pin, tack, or staple important messages or announcements. The bulletin surface holds up to nine pieces of letter sized paper so that you can fit more information in one spot. With a frameless glass door, all the postings will be visible, allowing you to take advantage of the full vinyl tack surface. The lockable tempered glass door provides additional strength and protection, giving you the option to place the enclosed bulletin board in public areas without worrying about postings being removed or damaged. Ghent\'s versatile board has no specified top or bottom, meaning Silhouette can be hung with the lock on the left or right, providing flexibility when mounting. Minimal framing on the sides allows you to mount multiple boards side by side with little disruption to the viewing area. A rounded profile on the top and bottom of the frame, paired with sleek frame options, makes Silhouette an upscale contemporary tool to display information in a business, school or office. The modern aesthetic is perfect for design-sensitive executives and customer accessible lobbies, entranceways, hallways and common areas. Each board ships in Ghent\'s worry-free packaging, designed specifically for shipping enclosed boards. Ghent\'s Silhouette Enclosed Vinyl Bulletin Board carries a 10-year warranty and is made in the USA. Recommended for indoor use only. SKU: silh20477-GT.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Ghent\"},\"image\":\"https:\\/\\/images.practicaldatacore.com\\/trophycentral\\/getProductImage.php?size=imageMedium&cb=1761710311&productId=silh20477\",\"sku\":\"silh20477-GT\",\"@id\":\"https:\\/\\/www.trophycentral.com\\/silh20477.html#product\",\"offers\":{\"@type\":\"AggregateOffer\",\"priceCurrency\":\"USD\",\"highPrice\":534,\"lowPrice\":504,\"offerCount\":1},\"mpn\":\"014935204730\"}" document.getElementsByTagName('head')[0].appendChild(script); ; //*** time check 5 (0.05109s elapsed) //*** mod_storeClosed called //*** time check 6 (0.05136s elapsed) //*** time check 7 (0.05137s elapsed) var pdServerTime = new Date("2025-10-30T10:27:23-05:00"); var pdProductId = "silh20477"; var pdProductCode = "silh20477-GT"; //************************************************ //************ JS/CSS FILE ROUTINES ************* //************************************************ function pdLoadJsCssFile(filename, filetype){ if (filetype=="js") { var fileref=document.createElement('script'); fileref.setAttribute("type","text/javascript"); fileref.setAttribute("async",true); fileref.setAttribute("src", filename); } else if (filetype=="css") { var fileref=document.createElement("link"); fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", filename); } if (typeof fileref!="undefined") document.getElementsByTagName("head")[0].appendChild(fileref); } function pdAddStyle(css) { var style = document.createElement("style"); style.innerHTML = css; document.getElementsByTagName("body")[0].appendChild(style); } //*** time check 8 (0.05138s elapsed) /* pdGetElementsByClassName -- Revised to avoid JS conflicts with libraries that override native "getElementsByClassName" browser function in IE Developed by Robert Nyman, http://www.robertnyman.com Code/licensing: http://code.google.com/p/getelementsbyclassname/ */ var pdGetElementsByClassName = function (className, tag, elm){ var ieVersion = getInternetExplorerVersion(); if (ieVersion == -1 && document.getElementsByClassName) { pdGetElementsByClassName = function (className, tag, elm) { elm = elm || document; var elements = elm.getElementsByClassName(className), nodeName = (tag)? new RegExp("\b" + tag + "\b", "i") : null, returnElements = [], current; for(var i=0, il=elements.length; i -1) { if(signatureList[i] == 'android') { //*** ONLY CONSIDER android a mobile device if "mobile" is also present in user agent string if(agent.indexOf("mobile") > -1) isMobile = true; } else { isMobile = true; } } } return isMobile; } function pdIsIpad() { var isIpad = false; var signatureList = new Array('ipad'); var agent = navigator.userAgent.toLowerCase(); for(var i=0;i -1) isIpad = true; } return isIpad; } function pdIsTablet() { var isTablet = false; var signatureList = new Array('ipad', 'android'); var agent = navigator.userAgent.toLowerCase(); for(var i=0;i -1) { isTablet = true; //*** ASSUME TABLET if(signatureList[i] == 'android') { //*** ONLY CONSIDER android a mobile device if "mobile" is also present in user agent string if(agent.indexOf("mobile") > -1) isTablet = false; } else { isTablet = true; } } } return isTablet; } function pdFormatCurrency(num, includeDollarSign) { num = num.toString().replace(/$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); var returnValue = (((sign)?'':'-') + num + '.' + cents); if(includeDollarSign == true) returnValue = "$" + returnValue; return returnValue; } function pdFindParentForm(element) { var elm,parentForm; for (elm = element.parentNode; elm; elm = elm.parentNode) { if(elm.tagName.toLowerCase() == "form") { parentForm = elm; break; } } return parentForm; } function pdHideForLoggedInUser() { var hideList = pdGetElementsByClassName("pdHideForLoggedInUser", null); for(var i=0;i")+1); } var data = jQuery.parseJSON(response); console.log(data); if (data['loggedIn'] == true){ jQuery(pdAddToFavoritesButton).addClass("is-favorite"); console.log("Success adding to favorites"); } else{ console.log("User not logged in adding to favorites"); } }, 'error': function(xhr, status, error){ var errorMessage = xhr.status + ': ' + xhr.statusText console.log('Error - ' + errorMessage); } }); }); function pdAddToFavorites(orderForm,index,productUrl) { var pdAddToFavoritesAction = "https://myaccount.trophycentral.com/mod_favorites/favoritesAddItem.php"; if(pdIsBlank(index)) index = 0; var item = "vwitem" + index; var itemAttr = "vwattr" + index + "_"; //*** CAN'T FIND MULTIFORM ELEMENT? FALL BACK TO SINGLE ITEM CASE if(typeof orderForm[item] == "undefined") { item = "item"; itemAttr = "vwattr_"; } //******** ATTACH PRODUCT ID INPUT ************** if(item != "item") { var inputProductId = document.createElement("INPUT"); inputProductId.type = "hidden"; inputProductId.name = "add-single-favorites"; inputProductId.value = index; orderForm.appendChild(inputProductId); } if(productUrl == "autoDetect") productUrl = String(document.location); if(!pdIsBlank(productUrl)) { var inputOptions = document.createElement("INPUT"); inputOptions.type = "hidden"; inputOptions.name = "productUrl"; inputOptions.value = productUrl; orderForm.appendChild(inputOptions); } var tempAction = orderForm.action; var copiedQueryString = ""; var queryStringPosition = tempAction.indexOf("?"); if(queryStringPosition > -1) { copiedQueryString = tempAction.substring(queryStringPosition, tempAction.length); copiedQueryString = copiedQueryString.replace("+", "%20"); } orderForm.action=pdAddToFavoritesAction + copiedQueryString; if(orderForm.target != "_top") orderForm.target = ""; //*** COMPAT W/ SCFC orderForm.submit(); orderForm.action = tempAction; orderForm.removeChild(inputProductId); orderForm.removeChild(inputOptions); return false; } //*** mod_favorites enabled //*** public_mod_favorites_renderAddToFavoritesButton found jQuery(document).ready(function(){ jQuery(".pdAddToFavWrap").each(function(){ var itemId = jQuery(this).attr("data-itemid"); var productId = jQuery(this).attr("productId"); var item; if(!isBlank(itemId)){ item = itemId; }else{ item = productId; } var orderForm = jQuery(this).parents('form:first'); jQuery(this).removeAttr('onClick'); var pdAddToFavoritesButton = jQuery(this); optionString = jQuery(orderForm).serialize(); var data = { vwitem: item, productOptionList: optionString } jQuery.ajax({ // 'async': false, 'global': false, 'xhrFields': {withCredentials: true}, 'type': "POST", 'url': "https://myaccount.trophycentral.com//mod_favorites/ajax/favoritesCheckItemFavorited.php?isCategory=false", 'data': data, 'crossDomain': true, 'success': function (response) { var data = jQuery.parseJSON(response); if (data['loggedIn'] == true){ if (data['message'] == 'success'){ jQuery(pdAddToFavoritesButton).html('
Add to Favorites
'); } else if (data['error'] == ""){ jQuery(pdAddToFavoritesButton).html(data['message']); // jQuery(pdAddToFavoritesButton).prop("onclick",null).off("click"); } else { jQuery(pdAddToFavoritesButton).html('
Add to Favorites
'); } } else{ window.location.href = data['message']; } }, 'error': function(xhr, status, error){ var errorMessage = xhr.status + ': ' + xhr.statusText alert('Error - ' + errorMessage); } }); }); }); jQuery(document).on("click", ".pdAddToFavWrap", function (event) { var itemId = jQuery(this).attr("data-itemid"); var productId = jQuery(this).attr("productId"); var item; if(!isBlank(itemId)){ item = itemId; }else{ item = productId; } var orderForm = jQuery(this).parents('form:first'); var pdAddToFavoritesButton = jQuery(this); optionString = jQuery(orderForm).serialize(); var data = { vwitem: item, productOptionList: optionString } //**** IF ITEM IS ALREADY FAVORITED, DISABLE ACTIONS AND DIRECT TO CUSTOMER FAVORITES *** var pdItemAlreadyInFavorites = jQuery(this).children("div").hasClass("pdAddToFavExists"); var pdErrorAddingToFavorites = jQuery(this).children("div").hasClass("pdAddToFavError"); var pdItemAddedToFavorites = jQuery(this).children("div").hasClass("pdAddToFavSuccess"); var pdItemAlreadyInFavoritesSection = jQuery(this).children("div").hasClass("pdAddToFavExistsSection"); var pdErrorAddingToFavoritesSection = jQuery(this).children("div").hasClass("pdAddToFavErrorSection"); var pdItemAddedToFavoritesSection = jQuery(this).children("div").hasClass("pdAddToFavSuccessSection"); if(pdItemAlreadyInFavorites == true || pdErrorAddingToFavorites == true || pdItemAddedToFavorites == true || pdItemAlreadyInFavoritesSection == true || pdErrorAddingToFavoritesSection == true || pdItemAddedToFavoritesSection == true){ console.log("Item is already in customer favorites"); pdItemAddedToFavorites window.location.href = "https://myaccount.trophycentral.com//mod_favorites/favorites.php"; return false; } jQuery.ajax({ // 'async': false, 'global': false, 'xhrFields': {withCredentials: true}, 'type': "POST", 'url': "https://myaccount.trophycentral.com//mod_favorites/ajax/favoritesAddItemNew.php?isCategory=false", 'data': data, 'crossDomain': true, 'success': function (response) { if (response.indexOf("<") == 0){ response = response.slice(response.indexOf(">")+1); } var data = jQuery.parseJSON(response); // console.log(data); if (data['loggedIn'] == true){ jQuery(pdAddToFavoritesButton).html(data['message']); } else{ window.location.href = data['message'] + "?productList=" + encodeURIComponent(data['productList']); } }, 'error': function(xhr, status, error){ var errorMessage = xhr.status + ': ' + xhr.statusText alert('Error - ' + errorMessage); } }); event.stopPropagation(); event.preventDefault(); }); //*** time check 13 (0.06749s elapsed) //*** time check 14 (0.06749s elapsed) //*** time check 15 (0.06754s elapsed) if (typeof pdPerformLoginActions === "function") { pdPerformLoginActions(false); } //*** time check 16 (0.07049s elapsed) //*** time check 17 (0.07052s elapsed) //*** time check 18 (0.07053s elapsed) //*** time check 19 (0.07053s elapsed) //*** time check 20 (0.07467s elapsed) //*** time check 21 (0.0754s elapsed) //*** time check 22 (0.077s elapsed) //********************************* //*** BEGIN mod_promotionCenter *** //********************************* //*** COULD NOT FIND PUBLIC FUNCTION 'public_mod_promotionCenter_getRenderedPageScript3()' //******************************* //*** END mod_promotionCenter *** //******************************* //*** time check 23 (0.07701s elapsed) //*** SEND PROMO INFO TO ALREADY ON-PAGE HANDLER FUNCTION var pdPromo = {}; try{pdHandlePromoInfo(pdPromo)} catch(e) {} //*** SEND PROMO INFO TO ALREADY ON-PAGE HANDLER FUNCTION var pdProductListCalloutHtml = ""; try{pdHandleProductListCallout(pdProductListCalloutHtml)} catch(e) {} //*** time check 24 (0.07771s elapsed) //*** mod_fbConversion is NOT enabled! //*** time check 25 (0.07841s elapsed) //*** time check 26 (0.07911s elapsed) //*** time check 27 (0.08023s elapsed) //*** time check 28 (0.08672s elapsed) //**** CART ITEM COUNT MESSAGE ***** function pdDisplayCartItemCount() { var pdCartItemCount = pdGetCookie('pdCartItemCount'); if(!pdIsBlank(pdCartItemCount)) { var pdCartItemCountMessage = pdCartItemCount; jQuery('.pdCartItemCountMessage').html(pdCartItemCountMessage); } } pdDisplayCartItemCount(); //*** pageScript end (0.0868s elapsed) //*** time check 29 (0.08681s elapsed) //*** PAGESCRIPT DONE