console.log('uid='); //*** time check 1 (0.27035s elapsed) //*** time check 2 (0.27039s elapsed) //*** JJ itemId=thundershirt //*** pageType=category //*** time check 3 (0.27071s elapsed) //*** forceOutOfStock=false //*** time check 4 (0.27072s 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\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/dogsupplies1.html\",\"name\":\"Dog Supplies\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/catsupplies.html\",\"name\":\"Cat Supplies\"}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/dogsupplies.html\",\"name\":\"Dog Supplies\"}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/pet-training.html\",\"name\":\"Training & Behavior\"}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/dog-anxiety-stress.html\",\"name\":\"Dog Anxiety & Stress Solutions\"}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/thundershirt-and-thundercap.html\",\"name\":\"Thundershirt Dog Anxiety Solution & ThunderCap\"}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@id\":\"https:\\/\\/www.entirelypets.com\\/thundershirt.html\",\"name\":\"Thundershirt Dog Anxiety Solution\"}}]}" document.getElementsByTagName('head')[0].appendChild(script); ; var script = document.createElement('script'); script.setAttribute('type', 'application/ld+json'); script.innerHTML = "{\"@context\":\"http:\\/\\/schema.org\",\"@type\":\"Product\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0.00\",\"priceCurrency\":\"USD\",\"priceValidUntil\":\"2025-05-01\",\"seller\":{\"@type\":\"Organization\",\"name\":\"Entirelypets.com\"},\"@id\":\"https:\\/\\/www.entirelypets.com\\/thundershirt.html#offers\",\"url\":\"https:\\/\\/www.entirelypets.com\\/thundershirt.html\",\"itemCondition\":\"NewCondition\",\"availability\":\"OutOfStock\"},\"name\":\"Thundershirt Dog Anxiety Solution\",\"sku\":\"thundershirt\",\"@id\":\"https:\\/\\/www.entirelypets.com\\/thundershirt.html#product\",\"review\": [{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - XSMALL\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5.0\"},\"author\":{\"@type\":\"person\",\"name\":\"Happy\"},\"reviewBody\":\"I couldn\'t believe it. It works great! Fireworks and thunder. Definitely make makes my life easier!\",\"datePublished\":\"2017-07-22 08:34:49\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - XSMALL\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"2.0\"},\"author\":{\"@type\":\"person\",\"name\":\"Edi\"},\"reviewBody\":\"My dog gets stressed out whenever the doorbell rings.. He barks like crazy... I placed this on him a couple times and nothing changed, he just is tense but still barks.. Now I\'m stuck with the product and need to find a new use for it. Maybe something to keep him warm in cold weather? Disappointed in purchase...\",\"datePublished\":\"2013-03-28 14:32:06\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - MEDIUM\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5.0\"},\"author\":{\"@type\":\"person\",\"name\":\"KP\"},\"reviewBody\":\"About 3 yrs ago, my older (now 12) Brittany started being a terrible traveler. She would circle, try to dig thru the carpet, pant and shake whenever we put in in the car - whether for 10 minute trips or 10 hr trips. We were having to sedate her with Benadryl if we had to travel any distance. I dislike sedating her, especially at her age, so I was hoping for a miracle. I followed the shirt instructions to the letter. After I got it on, we took our usual mile walk, and then I put her in the car for a short trip to get coffee. Instead of her usual reaction of panting, shaking and digging - she walked to the back of the car and then lay down - as calm as could be! It hasn\'t all been perfect - I\'ve had an 2 incidents where she did her shaking - but after giving her a treat - she was good. She is very comfortable in the Thundershirt - doesn\'t try to take it off or bite at it. We went to the vet for a checkup and the vet asked me how it was going with the Thundershirt and I said I would highly recommend it. At least give it a try.\",\"datePublished\":\"2012-12-20 00:45:40\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - MEDIUM\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"4.0\"},\"author\":{\"@type\":\"person\",\"name\":\"D0gsaregood\"},\"reviewBody\":\"The thundershirt works for my dog. When fireworks or a storm is present, he lays down and waits for the event to pass. Not 100% calm, but no more hiding under furniture, knocking things over or trembling and shaking. Well worth the money and no more possibly harmful chemicals given for sedation.\",\"datePublished\":\"2012-07-08 11:19:21\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - MEDIUM\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"1.0\"},\"author\":{\"@type\":\"person\",\"name\":\"Beeners58\"},\"reviewBody\":\"My Min-Pin\\/Rat Terrier mix goes ballistic at anything slightly resembling fireworks. I was hoping the Thunder Shirt would be just what he needed to stay calm. Unfortunately it had virtually no effect. I\'m not suggesting it doesn\'t work for others, but for my little guy it didn\'t.\",\"datePublished\":\"2012-06-28 17:33:30\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - MEDIUM\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"3.0\"},\"author\":{\"@type\":\"person\",\"name\":\"Sharon\"},\"reviewBody\":\"We had a different brand called Anxiety Wrap for our last dog and it helped her. Our current puppy, Prancer, has many issues including fear of car rides, strangers and other dogs. He is disabled and cannot currently walk. He is on medication for these, but it was recommended that we try the ThunderShirt. Since they have a moneyback guarantee, we tried it. It didn\'t work for Prancer and has been returned. Don\'t let this discourage trying the ThunderShirt. It could be just what you need.\",\"datePublished\":\"2012-05-05 11:12:22\"},{\"@type\":\"Review\",\"itemReviewed\":\"Thundershirt Sport Dog Anxiety Solution - XSMALL\",\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":\"5.0\"},\"author\":{\"@type\":\"person\",\"name\":\"gudxguy\"},\"reviewBody\":\"Received exactly what I ordered (a new thundershirt) in only two days at the best possible price. Am totally happy with my order.\",\"datePublished\":\"2011-12-14 20:29:13\"}],\"aggregateRating\":{\"@type\":\"AggregateRating\",\"reviewCount\":\"7\",\"ratingValue\":\"3.5\"}}" document.getElementsByTagName('head')[0].appendChild(script); ; //*** time check 5 (0.3632s elapsed) //*** mod_storeClosed called //*** time check 6 (0.36336s elapsed) //*** time check 7 (0.36337s elapsed) var pdServerTime = new Date("2025-04-28T15:54:21-05:00"); var pdProductId = "thundershirt"; //************************************************ //************ 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.36338s 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 (7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-gray-small'], .pdRatingStarsWrapper[data-itemid='thundershirt-gray-small']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-gray-medium'], .pdRatingStarsWrapper[data-itemid='thundershirt-gray-medium']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-blue-small'], .pdRatingStarsWrapper[data-itemid='thundershirt-blue-small']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-blue-medium'], .pdRatingStarsWrapper[data-itemid='thundershirt-blue-medium']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-blue-large'], .pdRatingStarsWrapper[data-itemid='thundershirt-blue-large']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-camo-xsmall'], .pdRatingStarsWrapper[data-itemid='thundershirt-camo-xsmall']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-camo-small'], .pdRatingStarsWrapper[data-itemid='thundershirt-camo-small']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-camo-medium'], .pdRatingStarsWrapper[data-itemid='thundershirt-camo-medium']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-camo-large'], .pdRatingStarsWrapper[data-itemid='thundershirt-camo-large']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-camo-xlarge'], .pdRatingStarsWrapper[data-itemid='thundershirt-camo-xlarge']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); elements = document.querySelectorAll(".pdRatingStarsWrapper[productId='thundershirt-gray-xxlarge'], .pdRatingStarsWrapper[data-itemid='thundershirt-gray-xxlarge']"); newHtml = "
(7 reviews)"; elements.forEach(element => { element.innerHTML = newHtml; }); pdStarsRefreshFlag = false; } } pdDisplayCategoryStars(); //*** time check 12 (0.37841s elapsed) $(".abr-flex-favorite-link").on("click", function(){ var pdAddToFavoritesAction = "https://myaccount.entirelypets.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.entirelypets.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; } //*** time check 13 (0.37849s elapsed) //*** time check 14 (0.37849s elapsed) //*** time check 15 (0.37852s elapsed) if (typeof pdPerformLoginActions === "function") { pdPerformLoginActions(false); } //*** time check 16 (0.37932s elapsed) //*** time check 17 (0.37987s elapsed) //*** time check 18 (0.38033s elapsed) //*** time check 19 (0.38033s elapsed) //*** time check 20 (0.38078s elapsed) //*** time check 21 (0.38122s elapsed) //*** time check 22 (0.38222s elapsed) //********************************* //*** BEGIN mod_promotionCenter *** //********************************* //*** COULD NOT FIND PUBLIC FUNCTION 'public_mod_promotionCenter_getRenderedPageScript3()' //******************************* //*** END mod_promotionCenter *** //******************************* //*** time check 23 (0.38251s 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.38322s elapsed) //*** mod_fbConversion is NOT enabled! //*** time check 25 (0.38379s elapsed) //*** time check 26 (0.38432s elapsed) //*** time check 27 (0.3849s elapsed) //*** time check 28 (0.38537s 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.38542s elapsed) //*** time check 29 (0.38542s elapsed)