{"version":3,"file":"shoppingbasket.a35f354bc2a7cde9e757.js","mappings":"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","sources":["webpack://gak.frontend/./ReskinScripts/Debounce.js","webpack://gak.frontend/./ReskinScripts/cookie-consent.js","webpack://gak.frontend/./ReskinScripts/enhanced-ecommerce.js","webpack://gak.frontend/./ReskinScripts/price-formatter.js","webpack://gak.frontend/./ReskinScripts/tracking-scripts.js","webpack://gak.frontend/./node_modules/tabbyjs/dist/js/tabby.min.js","webpack://gak.frontend/./ReskinScripts/common.ts","webpack://gak.frontend/./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://gak.frontend/./ReskinScripts/gak-DeliveryOptions.ts","webpack://gak.frontend/./ReskinScripts/gak-DeliveryOptions-persist.js","webpack://gak.frontend/./node_modules/@paypal/paypal-js/dist/esm/paypal-js.js","webpack://gak.frontend/./ReskinScripts/gak-PayPalButton.ts","webpack://gak.frontend/./ReskinScripts/price-helper.ts","webpack://gak.frontend/./ReskinScripts/gak-ProductDetail.ts","webpack://gak.frontend/./ReskinScripts/gak-ShoppingBasket.ts","webpack://gak.frontend/./ReskinScripts/shopping-basket-panel.ts","webpack://gak.frontend/./ReskinScripts/tabs.ts","webpack://gak.frontend/./ReskinScripts/utils.ts","webpack://gak.frontend/./node_modules/ssr-window/ssr-window.esm.js","webpack://gak.frontend/./node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack://gak.frontend/./node_modules/swiper/core/breakpoints/index.js","webpack://gak.frontend/./node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack://gak.frontend/./node_modules/swiper/core/check-overflow/index.js","webpack://gak.frontend/./node_modules/swiper/core/classes/addClasses.js","webpack://gak.frontend/./node_modules/swiper/core/classes/index.js","webpack://gak.frontend/./node_modules/swiper/core/classes/removeClasses.js","webpack://gak.frontend/./node_modules/swiper/core/core.js","webpack://gak.frontend/./node_modules/swiper/core/defaults.js","webpack://gak.frontend/./node_modules/swiper/core/events-emitter.js","webpack://gak.frontend/./node_modules/swiper/core/events/index.js","webpack://gak.frontend/./node_modules/swiper/core/events/onClick.js","webpack://gak.frontend/./node_modules/swiper/core/events/onLoad.js","webpack://gak.frontend/./node_modules/swiper/core/events/onResize.js","webpack://gak.frontend/./node_modules/swiper/core/events/onScroll.js","webpack://gak.frontend/./node_modules/swiper/core/events/onTouchEnd.js","webpack://gak.frontend/./node_modules/swiper/core/events/onTouchMove.js","webpack://gak.frontend/./node_modules/swiper/core/events/onTouchStart.js","webpack://gak.frontend/./node_modules/swiper/core/grab-cursor/index.js","webpack://gak.frontend/./node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack://gak.frontend/./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack://gak.frontend/./node_modules/swiper/core/loop/index.js","webpack://gak.frontend/./node_modules/swiper/core/loop/loopCreate.js","webpack://gak.frontend/./node_modules/swiper/core/loop/loopDestroy.js","webpack://gak.frontend/./node_modules/swiper/core/loop/loopFix.js","webpack://gak.frontend/./node_modules/swiper/core/moduleExtendParams.js","webpack://gak.frontend/./node_modules/swiper/core/modules/observer/observer.js","webpack://gak.frontend/./node_modules/swiper/core/modules/resize/resize.js","webpack://gak.frontend/./node_modules/swiper/core/slide/index.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideNext.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slidePrev.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideReset.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideTo.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideToClickedSlide.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideToClosest.js","webpack://gak.frontend/./node_modules/swiper/core/slide/slideToLoop.js","webpack://gak.frontend/./node_modules/swiper/core/transition/index.js","webpack://gak.frontend/./node_modules/swiper/core/transition/setTransition.js","webpack://gak.frontend/./node_modules/swiper/core/transition/transitionEmit.js","webpack://gak.frontend/./node_modules/swiper/core/transition/transitionEnd.js","webpack://gak.frontend/./node_modules/swiper/core/transition/transitionStart.js","webpack://gak.frontend/./node_modules/swiper/core/translate/getTranslate.js","webpack://gak.frontend/./node_modules/swiper/core/translate/index.js","webpack://gak.frontend/./node_modules/swiper/core/translate/maxTranslate.js","webpack://gak.frontend/./node_modules/swiper/core/translate/minTranslate.js","webpack://gak.frontend/./node_modules/swiper/core/translate/setTranslate.js","webpack://gak.frontend/./node_modules/swiper/core/translate/translateTo.js","webpack://gak.frontend/./node_modules/swiper/core/update/index.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateActiveIndex.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateAutoHeight.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateClickedSlide.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateProgress.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateSize.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateSlides.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateSlidesClasses.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateSlidesOffset.js","webpack://gak.frontend/./node_modules/swiper/core/update/updateSlidesProgress.js","webpack://gak.frontend/./node_modules/swiper/modules/navigation/navigation.js","webpack://gak.frontend/./node_modules/swiper/modules/pagination/pagination.js","webpack://gak.frontend/./node_modules/swiper/modules/thumbs/thumbs.js","webpack://gak.frontend/./node_modules/swiper/modules/zoom/zoom.js","webpack://gak.frontend/./node_modules/swiper/shared/classes-to-selector.js","webpack://gak.frontend/./node_modules/swiper/shared/create-element-if-not-defined.js","webpack://gak.frontend/./node_modules/swiper/shared/get-browser.js","webpack://gak.frontend/./node_modules/swiper/shared/get-device.js","webpack://gak.frontend/./node_modules/swiper/shared/get-support.js","webpack://gak.frontend/./node_modules/swiper/shared/process-lazy-preloader.js","webpack://gak.frontend/./node_modules/swiper/shared/utils.js","webpack://gak.frontend/webpack/bootstrap","webpack://gak.frontend/webpack/runtime/define property getters","webpack://gak.frontend/webpack/runtime/global","webpack://gak.frontend/webpack/runtime/hasOwnProperty shorthand","webpack://gak.frontend/webpack/startup"],"sourcesContent":["/*\r\n * Debounce (with a few helpers as local functions, changes to remove dependencies)\r\n * extracted from Lohash (V4.17.4)\r\n * LoHash:\r\n * Copyright JS Foundation and other contributors \r\n * Released under MIT license \r\n */\r\n\r\n/**\r\n * Creates a debounced function that delays invoking `func` until after `wait`\r\n * milliseconds have elapsed since the last time the debounced function was\r\n * invoked. The debounced function comes with a `cancel` method to cancel\r\n * delayed `func` invocations and a `flush` method to immediately invoke them.\r\n * Provide `options` to indicate whether `func` should be invoked on the\r\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\r\n * with the last arguments provided to the debounced function. Subsequent\r\n * calls to the debounced function return the result of the last `func`\r\n * invocation.\r\n *\r\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\r\n * invoked on the trailing edge of the timeout only if the debounced function\r\n * is invoked more than once during the `wait` timeout.\r\n *\r\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\r\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\r\n *\r\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\r\n * for details over the differences between `_.debounce` and `_.throttle`.\r\n *\r\n * @static\r\n * @memberOf _\r\n * @since 0.1.0\r\n * @category Function\r\n * @param {Function} func The function to debounce.\r\n * @param {number} [wait=0] The number of milliseconds to delay.\r\n * @param {Object} [options={}] The options object.\r\n * @param {boolean} [options.leading=false]\r\n * Specify invoking on the leading edge of the timeout.\r\n * @param {number} [options.maxWait]\r\n * The maximum time `func` is allowed to be delayed before it's invoked.\r\n * @param {boolean} [options.trailing=true]\r\n * Specify invoking on the trailing edge of the timeout.\r\n * @returns {Function} Returns the new debounced function.\r\n * @example\r\n *\r\n * // Avoid costly calculations while the window size is in flux.\r\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\r\n *\r\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\r\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\r\n * 'leading': true,\r\n * 'trailing': false\r\n * }));\r\n *\r\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\r\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\r\n * var source = new EventSource('/stream');\r\n * jQuery(source).on('message', debounced);\r\n *\r\n * // Cancel the trailing debounced invocation.\r\n * jQuery(window).on('popstate', debounced.cancel);\r\n */\r\nvar debounceScript = function debounce(func, wait, options) {\r\n var lastArgs,\r\n lastThis,\r\n maxWait,\r\n result,\r\n timerId,\r\n lastCallTime,\r\n lastInvokeTime = 0,\r\n leading = false,\r\n maxing = false,\r\n trailing = true;\r\n\r\n function toNumber(value) {\r\n if (typeof value == 'Number') {\r\n return value;\r\n } else {\r\n var v = parseInt(value);\r\n return isNaN(v) ? 0 : v;\r\n }\r\n }\r\n function isObject(value) {\r\n var type = typeof value;\r\n return value != null && (type == 'object' || type == 'function');\r\n }\r\n function now() {\r\n return Date.now();\r\n }\r\n\r\n if (typeof func != 'function') {\r\n throw \"debounce: param 'func' must be a function\";\r\n }\r\n wait = toNumber(wait) || 0;\r\n\r\n if (isObject(options)) {\r\n leading = !!options.leading;\r\n maxing = 'maxWait' in options;\r\n maxWait = maxing ? Math.max(toNumber(options.maxWait) || 0, wait) : maxWait;\r\n trailing = 'trailing' in options ? !!options.trailing : trailing;\r\n }\r\n\r\n function invokeFunc(time) {\r\n var args = lastArgs,\r\n thisArg = lastThis;\r\n\r\n lastArgs = lastThis = undefined;\r\n lastInvokeTime = time;\r\n result = func.apply(thisArg, args);\r\n return result;\r\n }\r\n\r\n function leadingEdge(time) {\r\n // Reset any `maxWait` timer.\r\n lastInvokeTime = time;\r\n // Start the timer for the trailing edge.\r\n timerId = setTimeout(timerExpired, wait);\r\n // Invoke the leading edge.\r\n return leading ? invokeFunc(time) : result;\r\n }\r\n\r\n function remainingWait(time) {\r\n var timeSinceLastCall = time - lastCallTime,\r\n timeSinceLastInvoke = time - lastInvokeTime,\r\n result = wait - timeSinceLastCall;\r\n\r\n return maxing ? Math.min(result, maxWait - timeSinceLastInvoke) : result;\r\n }\r\n\r\n function shouldInvoke(time) {\r\n var timeSinceLastCall = time - lastCallTime,\r\n timeSinceLastInvoke = time - lastInvokeTime;\r\n\r\n // Either this is the first call, activity has stopped and we're at the\r\n // trailing edge, the system time has gone backwards and we're treating\r\n // it as the trailing edge, or we've hit the `maxWait` limit.\r\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\r\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\r\n }\r\n\r\n function timerExpired() {\r\n var time = now();\r\n if (shouldInvoke(time)) {\r\n return trailingEdge(time);\r\n }\r\n // Restart the timer.\r\n timerId = setTimeout(timerExpired, remainingWait(time));\r\n }\r\n\r\n function trailingEdge(time) {\r\n timerId = undefined;\r\n\r\n // Only invoke if we have `lastArgs` which means `func` has been\r\n // debounced at least once.\r\n if (trailing && lastArgs) {\r\n return invokeFunc(time);\r\n }\r\n lastArgs = lastThis = undefined;\r\n return result;\r\n }\r\n\r\n function cancel() {\r\n if (timerId !== undefined) {\r\n clearTimeout(timerId);\r\n }\r\n lastInvokeTime = 0;\r\n lastArgs = lastCallTime = lastThis = timerId = undefined;\r\n }\r\n\r\n function flush() {\r\n return timerId === undefined ? result : trailingEdge(now());\r\n }\r\n\r\n function debounced() {\r\n\r\n var time = now(),\r\n isInvoking = shouldInvoke(time);\r\n\r\n lastArgs = arguments;\r\n lastThis = this;\r\n lastCallTime = time;\r\n\r\n if (isInvoking) {\r\n if (timerId === undefined) {\r\n return leadingEdge(lastCallTime);\r\n }\r\n if (maxing) {\r\n // Handle invocations in a tight loop.\r\n timerId = setTimeout(timerExpired, wait);\r\n return invokeFunc(lastCallTime);\r\n }\r\n }\r\n if (timerId === undefined) {\r\n timerId = setTimeout(timerExpired, wait);\r\n }\r\n return result;\r\n }\r\n debounced.cancel = cancel;\r\n debounced.flush = flush;\r\n return debounced;\r\n}\r\n\r\n\r\n\r\nexport { debounceScript }","var CookieConsentService = {\r\n CookieConsentKey: \"\",\r\n EnableImpliedCookieConsent: false,\r\n didConsentToAllCookies: function () {\r\n //Logic shared with MvcExtensions.DidConsentToCookie\r\n //Please keep in sync\r\n \r\n if (this.CookieConsentKey === \"\") {\r\n //console.log(\"Cookie consent key was not set\");\r\n return false;\r\n }\r\n\r\n var cookieSettings = this.getCookieSettings();\r\n\r\n var didConsent = cookieSettings.didConsentToAllManually ||\r\n (this.EnableImpliedCookieConsent && cookieSettings.didConsentImplicitly && !cookieSettings.didConsentToEssentialManually);\r\n return didConsent;\r\n },\r\n shouldShowCookieBanner: function () {\r\n var cookieSettings = this.getCookieSettings();\r\n\r\n return (this.EnableImpliedCookieConsent && cookieSettings.shouldShowImpliedCookieBanner) ||\r\n (!this.EnableImpliedCookieConsent && cookieSettings.shouldShowCookieBanner);\r\n },\r\n clearAllCookiesIfConsentNotGiven: function () {\r\n //Clearing all cookies but consent cookie and essential cookies\r\n var cookieSettings = this.getCookieSettings();\r\n\r\n if (!this.didConsentToAllCookies()) {\r\n var cookies = document.cookie.split(\";\");\r\n for (var cookie in cookies) {\r\n if (cookie !== this.CookieConsentKey && cookieSettings.essentialCookies.indexOf(cookie) == -1) {\r\n deleteCookie(cookie);\r\n }\r\n }\r\n }\r\n },\r\n getCookieSettings: function () {\r\n //Logic shared with MvcExtensions.DidConsentToCookie\r\n //Please keep in sync\r\n var result = {\r\n didConsentImplicitly: this.EnableImpliedCookieConsent,\r\n didConsentToAllManually: false,\r\n didConsentToEssentialManually: false,\r\n shouldShowCookieBanner: true,\r\n shouldShowImpliedCookieBanner: true,\r\n essentialCookies: [\"pdt\", \"GAK_ShoppinBasket\", \"GAK_CookieConsent\", \"GAK_SearchRef\",\r\n \"GAK_VoucherPromoPopup\", \"LocationId\", \"ChannelID\", \"__RequestVerificationToken\",\r\n \"GAK_FinanceOptions\", \"amazon-pay-connectedAuth\", \"apay-session-set\",\r\n \"GAK_FE_Email\", \".AspNet.ApplicationCookie\"]\r\n };\r\n\r\n ///Returning boolValue if it's a bool, fallbackBool otherwise\r\n function getSafeBool(boolValue, fallbackBool) {\r\n if (typeof (boolValue) === \"boolean\") {\r\n return boolValue;\r\n }\r\n\r\n return fallbackBool;\r\n }\r\n\r\n try {\r\n var consentCookie = unescape(getCookie(this.CookieConsentKey));\r\n var cookieObj = JSON.parse(consentCookie);\r\n\r\n if (cookieObj === true) {\r\n result.didConsentImplicitly = true;\r\n result.didConsentToAllManually = false;\r\n result.didConsentToEssentialManually = true;\r\n result.shouldShowCookieBanner = false;\r\n result.shouldShowImpliedCookieBanner = false;\r\n }\r\n else if (cookieObj != null && typeof (cookieObj) === \"object\") {\r\n result.didConsentImplicitly = getSafeBool(cookieObj.didConsentImplicitly, result.didConsentImplicitly);\r\n result.didConsentToAllManually = getSafeBool(cookieObj.didConsentToAllManually, result.didConsentToAllManually);\r\n result.didConsentToEssentialManually = getSafeBool(cookieObj.didConsentToEssentialManually, result.didConsentToEssentialManually);\r\n result.shouldShowCookieBanner = getSafeBool(cookieObj.shouldShowCookieBanner, result.shouldShowCookieBanner);\r\n result.shouldShowImpliedCookieBanner = getSafeBool(cookieObj.shouldShowImpliedCookieBanner, result.shouldShowImpliedCookieBanner);\r\n }\r\n\r\n } catch (e) {\r\n //In case of exception assume cookie doesn't exist\r\n //Nothing to do\r\n }\r\n\r\n return result;\r\n },\r\n onManuallyConsentToAllCookies: function () {\r\n var settings = CookieConsentService.getCookieSettings();\r\n settings.didConsentToAllManually = true;\r\n settings.didConsentImplicitly = true;\r\n settings.shouldShowCookieBanner = false;\r\n settings.shouldShowImpliedCookieBanner = false;\r\n\r\n CookieConsentService.saveCookieConsent(settings);\r\n },\r\n onManuallyConsentToEssentialCookies: function () {\r\n var settings = CookieConsentService.getCookieSettings();\r\n settings.didConsentToAllManually = false;\r\n settings.didConsentToEssentialManually = true;\r\n settings.didConsentImplicitly = true;\r\n settings.shouldShowCookieBanner = false;\r\n settings.shouldShowImpliedCookieBanner = false;\r\n\r\n CookieConsentService.saveCookieConsent(settings);\r\n },\r\n onHideImpliedConsentBanner: function () {\r\n var settings = CookieConsentService.getCookieSettings();\r\n settings.didConsentImplicitly = true;\r\n settings.shouldShowImpliedCookieBanner = false;\r\n\r\n CookieConsentService.saveCookieConsent(settings);\r\n },\r\n onRevokeConsent: function () {\r\n confirm(\"Checkout cannot work without cookies.Are you sure you want to revoke your cookie consent?\",\r\n function (didConfirm) {\r\n if (didConfirm) {\r\n var settings = CookieConsentService.getCookieSettings();\r\n settings.didConsentToAllManually = false;\r\n settings.didConsentImplicitly = false;\r\n settings.shouldShowCookieBanner = true;\r\n settings.shouldShowImpliedCookieBanner = true;\r\n\r\n CookieConsentService.saveCookieConsent(settings);\r\n }\r\n },\r\n \"Cookie consent\",\r\n \"REVOKE CONSENT\",\r\n \"CANCEL\");\r\n },\r\n saveCookieConsent: function (consentSettings) {\r\n if (this.CookieConsentKey === \"\") {\r\n //console.log(\"Cookie consent key was not set\");\r\n return;\r\n }\r\n\r\n var settingsJson = JSON.stringify(consentSettings);\r\n\r\n //Checking if settings changed\r\n //If changed, cookie will be set and page reloaded\r\n var consentCookie = getCookie(this.CookieConsentKey);\r\n if (settingsJson !== consentCookie) {\r\n setCookie(this.CookieConsentKey, settingsJson, 730);\r\n }\r\n },\r\n showConsentModal: function () {\r\n var message = \"This feature is not available without cookie consent.\" +\r\n \"Learn more\";\r\n var title = \"Consent to cookies\";\r\n\r\n confirm(message, function (didNotConsent) {\r\n //We're inversing button names and hence meaning so that Consent is shown as blue (ie: safe option)\r\n if (!didNotConsent) {\r\n CookieConsentService.onManuallyConsentToAllCookies();\r\n }\r\n },\r\n title,\r\n \"CLOSE\",\r\n \"ACCEPT & CLOSE\",\r\n //Hiding close button for express consent\r\n //Putting back close button will also need extra work since \r\n //close and 'Consent to cookies' will have same meaning\r\n false);\r\n }\r\n};\r\n\r\n//Cookie consent bindings\r\n\r\n//Preventing redirect\r\n\r\nfunction ConsentBinding(event) {\r\n //TODO: improve on design so that instead of refresh we redirect to basket/account login\r\n if (!CookieConsentService.didConsentToAllCookies()) {\r\n //Preventing redirect\r\n event.preventDefault();\r\n\r\n CookieConsentService.showConsentModal();\r\n }\r\n}\r\n\r\n//document.getElementById(\"basketLink\").addEventListener(ConsentBinding);\r\n//document.getElementById(\"accountLoginLink\").addEventListener(ConsentBinding);\r\n\r\n//End - cookie consent bindings\r\nconst deleteCookie = (name) => {\r\n document.cookie = name + \"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\r\n};\r\n\r\nfunction getCookie(cookieName) {\r\n let cookie = {};\r\n document.cookie.split(';').forEach(function (el) {\r\n let [key, value] = el.split('=');\r\n cookie[key.trim()] = value;\r\n })\r\n return cookie[cookieName];\r\n}\r\n\r\nfunction setCookie(name, value, days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n}\r\n\r\n\r\n\r\nexport { CookieConsentService }\r\n\r\n","var elements = document.getElementsByClassName(\"product-card\");\r\nvar productDetailsEl = document.getElementsByClassName(\"pdp-basket\").item(0);\r\n\r\nvar pushEnhancedEcommerce = function () {\r\n pushEcommerce();\r\n}\r\n\r\nfunction getProductDetails() {\r\n if (productDetailsEl) {\r\n return getProductDetailObj(productDetailsEl);\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction getProductDetailObj(el) {\r\n var productObj =\r\n {\r\n 'name': el.getAttribute(\"data-name\"),\r\n 'id': el.getAttribute(\"data-google-product-id\")\r\n ?? el.getAttribute(\"data-product-id\")\r\n ?? el.getAttribute(\"data-id\"),\r\n 'internalId': el.getAttribute(\"data-product-id\") ?? el.getAttribute(\"data-id\"),\r\n 'price': el.getAttribute(\"data-price\"),\r\n 'brand': el.getAttribute(\"data-brand\"),\r\n 'category': el.getAttribute(\"data-category\")\r\n };\r\n\r\n return productObj;\r\n}\r\n\r\nfunction getProductObj(el) {\r\n var productObj =\r\n {\r\n 'name': el.getAttribute(\"data-name\"),\r\n 'id': el.getAttribute(\"data-google-product-id\") \r\n ?? el.getAttribute(\"data-product-id\")\r\n ?? el.getAttribute(\"data-id\"),\r\n 'internalId': el.getAttribute(\"data-product-id\") ?? el.getAttribute(\"data-id\"),\r\n 'price': el.getAttribute(\"data-price\"),\r\n 'brand': el.getAttribute(\"data-brand\"),\r\n 'category': el.getAttribute(\"data-category\"),\r\n 'position': el.getAttribute(\"data-position\"),\r\n 'list': el.getAttribute(\"data-list\")\r\n };\r\n\r\n return productObj;\r\n}\r\n\r\nfunction pushEcommerce() {\r\n var products = getProducts();\r\n var promotions = getPromotions();\r\n var productDetails = getProductDetails();\r\n\r\n var ecommerceObj = {\r\n ecommerce: {\r\n currencyCode: 'GBP'\r\n },\r\n }\r\n\r\n if (products.length > 0) {\r\n ecommerceObj.ecommerce.eec = {\r\n impressionView: { products }\r\n };\r\n }\r\n\r\n if (promotions.length > 0) {\r\n ecommerceObj.ecommerce.eec.promoView = {\r\n promoView: { promotions: promotions }\r\n };\r\n }\r\n\r\n if (productDetails != null) {\r\n ecommerceObj.ecommerce.eec = {\r\n detail: { products: [productDetails] }\r\n };\r\n }\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push(ecommerceObj);\r\n}\r\n\r\nfunction getProducts() {\r\n var products = [];\r\n\r\n for (var i = 0; i < elements.length; i++) {\r\n elements[i].addEventListener('click', onProductClick);\r\n\r\n products.push(getProductObj(elements[i]));\r\n }\r\n\r\n return products;\r\n}\r\n\r\nfunction onProductClick(e) {\r\n e.preventDefault();\r\n\r\n var el = e.currentTarget;\r\n var productObj = getProductObj(el);\r\n var productUrl = el.getAttribute(\"href\");\r\n\r\n pushProductClick(productObj, productUrl);\r\n}\r\n\r\nfunction getPromotions() {\r\n var banners = document.querySelector('a.hero-banner');\r\n var promotionsObj = [];\r\n\r\n if (banners) {\r\n for (var i = 0; i < banners.length; i++) {\r\n banners[i].addEventListener('click', onBannerClick);\r\n\r\n promotionsObj.push(getPromotionObj(banners[i]));\r\n }\r\n }\r\n\r\n return promotionsObj;\r\n}\r\n\r\nfunction onBannerClick(e) {\r\n e.preventDefault();\r\n\r\n var el = e.currentTarget;\r\n var promotionObj = getPromotionObj(el);\r\n\r\n onPromoClick(promotionObj);\r\n}\r\n\r\nfunction getPromotionObj(el) {\r\n var promotionObj =\r\n {\r\n 'id': el.getAttribute(\"data-id\"),\r\n 'name': el.getAttribute(\"data-name\"),\r\n 'creative': el.getAttribute(\"data-creative\"),\r\n 'position': el.getAttribute(\"data-position\"),\r\n 'destinationUrl': el.getAttribute(\"href\")\r\n }\r\n\r\n return promotionObj;\r\n}\r\n\r\nfunction onPromoClick(promoObj) {\r\n dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\r\n dataLayer.push({\r\n 'event': 'eec.promoClick',\r\n 'ecommerce': {\r\n 'promoClick': {\r\n 'promotions': [promoObj]\r\n }\r\n }\r\n });\r\n\r\n document.location = promoObj.destinationUrl;\r\n\r\n}\r\n\r\nfunction pushProductClick(productObj, productUrl) {\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n 'event': 'eec.productClick',\r\n 'ecommerce': {\r\n 'click': {\r\n 'products': [productObj]\r\n }\r\n }\r\n });\r\n\r\n if (productUrl)\r\n document.location = productUrl;\r\n}\r\n\r\nfunction pushAddToCart(productId, quantity = 1) {\r\n var product = getProductsToAddRemove(productId);\r\n product.quantity = quantity;\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n 'event': 'eec.addToCart',\r\n 'ecommerce': {\r\n 'add': {\r\n 'products': [product]\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction getProductsToAddRemove(productId) {\r\n var productContainer = document.querySelector(`[data-id=\"${productId}\"]`);\r\n\r\n if (!productContainer)\r\n productContainer = document.querySelector(`[data-product-id='${productId}']`);\r\n\r\n if (!productContainer)\r\n return;\r\n\r\n return getProductDetailObj(productContainer);\r\n}\r\n\r\nfunction pushRemoveFromCart(productId, quantity = 1) {\r\n var product = getProductsToAddRemove(productId);\r\n product.quantity = quantity;\r\n\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n 'event': 'eec.removeFromCart',\r\n 'ecommerce': {\r\n 'remove': {\r\n 'products': [product]\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction getCheckoutProducts() {\r\n var products = [];\r\n var el = document.getElementsByClassName(\"basket-item\");\r\n\r\n for (var i = 0; i < el.length; i++) {\r\n products.push(getProductDetailObj(el[i]));\r\n }\r\n\r\n return products;\r\n}\r\n\r\nfunction getBasketItems(step, option, basketItemsURL) {\r\n fetch(basketItemsURL, {\r\n method: \"POST\"\r\n }).then(response => response.json())\r\n .then(function (result) {\r\n var products = result.basketVm.Items;\r\n var basketContainer = document.getElementById(\"basketItemsContainer\");\r\n var ulElemen = document.createElement(\"ul\")\r\n var liElem = \"\";\r\n\r\n if (products) {\r\n products.forEach(function (item) {\r\n liElem +=\r\n `
\r\n
`\r\n });\r\n }\r\n\r\n ulElemen.innerHTML = liElem;\r\n basketContainer.append(ulElemen);\r\n pushCheckout(step, option);\r\n });\r\n}\r\n\r\nfunction onCheckout(step, option, basketItemsURL) {\r\n if (basketItemsURL) {\r\n getBasketItems(step, option, basketItemsURL);\r\n }\r\n else {\r\n pushCheckout(step, option);\r\n }\r\n}\r\n\r\nfunction pushCheckout(step, option) {\r\n var products = getCheckoutProducts();\r\n dataLayer.push({ ecommerce: null });\r\n\r\n var ecommerceObj = {\r\n event: 'eec.checkout',\r\n ecommerce: {\r\n checkout: {\r\n actionField: { step: step },\r\n }\r\n }\r\n }\r\n\r\n if (products && products.length > 0)\r\n ecommerceObj.ecommerce.checkout.products = products;\r\n\r\n if (option)\r\n ecommerceObj.ecommerce.checkout.actionField.option = option.toLowerCase();\r\n\r\n dataLayer.push(ecommerceObj);\r\n}\r\n\r\nfunction onCheckoutOption(step, checkoutOption) {\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n 'event': 'checkoutOption',\r\n 'ecommerce': {\r\n 'checkout_option': {\r\n 'actionField': { 'step': step, 'option': checkoutOption }\r\n }\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction pushProductView() {\r\n dataLayer.push({ ecommerce: null });\r\n dataLayer.push({\r\n 'event': 'eec.detail',\r\n 'ecommerce': {\r\n 'detail': {\r\n 'products': [getProductDetailObj(productDetailsEl)]\r\n }\r\n }\r\n });\r\n}\r\n\r\nwindow.onload = function () {\r\n pushEcommerce();\r\n}\r\n\r\nexport { pushEnhancedEcommerce, pushAddToCart, pushRemoveFromCart, onCheckout, onCheckoutOption, pushProductView };","export function getFormattedPrice(myPrice, symbol, conversionRate) {\r\n var xPrice = parseFloat(myPrice);\r\n var formattedPrice = \"\";\r\n if (xPrice > 0) {\r\n formattedPrice = numberToCurrency(xPrice, symbol, conversionRate);\r\n }\r\n else {\r\n formattedPrice = \"FREE\";\r\n }\r\n return formattedPrice;\r\n};\r\n\r\nexport function numberToCurrency(number, symbol, conversionRate) {\r\n return symbol + (number * conversionRate).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n};","var GoogleScriptsService = {\r\n addTagManager: function (id) {\r\n addScriptOnHead(`(function (w, d, s, l, i) {\r\n w[l] = w[l] || []; w[l].push({\r\n 'gtm.start':\r\n new Date().getTime(), event: 'gtm.js'\r\n }); var f = d.getElementsByTagName(s)[0],\r\n j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =\r\n '//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);\r\n })(window, document, 'script', 'dataLayer', '${id}');`);\r\n },\r\n addOptmise: function (analyticsId, optmiseId) {\r\n //addScriptOnHead(`(function (i, s, o, g, r, a, m) {\r\n // i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {\r\n // (i[r].q = i[r].q || []).push(arguments)\r\n // }, i[r].l = 1 * new Date(); a = s.createElement(o),\r\n // m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)\r\n //})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\n\r\n //ga('create', '${analyticsId}', 'auto');\r\n //ga('require', '${optmiseId}');`);\r\n },\r\n addConversionPage: function (paymentAmount) {\r\n addScriptOnBody(`gtag('event', 'conversion', {\r\n 'send_to': 'AW-1071972399/zlivCL7EpLoBEK-AlP8D',\r\n 'value': ${paymentAmount},\r\n 'currency': 'GBP',\r\n 'transaction_id': ''\r\n });`);\r\n },\r\n //commented as it was causing page flickers\r\n addAntiFlicker: function (id) {\r\n //addScriptOnHead(`(function(a,s,y,n,c,h,i,d,e){s.className += ' ' + y; h.start=1*new Date;\r\n // h.end=i=function(){s.className = s.className.replace(RegExp(' ?' + y), '')};\r\n // (a[n]=a[n]||[]).hide=h;setTimeout(function(){i(); h.end=null},c);h.timeout=c;\r\n // })(window,document.documentElement,'async-hide','dataLayer',4000,{'${id}': true});`);\r\n },\r\n consentGranted: function () {\r\n gtag('consent', 'update', {\r\n 'ad_storage': 'granted',\r\n 'analytics_storage': 'granted',\r\n 'security_storage': 'granted'\r\n });\r\n\r\n addScriptOnHead(`window.dataLayer.push({\r\n 'event': 'cookieConsent',\r\n 'consentStatus': true\r\n })`);\r\n\r\n },\r\n consentRevoked: function () {\r\n gtag('consent', 'update', {\r\n 'ad_storage': 'denied',\r\n 'analytics_storage': 'denied',\r\n 'security_storage': 'granted'\r\n });\r\n\r\n addScriptOnHead(`window.dataLayer.push({\r\n 'event': 'cookieConsent',\r\n 'consentStatus': false\r\n })`);\r\n\r\n },\r\n pushEvent: function (event) {\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(event);\r\n }\r\n}\r\n\r\nvar FacebookScriptsService = {\r\n addFacebookTracking: function (isSearch) {\r\n addScriptOnBodyTop(`!function (f, b, e, v, n, t, s) {\r\n if (f.fbq) return; n = f.fbq = function () {\r\n n.callMethod ?\r\n n.callMethod.apply(n, arguments) : n.queue.push(arguments)\r\n };\r\n if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';\r\n n.queue = []; t = b.createElement(e); t.async = !0;\r\n t.src = v; s = b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t, s)\r\n }(window, document, 'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js');\r\n fbq('init', '1755089831374739');\r\n fbq('track', 'PageView');`);\r\n },\r\n addFacebookEvent: function (event) {\r\n addScriptOnBody(`fbq('track', '${event}');`);\r\n },\r\n getFbq: function () {\r\n return fbq;\r\n }\r\n}\r\n\r\nvar BingScriptsService = {\r\n addBingTracking: function () {\r\n addScriptOnBody(`(function (w, d, t, r, u) { var f, n, i; w[u] = w[u] || [], f = function () { var o = { ti: \"5296147\" }; \r\n o.q = w[u], w[u] = new UET(o), w[u].push(\"pageLoad\") }, n = d.createElement(t), n.src = r, n.async = 1, n.onload = n.onreadystatechange = function () {\r\n var s = this.readyState; s && s !== \"loaded\" && s !== \"complete\" || (f(), n.onload = n.onreadystatechange = null) }, i = d.getElementsByTagName(t)[0], i.parentNode.insertBefore(n, i)\r\n })(window, document, \"script\", \"//bat.bing.com/bat.js\", \"uetq\");`)\r\n }\r\n}\r\n\r\nvar addScriptOnHead = function (script) {\r\n document.head.appendChild(createScriptElement(script));\r\n}\r\n\r\nvar addScriptOnBody = function (script) {\r\n document.body.appendChild(createScriptElement(script));\r\n}\r\n\r\n\r\nvar addScriptOnBodyTop = function (script) {\r\n document.body.insertBefore(createScriptElement(script), document.body.firstChild);\r\n}\r\n\r\nfunction createScriptElement(script) {\r\n var addDataLayer = document.createElement(\"script\");\r\n\r\n var dataLayerData = document.createTextNode(script);\r\n\r\n addDataLayer.appendChild(dataLayerData);\r\n return addDataLayer;\r\n}\r\n\r\nexport { GoogleScriptsService, FacebookScriptsService, BingScriptsService }","/*! tabbyjs v12.0.1 | (c) 2019 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/tabby */\nElement.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),(function(e,t){\"function\"==typeof define&&define.amd?define([],(function(){return t(e)})):\"object\"==typeof exports?module.exports=t(e):e.Tabby=t(e)})(\"undefined\"!=typeof global?global:\"undefined\"!=typeof window?window:this,(function(e){\"use strict\";var t={idPrefix:\"tabby-toggle_\",default:\"[data-tabby-default]\"},r=function(e){if(e&&\"true\"!=e.getAttribute(\"aria-selected\")){var t=document.querySelector(e.hash);t&&(function(e){var t=e.closest('[role=\"tablist\"]');if(t){var r=t.querySelector('[role=\"tab\"][aria-selected=\"true\"]');if(r){var o=document.querySelector(r.hash);r.setAttribute(\"aria-selected\",\"false\"),r.setAttribute(\"tabindex\",\"-1\"),o&&o.setAttribute(\"hidden\",\"hidden\")}}}(e),(function(e,t){e.setAttribute(\"aria-selected\",\"true\"),e.setAttribute(\"tabindex\",\"0\"),t.removeAttribute(\"hidden\"),e.focus()})(e,t),(function(e,t){var r=new CustomEvent(\"tabby\",{bubbles:!0,cancelable:!0,detail:{tab:e,content:t}});e.dispatchEvent(r)})(e,t))}},o=function(e,t){var o=(function(e){var t=e.closest('[role=\"tablist\"]'),r=t?t.querySelectorAll('[role=\"tab\"]'):null;if(r)return{tabs:r,index:Array.prototype.indexOf.call(r,e)}})(e);if(o){var n,i=o.tabs.length-1;[\"ArrowUp\",\"ArrowLeft\",\"Up\",\"Left\"].indexOf(t)>-1?n=o.index<1?i:o.index-1:[\"ArrowDown\",\"ArrowRight\",\"Down\",\"Right\"].indexOf(t)>-1?n=o.index===i?0:o.index+1:\"Home\"===t?n=0:\"End\"===t&&(n=i),r(o.tabs[n])}};return function(n,i){var a,l,u={};u.destroy=function(){var e=l.querySelectorAll(\"a\");Array.prototype.forEach.call(e,(function(e){var t=document.querySelector(e.hash);t&&(function(e,t,r){e.id.slice(0,r.idPrefix.length)===r.idPrefix&&(e.id=\"\"),e.removeAttribute(\"role\"),e.removeAttribute(\"aria-controls\"),e.removeAttribute(\"aria-selected\"),e.removeAttribute(\"tabindex\"),e.closest(\"li\").removeAttribute(\"role\"),t.removeAttribute(\"role\"),t.removeAttribute(\"aria-labelledby\"),t.removeAttribute(\"hidden\")})(e,t,a)})),l.removeAttribute(\"role\"),document.documentElement.removeEventListener(\"click\",c,!0),l.removeEventListener(\"keydown\",d,!0),a=null,l=null},u.setup=function(){if(l=document.querySelector(n)){var e=l.querySelectorAll(\"a\");l.setAttribute(\"role\",\"tablist\"),Array.prototype.forEach.call(e,(function(e){var t=document.querySelector(e.hash);t&&(function(e,t,r){e.id||(e.id=r.idPrefix+t.id),e.setAttribute(\"role\",\"tab\"),e.setAttribute(\"aria-controls\",t.id),e.closest(\"li\").setAttribute(\"role\",\"presentation\"),t.setAttribute(\"role\",\"tabpanel\"),t.setAttribute(\"aria-labelledby\",e.id),e.matches(r.default)?e.setAttribute(\"aria-selected\",\"true\"):(e.setAttribute(\"aria-selected\",\"false\"),e.setAttribute(\"tabindex\",\"-1\"),t.setAttribute(\"hidden\",\"hidden\"))})(e,t,a)}))}},u.toggle=function(e){var t=e;\"string\"==typeof e&&(t=document.querySelector(n+' [role=\"tab\"][href*=\"'+e+'\"]')),r(t)};var c=function(e){var t=e.target.closest(n+' [role=\"tab\"]');t&&(e.preventDefault(),r(t))},d=function(e){var t=document.activeElement;t.matches(n+' [role=\"tab\"]')&&([\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\",\"Up\",\"Down\",\"Left\",\"Right\",\"Home\",\"End\"].indexOf(e.key)<0||o(t,e.key))};return a=(function(){var e={};return Array.prototype.forEach.call(arguments,(function(t){for(var r in t){if(!t.hasOwnProperty(r))return;e[r]=t[r]}})),e})(t,i||{}),u.setup(),(function(t){if(!(e.location.hash.length<1)){var o=document.querySelector(t+' [role=\"tab\"][href*=\"'+e.location.hash+'\"]');r(o)}})(n),document.documentElement.addEventListener(\"click\",c,!0),l.addEventListener(\"keydown\",d,!0),u}}));","import Utils from './utils';\r\n\r\ndeclare var ShoppingBasketParms: any;\r\ndeclare var globalParms: any;\r\n\r\n/**********************************\r\n* Mega Menu Functions \r\n**********************************/\r\n\r\nfunction getElementIndex(node: HTMLElement): number {\r\n var index = 0;\r\n while ((node = node.previousElementSibling as HTMLElement)) {\r\n index++;\r\n }\r\n return index;\r\n}\r\n\r\n//Initialise menu\r\nfunction initMenu(menu: any): void {\r\n //Only load the initial menu for desktop\r\n if (screen.width > 1023) {\r\n menu.setAttribute('data-display', 'd');\r\n var level2 = document.querySelectorAll('[data-navLevel = \"2\"]')[0];\r\n if (level2) {\r\n level2.querySelector('.category-column > ul > li:first-child')?.setAttribute('data-hovered', 'true')\r\n level2.querySelector('.category-column > ul > li:first-child button')?.setAttribute('aria-expanded', 'true');\r\n level2.querySelectorAll('.category-column-sub')[0].setAttribute('data-active', 'true');\r\n }\r\n }\r\n else {\r\n menu.setAttribute('data-display', 'm');\r\n }\r\n}\r\n\r\n//Reset menu\r\nfunction resetMenu(menu: any): void {\r\n menu.querySelectorAll('[aria-expanded]').forEach(function (item: any) {\r\n item.setAttribute('aria-expanded', 'false');\r\n });\r\n menu.querySelectorAll('[data-active]:not([data-navlevel=\"3\"])').forEach(function (item: any) {\r\n item.setAttribute('data-active', 'false');\r\n });\r\n menu.querySelectorAll('[data-hovered]').forEach(function (item: any) {\r\n item.setAttribute('data-hovered', 'false');\r\n });\r\n menu.querySelectorAll('.active').forEach(function (item: any) {\r\n item.classList.remove('active');\r\n });\r\n\r\n initMenu(menu);\r\n}\r\n\r\n//action: on|off\r\nfunction onOffItems(element: HTMLElement, action: string): void {\r\n element.setAttribute('aria-expanded', (action === \"on\") ? 'true' : 'false');\r\n if (action === \"on\") {\r\n element.parentElement?.classList.add('active');\r\n } else {\r\n element.parentElement?.classList.remove('active');\r\n }\r\n\r\n element.nextElementSibling?.setAttribute('data-active', (action === \"on\") ? 'true' : 'false');\r\n}\r\n\r\nfunction handleMobileMenu(this: HTMLElement) {\r\n var expanded = this.getAttribute('aria-expanded');\r\n var body = document.body;\r\n if (expanded == \"false\") {\r\n this.setAttribute('aria-expanded', \"true\");\r\n document.querySelector('header.site-head')?.setAttribute('data-mobile-toggled', \"true\");\r\n body.classList.add(\"menu-open\");\r\n } else {\r\n this.setAttribute('aria-expanded', \"false\");\r\n document.querySelector('header.site-head')?.setAttribute('data-mobile-toggled', \"false\");\r\n body.classList.remove(\"menu-open\");\r\n //TODO: what are we resetting? resetMenu();\r\n }\r\n}\r\n\r\nfunction closeMobileMenu() {\r\n var body = document.body;\r\n document.querySelector('button.mobile-menu')?.setAttribute('aria-expanded', \"false\");\r\n document.querySelector('header.site-head')?.setAttribute('data-mobile-toggled', \"false\");\r\n body.classList.remove(\"menu-open\");\r\n // handleMobileMenu;\r\n}\r\n\r\n// Standard offset.top not working properly: https://medium.com/@alexcambose/js-offsettop-property-is-not-great-and-here-is-why-b79842ef7582\r\nfunction getOffsetTop(element: any) {\r\n let offsetTop = 0;\r\n let parentElem = element;\r\n while (parentElem) {\r\n offsetTop += parentElem.offsetTop;\r\n parentElem = parentElem.offsetParent;\r\n }\r\n return offsetTop;\r\n}\r\n\r\n//we have js\r\nif (document.documentElement.classList.contains('no-js')) {\r\n document.documentElement.classList.remove('no-js');\r\n document.documentElement.classList.add('js');\r\n\r\n if (document.getElementsByClassName('site-head').length) {\r\n\r\n var menu = document.querySelector('#primary-navigation');\r\n\r\n if (menu) {\r\n\r\n initMenu(menu);\r\n\r\n //TODO - add debounce - resize init();\r\n //window.addEventListener('resize', function (e) {\r\n // if (screen.width > 1023 && menu.getAttribute('data-display') != \"d\") {\r\n // resetMenu(menu);\r\n // }\r\n // else if (screen.width <= 1023 && menu.getAttribute('data-display') != \"m\") {\r\n // resetMenu(menu);\r\n // }\r\n //});\r\n\r\n //Main menu click event\r\n menu.addEventListener('click', function (e) {\r\n let clickElement = e.srcElement;\r\n if ((clickElement as HTMLElement).tagName.toLowerCase() == 'span' || (clickElement as HTMLElement).tagName.toLowerCase() == 'svg') {\r\n clickElement = (clickElement as HTMLElement)?.closest('button')\r\n }\r\n if ((clickElement as HTMLElement)?.classList.contains('cat-link')) {\r\n var level = (clickElement as HTMLElement)?.closest('[data-navLevel]')?.getAttribute(\"data-navLevel\");\r\n if (level != \"2\") {\r\n //Simple toggle\r\n if ((clickElement as HTMLElement)?.getAttribute('aria-expanded') == \"false\") {\r\n //Switch off any items that are active\r\n var activeItemLevel = document.querySelector('[data-navLevel = \"' + level + '\"]');\r\n var activeItems = activeItemLevel?.querySelectorAll('button[aria-expanded=\"true\"]');\r\n for (var i = 0, max = activeItems?.length; i < (max ? max : 0); i++) {\r\n if (activeItems != null && activeItems[i]?.closest('[data-navLevel]')?.getAttribute(\"data-navLevel\") == level) {\r\n onOffItems(activeItems[i] as HTMLElement, 'off');\r\n }\r\n }\r\n onOffItems((clickElement as HTMLElement), 'on');\r\n }\r\n else {\r\n onOffItems((clickElement as HTMLElement), 'off');\r\n }\r\n }\r\n else {\r\n //Level 2 items\r\n var index = getElementIndex((clickElement as HTMLElement)?.parentElement as HTMLElement);\r\n var menuSubs = document.querySelectorAll('.category-column-sub');\r\n\r\n var menuSub = null;\r\n for (var i = 0, max1 = menuSubs.length; i < max1; i++) {\r\n if (index == i) {\r\n menuSub = menuSubs[i];\r\n }\r\n }\r\n if ((clickElement as HTMLElement).getAttribute('aria-expanded') == \"false\") {\r\n //Switch off any active items first\r\n var activeItem = document.querySelector('.category-column ul li[data-hovered=\"true\"]');\r\n if (activeItem !== null) {\r\n var activeItemIndex = getElementIndex(activeItem as HTMLElement);\r\n activeItem.setAttribute('data-hovered', 'false');//li\r\n activeItem.querySelector('button')?.setAttribute('aria-expanded', 'false');//button\r\n var menuSubOff = null;\r\n for (var i = 0, max2 = menuSubs.length; i < max2; i++) {\r\n if (activeItemIndex == i) {\r\n menuSubOff = menuSubs[i];\r\n }\r\n }\r\n menuSubOff?.setAttribute('data-active', 'false');\r\n }\r\n (clickElement as HTMLElement).setAttribute('aria-expanded', 'true');\r\n (clickElement as HTMLElement).parentElement?.setAttribute('data-hovered', 'true');\r\n menuSub?.setAttribute('data-active', 'true');\r\n }\r\n }\r\n }\r\n else {\r\n // if non .cat-link\r\n if ((clickElement as HTMLElement).closest('[data-navLevel]')?.getAttribute(\"data-navLevel\") == \"1\") {\r\n resetMenu(menu);\r\n }\r\n }\r\n\r\n });\r\n\r\n //Close menu when user clicks outside\r\n document.addEventListener('click', function (e) {\r\n // This closes menu on click outside\r\n let target = e.target;\r\n if (menu && target && !menu.contains(target as HTMLElement)) {\r\n resetMenu(menu);\r\n }\r\n });\r\n\r\n //TODO // key functions for keyboard navigation\r\n //var level2MenuCatColumns = menu.querySelectorAll('.category-column');\r\n //for (var i = 0, max = level2MenuCatColumns.length; i < max; i++) {\r\n // var level2MenuCatColumn = level2MenuCatColumns[i];\r\n // level2MenuCatColumn.addEventListener('keyup', function (e) {\r\n // if ((e as Event).key == \"Enter\") {\r\n // console.log(e.srcElement);\r\n // var firstElementSub = document.querySelectorAll('.category-column-sub[data-active=\"true\"] ul li a')[0];\r\n // firstElementSub.focus();\r\n // }\r\n // });\r\n //}\r\n\r\n var level2MenuSub = menu.querySelectorAll('.category-column-sub');\r\n let max = level2MenuSub.length;\r\n for (var i = 0; i < max; i++) {\r\n var level2MenuSubAnchors = level2MenuSub[i].querySelectorAll('a');\r\n let max2 = level2MenuSubAnchors.length;\r\n for (var b = 0; b < max2; b++) {\r\n if (b + 1 == max2) {\r\n level2MenuSubAnchors[b].addEventListener('keydown', function (e) {\r\n if (e.keyCode == 9) {\r\n menu?.querySelector('.category-column li[data-hovered=\"true\"]')?.querySelector('button')?.focus();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n //Breadcrumb functions\r\n var breadcrumbButtons = menu.querySelectorAll('.breadcrumb .parent-page');\r\n var maxBreadcrumbs = breadcrumbButtons.length;\r\n for (var i = 0; i < maxBreadcrumbs; i++) {\r\n breadcrumbButtons[i].addEventListener('click', function (e) {\r\n var navLevelElm = (e.srcElement as HTMLElement).closest('[data-navlevel]') as HTMLElement;\r\n var navLevel = navLevelElm.getAttribute('data-navlevel');\r\n if (navLevel && parseInt(navLevel) != 2) {\r\n navLevelElm = navLevelElm.closest('li') as HTMLElement;\r\n navLevelElm.setAttribute('class', 'false');\r\n }\r\n else {\r\n navLevelElm.setAttribute('data-active', 'false');\r\n }\r\n\r\n navLevelElm.querySelectorAll('[aria-expanded]').forEach(function (item: any) {\r\n item.setAttribute('aria-expanded', 'false');\r\n });\r\n navLevelElm.querySelectorAll('[data-active]:not([data-navlevel=\"3\"])').forEach(function (item: any) {\r\n item.setAttribute('data-active', 'false');\r\n });\r\n navLevelElm.querySelectorAll('[data-hovered]').forEach(function (item: any) {\r\n item.setAttribute('data-hovered', 'false');\r\n });\r\n navLevelElm.querySelectorAll('.active').forEach(function (item: any) {\r\n item.classList.remove('active');\r\n });\r\n\r\n if (navLevel && parseInt(navLevel) == 2) {\r\n //Go up a level and switch off the button that opened the level\r\n var navLevelElmUp1 = navLevelElm.closest('[data-navlevel=\"' + (parseInt(navLevel) - 1) + '\"]');\r\n var navLevelElmUp1Button = navLevelElmUp1?.querySelector('button[aria-expanded=\"true\"]');\r\n if (navLevelElmUp1Button != null) {\r\n navLevelElmUp1Button.setAttribute('aria-expanded', 'false');\r\n }\r\n }\r\n });\r\n }\r\n\r\n //Mobile menu functions\r\n var mobilemenu = document.querySelector('button.mobile-menu');\r\n mobilemenu?.addEventListener(\"click\", handleMobileMenu); \r\n\r\n var mobilebg = document.querySelector('.mobile-background');\r\n mobilebg?.addEventListener(\"click\", closeMobileMenu);\r\n\r\n var tertiarynav = document.querySelector('.tertiary-nav');\r\n if (tertiarynav && mobilemenu && mobilebg) {\r\n var primarynav = document.getElementById('nav-container');\r\n if (primarynav) {\r\n primarynav.style.top = \"81px\";\r\n }\r\n (mobilebg as HTMLElement).style.top = \"81px\";\r\n }\r\n }\r\n\r\n ///////////////////////////////////////////////////////////////////\r\n // Sticky search bar on mobile //\r\n ///////////////////////////////////////////////////////////////////\r\n\r\n var sh = document.querySelector(\".site-head\");\r\n var h = document.querySelector(\".search-container\");\r\n var stuck = false;\r\n var stickPoint = getOffsetTop(h);\r\n\r\n window.onscroll = function (e) {\r\n var offset = window.pageYOffset;\r\n\r\n if (!stuck && offset > stickPoint) {\r\n if (h) h.classList.add('stuck');\r\n if (sh) sh.classList.add('stuck');\r\n stuck = true;\r\n } else if (stuck && offset <= stickPoint) {\r\n if (h) h.classList.remove('stuck');;\r\n if (sh) sh.classList.remove('stuck');\r\n stuck = false\r\n }\r\n }\r\n }\r\n\r\n /*toggles, used in mobile footer used in all pages*/\r\n var ToggleButtons = document.querySelectorAll('[data-toggle-parent]');\r\n if (ToggleButtons.length) {\r\n ToggleButtons.forEach(function (toggle) {\r\n if (!toggle.classList.contains('click-bound')) {\r\n toggle.classList.add('click-bound');\r\n toggle.addEventListener('click', function (e) {\r\n let elem = e.target as HTMLElement;\r\n if (elem.getAttribute('aria-expanded') == \"false\") {\r\n elem.setAttribute('aria-expanded', 'true')\r\n }\r\n else {\r\n elem.setAttribute('aria-expanded', 'false');\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n var loginPartial = document.querySelector(\".loginPartial\");\r\n var loginPartialMobile = document.getElementById(\"sign-in-mobile\");\r\n\r\n if (loginPartial) {\r\n if (globalParms && globalParms.LoginPartialURL) {\r\n fetch(globalParms.LoginPartialURL)\r\n .then(response => response.text())\r\n .then(function (data) {\r\n if (data && loginPartial) {\r\n loginPartial.innerHTML = data;\r\n }\r\n if (data && loginPartialMobile) {\r\n loginPartialMobile.innerHTML = data;\r\n }\r\n });\r\n }\r\n }\r\n\r\n var accountLinks = document.querySelector(\".account-links\");\r\n\r\n if (accountLinks) {\r\n if (globalParms && globalParms.AccountLinksURL) {\r\n fetch(globalParms.AccountLinksURL)\r\n .then(response => response.text())\r\n .then(function (data) {\r\n if (data && accountLinks) {\r\n accountLinks.innerHTML = data;\r\n var basketButton = document.getElementById(\"basketButton\");\r\n if (basketButton) {\r\n basketButton.addEventListener(\"click\", function () {\r\n window.location.href = basketButton!.getAttribute(\"data-url\")!;\r\n });\r\n\r\n ShoppingBasket_UpdateItemCount();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n initLightYouTube();\r\n\r\n document.addEventListener('DOMContentLoaded', function () {\r\n let mainNavContainers = document.querySelectorAll('#nav-container ul li div[data-navlevel=\"2\"]')\r\n let navHeight = 0;\r\n for (let i = 0; i < mainNavContainers.length; i++) { \r\n let elemHeight = window.getComputedStyle(mainNavContainers[i]).getPropertyValue(\"height\");\r\n if (Number(elemHeight.replace('px','')) > navHeight) {\r\n navHeight = Number(elemHeight.replace('px',''));\r\n }\r\n }\r\n let mainContent = document.getElementById('main-content');\r\n if (mainContent) {\r\n mainContent.style.minHeight = (navHeight - 86) + 'px';\r\n }\r\n });\r\n}\r\n\r\nexport function ShoppingBasket_UpdateItemCount() {\r\n var itemCount = document.querySelector(\".basket--link span.item-count\");\r\n\r\n if (itemCount != null) {\r\n try {\r\n var cookie = Utils.getCookie(ShoppingBasketParms.CookieKey);\r\n if (cookie) {\r\n var basketDataJSON = JSON.parse(unescape(cookie));\r\n\r\n itemCount.innerHTML = basketDataJSON.NumberOfItems;\r\n\r\n } else {\r\n itemCount.innerHTML = \"0\";\r\n }\r\n }\r\n catch (err) { console.log(err) }\r\n }\r\n}\r\n\r\n/* Light YouTube Embeds by @labnol */\r\n/* and img lazy loads */\r\n/* Web: http://labnol.org/?p=27941 */\r\n\r\nfunction initLightYouTube() {\r\n var div, n,\r\n v = document.getElementsByClassName(\"youtube-player\");\r\n for (n = 0; n < v.length; n++) {\r\n div = document.createElement(\"div\");\r\n div.setAttribute(\"data-id\", (v[n] as any).dataset.id);\r\n div.innerHTML = labnolThumb((v[n] as any).dataset.id);\r\n div.onclick = labnolIframe;\r\n v[n].appendChild(div);\r\n }\r\n loadLazyImages();\r\n\r\n function labnolThumb(id: string) {\r\n var thumb = '', //hqdefault\r\n play = '';\r\n return thumb.replace(\"ID\", id) + play;\r\n }\r\n\r\n function labnolIframe(evt: Event) {\r\n let target = (evt.target as HTMLElement).parentNode;\r\n if (target) {\r\n var iframe = document.createElement(\"iframe\");\r\n var embed = \"https://www.youtube.com/embed/ID?autoplay=1\";\r\n let dataID = (target as HTMLElement).getAttribute(\"data-id\");\r\n if (dataID) iframe.setAttribute(\"src\", embed.replace(\"ID\", dataID as string));\r\n iframe.setAttribute(\"frameborder\", \"0\");\r\n iframe.setAttribute(\"allowfullscreen\", \"1\");\r\n let parent = (target as HTMLElement).parentElement;\r\n if (parent) parent.replaceChild(iframe, target);\r\n }\r\n }\r\n\r\n // Lazy-load images. Observe images until they are loaded.\r\n function loadLazyImages() {\r\n var lazyLoadOptions = {\r\n // https://www.competa.com/blog/lazy-loading-with-the-intersection-observer/\r\n //root: document.querySelector('div.gak-container'), // Comment this to use the default browser's viewport.\r\n rootMargin: '25px',\r\n threshold: 0//1.0\r\n };\r\n\r\n //initImagesForProductListings();\r\n\r\n var myImgs = document.querySelectorAll('img[lazy-src]');\r\n try {\r\n var observer = new IntersectionObserver(function (entries) {\r\n //console.log('loadLazyImages: entries ' + entries.length);\r\n entries.forEach(function (entry) {\r\n if (entry.isIntersecting) {\r\n // Load image\r\n var imgElem = entry.target;\r\n loadLazyImages_doImage(imgElem as HTMLElement);\r\n //console.log('in the view');\r\n observer.unobserve(imgElem);\r\n } else {\r\n //console.log('out of view');\r\n }\r\n });\r\n }, lazyLoadOptions);\r\n\r\n myImgs.forEach(function (image) {\r\n observer.observe(image);\r\n });\r\n }\r\n catch (err) {\r\n loadLazyImages_notSupported(myImgs);\r\n }\r\n\r\n function loadLazyImages_notSupported(myImgs: any) {\r\n // IntersectionObserver (and forEach()) not supported on Safari and old versions of IE 28/01/2019.\r\n //console.log(\"lazy load images not supported\");\r\n for (var i = 0, len = myImgs.length; i < len; i++) {\r\n loadLazyImages_doImage(myImgs[i]);\r\n }\r\n }\r\n\r\n function loadLazyImages_doImage(imgElem: HTMLElement) {\r\n setTimeout(function () {\r\n var realSrc = imgElem.getAttribute(\"lazy-src\"); //$(imgElem).attr(\"lazy-src\");\r\n if (realSrc) {\r\n imgElem.setAttribute(\"src\", realSrc); //.src = realSrc;\r\n imgElem.removeAttribute(\"lazy-src\"); //$(imgElem).removeAttr(\"lazy-src\");\r\n }\r\n }, 1);\r\n }\r\n\r\n //function initImagesForProductListings() {\r\n // $('ul.productListing').each(function (index) {\r\n // var curProdList = $(this);\r\n // loadImagesForProductListings_BasedOnView(curProdList);\r\n // });\r\n //}\r\n }\r\n\r\n};\r\n\r\n//function loadImagesForProductListings_BasedOnView(prodListing) {\r\n// var isGridView = prodListing.hasClass('view-as-grid');\r\n// prodListing.find('.productImageWrapper img').each(function (index) {\r\n// var img = $(this);\r\n// setTimeout(function () {\r\n// var newImgUrl = img.closest('.innerwrapper').data(isGridView ? 'prodimggridview' : 'prodimglistview');\r\n// // Set the new Img Url to the proper attribute src or lazy-src.\r\n// if (img.attr(\"lazy-src\")) {\r\n// img.attr(\"lazy-src\", newImgUrl);\r\n// }\r\n// else if (img[0].src) {\r\n// img[0].src = newImgUrl;\r\n// }\r\n// }, 1);\r\n// });\r\n//}","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.34.0\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n}; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","import * as Stripe from '@stripe/stripe-js';\r\nimport { deliveryOptionsPersist } from './gak-DeliveryOptions-persist';\r\nimport Utils from './utils';\r\nimport { updateWholeCart, ShoppingBasket_BindEvents, ShoppingBasket_ProceedToCheckout, showBasketError } from './gak-ShoppingBasket';\r\nimport { initTabs } from \"./tabs\"\r\nimport { debounceScript } from './Debounce.js';\r\nimport { loadPayPalButton } from './gak-PayPalButton';\r\nimport { getFormattedPrice, numberToCurrency } from './price-formatter';\r\n\r\nvar bpj: any;\r\nvar paymentRequest: any;\r\n\r\ndeclare var DeliveryOptionsParms: any;\r\ndeclare var EuroPrice_CurrencySymbol: any;\r\ndeclare var EuroPrice_ConversionRate: any;\r\ndeclare var basketConfig: any;\r\ndeclare var ShoppingBasketParms: any;\r\n\r\nexport var basketParams: any;\r\n\r\nconst requestHeaders: HeadersInit = new Headers();\r\nrequestHeaders.set('Content-Type', 'application/json');\r\n\r\nexport function DeliveryOptions_Init(bpjValue: any) {\r\n bpj = bpjValue;\r\n}\r\n\r\nvar pdojj: any;\r\nvar shoppingBasketContainer = \"#shoppingBasketContent\";\r\nvar deliveryOptionsContainer = \"#divDeliveryOptionsContainer\";\r\nvar divPaymentButtonsSelector = \"#divBasketPaymentsButtonRow\";\r\n\r\nexport function DeliveryOptions_BindEvents(isInit: boolean): void {\r\n var requestApplyVoucher =\r\n (debounceScript as any)(invokeApplyVoucher,\r\n 500,\r\n { 'leading': false, 'trailing': true });\r\n /***** PARAMETERS SECTION ******/\r\n\r\n /* Delivery options JSON, containing the reduced necessary data for all delivery options available and the defaults (window.dojj) */\r\n showHideCheckoutBox();\r\n if (isInit) {\r\n if (bpj)\r\n basketParams = JSON.parse(Utils.atou(bpj));\r\n } else {\r\n var dojj = (document.getElementById(\"dojj\"));\r\n\r\n if (dojj) {\r\n /* Delivery options JSON, containing the reduced necessary data for all delivery options available and the defaults */\r\n pdojj = JSON.parse(Utils.atou(dojj.value));\r\n /* This pdojj will contain:\r\n pdojj.doj: Reduced Deliver Options data\r\n pdojj.dodj: Reduced Default data\r\n pdojj.pdj: Payment data containing the data necessary to display the payment buttons.\r\n */\r\n }\r\n }\r\n\r\n // No params whatsoever: return\r\n if (!basketParams && !pdojj) return;\r\n\r\n /***** END PARAMETERS SECTION ******/\r\n\r\n function triggerFinance() {\r\n //FinanceTab callback\r\n var financeTabInitializeData = (window).financeTabInitializeData;\r\n if (typeof financeTabInitializeData === 'function' && financeTabInitializeData !== null) {\r\n financeTabInitializeData();\r\n }\r\n }\r\n //Defines callback used by FinanceTab\r\n var lastHasFinanceOptions: boolean;\r\n (window).onHasFinanceOptions = function (hasFinanceOptions: boolean) {\r\n lastHasFinanceOptions = hasFinanceOptions;\r\n setCurrentDeliveryOptions();\r\n };\r\n\r\n // Perform processing that does not depend on having dojj & dodjj defined (eg. when there is nothing\r\n // in stock in the current basket)\r\n if (basketParams && basketParams.showLowStock) {\r\n var el = document.getElementById('delvStockIsLow');\r\n if (el) {\r\n el.classList.remove('hidden');\r\n }\r\n }\r\n\r\n // Region / Country changed.\r\n var delvRegId = (document.getElementById(\"DeliveryRegionId\")!);\r\n var delvRegIdSelect = (document.getElementById(\"DeliveryRegionIdSelect\")!);\r\n\r\n if (delvRegId) {\r\n delvRegId.addEventListener(\"change\", handledelvRgIdChange);\r\n }\r\n\r\n if (delvRegIdSelect) {\r\n delvRegIdSelect.addEventListener(\"change\", handledelvRgIdChange);\r\n }\r\n if (isInit === true) {\r\n if (!isBasketEmpty()) {\r\n var selDlvReg = delvRegId.value;\r\n\r\n DeliveryOptions_refresh(selDlvReg, deliveryOptionsPersist.getSelectedDeliveryTypeOption(), isInit !== true);\r\n }\r\n } else {\r\n if (basketParams && (basketParams.OutOfStock || basketParams.IsGiftVoucherOnlyOrder)) {\r\n setCurrentDeliveryOptions();\r\n }\r\n\r\n Voucher_BindEvents();\r\n }\r\n\r\n /*\r\n When clicking a DAY in the calendar:\r\n *\tIf currently selected Delivery Option is not available for that day,\r\n -\tSelect default Delivery Option for that day\r\n *\tUpdate price from matrix [DeliveryOption][Day]\r\n */\r\n\r\n var speficDays = document.querySelectorAll(`${deliveryOptionsContainer} #specificDayTable td:not(.unavailable)`);\r\n\r\n if (speficDays) {\r\n speficDays.forEach(function (el, i) {\r\n el.addEventListener('click', function (e) {\r\n var internalDay = el!.getAttribute(\"data-day\");\r\n var dtid = getSelectedDelvOptData().dtid;\r\n if (isSuperSaverDt(dtid)) {\r\n // reset to default delivery type if current is super saved\r\n // (maybe override again below)\r\n dtid = getDefaultData().i;\r\n }\r\n var selPrice = getDelvOptPrice(dtid, internalDay);\r\n // Null, undefined, and 0 are falsey, but 0 is a valid price.\r\n if (!selPrice && selPrice !== 0) {\r\n dtid = getDefaultDelvOptID(internalDay);\r\n selPrice = getDelvOptPrice(dtid, internalDay);\r\n }\r\n\r\n setSelectedDelvOptData(dtid, internalDay, selPrice, true);\r\n });\r\n });\r\n }\r\n /*\r\n When clicking a DELIVERY OPTION item in the list:\r\n *\tIf currently selected Day is not available for that Delivery Option,\r\n -\tSelect default DAY for that Delivery Option\r\n *\tUpdate price from matrix [DeliveryOption][Day]\r\n */\r\n const handleOptionBoxChangeEvent = new Event('handleOptionBoxChangeEvent');\r\n\r\n var optionBoxes = document.querySelectorAll(`${deliveryOptionsContainer} .deliveryOption .input-checkbox.optionBox`);\r\n if (optionBoxes) {\r\n optionBoxes.forEach(function (el, i) {\r\n el.addEventListener(\"change\", handleOptionBoxChange);\r\n el.addEventListener(\"handleOptionBoxChangeEvent\", handleOptionBoxChange);\r\n });\r\n }\r\n\r\n var calendarLink = document.getElementById(\"openCalendar\");\r\n\r\n if (calendarLink)\r\n calendarLink.addEventListener(\"click\", openCalendar);\r\n\r\n\r\n function handleOptionBoxChange(el: any) {\r\n var dtid = el.target!.getAttribute(\"data-dtid\");\r\n var internalDay = getSelectedDelvOptData().day;\r\n var selPrice = getDelvOptPrice(dtid, internalDay);\r\n // Null, undefined, and 0 are falsey, but 0 is a valid price.\r\n if (!selPrice && selPrice !== 0) {\r\n internalDay = getDefaultDay(dtid);\r\n selPrice = getDelvOptPrice(dtid, internalDay);\r\n }\r\n\r\n setSelectedDelvOptData(dtid, internalDay, selPrice);\r\n }\r\n\r\n const handledelvRgIdChangeEvent = new Event('handledelvRgIdChangeEvent');\r\n\r\n function handledelvRgIdChange(el: any) {\r\n var delvRgIdVal = el.target.value\r\n updateWholeCart(delvRgIdVal);\r\n }\r\n\r\n // Trigger the selection.\r\n\r\n var selDlv = deliveryOptionsPersist.getSelectedDelivery();\r\n var defaultSelection = document.querySelector(`${deliveryOptionsContainer} .deliveryOption .input-checkbox.optionBox.default`);\r\n\r\n if (selDlv && selDlv.deliveryTypeID && selDlv.deliveryDate\r\n // The Price might change for the same delivery, depending on the value of the basket.\r\n && setSelectedDelvOptData(selDlv.deliveryTypeID, selDlv.deliveryDate, getDelvOptPrice(selDlv.deliveryTypeID, selDlv.deliveryDate))\r\n ) {\r\n // Nothing, already done.\r\n }\r\n else {\r\n // Trigger the default selection.\r\n if (defaultSelection) {\r\n defaultSelection.dispatchEvent(handleOptionBoxChangeEvent)\r\n }\r\n }\r\n\r\n function getCheckboxInputForDeliveryType(dtid: any): HTMLInputElement {\r\n return (document.querySelector(`${deliveryOptionsContainer} .deliveryOption .input-checkbox.optionBox[data-dtid='${dtid}']`));\r\n }\r\n\r\n function isSuperSaverDt(dtid: any) {\r\n var myDt = getDtById(dtid);\r\n if (!myDt || myDt.length <= 0) return null;\r\n\r\n return myDt[0].ss;\r\n }\r\n\r\n function isClickAndCollectDt(dtid: any) {\r\n var myDt = getDtById(dtid);\r\n if (!myDt || myDt.length <= 0) return null;\r\n\r\n return myDt[0].cc;\r\n }\r\n\r\n //function isAllDaysAvbleDt(dtid) {\r\n // var myDt = getDtById(dtid);\r\n // if (!myDt || myDt.length <= 0) return null;\r\n\r\n // return myDt[0].ada;\r\n //}\r\n\r\n // *********** gak-DeliveryOptions internal use\r\n function getSelectedDelvOptData() {\r\n var deliveryTypeID = (document.getElementById(\"deliveryTypeID\"))!;\r\n var deliveryDate = (document.getElementById(\"deliveryDate\"))!;\r\n var selectedData = {\r\n dtid: deliveryTypeID.value, // Get dtid from the selected item in DT List.\r\n day: deliveryDate.value // Get day from the selected day in Calendar.\r\n };\r\n\r\n return selectedData;\r\n }\r\n\r\n function setSelectedDelvOptData(dtid: any, internalDay: any, selPrice: any, fromCalendar: boolean = false) {\r\n // Update UI:\r\n // Update DT List\r\n // Remove all selections\r\n if ((!internalDay || !isSuperSaverDt(dtid)) && !fromCalendar) {\r\n internalDay = getDefaultDay(dtid);\r\n }\r\n\r\n var calendarSelector = `${deliveryOptionsContainer} #specificDayTable td`;\r\n var elemDay = document.querySelector(`${calendarSelector}[data-day='${internalDay}']`);\r\n var deliveryTypeID = (document.getElementById(\"deliveryTypeID\"))!;\r\n var deliveryPrice = (document.getElementById(\"deliveryPrice\"))!;\r\n var deliveryDate = (document.getElementById(\"deliveryDate\"))!;\r\n \r\n if (elemDay?.classList.contains('unavailable') || selPrice == null) {\r\n var checkoutPrice = document.getElementById(\"checkoutDeliveryPrice\");\r\n\r\n if (checkoutPrice && deliveryPrice)\r\n checkoutPrice.textContent = getFormattedPrice(deliveryPrice.value, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n\r\n return false;\r\n }\r\n\r\n var elemDt = getCheckboxInputForDeliveryType(dtid);\r\n // Anything changed?\r\n\r\n var isDeliveryTypeChangedx = deliveryTypeID ? deliveryTypeID.value != dtid : false;\r\n var isDeliveryPriceChangedx = deliveryPrice ? parseFloat(deliveryPrice?.value || \"-1\") !== parseFloat(selPrice || 0) : false;\r\n var isDeliveryDateChangedx = deliveryDate ? deliveryDate.value != internalDay : false;\r\n var isNothingChanged = isInit || !(isDeliveryTypeChangedx || isDeliveryPriceChangedx || isDeliveryDateChangedx);\r\n\r\n if (isNothingChanged) {\r\n if (elemDt)\r\n elemDt.checked = true;\r\n return true;\r\n }\r\n\r\n document.querySelector(`${deliveryOptionsContainer} .deliveryOption`)?.classList.remove('highlightBlue');\r\n document.querySelector(`${deliveryOptionsContainer} .deliveryOption.chosenOption`)?.classList.remove('chosenOption');\r\n (document.querySelector(`${deliveryOptionsContainer} .deliveryOption .input-checkbox`)).setAttribute('checked', \"false\");\r\n // Select current item\r\n elemDt.checked = true;\r\n elemDt.closest(\".deliveryOption\")?.classList.add('chosenOption');\r\n\r\n // Current item's day-type prefix\r\n var myDtDays = getDaysForDtid(dtid, internalDay);\r\n // Don't prefix Super Saver (only super saver's input has a truthy value for 'daywindow' data value)\r\n // Plus always switch to first possible dates\r\n if (isSuperSaverDt(dtid)) {\r\n var superSaverinternalDay = myDtDays[0].d;\r\n if (superSaverinternalDay != internalDay) {\r\n setSelectedDelvOptData(dtid, superSaverinternalDay, selPrice);\r\n return; // Make sure we don't process the rest of the current function.\r\n }\r\n }\r\n\r\n var allDays = document.querySelectorAll(calendarSelector);\r\n\r\n if (allDays) {\r\n allDays.forEach(function (e, i) {\r\n e.classList.remove('chosenDay')\r\n });\r\n }\r\n\r\n if (elemDay)\r\n elemDay.classList.add('chosenDay');\r\n\r\n // When a day is selected, the prices displayed for all the items in DT List must be updated.\r\n var deliveryOptions = document.querySelectorAll(`${deliveryOptionsContainer} .deliveryOption`);\r\n\r\n deliveryOptions.forEach(function (el, i) {\r\n var myDtid = el.querySelector(\".input-checkbox.optionBox\")?.getAttribute(\"data-dtid\");\r\n var myPrice = getDelvOptPrice(myDtid, internalDay);\r\n\r\n if (myPrice == null) {\r\n // Dt not available for the day. Get Default price.\r\n myPrice = getDelvOptPrice(myDtid, getDefaultDay(myDtid)); //\"-\";\r\n }\r\n\r\n // Format Price\r\n var formattedPrice = getFormattedPrice(myPrice, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n\r\n var priceSpan = el.querySelector(\".deliveryOptionPrice\");\r\n\r\n if (priceSpan)\r\n priceSpan.textContent = formattedPrice;\r\n });\r\n\r\n // Update form data\r\n var deliveryTypeID = (document.getElementById(\"deliveryTypeID\"));\r\n\r\n if (deliveryTypeID)\r\n deliveryTypeID.value = dtid;\r\n\r\n var deliveryDate = (document.getElementById(\"deliveryDate\"));\r\n\r\n if (deliveryDate)\r\n deliveryDate.value = internalDay;\r\n\r\n // DeliveryLastDate. Is there a dayWindow?\r\n var dayWindow = elemDt.getAttribute(\"data-daywindow\");\r\n var dayTo = null;\r\n\r\n if (dayWindow) {\r\n var daysToAdd = parseInt(dayWindow) - 1;\r\n var dayWindowArray = getDayWindowForDt(dtid, internalDay, daysToAdd);\r\n // Select the whole set of days in the window\r\n dayWindowArray?.forEach(function (x, index) {\r\n document.querySelector(`${calendarSelector}[data-day='${x}']`)?.classList.add('chosenDay');\r\n });\r\n dayTo = dayWindowArray?.slice(-1)[0];\r\n }\r\n var deliveryLastDate = (document.getElementById(\"deliveryLastDate\"));\r\n\r\n if (deliveryLastDate)\r\n deliveryLastDate.value = dayTo;\r\n //// Note \"|| -1\"\r\n //var isDeliveryPriceChanged = parseFloat($('#deliveryPrice').val() || -1) !== parseFloat(selPrice || 0);\r\n var deliveryPrice = (document.getElementById(\"deliveryPrice\"));\r\n\r\n if (deliveryPrice)\r\n deliveryPrice.value = selPrice;\r\n\r\n var checkoutPrice = document.getElementById(\"checkoutDeliveryPrice\");\r\n\r\n if (checkoutPrice)\r\n checkoutPrice.textContent = getFormattedPrice(selPrice, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n\r\n var checkoutSubtotalPrice = document.getElementById(\"checkoutSubtotalPrice\");\r\n\r\n if (checkoutSubtotalPrice && basketParams.PriceTotalItems)\r\n checkoutSubtotalPrice.textContent = getFormattedPrice(basketParams.PriceTotalItems, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n\r\n var giftVoucher = basketParams.GiftVouchers && basketParams.GiftVouchers.IsAnyApplied\r\n ? basketParams.GiftVouchers.DiscountValue : 0;\r\n var totalIncludingVATAndDelivery = document.getElementById(\"TotalIncludingVATAndDelivery\");\r\n if (totalIncludingVATAndDelivery && basketParams.PriceTotalItems) {\r\n totalIncludingVATAndDelivery.textContent = getFormattedPrice(basketParams.PriceTotalItems + selPrice - giftVoucher, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n }\r\n\r\n // Keep selected values.\r\n deliveryOptionsPersist.saveSelectedDelivery(deliveryTypeID.value, deliveryDate.value);\r\n\r\n // Update calendar header.\r\n document.querySelector(`${deliveryOptionsContainer} .deliveryCalendar #deliveryMonthName`)!.innerHTML = internaldateToMonthDisplayString(internalDay);\r\n\r\n // Update Delivery Date field\r\n var newDeliveryHtml = isClickAndCollectDt(dtid) ? \"Click & Collect from our Brighton store \" : \"Delivery \";\r\n var displayDay = elemDay ? elemDay.getAttribute(\"data-displayday\") : \"\";\r\n if (dayTo == null) {\r\n newDeliveryHtml += \"\" + displayDay + \"\";\r\n }\r\n else {\r\n newDeliveryHtml += \"between \" + displayDay + \" and \" + internaldateToDisplayString(dayTo) + \"\";\r\n }\r\n var confirmationMessage = (elemDt.getAttribute(\"data-confirmationmsg\") || '').trim();\r\n newDeliveryHtml += confirmationMessage ? \", \" + confirmationMessage : \"\"; //Add confirmation message to the delivery text\r\n\r\n //Setting back previous title\r\n document.querySelectorAll(`${deliveryOptionsContainer} .deliveryOption .dtDescription`)?.forEach(function (e: any, i: any) {\r\n var title = e.getAttribute(\"data-title\");\r\n e.textContent = title;\r\n });\r\n\r\n var elemDtDescription = elemDt.closest(\".deliveryOption\")?.querySelector(\".dtDescription\");\r\n\r\n if (elemDtDescription)\r\n elemDtDescription.innerHTML = newDeliveryHtml;\r\n\r\n updatePaymentButtons(dtid, internalDay);\r\n\r\n return true;\r\n }\r\n\r\n function updatePaymentButtons(dtid: any, internalDay: any) {\r\n if (lastHasFinanceOptions === undefined) {\r\n triggerFinance();\r\n return;\r\n }\r\n\r\n var divPaymentButtons = document.querySelector(divPaymentButtonsSelector)!;\r\n var data = {\r\n dtid: dtid,\r\n d: internalDay,\r\n dop: getDelvOpts(),\r\n finance: lastHasFinanceOptions || false\r\n };\r\n\r\n //We need to work out if payment buttons are rendered, without considering STRIPE\r\n var paymentButtonsRendered = divPaymentButtons.querySelectorAll(`.payment-buttons button[name='checkout']:not([data-payment-mehtod='STRIPE']),\r\n .payment-buttons-finance,\r\n #paypal-button-container`).length > 0;\r\n\r\n if (!paymentButtonsRendered) {\r\n fetch(basketConfig.paymentButtonsUrl, {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n }).then((response) => {\r\n if (response.ok) {\r\n return response.text();\r\n }\r\n showBasketError(\"Sorry but there was an error when loading payment buttons.\");\r\n }).then(function (result) {\r\n if (result) {\r\n divPaymentButtons.innerHTML = result;\r\n PaymentData_BindEvents(result);\r\n\r\n let parser = new DOMParser();\r\n const doc = parser.parseFromString(result, 'text/html');\r\n\r\n var netPayment = doc.getElementById(\"NetPayment\")!;\r\n var giftVoucherTotalRedeemed = doc.getElementById(\"GiftVoucherTotalRedeemed\")!;\r\n var hasPayPalCredit = doc.getElementById(\"HasPayPalCredit\")!;\r\n var hasPayPal = doc.getElementById(\"HasPayPal\")!;\r\n var highestDeposit = doc.getElementById(\"highestDeposit\")!;\r\n var highestDepositAmount = doc.getElementById(\"highestDepositAmount\")!;\r\n var shouldDisplayFinanceOptions = doc.getElementById(\"ShouldDisplayFinanceOptions\")!;\r\n\r\n DeliveryOptions_UpdatePdParams(parseFloat(netPayment.value), parseFloat(highestDeposit.value),\r\n parseFloat(highestDepositAmount.value), parseFloat(giftVoucherTotalRedeemed.value),\r\n hasPayPalCredit.value == 'True', hasPayPal.value == 'True', shouldDisplayFinanceOptions.value == 'True');\r\n\r\n var buttons = document.querySelectorAll(`${divPaymentButtonsSelector} button`);\r\n\r\n if (divPaymentButtons)\r\n buttons.forEach(function (button) {\r\n button.addEventListener('click', ShoppingBasket_ProceedToCheckout);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n fetch(basketConfig.updatePaymentButtonsUrl, {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n }).then((response) => {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n showBasketError(\"Sorry but there was an error when loading payment buttons.\");\r\n }).then(function (result: any) {\r\n DeliveryOptions_UpdatePdParams(result.NetPayment, result.HighestDeposit, result.highestDepositAmount,\r\n result.GiftVoucherTotalRedeemed, result.HasPayPalCredit, result.HasPayPal, result.ShouldDisplayFinanceOptions);\r\n PaymentData_BindEvents(result);\r\n });\r\n }\r\n }\r\n\r\n function setCurrentDeliveryOptions() {\r\n var dtid = (document.getElementById('deliveryTypeID'));\r\n var dd = (document.getElementById('deliveryDate'));\r\n\r\n if (!dtid && !dd) return;\r\n\r\n deliveryOptionsPersist.saveSelectedDelivery(dtid.value, dd.value);\r\n updatePaymentButtons(dtid.value, dd.value);\r\n }\r\n\r\n function Voucher_BindEvents() {\r\n var voucherCodeInput = (document.getElementById(\"voucherCode\"));\r\n var applyVoucherButton = document.getElementById(\"applyVoucherButton\");\r\n var removeVoucherButton = document.querySelectorAll(\"button.removeVoucherButton\");\r\n if (voucherCodeInput) {\r\n voucherCodeInput.addEventListener(\"keypress\", handleVoucherCodeInputKeyPress);\r\n }\r\n if (applyVoucherButton && voucherCodeInput) {\r\n applyVoucherButton.addEventListener(\"click\", handleApplyVoucherClick);\r\n }\r\n\r\n if (removeVoucherButton && removeVoucherButton.length > 0) {\r\n removeVoucherButton.forEach(function (button) {\r\n button.addEventListener(\"click\", handleRemoveVoucherClick);\r\n });\r\n }\r\n\r\n function handleRemoveVoucherClick(e: any) {\r\n var voucherCode = e.currentTarget.getAttribute(\"data-code\");\r\n var data = { voucherCode: voucherCode, remove: true };\r\n\r\n requestApplyVoucher(data);\r\n }\r\n\r\n function handleApplyVoucherClick(e: any) {\r\n e.preventDefault();\r\n\r\n var voucherCodeVal = voucherCodeInput.value;\r\n if (!voucherCodeVal || voucherCodeVal === \"\") return;\r\n\r\n var data = { voucherCode: voucherCodeInput.value, remove: false };\r\n\r\n requestApplyVoucher(data);\r\n }\r\n\r\n function handleVoucherCodeInputKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n handleApplyVoucherClick(e);\r\n }\r\n }\r\n }\r\n\r\n function invokeApplyVoucher(data: any) {\r\n var applyVoucherButton = document.getElementById(\"applyVoucherButton\");\r\n\r\n fetch(ShoppingBasketParms.ApplyVoucherURL, {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n }).then(response => response.text())\r\n .then(function (result) {\r\n var basket = document.querySelector(shoppingBasketContainer)!;\r\n basket.innerHTML = result;\r\n\r\n if (applyVoucherButton) {\r\n var newButton = applyVoucherButton.cloneNode(true);\r\n if (applyVoucherButton.parentNode)\r\n applyVoucherButton.parentNode.replaceChild(newButton, applyVoucherButton);\r\n }\r\n var bpj = (document.getElementById(\"bpj\")!);\r\n if (bpj)\r\n DeliveryOptions_Init(bpj.value);\r\n\r\n ShoppingBasket_BindEvents();\r\n DeliveryOptions_BindEvents(true);\r\n\r\n var voucherError = document.getElementById(\"voucherError\");\r\n var voucherErrorContainer = document.getElementById(\"voucherErrorContainer\")!;\r\n let voucherInput = document.querySelector(\"#gift-voucher-input .floating-button\");\r\n\r\n if (voucherError) {\r\n voucherErrorContainer.innerHTML = `${voucherError.value}`;\r\n if (voucherInput) voucherInput.classList.add('is-invalid');\r\n }\r\n else {\r\n voucherErrorContainer.hidden = true;\r\n if (voucherInput) voucherInput.classList.remove('is-invalid');\r\n }\r\n });\r\n }\r\n\r\n function PaymentData_BindEvents(result: any) {\r\n if (result.Buttons) {\r\n var buttonsSelector = document.querySelectorAll(\".btn-item:not(.stripe-button-container)\");\r\n var paymentButtonsContainer = document.querySelector(divPaymentButtonsSelector)!;\r\n\r\n if (buttonsSelector)\r\n buttonsSelector.forEach(function (button) {\r\n button.remove();\r\n });\r\n\r\n const financeText = document.getElementById(\"financeOptionsText\");\r\n\r\n if (financeText) {\r\n if (result.HasFinanceOptions) {\r\n financeText.removeAttribute(\"hidden\");\r\n } else {\r\n financeText.setAttribute(\"hidden\", \"hidden\");\r\n }\r\n }\r\n\r\n var buttonsContainer = document.getElementsByClassName(\"payment-buttons\")?.item(0);\r\n\r\n if (buttonsContainer) {\r\n let hasPayPal = false;\r\n result.Buttons.forEach(function (el: any) {\r\n const btnData = el;\r\n const amazonPayStyle = btnData.value == \"amz\" ? \"margin-top: 8px\" : \"\";\r\n const btnContent = btnData.displayImg === \"\"\r\n ? btnData.displayText\r\n : `${btnData.displayText}`;\r\n\r\n if (btnData.value != 'stripe') {\r\n if (btnData.value === 'pp') {\r\n hasPayPal = true;\r\n } else {\r\n const button = renderButton(!btnData.isFinance);\r\n const container = btnData.isFinance ? getFinanceContainer()! : buttonsContainer!\r\n\r\n addButtonToContainer(container, button);\r\n }\r\n }\r\n\r\n function getFinanceContainer() {\r\n if (!paymentButtonsContainer.querySelector(\".payment-buttons-finance\")) {\r\n const paymentButtonsFinance = document.createElement(\"div\");\r\n\r\n paymentButtonsFinance.classList.add(\"payment-buttons-finance\");\r\n paymentButtonsFinance.setAttribute(\"data-columns\", \"\");\r\n paymentButtonsContainer.appendChild(paymentButtonsFinance);\r\n }\r\n\r\n return document.getElementsByClassName(\"payment-buttons-finance\")?.item(0);\r\n }\r\n\r\n function renderButton(isFullWidth: boolean = true) {\r\n return `\r\n `;\r\n }\r\n\r\n function addButtonToContainer(container: Element, button: string) {\r\n container.innerHTML += button;\r\n }\r\n });\r\n\r\n const payPalButtonContainer = document.getElementById(\"paypal-button-container\");\r\n let ppMessage = document.querySelector(\"[data-pp-message]\");\r\n\r\n if (!hasPayPal && payPalButtonContainer?.hasChildNodes()) {\r\n payPalButtonContainer!.innerHTML = '';\r\n\r\n if (ppMessage) {\r\n ppMessage.remove();\r\n }\r\n } else if (hasPayPal && (!payPalButtonContainer || !payPalButtonContainer.hasChildNodes())) {\r\n setPayPalButton(result.ShouldDisplayFinanceOptions);\r\n\r\n if (!ppMessage && payPalButtonContainer) {\r\n ppMessage = document.createElement(\"div\");\r\n ppMessage.setAttribute(\"data-pp-message\", \"\");\r\n ppMessage.setAttribute(\"data-pp-amount\", result.NetPayment);\r\n ppMessage.setAttribute(\"data-pp-style-text-size\", \"11\");\r\n\r\n payPalButtonContainer.insertAdjacentElement(\"afterend\", ppMessage)\r\n }\r\n }\r\n }\r\n }\r\n\r\n var buttons = document.querySelectorAll(\"#divBasketPaymentsButtonRow button\");\r\n\r\n if (buttons) {\r\n buttons.forEach(function (btn) {\r\n btn.addEventListener('click', ShoppingBasket_ProceedToCheckout);\r\n });\r\n }\r\n\r\n var updateForm = document.getElementById(\"UpdateStockForm\");\r\n\r\n if (updateForm) {\r\n var oldBtoajDelvOptParams = (document.querySelector(\"input[name=btoajDelvOptParams]\"));\r\n if (oldBtoajDelvOptParams)\r\n oldBtoajDelvOptParams.remove();\r\n\r\n var btoajDelvOptParams = document.createElement(\"input\");\r\n btoajDelvOptParams.setAttribute(\"name\", \"btoajDelvOptParams\");\r\n btoajDelvOptParams.setAttribute(\"hidden\", \"hidden\");\r\n\r\n btoajDelvOptParams.value = getDelvOptsSerialised();\r\n\r\n updateForm.append(btoajDelvOptParams);\r\n\r\n }\r\n\r\n DeliveryOptionsButtons_BindEvents();\r\n }\r\n\r\n function DeliveryOptionsButtons_BindEvents() {\r\n // Show warning.\r\n var ccwarning = document.querySelectorAll(`${deliveryOptionsContainer} .ccwarning`);\r\n var ccEarliestwarning = document.querySelectorAll(`${shoppingBasketContainer} .basket-item-stock.ccEarliestwarning`);\r\n\r\n if (getDelvOpts().IsClickAndCollectShowWarning && isUKMainland()) {\r\n // Reset Delivered / Click & Collect buttons.\r\n deliveryOptionsPersist.resetSelectedDeliveryTypeOption();\r\n\r\n // Display warning\r\n if (ccwarning) {\r\n ccwarning.forEach(function (el, i) {\r\n el.classList.remove('hidden');\r\n });\r\n }\r\n\r\n // Hide Earliest c&c warning from basket items.\r\n if (ccEarliestwarning) {\r\n ccEarliestwarning.forEach(function (el, i) {\r\n el.classList.add('hidden');\r\n });\r\n }\r\n }\r\n else {\r\n // Hide warning\r\n if (ccwarning) {\r\n ccwarning.forEach(function (el, i) {\r\n el.classList.add('hidden');\r\n });\r\n }\r\n // Show Earliest c&c warning from basket items.\r\n if (ccEarliestwarning) {\r\n ccEarliestwarning.forEach(function (el, i) {\r\n el.classList.remove('hidden');\r\n });\r\n }\r\n }\r\n\r\n // Show buttons\r\n var devOptBtns = document.querySelectorAll(`${deliveryOptionsContainer} a.devOptsLinks`);\r\n\r\n if (devOptBtns) {\r\n devOptBtns.forEach(function (el) {\r\n el.addEventListener('click', handleDeliveryOptionClicked);\r\n });\r\n }\r\n }\r\n\r\n function handleDeliveryOptionClicked(el: any) {\r\n var curBtnName = el.target.getAttribute('name');\r\n if (deliveryOptionsPersist.getSelectedDeliveryTypeOption() !== curBtnName) {\r\n deliveryOptionsPersist.saveSelectedDeliveryTypeOption(curBtnName);\r\n\r\n DeliveryOptions_refresh(selDlvReg, deliveryOptionsPersist.getSelectedDeliveryTypeOption(), false);\r\n }\r\n }\r\n\r\n DeliveryOptionsButtons_BindEvents();\r\n // *********** gak-DeliveryOptions internal use\r\n}\r\n\r\nexport function SetDojj(doj: string) {\r\n if (doj) {\r\n pdojj = JSON.parse(Utils.atou(doj));\r\n }\r\n}\r\n\r\nexport function DeliveryOptions_refresh(deliveryRegionId: any, deliveryOptionTypeSelected: any, isResetDelivery: boolean) {\r\n var body = {\r\n deliveryRegionId: deliveryRegionId,\r\n deliveryOptionType: deliveryOptionTypeSelected,\r\n basketParams: basketParams\r\n };\r\n\r\n const requestHeaders: HeadersInit = new Headers();\r\n requestHeaders.set('Content-Type', 'application/json');\r\n fetch(DeliveryOptionsParms.IndexDeliveryOptionsURL, {\r\n method: 'POST',\r\n body: JSON.stringify(body),\r\n headers: requestHeaders\r\n }).then((response) => {\r\n if (response.ok) {\r\n return response.text();\r\n }\r\n showBasketError(\"Sorry but there was an error: Invalid delivery options\");\r\n }).then(function (data) {\r\n if (data) {\r\n var divContainer = document.querySelector(deliveryOptionsContainer)!;\r\n if (isResetDelivery) deliveryOptionsPersist.resetSelectedDelivery();\r\n if (divContainer) divContainer.innerHTML = data;\r\n\r\n DeliveryOptions_BindEvents(false);\r\n initTabs();\r\n }\r\n });\r\n}\r\n\r\n// JSON Data. Get the Price for a delivery option and a day. Returns NULL if not found.\r\nexport function getDelvOptPrice(dtid: any, internalDay: any) {\r\n var myDay = getDaysForDtid(dtid, internalDay);\r\n if (!myDay || myDay.length <= 0) return null;\r\n\r\n var myPrice = myDay[0].p;\r\n\r\n return myPrice;\r\n}\r\n// JSON Data. Get the default (cheapest) delivery option available for a day.\r\nexport function getDefaultDelvOptID(internalDay: any) {\r\n var myDts = getDelvOptsData().map(function (x: any) {\r\n return { xID: x.i, xPrice: (getDelvOptPrice(x.i, internalDay)), isSuperSaver: x.ss };\r\n });\r\n var availableDts = myDts.filter(function (x: any) {\r\n return x.xPrice !== null;\r\n });\r\n\r\n // Get Delv opt with min value\r\n var minPriceDt = availableDts.reduce(function (res: any, obj: any) {\r\n return (obj.xPrice < res.xPrice) ? obj : res;\r\n });\r\n if (!minPriceDt) return null;\r\n\r\n return minPriceDt.xID;\r\n}\r\n// JSON Data. Get the default (first) day available for a delivery option.\r\nfunction getDefaultDay(dtid: any) {\r\n var myDays = getDaysForDtid(dtid, null);\r\n\r\n if (!myDays || myDays.length <= 0) return null;\r\n\r\n // Get the first available\r\n var minDay = myDays[0].d;\r\n return minDay;\r\n}\r\n\r\n// JSON Data. Returns the day available in the future: from the base internalDay + daysAdd forward.\r\nfunction getDayWindowForDt(dtid: any, internalDay: boolean, daysAdd: number) {\r\n // Get the index of the base internalDay\r\n var myDay = getDaysForDtid(dtid, internalDay);\r\n if (!myDay || myDay.length <= 0) return null;\r\n\r\n var myDtDays = getDaysForDtid(dtid, null);\r\n var dayIndex = myDtDays.indexOf(myDay[0]);\r\n if (dayIndex < 0) return null;\r\n var dayWindow = [];\r\n for (var i = dayIndex; i <= dayIndex + daysAdd; i++) {\r\n dayWindow.push(myDtDays[i].d);\r\n }\r\n return dayWindow;\r\n}\r\n\r\nfunction getDaysForDtid(dtid: any, internalDay: any) {\r\n var myDt = getDtById(dtid);\r\n\r\n if (!myDt || myDt.length <= 0) return null;\r\n\r\n var myDtDays = myDt[0].dpl;\r\n\r\n if (internalDay == null) return myDtDays;\r\n\r\n // Ability to filter by day.\r\n var myDay = myDtDays.filter(function (x: any, i: any) {\r\n return (x.d == internalDay);\r\n });\r\n return myDay;\r\n}\r\n\r\nfunction getDtById(dtid: any) {\r\n var myDt = getDelvOptsData().filter(function (x: any, i: any) {\r\n return (x.i == dtid);\r\n });\r\n\r\n return myDt;\r\n}\r\n\r\nexport function getDelvOptsData() {\r\n return !pdojj ? [] : pdojj.doj; // Array expected\r\n}\r\nexport function getDefaultData() {\r\n return !pdojj ? {} : pdojj.dod; // Object expected\r\n}\r\nfunction getDelvOpts() {\r\n return (pdojj || {}); // Object expected\r\n}\r\nfunction getDelvOptsSerialised() {\r\n return Utils.utoa(JSON.stringify(getDelvOpts()));\r\n}\r\n\r\nfunction internaldateToDisplayString(internalDay: any) {\r\n var options = {\r\n weekday: \"short\", year: \"numeric\", month: \"short\",\r\n day: \"numeric\"\r\n };\r\n return internalDayToDisplayStringOptions(internalDay, options);\r\n}\r\nfunction internaldateToMonthDisplayString(internalDay: any) {\r\n var options = {\r\n month: \"long\"\r\n };\r\n return internalDayToDisplayStringOptions(internalDay, options);\r\n}\r\nfunction internalDayToDisplayStringOptions(internalDay: any, options: any) {\r\n // Parse date dd/MM/yyyy (LogicConstants.Formats.DateTime.DeliveryDate)\r\n if (internalDay) {\r\n var dateSplit = internalDay.split(\"/\");\r\n var myDate = new Date(dateSplit[2], parseInt(dateSplit[1]) - 1, dateSplit[0]);\r\n // Convert to short string\r\n return myDate.toLocaleDateString(\"en-GB\", options);\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\n// Update Payment data.\r\nfunction DeliveryOptions_UpdatePdParams(netPayment: number,\r\n highestDeposit: number,\r\n highestDepositAmount: number,\r\n gvTotalRedeemed: number,\r\n hasPayPalCreditPayment: boolean,\r\n hasPayPal: boolean,\r\n shouldDisplayFinanceOptions: boolean) {\r\n // New payment value\r\n if (!isNaN(netPayment)) {\r\n var total = document.getElementById(\"TotalIncludingVATAndDelivery\");\r\n\r\n if (total)\r\n total.innerHTML = numberToCurrency(netPayment, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate);\r\n\r\n var voucherApplied = document.querySelectorAll('.giftVoucherValueApplied');\r\n\r\n if (voucherApplied)\r\n voucherApplied.forEach(function (e: any) {\r\n e.textContent = numberToCurrency(gvTotalRedeemed, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate)\r\n });\r\n\r\n var isNoNetPayment = netPayment <= 0;\r\n\r\n if (highestDeposit > 0 && highestDepositAmount > 0) {\r\n var depositPlaceholder = document.querySelector('#divDeliveryOptionsContainer .depositPlaceholder');\r\n if (depositPlaceholder) {\r\n depositPlaceholder.innerHTML = `${highestDeposit} % deposit required today: \r\n ${numberToCurrency(highestDepositAmount, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate)}\r\n Balance payable upon collection: ${numberToCurrency(netPayment - highestDepositAmount, EuroPrice_CurrencySymbol, EuroPrice_ConversionRate)} `\r\n depositPlaceholder.classList.remove('hidden');\r\n }\r\n }\r\n\r\n var stripePaymentRequestBtn = document.getElementById(\"paymentRequestButton\");\r\n\r\n if (stripePaymentRequestBtn && !isNoNetPayment) {\r\n setStripePaymentRequestButton(netPayment);\r\n }\r\n }\r\n\r\n // Paypal Credit\r\n var ppDiv = document.getElementById('paypal-credit-section-contents');\r\n if (ppDiv) {\r\n if (hasPayPalCreditPayment || hasPayPal) {\r\n ppDiv.classList.remove('hidden');\r\n }\r\n else {\r\n ppDiv.classList.remove('hidden');\r\n }\r\n }\r\n\r\n const payPalButtonContainer = document.getElementById(\"paypal-button-container\")!;\r\n if (hasPayPal && payPalButtonContainer.children.length == 0) {\r\n setPayPalButton(false);\r\n }\r\n\r\n //do we need express checkout section\r\n var h1text = document.getElementById(\"h1text\");\r\n if (h1text) {\r\n h1text.innerHTML = h1text.innerHTML + '**1';\r\n }\r\n\r\n var expresscheckout = document.querySelector(\"#divBasketPaymentsButtonRow .express-checkout\");\r\n var othercheckout = document.querySelector(\"#divBasketPaymentsButtonRow .other-checkout h2\");\r\n var expressbuttonsContainer = document.getElementById(\"paymentRequestButton\");\r\n var paypalContainer = document.getElementById(\"paypal-button-container\");\r\n if (!hasPayPal && expresscheckout && othercheckout && expressbuttonsContainer && expressbuttonsContainer.innerHTML == '' && \r\n paypalContainer && paypalContainer.innerHTML == '') {\r\n expresscheckout.classList.remove('show');\r\n othercheckout.classList.remove('show');\r\n }\r\n}\r\n\r\nfunction setPayPalButton(enablePayLater: boolean) {\r\n loadPayPalButton({\r\n clientId: ShoppingBasketParms.PaylPalClientId,\r\n currency: \"GBP\",\r\n enableFunding: \"\",\r\n components: \"messages,buttons\"\r\n });\r\n}\r\n\r\nfunction isUKMainland() {\r\n var deliveryRegionId = (document.getElementById(\"DeliveryRegionId\")!).value;\r\n return deliveryRegionId && deliveryRegionId == (window).ukMainlandRegionId;\r\n}\r\n\r\nfunction getAmountInCents(amount: any) {\r\n return parseInt((amount * 100).toFixed());\r\n}\r\n\r\nfunction getPlainText(text: string) {\r\n return text.replace(/(\\r\\n|\\n|\\r)|(\\s\\s+)/gm, \"\");\r\n}\r\n\r\nfunction getStripeShippingOptions(selPrice: any) {\r\n if (document.querySelector(`.chosenOption>input`)?.hasAttribute(\"data-dtid\")) {\r\n return [\r\n {\r\n id: document.querySelector(\".chosenOption>input\")!.getAttribute(\"data-dtid\"),\r\n label: getPlainText(document.querySelector(\".chosenOption .dtDescription\")!.getAttribute(\"data-title\")!),\r\n detail: getPlainText(document.querySelector(\".chosenOption .dtDescription\")!.textContent!),\r\n amount: getAmountInCents(selPrice)\r\n }];\r\n } else {\r\n return [{\r\n id: \"oos\",\r\n label: document.querySelector(\".delivery-out-of-stock > #outOfStockLabel\") != null ? getPlainText(document.querySelector(\".delivery-out-of-stock > #outOfStockLabel\")!.textContent!) : \"Delivery not available\",\r\n detail: document.querySelector(\".delivery-out-of-stock > #outOfStockDetail\") != null ? getPlainText(document.querySelector(\".delivery-out-of-stock > #outOfStockDetail\")!.textContent!) : \"Delivery not available\",\r\n amount: getAmountInCents(selPrice)\r\n }];\r\n }\r\n}\r\n\r\nfunction setStripePaymentRequestButton(amount: any) {\r\n if (isNaN(amount)) {\r\n return;\r\n }\r\n\r\n var stripeKey = (document.getElementById('StripePublishableKey'))!.value;\r\n var selPrice = (document.getElementById('deliveryPrice'))!.value;\r\n //var shippingOptions = getStripeShippingOptions(selPrice);\r\n Stripe.loadStripe(stripeKey).then(function (stripe: any) {\r\n var paymentRequestButton = document.getElementById(\"paymentRequestButton\");\r\n if (paymentRequestButton?.childElementCount == 0) {\r\n paymentRequest = stripe.paymentRequest(getPaymentRequestOptions(amount, getStripeShippingOptions(selPrice)));\r\n\r\n var elements = stripe.elements();\r\n var prButton = elements.create('paymentRequestButton', {\r\n paymentRequest: paymentRequest,\r\n });\r\n\r\n // Check the availability of the Payment Request API first.\r\n paymentRequest.canMakePayment().then(function (result: any) {\r\n if (result) {\r\n prButton.mount('#paymentRequestButton');\r\n let stripeButtonContainer = document.querySelector(\".stripe-button-container.loading\");\r\n if (stripeButtonContainer) stripeButtonContainer.classList.remove('loading');\r\n } else {\r\n var stripeButtonContainer = document.getElementsByClassName(\"stripe-button-container\")?.item(0);\r\n if (stripeButtonContainer) {\r\n stripeButtonContainer.setAttribute(\"hidden\", \"hidden\");\r\n }\r\n }\r\n\r\n paymentRequest.on('paymentmethod', function (ev: any) {\r\n var updateForm = document.getElementById('UpdateStockForm');\r\n\r\n function submitForm() {\r\n var dojj = (document.getElementById(\"dojj\"))!;\r\n\r\n var url = updateForm.getAttribute('action')!;\r\n\r\n var data = new FormData(updateForm);\r\n\r\n data.set(\"btoajDelvOptParams\", dojj.value);\r\n data.set(\"checkout\", \"stripe\");\r\n data.set(\"IsDigitalWallet\", \"true\");\r\n\r\n fetch(url, {\r\n method: 'POST',\r\n body: data\r\n }).then((response) => {\r\n if (response.ok) {\r\n isPaymentRequested = true;\r\n\r\n fetch(`/checkout/createPaymentIntent?paymentmethodId=${ev.paymentMethod.id}&recipient=${ev.shippingAddress.recipient}&customerEmail=${ev.payerEmail}&payerPhone==${ev.payerPhone}`).then(function (response) {\r\n return response.json();\r\n }).then(function (createPaymentIntentResponse) {\r\n stripe.confirmCardPayment(\r\n createPaymentIntentResponse.ClientSecret,\r\n {\r\n payment_method: ev.paymentMethod.id,\r\n shipping: {\r\n address: {\r\n city: ev.shippingAddress.city,\r\n country: ev.shippingAddress.country,\r\n line1: ev.shippingAddress.addressLine[0],\r\n line2: ev.shippingAddress.addressLine.length == 2 ? ev.shippingAddress.addressLine[1] : null,\r\n postal_code: ev.shippingAddress.postalCode,\r\n state: ev.shippingAddress.region\r\n },\r\n name: ev.shippingAddress.recipient,\r\n phone: ev.payerPhone\r\n }\r\n },\r\n { handleActions: false }\r\n ).then(function (confirmResult: any) {\r\n LogStripeResponse(confirmResult, false);\r\n if (confirmResult.error) {\r\n alert(confirmResult.error);\r\n ev.complete('fail');\r\n } else {\r\n // Report to the browser that the confirmation was successful, prompting\r\n // it to close the browser payment method collection interface.\r\n ev.complete('success');\r\n // Check if the PaymentIntent requires any actions and if so let Stripe.js\r\n // handle the flow. If using an API version older than \"2019-02-11\"\r\n // instead check for: `paymentIntent.status === \"requires_source_action\"`.\r\n if (confirmResult.paymentIntent.status === \"requires_action\") {\r\n // Let Stripe.js handle the rest of the payment flow.\r\n stripe.confirmCardPayment(createPaymentIntentResponse.ClientSecret).then(function (result: any) {\r\n LogStripeResponse(result, true);\r\n if (result.error) {\r\n alert(result.error);\r\n } else {\r\n ProcessDigitalWalletPayment(ev, confirmResult, createPaymentIntentResponse);\r\n }\r\n });\r\n } else {\r\n ProcessDigitalWalletPayment(ev, confirmResult, createPaymentIntentResponse);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (!isPaymentRequested)\r\n submitForm();\r\n\r\n function LogStripeResponse(confirmResult: any, is3DSResult: boolean) {\r\n var data = {\r\n is3DSResult: is3DSResult,\r\n confirmResult: JSON.stringify(confirmResult)\r\n };\r\n\r\n fetch('Checkout/LogStripeResponse', {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n });\r\n }\r\n\r\n function ProcessDigitalWalletPayment(ev: any, confirmResult: any, createPaymentIntentResponse: any) {\r\n var data = {\r\n shippingAddress: ev.shippingAddress,\r\n paymentIntentId: confirmResult.paymentIntent.id,\r\n customerEmail: ev.payerEmail,\r\n clientSecret: createPaymentIntentResponse.ClientSecret,\r\n customerPhone: ev.payerPhone\r\n };\r\n fetch('Checkout/ValidateAddress',\r\n {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n }).then(response => response.json())\r\n .then(function (result) {\r\n if (result.success && result.redirectUrl !== \"\") {\r\n window.location = result.redirectUrl;\r\n }\r\n else if (result.redirectUrl !== \"\") {\r\n window.location = result.redirectUrl;\r\n }\r\n });\r\n }\r\n });\r\n\r\n paymentRequest.on('shippingaddresschange', function (ev: any) {\r\n var delvRegId = (document.getElementById(\"DeliveryRegionId\"))!.value;\r\n var deliveryRegionMap: any = JSON.parse((document.getElementById(\"deliveryRegionMap\"))!.value);\r\n if (ev.shippingAddress.country !== deliveryRegionMap[delvRegId]) {\r\n ev.updateWith({ status: 'invalid_shipping_address' });\r\n } else if (ev.shippingAddress.country == 'GB') {\r\n var data = {\r\n shippingAddress: ev.shippingAddress,\r\n customerEmail: ev.payerEmail,\r\n customerPhone: ev.payerPhone\r\n };\r\n\r\n fetch('Checkout/ValidatePostCodeAndRegion',\r\n {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: requestHeaders\r\n }).then(response => response.json())\r\n .then(function (result) {\r\n if (result.success && result.redirectUrl !== \"\") {\r\n ev.updateWith({ status: 'success', shippingOptions: getStripeShippingOptions(selPrice) });\r\n }\r\n else {\r\n ev.updateWith({ status: 'invalid_shipping_address' });\r\n }\r\n });\r\n }\r\n });\r\n });\r\n \r\n }\r\n else {\r\n paymentRequest.update(getPaymentRequestUpdateOptions(amount, getStripeShippingOptions(selPrice)));\r\n }\r\n\r\n var isPaymentRequested = false;\r\n\r\n function getPaymentRequestOptions(amount: number, shippingOptions: any) {\r\n return {\r\n country: 'GB',\r\n currency: 'gbp',\r\n total: {\r\n label: 'Total including VAT',\r\n amount: getAmountInCents(amount),\r\n },\r\n requestPayerName: true,\r\n requestPayerEmail: true,\r\n requestShipping: true,\r\n requestPayerPhone: true,\r\n shippingOptions: shippingOptions\r\n }\r\n }\r\n\r\n function getPaymentRequestUpdateOptions(amount: number, shippingOptions: any) {\r\n return {\r\n total: {\r\n label: 'Total including VAT',\r\n amount: getAmountInCents(amount),\r\n },\r\n shippingOptions: shippingOptions,\r\n }\r\n }\r\n\r\n\r\n });\r\n}\r\n\r\nfunction openCalendar(el: any) {\r\n el.target.style.display = \"none\";\r\n\r\n var calendar = document.getElementsByClassName(\"deliveryCalendar\");\r\n if (calendar && calendar.item(0)) {\r\n calendar.item(0)!.removeAttribute(\"hidden\");\r\n }\r\n}\r\n\r\nfunction showHideCheckoutBox() {\r\n var basketEmpty = document.getElementById(\"basketEmptyText\");\r\n var checkoutBox = document.getElementsByClassName(\"checkout-box-container\")?.item(0);\r\n if (checkoutBox) {\r\n if (basketEmpty) {\r\n checkoutBox.setAttribute(\"hidden\", \"hidden\");\r\n } else {\r\n checkoutBox.removeAttribute(\"hidden\");\r\n }\r\n }\r\n}\r\n\r\nfunction isBasketEmpty() {\r\n var basketEmptyEl = document.getElementById(\"basketEmptyText\");\r\n\r\n return basketEmptyEl != null && basketEmptyEl != undefined;\r\n}\r\n","// Getter&Setter Delivered / Click & Collect buttons\r\nvar deliveryOptionsPersist =\r\n{\r\n\r\n getSelectedDeliveryTypeOption: function () {\r\n if (this.isLocalStorageSupported()) {\r\n return window.sessionStorage.getItem('gak_selected_delivery_type_option');\r\n }\r\n },\r\n saveSelectedDeliveryTypeOption: function (selectedDot) {\r\n if (this.isLocalStorageSupported()) {\r\n if (!selectedDot) {\r\n window.sessionStorage.removeItem('gak_selected_delivery_type_option');\r\n }\r\n else {\r\n window.sessionStorage.setItem('gak_selected_delivery_type_option', selectedDot);\r\n }\r\n }\r\n },\r\n resetSelectedDeliveryTypeOption: function () {\r\n this.saveSelectedDeliveryTypeOption(null);\r\n },\r\n\r\n getSelectedDelivery: function () {\r\n if (this.isLocalStorageSupported()) {\r\n var tempObj = window.sessionStorage.getItem('gak_selected_delivery_option');\r\n return tempObj ? JSON.parse(tempObj) : null;\r\n }\r\n },\r\n saveSelectedDelivery: function (selectedDeliveryTypeID, selectedDeliveryDate, isForceSetValues) {\r\n if (isForceSetValues || (selectedDeliveryTypeID && selectedDeliveryDate)) {\r\n var newDlv = {\r\n deliveryTypeID: selectedDeliveryTypeID,\r\n deliveryDate: selectedDeliveryDate\r\n };\r\n if (this.isLocalStorageSupported()) {\r\n window.sessionStorage.setItem('gak_selected_delivery_option', JSON.stringify(newDlv));\r\n }\r\n }\r\n },\r\n\r\n resetSelectedDelivery: function () {\r\n this.saveSelectedDelivery(null, null, true);\r\n },\r\n\r\n // Other functions\r\n resetAllDelvOpts: function () {\r\n this.resetSelectedDeliveryTypeOption();\r\n //saveSelectedDeliveryRegion(null);\r\n this.resetSelectedDelivery();\r\n },\r\n isLocalStorageSupported: function () {\r\n var testKey = 'test', storage = window.sessionStorage;\r\n try {\r\n storage.setItem(testKey, '1');\r\n storage.removeItem(testKey);\r\n return true;\r\n } catch (error) {\r\n console.log(error, \"isLocalStorageSupported\", 59);\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport { deliveryOptionsPersist }","/*!\n * paypal-js v7.0.3 (2023-09-19T14:17:47.731Z)\n * Copyright 2020-present, PayPal, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction findScript(url, attributes) {\n var currentScript = document.querySelector(\"script[src=\\\"\".concat(url, \"\\\"]\"));\n if (currentScript === null)\n return null;\n var nextScript = createScriptElement(url, attributes);\n // ignore the data-uid-auto attribute that gets auto-assigned to every script tag\n var currentScriptClone = currentScript.cloneNode();\n delete currentScriptClone.dataset.uidAuto;\n // check if the new script has the same number of data attributes\n if (Object.keys(currentScriptClone.dataset).length !==\n Object.keys(nextScript.dataset).length) {\n return null;\n }\n var isExactMatch = true;\n // check if the data attribute values are the same\n Object.keys(currentScriptClone.dataset).forEach(function (key) {\n if (currentScriptClone.dataset[key] !== nextScript.dataset[key]) {\n isExactMatch = false;\n }\n });\n return isExactMatch ? currentScript : null;\n}\nfunction insertScriptElement(_a) {\n var url = _a.url, attributes = _a.attributes, onSuccess = _a.onSuccess, onError = _a.onError;\n var newScript = createScriptElement(url, attributes);\n newScript.onerror = onError;\n newScript.onload = onSuccess;\n document.head.insertBefore(newScript, document.head.firstElementChild);\n}\nfunction processOptions(options) {\n var sdkBaseUrl = \"https://www.paypal.com/sdk/js\";\n if (options.sdkBaseUrl) {\n sdkBaseUrl = options.sdkBaseUrl;\n delete options.sdkBaseUrl;\n }\n var optionsWithStringIndex = options;\n var _a = Object.keys(optionsWithStringIndex)\n .filter(function (key) {\n return (typeof optionsWithStringIndex[key] !== \"undefined\" &&\n optionsWithStringIndex[key] !== null &&\n optionsWithStringIndex[key] !== \"\");\n })\n .reduce(function (accumulator, key) {\n var value = optionsWithStringIndex[key].toString();\n key = camelCaseToKebabCase(key);\n if (key.substring(0, 4) === \"data\") {\n accumulator.dataAttributes[key] = value;\n }\n else {\n accumulator.queryParams[key] = value;\n }\n return accumulator;\n }, {\n queryParams: {},\n dataAttributes: {},\n }), queryParams = _a.queryParams, dataAttributes = _a.dataAttributes;\n if (queryParams[\"merchant-id\"] &&\n queryParams[\"merchant-id\"].indexOf(\",\") !== -1) {\n dataAttributes[\"data-merchant-id\"] = queryParams[\"merchant-id\"];\n queryParams[\"merchant-id\"] = \"*\";\n }\n return {\n url: \"\".concat(sdkBaseUrl, \"?\").concat(objectToQueryString(queryParams)),\n dataAttributes: dataAttributes,\n };\n}\nfunction camelCaseToKebabCase(str) {\n var replacer = function (match, indexOfMatch) {\n return (indexOfMatch ? \"-\" : \"\") + match.toLowerCase();\n };\n return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, replacer);\n}\nfunction objectToQueryString(params) {\n var queryString = \"\";\n Object.keys(params).forEach(function (key) {\n if (queryString.length !== 0)\n queryString += \"&\";\n queryString += key + \"=\" + params[key];\n });\n return queryString;\n}\nfunction createScriptElement(url, attributes) {\n if (attributes === void 0) { attributes = {}; }\n var newScript = document.createElement(\"script\");\n newScript.src = url;\n Object.keys(attributes).forEach(function (key) {\n newScript.setAttribute(key, attributes[key]);\n if (key === \"data-csp-nonce\") {\n newScript.setAttribute(\"nonce\", attributes[\"data-csp-nonce\"]);\n }\n });\n return newScript;\n}\n\n/**\n * Load the Paypal JS SDK script asynchronously.\n *\n * @param {Object} options - used to configure query parameters and data attributes for the JS SDK.\n * @param {PromiseConstructor} [PromisePonyfill=window.Promise] - optional Promise Constructor ponyfill.\n * @return {Promise