PageSourceSearch

https://treadmillfactory.ca/cdn/shop/t/199/assets/product-add-on-inline.js?v=10758894735270460221787597192

js treadmillfactory.ca collected 2026-09-26 16:05:05 UTC 3,792 bytes, 2 lines download raw bytes

1(function(){function getBasePriceCents(sectionId){var priceRoot=document.getElementById("price-"+sectionId);if(!priceRoot)return 0;var saleEl=priceRoot.querySelector(".price-item--sale"),regularEl=priceRoot.querySelector(".price-item--regular"),el=saleEl&&saleEl.textContent.trim()?saleEl:regularEl;if(!el)return 0;var digits=el.textContent.replace(/[^0-9]/g,"");return parseInt(digits||"0",10)}function getSelectedAddOnsForSection(sectionId){var container=document.querySelector('[data-product-add-ons][data-section-id="'+sectionId+'"]');if(!container)return[];var cards=container.querySelectorAll("[data-add-on-card].is-selected"),items=[];return cards.forEach(function(card){var variantId=parseInt(card.dataset.variantId,10);if(variantId){var quantity=parseInt(card.dataset.quantity||"1",10)||1;items.push({id:variantId,quantity:quantity})}}),items}function setupContainer(container){var sectionId=container.dataset.sectionId;if(!sectionId)return;var totalPriceEl=container.querySelector("[data-total-price]");if(!totalPriceEl)return;var cards=Array.prototype.slice.call(container.querySelectorAll("[data-add-on-card]"));function updateTotal(){var basePrice=getBasePriceCents(sectionId),selectedItems=getSelectedAddOnsForSection(sectionId),addOnTotal=selectedItems.reduce(function(sum,item){var card=container.querySelector('[data-add-on-card].is-selected[data-variant-id="'+item.id+'"]'),price=card&&parseInt(card.dataset.price,10)||0;return sum+price*item.quantity},0),total=basePrice+addOnTotal;typeof Shopify!="undefined"&&Shopify.formatMoney?totalPriceEl.textContent=Shopify.formatMoney(total,Shopify.money_format):totalPriceEl.textContent=(total/100).toFixed(2)}function switchMediaForCard(card){var gallery=document.getElementById("MediaGallery-"+sectionId);if(gallery){var mainContainer=gallery.querySelector("[data-main-image]");if(mainContainer){var img=mainContainer.querySelector("img");if(img){mainContainer.dataset.originalSrc||(mainContainer.dataset.originalSrc=img.currentSrc||img.src||"",mainContainer.dataset.originalSrcset=img.srcset||"",mainContainer.dataset.originalSizes=img.sizes||"");var overrideSrc=card.dataset.imageSrc;if(overrideSrc){img.src=overrideSrc,img.srcset=overrideSrc,img.sizes="";return}var mediaId=card.dataset.mediaId;mediaId&&typeof gallery.setActiveMedia=="function"&&gallery.setActiveMedia(mediaId,!1)}}}}cards.forEach(function(card){card.addEventListener("click",function(){var isNowSelected=!card.classList.contains("is-selected");if(isNowSelected?(card.classList.add("is-selected"),card.setAttribute("aria-pressed","true")):(card.classList.remove("is-selected"),card.setAttribute("aria-pressed","false")),updateTotal(),isNowSelected)switchMediaForCard(card);else{var remainingSelected=container.querySelectorAll("[data-add-on-card].is-selected");if(remainingSelected.length)switchMediaForCard(remainingSelected[remainingSelected.length-1]);else{var gallery=document.getElementById("MediaGallery-"+sectionId);if(!gallery)return;var mainContainer=gallery.querySelector("[data-main-image]");if(!mainContainer)return;var img=mainContainer.querySelector("img");if(!img)return;mainContainer.dataset.originalSrc&&(img.src=mainContainer.dataset.originalSrc,img.srcset=mainContainer.dataset.originalSrcset||"",img.sizes=mainContainer.dataset.originalSizes||"")}}})}),updateTotal()}function initProductAddOns(){var containers=document.querySelectorAll("[data-product-add-ons]");containers.length&&containers.forEach(function(container){setupContainer(container)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initProductAddOns):initProductAddOns(),window.getSelectedAddOnsForSection=getSelectedAddOnsForSection})();
2//# sourceMappingURL=/cdn/shop/t/199/assets/product-add-on-inline.js.map?v=10758894735270460221787597192

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.