{
  "version": 3,
  "sources": ["/cdn/shop/t/40/assets/rv-custom1.js?n=1790811174"],
  "sourcesContent": ["\r\n(function () {\r\n  'use strict';\r\n\r\n  const REFRESH_EVENT = \"cart:refresh\";\r\n\r\n  // --- Fire refresh event ---\r\n  function triggerCartRefresh() {\r\n    document.dispatchEvent(new CustomEvent(REFRESH_EVENT));\r\n    console.log(\"[CartDrawer] Fired\", REFRESH_EVENT);\r\n  }\r\n\r\n  // --- Intercept fetch (for AJAX /cart/add) ---\r\n  if (window.fetch) {\r\n    const origFetch = window.fetch.bind(window);\r\n    window.fetch = function (input, init) {\r\n      return origFetch(input, init).then(response => {\r\n        try {\r\n          const url = typeof input === \"string\" ? input : input.url;\r\n          if (url && url.includes(\"/cart/add\") && response.ok) {\r\n            setTimeout(triggerCartRefresh, 150);\r\n          }\r\n        } catch (e) { }\r\n        return response;\r\n      });\r\n    };\r\n  }\r\n\r\n  // --- Intercept XHR (for older themes) ---\r\n  const origOpen = XMLHttpRequest.prototype.open;\r\n  XMLHttpRequest.prototype.open = function (method, url) {\r\n    this._url = url;\r\n    return origOpen.apply(this, arguments);\r\n  };\r\n  const origSend = XMLHttpRequest.prototype.send;\r\n  XMLHttpRequest.prototype.send = function () {\r\n    this.addEventListener(\"load\", function () {\r\n      if (this._url && this._url.includes(\"/cart/add\") && this.status >= 200 && this.status < 400) {\r\n        setTimeout(triggerCartRefresh, 150);\r\n      }\r\n    });\r\n    return origSend.apply(this, arguments);\r\n  };\r\n})();\r\n\r\n// -------------------------------\r\n// Variant switcher + price update\r\n// -------------------------------\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  const inputs = document.querySelectorAll(\"input[name='product_choice']\");\r\n  const atcBtn = document.getElementById(\"rv-add-to-cart\");\r\n  const mainPriceEl = document.querySelector(\"#iEexEcZW3FkwdebQd\");\r\n  const discount_value = document.getElementById(\"discount_value\");\r\n  const discount_percent = document.getElementById(\"discount_percent\");\r\n  const rv_original_price = document.getElementById(\"rv_original_price\");\r\n\r\n  let selectedVariantId = null;\r\n  let selectedPrice = null;\r\n  let updating = false;\r\n  let initialSetupDone = false;\r\n  let restoreTimer;\r\n\r\n  if (inputs.length && atcBtn && mainPriceEl) {\r\n    inputs.forEach(input => {\r\n      input.addEventListener(\"change\", function () {\r\n        handleSelection(this, true);\r\n      });\r\n    });\r\n\r\n    const observer = new MutationObserver(() => {\r\n      if (selectedVariantId && !updating) {\r\n        updating = true;\r\n        if (selectedPrice) updatePrice(selectedPrice);\r\n        updateATC(selectedVariantId);\r\n        setTimeout(() => { updating = false }, 100);\r\n      }\r\n    });\r\n    observer.observe(document.body, { childList: true, subtree: true });\r\n\r\n    window.requestAnimationFrame(() => {\r\n      const checkedInput = document.querySelector(\"input[name='product_choice']:checked\");\r\n      if (checkedInput && !initialSetupDone) {\r\n        handleSelection(checkedInput, false);\r\n        initialSetupDone = true;\r\n      }\r\n    });\r\n  }\r\n\r\n  function handleSelection(input, userTriggered) {\r\n    selectedVariantId = input.value;\r\n    selectedPrice = input.dataset.price;\r\n    const discount_value = document.getElementById(\"discount_value\");\r\n    const discount_percent = document.getElementById(\"discount_percent\");\r\n\r\n    let new_discount_value = input.dataset.discount_value;\r\n    let new_discount_percent = input.dataset.discount_percent;\r\n    let new_rv_original_price = input.dataset.rv_original_price;\r\n    \r\n    if(discount_value != null)\r\n    discount_value.innerText =new_discount_value;\r\n    \r\n    if(new_discount_percent  != null)\r\n    discount_percent.innerText =new_discount_percent+\"%\";\r\n\r\n\r\n    rv_original_price.innerText =new_rv_original_price;\r\n    /*console.log(discount_percent);\r\n    console.log(\"RV Debug \u2192 Active option:\", {\r\n      variantId: selectedVariantId,\r\n      price: selectedPrice,\r\n      userTriggered\r\n    });*/\r\n\r\n    document.querySelectorAll(\".rv-option-card\").forEach(card => {\r\n      card.classList.remove(\"active\");\r\n    });\r\n    const parentCard = input.closest(\".rv-option-card\");\r\n    if (parentCard) parentCard.classList.add(\"active\");\r\n\r\n    updatePrice(selectedPrice);\r\n\r\n    updateATC(selectedVariantId, userTriggered);\r\n  }\r\n\r\n  function updateATC(variantId, userTriggered = true) {\r\n    if (!atcBtn) return;\r\n    atcBtn.setAttribute(\"href\", `/cart/${variantId}:1`);\r\n    atcBtn.setAttribute(\"data-instant-action-variant-id\", variantId);\r\n   \r\n    if (userTriggered) atcBtn.dataset.rvManualChange = \"true\";\r\n  }\r\n\r\n  function updatePrice(price) {\r\n    if (!mainPriceEl) return;\r\n    clearTimeout(restoreTimer);\r\n    mainPriceEl.textContent = price;\r\n    const currentPrice = price;\r\n    restoreTimer = setTimeout(() => {\r\n      const newText = mainPriceEl.textContent;\r\n      if (newText !== currentPrice) {\r\n        console.log(\"Restored overridden price:\", newText, \"\u2192\", currentPrice);\r\n        mainPriceEl.textContent = currentPrice;\r\n      }\r\n    }, 300);\r\n  }\r\n});\r\n\r\n// -------------------------------\r\n// Swiper carousel\r\n// -------------------------------\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  document.querySelectorAll('.rv-video-carousel').forEach((carousel) => {\r\n    new Swiper(carousel, {\r\n      loop: true,\r\n      slidesPerView: 3,\r\n      spaceBetween: 15,\r\n      navigation: {\r\n        nextEl: carousel.querySelector('.swiper-button-next'),\r\n        prevEl: carousel.querySelector('.swiper-button-prev'),\r\n      },\r\n      pagination: false,\r\n      autoplay: {\r\n        delay: 5000,\r\n        disableOnInteraction: false,\r\n      },\r\n    });\r\n  });\r\n});\r\n\r\n// -------------------------------\r\n// Add-on product popup + Preorder logic\r\n// -------------------------------\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  const addToCartBtn = document.getElementById('rv-add-to-cart');\r\n  console.log('acd');\r\n  if (!addToCartBtn) return;\r\n\r\n  const popup = document.querySelector('#addon-popup');\r\n  const addonYes = document.querySelector('#addon-yes');\r\n  const addonNo = document.querySelector('#addon-no');\r\n\r\n  const openCartDrawer = () => {\r\n    document.querySelector('.cart-drawer-pull-rv')?.click();\r\n    document.dispatchEvent(new CustomEvent('cart:refresh'));\r\n  };\r\n\r\n  const addToCart = (variantId, qty = 1, isPreorder = false) => {\r\n    const body = { id: variantId, quantity: qty, properties: {} };\r\n    if (isPreorder) {\r\n      body.properties = { _preorder: true, DeliveryType: 'Preorder' };\r\n    }\r\n\r\n    return fetch('/cart/add.js', {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'application/json' },\r\n      body: JSON.stringify(body)\r\n    })\r\n      .then(res => res.json())\r\n      .then(data => {\r\n        document.dispatchEvent(new CustomEvent('cart:updated', { detail: data }));\r\n        setTimeout(openCartDrawer, 150);\r\n      });\r\n  };\r\n\r\n  // handle Add to Cart click\r\n  addToCartBtn.addEventListener('click', (e) => {\r\n   \r\n    const hasPreorder = addToCartBtn.dataset.hasPreorder === 'true';\r\n    const hasAddon = addToCartBtn.dataset.hasAddon === 'true';\r\n\r\n    // if neither preorder nor addon applies, let default behavior happen\r\n    if (!hasPreorder && !hasAddon) return;\r\n\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n\r\n    const selectedOption = document.querySelector('input[name=\"product_choice\"]:checked');\r\n    if (!selectedOption) {\r\n      alert('Select delivery option first');\r\n      return;\r\n    }\r\n\r\n    const selectedVariantId = selectedOption.value;\r\n    const isPreorder = selectedOption.id === 'opt-preorder';\r\n    const addonVariantId = addToCartBtn.dataset.addonVariantId;\r\n\r\n    if (hasAddon && popup) {\r\n      popup.style.display = 'flex';\r\n      popup.dataset.mainVariant = selectedVariantId;\r\n      popup.dataset.addonVariant = addonVariantId || '';\r\n      popup.dataset.isPreorder = isPreorder ? 'true' : 'false';\r\n    } else {\r\n      addToCart(selectedVariantId, 1, isPreorder);\r\n    }\r\n  });\r\n\r\n  addonYes?.addEventListener('click', async (e) => {\r\n    e.preventDefault(); e.stopPropagation();\r\n    const mainId = popup.dataset.mainVariant;\r\n    const addonId = popup.dataset.addonVariant;\r\n    const isPreorder = popup.dataset.isPreorder === 'true';\r\n    popup.style.display = 'none';\r\n    await addToCart(mainId, 1, isPreorder);\r\n    if (addonId) await addToCart(addonId);\r\n  });\r\n\r\n  addonNo?.addEventListener('click', async (e) => {\r\n    e.preventDefault(); e.stopPropagation();\r\n    const mainId = popup.dataset.mainVariant;\r\n    const isPreorder = popup.dataset.isPreorder === 'true';\r\n    popup.style.display = 'none';\r\n    await addToCart(mainId, 1, isPreorder);\r\n  });\r\n\r\n  popup?.addEventListener('click', (e) => {\r\n    if (e.target === popup) popup.style.display = 'none';\r\n  });\r\n});\r\n"],
  "mappings": "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",
  "names": ["discount_value", "discount_percent"]
}
