window.checkoutOptionsData = {"url":"https:\/\/enhanced-checkout-options.com\/checkout\/lkrsufl0","enabled":true,"message":"Subscription is not active.","places":[],"allEnabledOptionSkus":[{"sku":"YIns","name":"Insure my package"},{"sku":"NIns","name":"I decline shipping insurance and understand I assume responsibility for loss or damage during transit once the carrier takes possession."},{"sku":"GR","name":"This is a gift"},{"sku":"Y-I-D","name":"Yes, include inside delivery and signature confirmation"},{"sku":"N-I-D","name":"No inside delivery\/signature required"}],"redirectAfterOptionSelect":false,"script":"https:\/\/enhanced-checkout-options.com\/js\/cart.js","currency":{"code":"USD","format":"${{PRICE}}"}}; let places = window.checkoutOptionsData.places; window.checkoutApplicationBaseApiUrl = window.checkoutOptionsData.url; window.checkoutOptionsPlaces = window.checkoutOptionsData.places; window.reloadData = false; const addScript = async src => new Promise((resolve, reject) => { const el = document.createElement('script'); el.src = src; el.addEventListener('load', resolve); el.addEventListener('error', reject); document.body.append(el); }); const hideTotalsFromCart = () => { const namesToHide = []; if (window.checkoutOptionsData && window.checkoutOptionsData.allEnabledOptionSkus) { window.checkoutOptionsData.allEnabledOptionSkus.forEach(option => { namesToHide.push(option.name); }); } if (namesToHide.length === 0) { return; } const cartTotalsList = document.querySelector('ul.cart-totals'); if (cartTotalsList) { cartTotalsList.querySelectorAll('.cart-total--custom').forEach(el => el.remove()); } const items = document.querySelectorAll('tr.cart-item'); items.forEach(item => { // const nameElement = item.querySelector('.cart-item-name__label'); const nameElement = item.querySelector('.cart-item-name__label, .cart-item-name a, .cart-item-name'); if (nameElement) { // const name = nameElement.textContent.trim(); const name = nameElement?.textContent.trim().replace(/\s+/g, ' '); const shouldHide = namesToHide.includes(name); if (shouldHide) { item.style.display = 'none'; if (cartTotalsList) { const priceElement = item.querySelector('.cart-item-value'); const price = priceElement ? priceElement.textContent.trim() : ''; const customTotal = document.createElement('li'); customTotal.className = 'cart-total cart-total--custom'; customTotal.innerHTML = `
${name}:
${price}
`; cartTotalsList.prepend(customTotal); } } else { item.style.display = ''; } } }); const miniCartItems = document.querySelectorAll('.previewCartItem'); miniCartItems.forEach(item => { const nameElement = item.querySelector('.previewCartItem-name a'); if (nameElement) { const name = nameElement.textContent.trim(); const shouldHide = namesToHide.includes(name); if (shouldHide) { item.style.display = 'none'; } else { item.style.display = ''; } } }); } const insertPlaceHolders = () => { hideTotalsFromCart(); window.checkoutOptionsPlaces.map((place, index) => { if (!place.enabled) return false; place.selectors.map((sel, index) => { let element = document.querySelector(sel.selector); let id = `cart-options-placeholder-${index}`; if (element && !document.getElementById(id)) { let placeHolder = document.createElement(sel.tag ?? 'div'); placeHolder.className = sel.class; placeHolder.id = id; placeHolder.dataset.checkoutOption = place.id; placeHolder.innerHTML = ["
" , "Loading..." , "
"].join(''); if (sel.position === 'before') { element.parentNode.insertBefore(placeHolder, element) } else if (sel.position === 'inside') { element.append(placeHolder); } else { element.parentNode.insertBefore(placeHolder, element.nextSibling); } } }); }); setTimeout(insertPlaceHolders, 100); } insertPlaceHolders(); setTimeout(() => { fetch('/api/storefront/carts', { method: "GET", credentials: "same-origin" }) .then(response => response.json()) .then(result => { addScript((document.location.href.indexOf("debug") > 0 ? "http://localhost/js/cart.js" : window.checkoutOptionsData.script) + "?v=3&id=" + result[0].id).then(); window.bigcommerceCartId = result[0].id; }) .catch(error => console.error(error)); }, 300) document.addEventListener('DOMContentLoaded', function () { const cartContent = document.querySelector('[data-cart-content]'); if (!cartContent) return; let removeTimeout = null; const observer = new MutationObserver(function () { clearTimeout(removeTimeout); removeTimeout = setTimeout(function () { window.reloadData = true; const section = document.querySelector('.cart-section'); if (section) { section.remove(); } }, 1); }); observer.observe(cartContent, { childList: true, subtree: true }); });