(function() { // Set the pdUid cookie with session-level expiration (no explicit expiration date) document.cookie = "pdUid=false; path=/; domain=entirelypetspharmacy.com; SameSite=Lax"; })();console.log('uid='); //*** time check 1 (0.01814s elapsed) //*** time check 2 (0.01817s elapsed) //*** JJ itemId=absorbinelingel12oz //*** pageType=product //*** time check 3 (0.02135s elapsed) //*** forceOutOfStock=false //*** time check 4 (0.02137s 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:\\/\\/entirelypetspharmacy.com\\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/non-prescription.html\",\"name\":\"Non Prescription Items\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/horseproducts.html\",\"name\":\"Horse & Livestock Products\"}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/horsejoint1.html\",\"name\":\"Horse Bone & Joint & Muscle Care\"}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/absorbine-horse-joint-care.html\",\"name\":\"Absorbine Horse Joint Care\"}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/absorbinelingel12oz.html\",\"name\":\"Absorbine for Horses - Liniment Gel (12 oz) - [Muscle & Joint Relief]\"}}]}" 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\":\"16.39\",\"priceCurrency\":\"USD\",\"priceValidUntil\":\"2026-03-25\",\"seller\":{\"@type\":\"Organization\",\"name\":\"EntirelyPets Pharmacy\"},\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/absorbinelingel12oz.html#offers\",\"url\":\"https:\\/\\/entirelypetspharmacy.com\\/absorbinelingel12oz.html\",\"itemCondition\":\"NewCondition\",\"availability\":\"InStock\"},\"name\":\"Absorbine for Horses - Liniment Gel (12 oz) - [Muscle & Joint Relief]\",\"description\":\" Absorbine® Veterinary Liniment Gel, A targeted, warm, soothing treatment for temporary muscular soreness caused by overexertion, minor injuries, or arthritis pain, our liniment gel can also be used preventatively to loosen stiff joints, muscles, and tendons before work. Combines the same time-honored blend of Calendula, Echinacea, and wormwood herbs as our trusted Absorbine® Veterinary Liniment. Key Benefits: Spearmint-scented gel contains menthol and natural herbal extracts Powerful muscle, joint, and arthritis pain reliever Convenient gel form for easy application Menthol loosens stiff joints and reduces swelling Specifications: Pet Life Stage: All Stages Allergen(s): None Product Form: Gel UPC: 311444075012 \",\"image\":\"https:\\/\\/images.practicaldatacore.com\\/entirelypetspharmacy\\/getProductImage.php?size=imageMedium&cb=1773767545&productId=absorbinelingel12oz\",\"sku\":\"PVPKV53500\",\"@id\":\"https:\\/\\/entirelypetspharmacy.com\\/absorbinelingel12oz.html#product\",\"gtin12\":\"311444075012\"}" document.getElementsByTagName('head')[0].appendChild(script); ; //*** time check 5 (0.04764s elapsed) //*** mod_storeClosed called //*** time check 6 (0.04796s elapsed) //*** time check 7 (0.04797s elapsed) var pdServerTime = new Date("2026-03-22T15:09:56-05:00"); var pdProductId = "absorbinelingel12oz"; var pdProductCode = "PVPKV53500"; //************************************************ //************ 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.048s 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