console.log('uid='); //*** time check 1 (0.01999s elapsed) //*** time check 2 (0.02003s elapsed) //*** JJ itemId=ecspbo //*** pageType=product //*** time check 3 (0.02153s elapsed) //*** forceOutOfStock=false //*** time check 4 (0.02155s 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\":\"Custom Soccer Water Bottles\",\"description\":\"This 21 oz. durable sports bottle features a push-pull cap. Available in white, granite, red or blue and with choice of cap color. Each bottle is personalized with your logo or brand. Fits most bike cradles. Perfect for soccer and sports teams. Standard production time 7 business days from date camera-ready artwork received. Optional rush service available. SKU: SV21 -PL.\",\"brand\":{\"@type\":\"Brand\",\"name\":\"PL\"},\"image\":\"https:\\/\\/images.practicaldatacore.com\\/trophycentral\\/getProductImage.php?size=imageMedium&cb=1743525869&productId=ecspbo\",\"sku\":\"SV21-PL\",\"@id\":\"https:\\/\\/www.trophycentral.com\\/ecspbo.html#product\",\"offers\":{\"@type\":\"AggregateOffer\",\"priceCurrency\":\"USD\",\"highPrice\":2,\"lowPrice\":1.11,\"offerCount\":1},\"mpn\":\"SV21-PL\"}" document.getElementsByTagName('head')[0].appendChild(script); ; //*** time check 5 (0.06429s elapsed) //*** mod_storeClosed called //*** time check 6 (0.06464s elapsed) //*** time check 7 (0.06465s elapsed) var pdServerTime = new Date("2025-04-02T05:10:49-05:00"); var pdProductId = "ecspbo"; var pdProductCode = "SV21-PL"; //************************************************ //************ 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.06466s 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
Rewards Members Enjoy Great Benefits!
1
Join
It\'s free - get started now!
2
Earn
Points for purchases, referrals & more!
3
Redeem
Redeem for store credit and special offers!
Earn Points
Create an account
5 points
Make a purchase
1 point per $1
Refer friends
10 points per sign up
25 points per order
Write a review
10 points
"); //*** END public_mod_myRewards_getRenderedPromotionPopupJsInsertionCode *** //*** BEGIN public_mod_myRewards_getRenderedPromotionMessagingJsInsertionCode *** document.querySelectorAll("div.pdRewardsPromoMessage[productId=\"ecspbo\"], div.pdRewardsPromoMessage[data-itemid=\"ecspbo\"]").forEach(function(div) { div.innerHTML = "";}); //*** END public_mod_myRewards_getRenderedPromotionMessagingJsInsertionCode *** //*** time check 12a (0.12105s elapsed) //*** time check 12b (0.12345s elapsed) //*** time check 12c (0.12674s elapsed) //*** time check 12d (0.12928s elapsed) //*** time check 12e (0.12964s elapsed) //*** mod_backInStockNotification //*** time check 12f (0.13147s elapsed) $(".abr-flex-favorite-link").on("click", function(){ var pdAddToFavoritesAction = "https://myaccount.trophycentral.com/mod_favorites/ajax/favoritesAddItemNew.php"; var itemId = jQuery(this).parent().parent().data("data-itemid"); var productId = jQuery(this).parent().parent().data("productId"); var item; if(!isBlank(itemId)){ item = itemId; }else{ item = productId; } var pdAddToFavoritesButton = jQuery(this); if (!item) { console.log("Unable to identify item id for adding to favorites"); return false; } var data = { vwitem: item } //**** IF ITEM IS ALREADY FAVORITED, DISABLE ACTIONS AND DIRECT TO CUSTOMER FAVORITES *** var pdItemAlreadyInFavorites = jQuery(this).children("div").hasClass("is-favorite"); var pdItemAddedToFavorites = jQuery(this).children("div").hasClass("is-added"); if(pdItemAlreadyInFavorites == true || pdItemAddedToFavorites == true){ console.log("Item is already in customer favorites"); return false; } jQuery.ajax({ 'async': false, 'global': false, 'xhrFields': {withCredentials: true}, 'type': "POST", 'url': pdAddToFavoritesAction, '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).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.13984s elapsed) //*** time check 14 (0.13985s elapsed) //*** time check 15 (0.13992s elapsed) if (typeof pdPerformLoginActions === "function") { pdPerformLoginActions(false); } //*** time check 16 (0.14161s elapsed) //*** time check 17 (0.14164s elapsed) //*** time check 18 (0.14164s elapsed) //*** time check 19 (0.14172s elapsed) //*** time check 20 (0.14383s elapsed) //*** time check 21 (0.15979s elapsed) //*** time check 22 (0.16788s elapsed) //********************************* //*** BEGIN mod_promotionCenter *** //********************************* //*** COULD NOT FIND PUBLIC FUNCTION 'public_mod_promotionCenter_getRenderedPageScript3()' //******************************* //*** END mod_promotionCenter *** //******************************* //*** time check 23 (0.16789s 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.1721s elapsed) //*** mod_fbConversion is NOT enabled! //*** time check 25 (0.18096s elapsed) //*** time check 26 (0.19028s elapsed) //*** time check 27 (0.20099s elapsed) //*** time check 28 (0.20992s 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.20998s elapsed) //*** time check 29 (0.20999s elapsed)