const snapOptions = { mid: '4199', isExpress: 'false', merchantName: 'Scentira', plans: JSON.parse('[{\"tenure\":\"2\",\"dpPercent\":\"33.33\",\"minAmount\":\"199\",\"maxAmount\":\"100000\",\"emiPercent\":\"33.33\"}]'), apiDomain: 'https://api.snapmint.com', cartUrl: 'https://scentira.in/cart', checkoutBtnId: '.js-product-form', findVariantId: 'undefined', isAJax: 'true', isTwoWidget: 'undefined', timer: '3000', baseTimer: '3000', pdpTimer: '3000', cartTimer: '3000', miniCartTimer: '3000', outOfStock: 'undefined', delayTime: '3000', baseDelayTime: '3000', pdpDelayTime: '3000', cartDelayTime: '3000', miniCartDelayTime: '3000', secondCheckoutBtnId: '.pageheader', checkSoldOutProduct: 'undefined', multiCheckoutBtnId: '[data-type="add-to-cart-form"]', pdpCashbackText: 'undefined', cartCashbackText: 'undefined', miniCartCashbackText: 'undefined', pdpPopUpCashbackText: 'undefined', cartPopUpCashbackText: 'undefined', miniCartPopUpCashbackText: 'undefined', termsAndConditionText: 'undefined', findAmount: `undefined`, isMouseHoverSecondCheckout: `undefined`, findQuantity: `undefined`, thirdCheckoutBtnId: 'undefined', eventType: 'undefined', merchantLogo: 'https://assets.snapmint.com/assets/merchant/Menhood_pay_later.svg', merchantSlogan: '0% EMI on', merchantLogoWidget: 'https://assets.snapmint.com/assets/merchant/Menhood_pay_later.svg', isCashbackCoupon: 'undefined', minForDelivery: 'undefined', deliveryAmount: 'undefined', addingDynamicPlan: 'undefined', multiPdpBtnId: 'undefined', secondPdpDivId: 'undefined', isAbTest: 'undefined', miniCartEventType: 'mousedown', pdpPayLaterAmount: 'undefined', cartPayLaterAmount: 'undefined', miniCartPayLaterAmount: 'undefined', pdpPayLaterWidget: `undefined`, cartPayLaterWidget: `undefined`, miniCartPayLaterWidget: `undefined`, urlToShowWidget: 'undefined', miniCartOrderValue: 'undefined', isQuickViewCheckout: '', newCheckoutForQuickView: 'undefined', removeMiniCartWidget: 'undefined', isPosthogEventRequired: 'undefined', isMultiplePdpBtn: 'quickview-opener', postHogKey: 'undefined', postHogUrl: 'undefined', addingDeliveryAmountExpress: 'undefined', addingDeliveryAmountExpressText: 'undefined', addingDeliveryMaxAmountExpress: 'undefined', productNotAvailable: 'undefined', autoMaticCoupon: `undefined`, checkUsingProduct: `undefined`, particularCoupon: `undefined`, closeMiniCart: `undefined`, isFunAlready: `undefined`, checkVariant: `undefined`, newDiscountSummary: `undefined`, checkDisableCheckout: `undefined`, white_label_text: `undefined`, white_label_month_text: `or 3 Monthly Payments of`, isWidgetDelay: `undefined`, personaliseDivId: `undefined`, isQuantity: `undefined`, unleashAbTest: `undefined`, isTest: `undefined`, urlToShowWidgetExpress: `undefined`, widgetExpressUrl: `undefined`, isCouponListNot: `undefined`, checkForCartWidget: `undefined`, cartWidgetExpressUrl: `undefined`, cartWidgetShowText: `undefined`, onWebsiteCoupon: `undefined`, pdpPayLaterSecondWidget: `undefined`, closeMiniCartDrawer: `undefined`, isMiniCartEventAdd: `true`, checkForMiniCartWidget: `undefined`, miniCartWidgetExpressUrl: `undefined`, miniCartWidgetShowText: `undefined`, isWebsiteReload: `undefined`, stopScroll: `undefined`, shippingTitle: `undefined`, shippingFee: `undefined`, shippingId: `undefined`, shippingFeeUnit: `undefined`, abTestVariant1: `undefined`, abTestVariant2: `undefined`, abTestVariant3: `undefined`, abTestVariant4: `undefined`, abTestVariant5: `undefined`, abTestVariant6: `undefined`, isMinCartRemoveReload: `undefined`, isPdpQuickView: `undefined`, isMultiCheckAjax: `undefined`, multiCheckAjaxTime: `undefined`, categoryWidgetHtml: `undefined`, categoryWidgetDivId: `undefined`, categoryWidgetPrice: `undefined`, categoryWidgetInfo: `undefined`, categoryPagination: `undefined`, categoryPopup: `undefined`, categoryPopup2: `undefined`, categoryPopup3: `undefined`, categoryPopup4: `undefined`, isCategory_scrollable: `undefined`, modalInputIsNotClickable: `undefined`, isGTMEnable: `undefined`, productImgUrl: `undefined`, productId: `undefined`, isWebEngageEnable: `undefined`, miniCartQuickView: `undefined`, secondQuantityParentDivId: `undefined`, secondQuantityDivId: `undefined`, isSubtotalVisible: `undefined`, categoryWidgetDelay: `undefined`, payLaterWidgetAmountCheck: `undefined`, autoMaticCouponApply: `undefined`, isMetaPixelEnable: `undefined`, scrollProperty: `undefined`, categoryPopupType: `undefined`, clickOnAddToCartBtn: `undefined`, fullMonthName: `undefined`, genericPriceParseFunction: `undefined`, checkTouchMove: `undefined`, pdpQuantityChange: `undefined`, outOfStockTrim: `undefined`, multiPlanPopupCheck: `undefined`, changePopup: `undefined`, popupStyle: `undefined`, checkDomain: `undefined`, domain: `undefined`, executePDPMultiWidget: `undefined`, multileParentId: `undefined`, multiPriceId: `undefined`, isPDPMultiWidget: `undefined`, stopOverflow: `undefined`, selectedSize: `undefined`, selectedColor: `undefined`, isVarientPopup: `undefined`, payLaterPopUp: `undefined`, widgetPriceBreakdown: `undefined`, pdpWidget1: ``, pdpWidget2: ``, pdpWidget3: ``, cartWidget1: ``, cartWidget2: ``, cartWidget3: ``, miniCartWidget1: ``, miniCartWidget2: ``, miniCartWidget3: ``, categoryWidget1: `undefined`, categoryWidget2: `undefined`, categoryWidget3: `undefined`, isNestedCategoryItemPrice: `undefined`, isCartDrawerElementPresent: `undefined`, closeCartDrawer: `undefined`, getNestedCategoryPriceRegex: `undefined`, categoryVariationForm: `undefined`, normalPopup: `undefined`, discountPercent: `undefined`, showDiscountPercentAll: `undefined`, changeWidget: `undefined`, merchantCartFetch: `undefined`, couponDetails: `undefined`, couponAppliedDetails: `undefined`, fetchPopupDetails: `undefined`, changeCategoryWidget: `undefined`, merchant_confirmation_url: `undefined`, merchant_failure_url: `undefined`, findCartAmount: `undefined`, gaAttributeKey: `undefined`, sessionIdAttributeKey: `undefined`, reloadTimer: `undefined`, isCashbackEnabled: `undefined`, miniCartUrl: `undefined`, changeEventForCategory: `undefined`, miniCartshowPaywidgetEmii: `undefined`, cashbackApiUrl: `https://apis.snapmint.com`, isNitroEnabled: `undefined`, eligibilityText: `undefined`, checkoutUrl: `https://pay.snapmint.com`, checkoutVersion: `undefined`, apisServiceDomain: `undefined`, isEligibility: `undefined`, eligibilityAutoCloseTimer: `undefined`, isEligibilityPosthogEventEnabled: `undefined`, isMixpanelEventEnabled: `undefined`, mixpanelToken: `cbf54819152c62b06047e13404584b6a`, hypercare_duration_days: `undefined`, updatedAt: `2026-06-10T07:54:12.228Z`, shouldHideMiniCartWidget: `undefined`, sampling_rate: `undefined` }; function isAllowedSnapmintCheckoutHost(hostname) { return typeof hostname === 'string' && ( hostname.endsWith('.snapmint.com') || hostname.endsWith('.snmt.link') ); } function getValidatedCheckoutUrl(url) { if (!url || url === 'undefined') { return null; } try { const parsedUrl = new URL(url, window.location.origin); if (parsedUrl.protocol !== 'https:') { return null; } if (!isAllowedSnapmintCheckoutHost(parsedUrl.hostname)) { return null; } return parsedUrl.toString(); } catch (err) { return null; } } function getEligibilityExtSid() { if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') { return crypto.randomUUID(); } return `${Date.now()}-${Math.random().toString(16).slice(2)}`; } function normalize(value) { if (value === undefined || value === null || value === 'undefined') { return; } const parsed = parseInt(value, 10); return Number.isNaN(parsed) ? value : parsed; } const isValidSnapUrl = (url) => url && typeof url === 'string' && url.trim() !== '' && url !== 'undefined'; function getValue(type, isMiniCart = false) { const isMiniCartPage = isMiniCart || (isValidSnapUrl(snapOptions.miniCartUrl) && window.location.href.includes(snapOptions.miniCartUrl)); const timerConfig = { timer: { miniCart: 'miniCartTimer', cart: 'cartTimer', pdp: 'pdpTimer', base: 'baseTimer' }, delayTime: { miniCart: 'miniCartDelayTime', cart: 'cartDelayTime', pdp: 'pdpDelayTime', base: 'baseDelayTime' } }; const typeObj = timerConfig[type]; if (isMiniCartPage) { const val = normalize(snapOptions[typeObj.miniCart]); if (val !== undefined) return val; } if (isValidSnapUrl(snapOptions.cartUrl) && window.location.href.includes(snapOptions.cartUrl)) { const val = normalize(snapOptions[typeObj.cart]); if (val !== undefined) return val; } const pdpVal = normalize(snapOptions[typeObj.pdp]); if (pdpVal !== undefined) return pdpVal; return normalize(snapOptions[typeObj.base]); } function getTimerValue(isMiniCart = false) { return getValue('timer', isMiniCart); } function getDelayTimeValue(isMiniCart = false) { return getValue('delayTime', isMiniCart); } function updateSnapOptions() { if ( snapOptions.cartUrl && snapOptions.cartUrl !== 'undefined' && window.location.href.includes(snapOptions.cartUrl) ) { snapOptions.popupPage1 = ` Document
`; snapOptions.popupPage2 = ``; snapOptions.popupPage3 = ``; snapOptions.popupPage4 = ``; snapOptions.popupPage5 = `undefined`; snapOptions.widgetPage = ` Document
snapmint_widget_logo Pay Later
snapmint_widget_snap_upi Powered by snapmint_widget_black
snapmint_widget_snap_buy_now_btn
`; snapOptions.divId = '.cart__footer .cart__ctas'; snapOptions.priceDivId = '#cart .totals__subtotal-value'; snapOptions.errorWidgetPage = ``; snapOptions.productNameDivId = ''; snapOptions.priceSaleDivId = '#cart .totals__subtotal-value'; snapOptions.quantityDivId = ''; snapOptions.variantDivId = ''; snapOptions.style = `.snap-emi-slogan div .snap_buy_now_btn { content: url("https://assets.snapmint.com/assets/merchant/buy_on_emis_black_new.svg"); } .snap_emi_txt .snap-emi-slogan { display: flex !important; width: 100% !important; color: #090909 !important; font-family: inherit; padding-bottom: 4px !important; } .snap-emi-inst b:first-child b { font-weight: 700 !important; } #sm-widget-btn.snap_emi_txt { margin-top: -15px; margin-bottom: -20px; border: none; margin-left: 0; padding-top: 0px; letter-spacing: normal; border-radius: 9px; background: transparent; padding: 0px; } @media (min-width: 330px) and (max-width: 360px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 361px) and (max-width: 375px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 376px) and (max-width: 390px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 391px) and (max-width: 405px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 406px) and (max-width: 420px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 421px) and (max-width: 435px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } @media (min-width: 436px) and (max-width: 450px) { .snap_emi_txt .snap-emi-slogan span { font-size: 4.8vw !important; } .snap_emi_txt .snap-emi-inst { font-size: 5.5vw !important; padding-bottom: 5px !important; } .snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img { width: 11.5vw !important; margin-bottom: -6px; } #sm-widget-btn.snap_emi_txt .snap_widget_powered_text img { width: 22vw !important; } .snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn { width: 22vw !important; } } .product-info__block-item #sm-widget-btn { margin-top: -7px; margin-bottom: -20px; } .snap-emi-inst { margin-bottom: -1px; } @media only screen and (max-width: 800px) { #sm-widget-btn.snap_emi_txt { margin: -10px auto -5px auto!important; } .cart_main__container #sm-widget-btn.snap_emi_txt { margin: 10px auto -5px !important; } } .cart_main__container #sm-widget-btn.snap_emi_txt { margin: 10px auto -5px !important; } #snap-modalon_page .modal-wrpr.three_pies_normal_popup { height: 435px !important; } .snap_emi_txt .snap-emi-slogan { -webkit-text-size-adjust: 89%; } .snap_emi_txt .snap-emi-inst { -webkit-text-size-adjust: 89%; font-size: 18.5px; font-weight: 400 !important; font-family: inherit !important; display: flex; align-items: center; padding-bottom: 4px; line-height: 19px !important; } .snap-emi-slogan div .snap_buy_now_btn { content: url("https://assets.snapmint.com/assets/merchant/buy-on-emi-black-candytech.svg"); width: 75px !important; margin-left: 1px !important; } .snap_emi_txt .snap_powered_text, .snap_emi_txt .snap_merchant_logo_add_widget, .snap_emi_txt .white_label_comany_name, .pay_snmpt, .later_snmpt, .snap_emi_txt .snap_first_line_dot { display: none !important; } span.snap_widget_powered_text { margin-bottom: 0 !important; } .snap-emi-slogan img.snap_upi_widget_img { margin-bottom: -4px; margin-left: 1px !important; width: 40px; } span.snap_emi_white_month_text.first_line_snmpt { margin-right: 5px; } span.snap_emi_slogan_text { font-size: 16px !important; } .snap_emi_txt .snap_widget_powered_text img { width: 80px !important; margin-left: 0px !important; } span.payment_page_snap.cashback_text_widget { padding-bottom: 3px; font-size: 10.5px !important; cursor: pointer; font-weight: 500; font-family: inter; } .coupenDiv .snap_tkt_right_section_img { display: none !important; } .snap_ordr_summary .snap_margin_top_coupon_error { margin-top: -14px !important; } .snap_ordr_summary .snap_product_price { padding-top: 25px !important; } #snap-modalon_page .applied_strip .snap_total_order_value_section.snap_product_price { padding: 9px 11px 0px; } #snap-modalon_page .snap_total_order_value_section.snap_padidng_tp { padding: 2px 11px 7px; } #snap-modalon_page .coupoun_discount .modal-wrpr { height: 574px; } .snap_emi_txt .snap-emi-inst b:nth-child(2), .snap_emi_txt .snap-emi-inst b:nth-child(3) { color: #97000b; } span.downPayment { font-family: Open Sans; } .snap_dp_amt_font_weight { font-family: "Roboto" !important; } .snap-emi-inst b:nth-child(2) { display: none !important; } .snap-emi-inst .dp-class::before { content: "Rs."; } #sm-widget-btn.snap_emi_txt .snap-emi-inst b:nth-child(2), #sm-widget-btn.snap_emi_txt .snap-emi-inst b:nth-child(3) { background: #AFE137; color: #000; font-weight: 700 !important; line-height: 17px; padding: 1px 4px 1px 3px!important; border-radius: 5px; } #snap-modalon_page .modal-wrpr.three_pies_normal_popup { height: 440px !important; } .snap-emi-slogan .snap_grey_dot { margin-left: 5px; margin-right: 5px; } .snap_emi_txt .snap_widget_powered_text img { width: 70px !important; margin-right: 3px; }#sm-widget-btn.snap_emi_txt {border: 1px solid black !important;padding: 5px !important;}`; snapOptions.position = 'before'; snapOptions.quantityParentDivId = '#cart .cart__items'; snapOptions.quantityUpdateTimer = 'undefined'; snapOptions.variantParentDivId = ''; snapOptions.mobileDivId = ''; snapOptions.showPaywidgetEmi = ''; } else { snapOptions.popupPage1 = ` Document
`; snapOptions.popupPage2 = ``; snapOptions.popupPage3 = ``; snapOptions.popupPage4 = ``; snapOptions.popupPage5 = `undefined`; snapOptions.widgetPage = ` Document
snapmint_widget_logo Pay Later
snapmint_widget_snap_upi Powered by snapmint_widget_black
snapmint_widget_snap_buy_now_btn
`; snapOptions.divId = '.product-form .price-container .price'; snapOptions.priceDivId = '.product-form .price-container .price .price__current'; snapOptions.errorWidgetPage = ``; snapOptions.productNameDivId = '.product-form .product-title'; snapOptions.priceSaleDivId = '.product-form .price-container .price .price__current'; snapOptions.quantityDivId = '.product-form .quantity-wrapper #quantity'; snapOptions.variantDivId = '.product-form .swatches .swatch-single .swatch-view-item'; snapOptions.style = `.snap-emi-slogan div .snap_buy_now_btn{content:url("https://assets.snapmint.com/assets/merchant/buy_on_emis_black_new.svg");content:url("https://assets.snapmint.com/assets/merchant/buy-on-emi-black-candytech.svg");width:63px!important;margin-left:5px!important}.snap_emi_txt .snap-emi-slogan{display:flex!important;width:100%!important;color:#090909!important;font-family:inherit;padding-bottom:4px!important;justify-content:start;-webkit-text-size-adjust:89%}.snap-emi-inst b:first-child b{font-weight:700!important}#sm-widget-btn.snap_emi_txt{margin-top:3px;margin-bottom:3px;margin-left:0;letter-spacing:normal;border-radius:5px;background:0 0;width:max-content!important}.product-info__price div#sm-widget-btn.snap_emi_txt{padding:0 13px!important}@media(max-width:460px){.snap_emi_txt .snap-emi-slogan span{font-size:3.8vw!important}.snap_emi_txt .snap-emi-inst{font-size:5.5vw!important;padding-bottom:5px!important}.snap_emi_txt .snap-emi-slogan img.snap_upi_widget_img{width:8.4vw!important;margin-bottom:-4px}#sm-widget-btn.snap_emi_txt .snap_widget_powered_text img{width:18vw!important}.snap_emi_txt .snap-emi-slogan div .snap_buy_now_btn{width:17vw!important}}.product-info__block-item #sm-widget-btn{margin-top:-7px;margin-bottom:-20px}.snap-emi-inst{margin-bottom:-1px}@media only screen and (max-width:460px){#sm-widget-btn.snap_emi_txt{margin:5px auto 5px 0!important}}.snap_emi_txt .snap-emi-inst{-webkit-text-size-adjust:100%;font-size:16px;font-weight:400!important;font-family:inherit!important;display:flex;align-items:center;padding-bottom:4px;line-height:19px!important;justify-content:start}.coupenDiv .snap_tkt_right_section_img,.later_snmpt,.pay_snmpt,.snap-emi-inst b:nth-child(2),.snap_emi_txt .snap_first_line_dot,.snap_emi_txt .snap_merchant_logo_add_widget,.snap_emi_txt .snap_powered_text,.snap_emi_txt .white_label_comany_name{display:none!important}span.snap_widget_powered_text{margin-bottom:0!important}.snap-emi-slogan img.snap_upi_widget_img{margin-bottom:-4px;margin-left:1px!important;width:30px}span.snap_emi_white_month_text.first_line_snmpt{margin-right:5px}span.snap_emi_slogan_text{font-size:16px!important}.snap_emi_txt .snap_widget_powered_text img{margin-left:0!important;width:66px!important;margin-right:3px}span.payment_page_snap.cashback_text_widget{padding-bottom:3px;font-size:10.5px!important;cursor:pointer;font-weight:500;font-family:inter}.snap_ordr_summary .snap_margin_top_coupon_error{margin-top:-14px!important}.snap_ordr_summary .snap_product_price{padding-top:25px!important}#snap-modalon_page .applied_strip .snap_total_order_value_section.snap_product_price{padding:9px 11px 0}#snap-modalon_page .snap_total_order_value_section.snap_padidng_tp{padding:2px 11px 7px}#snap-modalon_page .coupoun_discount .modal-wrpr{height:574px}.snap_emi_txt .snap-emi-inst b:nth-child(2),.snap_emi_txt .snap-emi-inst b:nth-child(3){color:#97000b}span.downPayment{font-family:Open Sans}.snap_dp_amt_font_weight{font-family:Roboto!important}.snap-emi-inst .dp-class::before{content:"Rs."}#sm-widget-btn.snap_emi_txt .snap-emi-inst b:nth-child(2),#sm-widget-btn.snap_emi_txt .snap-emi-inst b:nth-child(3){background:#afe137;color:#000;font-weight:700!important;line-height:20px;padding:1px 4px 1px 3px!important;border-radius:5px}#snap-modalon_page .modal-wrpr.three_pies_normal_popup{height:440px!important}.snap-emi-slogan .snap_grey_dot{margin-left:5px;margin-right:5px}h2.snap_payment_text{text-transform:unset}#sm-widget-btn.snap_emi_txt{border:1px solid #000!important;padding:0 5px!important}.product-info__price #sm-widget-btn.snap_emi_txt span.snap_emi_white_month_text.first_line_snmpt,.product-info__price div#sm-widget-btn.snap_emi_txt .snap-emi-inst b:nth-child(3){font-size:15px!important}`; snapOptions.position = 'after'; snapOptions.quantityParentDivId = '.product-form .quantity-wrapper'; snapOptions.quantityUpdateTimer = 'undefined'; snapOptions.variantParentDivId = '.option-selector'; snapOptions.mobileDivId = ''; snapOptions.showPaywidgetEmi = ''; if (snapOptions.isTwoWidget === 'true') { snapOptions.secondPopupPage1 = `undefined`; snapOptions.secondPopupPage2 = `undefined`; snapOptions.secondPopupPage3 = `undefined`; snapOptions.secondPopupPage4 = `undefined`; snapOptions.secondPopupPage5 = `undefined`; snapOptions.secondWidgetPage = `undefined`; snapOptions.secondDivId = 'undefined'; snapOptions.secondErrorWidgetPage = `undefined`; snapOptions.secondStyle = `undefined`; snapOptions.secondPosition = 'undefined'; snapOptions.secondMobileDivId = 'undefined'; snapOptions.showPaywidgetEmi = ''; } } snapOptions.timer = getTimerValue(); snapOptions.delayTime = getDelayTimeValue(); } updateSnapOptions(); var snapMintAssetUrl = 'https://assets.snapmint.com/'; var encryptionKeyCryptoJs = 'Secret Passphrase'; var snapMintEvent = null; var snapUnleashFlag = ''; var onWebsiteCouponApplied = null; var snapMintCouponList = []; var webEngageInfo = []; var isMiniCartPopupOpen = false; let snapCloseLimitsScreenTimeout = null; let snapIframeMessageListenerAdded = false; let snapCheckoutIframeRef = null; let snapCheckoutIframeOrigin = null; let snapCartQuantityChangeHandlers = { cart: null, miniCart: null }; const extSid = getEligibilityExtSid(); if (snapOptions.stopScroll === 'undefined') { snapOptions.stopScroll = 'true'; } if (snapOptions.scrollProperty === 'undefined') { snapOptions.scrollProperty = 'auto'; } const isSnapMerchantJSMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) || /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.platform); const getByID = (id) => document.getElementById(id); let snapTemplate = { cartCashbackText: snapOptions.cartCashbackText, pdpCashbackText: snapOptions.pdpCashbackText, miniCartCashbackText: snapOptions.miniCartCashbackText, pdpPopUpCashbackText: snapOptions.pdpPopUpCashbackText, miniCartPopUpCashbackText: snapOptions.miniCartPopUpCashbackText, cartPopUpCashbackText: snapOptions.cartPopUpCashbackText }; let cashbackCache = {}; async function fetchCashbackDetails() { console.log('Fetching cashback details for order value:', snapOrderValue); if (cashbackCache[snapOrderValue]) { console.log('Cashback details already fetched.'); snapOptions.cartCashbackText = cashbackCache[snapOrderValue].cartCashbackText; snapOptions.pdpCashbackText = cashbackCache[snapOrderValue].pdpCashbackText; snapOptions.miniCartCashbackText = cashbackCache[snapOrderValue].miniCartCashbackText; snapOptions.pdpPopUpCashbackText = cashbackCache[snapOrderValue].pdpPopUpCashbackText; snapOptions.miniCartPopUpCashbackText = cashbackCache[snapOrderValue].miniCartPopUpCashbackText; snapOptions.cartPopUpCashbackText = cashbackCache[snapOrderValue].cartPopUpCashbackText; } else { if (!snapOptions.cashbackApiUrl || snapOptions.cashbackApiUrl === 'undefined') { console.log('Cashback API URL is not defined in snapOptions.'); return; } let cashbackData = { cashbackAmount: 0, cashbackPercentage: 0, cashbackPromoId: '', ...snapTemplate }; var cashbackApiUrl = `${snapOptions.cashbackApiUrl}/api/pub/promos/eligible?mid=${snapOptions.mid}&orderValue=${snapOrderValue}&bestApplicablePromo=true&origin=checkout`; try { const response = await fetch(cashbackApiUrl, { method: 'GET' }); const data = await response.json(); const cashbackPromo = (data.bestApplicablePromos || []).filter( (promo) => promo.type.toLowerCase() === 'cashback' )[0]; cashbackData.cashbackAmount = cashbackPromo?.amount?.maxAllowed || 0; cashbackData.cashbackPercentage = parseInt(cashbackPromo?.amount?.value || 0); cashbackData.cashbackPromoId = cashbackPromo?.id || ''; if (cashbackData.cashbackPercentage > 0 && cashbackData.cashbackAmount > 0) { Object.keys(snapTemplate).forEach((key) => { cashbackData[key] = transformCashbackText(snapTemplate[key], cashbackData); }); } } catch (error) { console.error('Failed to fetch cashback details:', error); } finally { Object.keys(snapTemplate).forEach((key) => { const value = cashbackData[key]; if (value.includes('$')) { cashbackData[key] = ''; } snapOptions[key] = cashbackData[key]; }); cashbackCache[snapOrderValue] = { ...cashbackData }; } } updateCashbackWidget( window.location.href.includes(snapOptions.cartUrl) ? snapOptions.cartCashbackText : snapOptions.pdpCashbackText ); } let downPayment = 0; let emi = 0; let snapOrderValue = 0; let snapQuantity = 1; let discountedOrderValue = 0; let snapDiscountCode = ''; let orderValueNotChange = 0; let miniCartQuantity = 1; let showWidgetExpress = false; let isSampledEvent = false; async function loadOnPage() { updateSnapOptions(); const isCartContext = window.location.href.includes(snapOptions.cartUrl); const isMiniCartContext = !!getByIdOrClassName(snapOptions.miniCartDivId); const quantityMultiplier = isCartContext || isMiniCartContext ? 1 : snapQuantity; if (snapOptions.isGTMEnable && snapOptions.isGTMEnable !== 'undefined') { dataLayer.push({ event: 'snapmint_widget_impression', properties: { merchant_id: snapOptions.mid, merchant_name: snapOptions.merchantName } }); } if ( snapOptions.miniCartUrl && snapOptions.miniCartUrl !== 'undefined' && window.location.href.includes(snapOptions.miniCartUrl) ) addinMiniCartOnHover(); if (snapOptions.checkDomain && snapOptions.checkDomain !== 'undefined') { if (window.location.href.indexOf(snapOptions.domain) != -1) { } else { return; } } let priceTag = ''; if (getByIdOrClassName(snapOptions.priceSaleDivId)) { priceTag = getByIdOrClassName(snapOptions.priceSaleDivId); } else { priceTag = getByIdOrClassName(snapOptions.priceDivId); } if ( snapOptions.findAmount && snapOptions.findAmount !== 'undefined' && !window.location.href.includes(snapOptions.cartUrl) ) { snapOrderValue = parseNum(eval(snapOptions.findAmount)) * quantityMultiplier; } else { if (priceTag) { snapOrderValue = parseNum(priceTag.innerText) * quantityMultiplier; } else { snapOrderValue = productdesc.snapOrderValue; } if (snapOptions.findCartAmount && snapOptions.findCartAmount != 'undefined') { eval(snapOptions.findCartAmount); } } const parsedSnapOrderValue = parseFloat(snapOrderValue); if (!Number.isNaN(parsedSnapOrderValue)) { snapOrderValue = Math.round(parsedSnapOrderValue); } if (!priceTag) { return; } if (snapOptions.isCashbackEnabled && snapOptions.isCashbackEnabled === 'true') await fetchCashbackDetails(); else { snapOptions.pdpPopUpCashbackText = snapOptions.pdpCashbackText = snapOptions.cartCashbackText = snapOptions.cartPopUpCashbackText = snapOptions.miniCartCashbackText = snapOptions.miniCartPopUpCashbackText = ''; } const isMultiWidgetPage = document.querySelectorAll(snapOptions.multileParentId).length > 1; if (!isMultiWidgetPage && findPopup() === 0) { let element = getByIdOrClassName('#sm-widget-btn'); if (element) element.parentNode.removeChild(element); if (snapOptions.isTwoWidget === 'true') { let newElement = getByIdOrClassName('.second_widget_btn'); if (newElement) newElement.parentNode.removeChild(newElement); } if (snapOptions.errorWidgetPage && snapOptions.errorWidgetPage !== 'undefined') addingErrorWidget(snapOrderValue); return; } else { if (snapOptions.errorWidgetPage && snapOptions.errorWidgetPage !== 'undefined') removingErrorWidget(); } if (priceTag) { const minOrderVal = parseNum(snapOptions.plans[0].minAmount); let parentDiv = getByIdOrClassName(snapOptions.divId); if (checkPdpIsMobile()) parentDiv = getByIdOrClassName(snapOptions.mobileDivId); if (minOrderVal > snapOrderValue) { let errorWidget = snapOptions.errorWidgetPage; getByID('dp').textContent = downPayment; parentDiv.innerHTML = errorWidget; return; } if ( snapOptions.discountPercent && snapOptions.discountPercent !== 'undefined' && snapOptions.showDiscountPercentAll && snapOptions.showDiscountPercentAll !== 'undefined' ) { snapOrderValue = Math.round(snapOrderValue - snapOrderValue * snapOptions.discountPercent); } for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { downPayment=M ath.round((snapOrderValue * plan.dpPercent) / 100); emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); } } if (!downPayment) { downPayment=s napOrderValue / 10; } if (!emi) { emi=p arseFloat(snapOrderValue * 10) / 100.0; } let widgetPage=s napOptions.widgetPriceBreakdown && snapOptions.widgetPriceBreakdown !=='undefined' ? snapGetWidgetHtml(snapOrderValue) : snapOptions.widgetPage; if ( !window.location.href.includes(snapOptions.cartUrl) && snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !=='undefined' ) { if (snapOrderValue < parseInt(snapOptions.pdpPayLaterAmount)) { widgetPage=g etPayLaterWidget(snapOptions.pdpPayLaterAmount, snapOptions.widgetPage, 'pdp'); } else { let element=g etByIdOrClassName( '#sm-widget-btn'); if (element) element.parentNode.removeChild(element); if (snapOptions.isTwoWidget==='true' ) { let newElement=g etByIdOrClassName( '.second_widget_btn'); if (newElement) newElement.parentNode.removeChild(newElement); } widgetPage=s napOptions.widgetPage; } } else if ( window.location.href.includes(snapOptions.cartUrl) && snapOptions.cartPayLaterAmount && snapOptions.cartPayLaterAmount !=='undefined' ) { widgetPage=g etPayLaterWidget(snapOptions.cartPayLaterAmount, snapOptions.widgetPage, 'cart'); } if (snapOptions.changeWidget && snapOptions.changeWidget !=='undefined' && snapOptions.changeWidget !==n ull) { eval(snapOptions.changeWidget); } if (snapOptions.urlToShowWidgetExpress && snapOptions.urlToShowWidgetExpress !=='undefined' ) { if (!window.location.href.includes(snapOptions.cartUrl)) { if (changeExpressWidget(snapOptions.urlToShowWidgetExpress)) { widgetPage=s napOptions.widgetExpressUrl; showWidgetExpress=t rue; } } } if (snapOptions.cartWidgetExpressUrl && snapOptions.cartWidgetExpressUrl !=='undefined' ) { if (window.location.href.includes(snapOptions.cartUrl)) { if (checkWhichWidgetToLoad(snapOptions.cartWidgetExpressUrl)) { widgetPage=s napOptions.checkForCartWidget; showWidgetExpress=t rue; } else { showWidgetExpress=f alse; } } } /** Below if condition will check if there is multiple product on pdp page and if true then it will show widget on all products based on their pricing */ if (snapOptions.isPDPMultiWidget && snapOptions.isPDPMultiWidget !==u ndefined) { eval(snapOptions.executePDPMultiWidget); } if (isMultiWidgetPage) { return; } if (!getByIdOrClassName( '#sm-widget-btn')) { if ( snapOptions.unleashAbTest && snapOptions.unleashAbTest !=='undefined' && !getByIdOrClassName(snapOptions.miniCartDivId) && !window.location.href.includes(snapOptions.cartUrl) ) { widgetPage=w idgetPage.replace( '
{ snapQuantity = 1; loadOnPage(); if ( snapCategoryWidgetInfo && snapCategoryWidgetInfo !== 'undefined' && typeof snapCategoryWidgetInfo === 'string' && document.querySelector(snapCategoryWidgetInfo) ) { collectionList(snapCategoryWidgetInfo); } if (window.location.href.includes(snapOptions?.cartUrl)) { addChangeEventListener(snapOptions.quantityParentDivId, snapOptions.variantParentDivId, false); } }, snapOptions.reloadTimer || 0); } history.pushState = function (...args) { snapMintPushState.apply(this, args); onRouteChange(); }; history.replaceState = function (...args) { snapMintReplaceState.apply(this, args); onRouteChange(); }; window.addEventListener('popstate', onRouteChange); window.addEventListener('beforeunload', () => { const targetDiv = document.getElementById('sm-pop-up-model'); if (targetDiv) { if (snapOptions.isMixpanelEventEnabled === 'true') { let number = targetDiv.classList.contains('second_widget_popup') ? 1 : 0; let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_detail_closed', { widget_position: number, widget_type: type, source_of_click: 'browser back' }); } } }); function transformCashbackText(text, cashbackData) { if (!text || text === 'undefined') { return ''; } if (!cashbackData.cashbackPercentage || !cashbackData.cashbackAmount) { return ''; } return text .replace('$percent', `${cashbackData.cashbackPercentage}%`) .replace('$maxCashback', `₹${cashbackData.cashbackAmount}`); } function loadDataAfterWidgetLoad() { if (snapOptions.showPaywidgetEmi == 'true') { if (getByID('dp')) getByID('dp').textContent = emi; } else { if (getByID('dp')) getByID('dp').textContent = downPayment; } let elementpdp = getByIdOrClassName('#sm-widget-btn'); elementpdp.setAttribute('data-widget', snapOrderValue); if (snapOptions.isTwoWidget === 'true' && !window.location.href.includes(snapOptions.cartUrl)) { loadSecondWidget(); } updateCashbackWidget( window.location.href.includes(snapOptions.cartUrl) ? snapOptions.cartCashbackText : snapOptions.pdpCashbackText ); if (snapOptions.merchantLogo && snapOptions.merchantLogo !== 'undefined') { whiteLabelChange(); } if (snapOptions.addingDynamicPlan && snapOptions.addingDynamicPlan !== 'undefined') { addDynamicPlan(); } if (snapOptions.isAbTest && snapOptions.isAbTest !== 'undefined') { addDynamicData(); } if (snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !== 'undefined') { addDynamicPlanWidget(); } if (snapOptions.isCashbackCoupon && snapOptions.isCashbackCoupon !== 'undefined') { if (!window.location.href.includes(snapOptions.cartUrl)) { if (!getDynamicJsCookie('snapmintDynamicJscookie')) { addClassForAutoMaticCoupon(snapOrderValue); } } if ( snapOptions.isTest && snapOptions.isTest !== 'undefined' && window.location.href.includes(snapOptions.cartUrl) ) { if (!getDynamicJsCookie('snapmintDynamicJscookie')) { addClassForAutoMaticCoupon(snapOrderValue); } } } if (snapOptions.cartWidgetExpressUrl && snapOptions.cartWidgetExpressUrl !== 'undefined') { if (window.location.href.includes(snapOptions.cartUrl)) { if (showWidgetExpress === false) { let element = document.querySelector('#sm-widget-btn.snap_emi_txt'); if (element) { element.style.border = 'none'; element.classList.add('widget_express_on_url'); } } } } if (snapOptions.urlToShowWidgetExpress && snapOptions.urlToShowWidgetExpress !== 'undefined') { if (!window.location.href.includes(snapOptions.cartUrl)) { if (showWidgetExpress === false) { let element = document.querySelector('#sm-widget-btn.snap_emi_txt'); if (element) { element.style.border = 'none'; element.classList.add('widget_express_on_url'); } } } if (snapOptions.isPdpQuickView && snapOptions.isPdpQuickView !== 'undefined') { MiniCartOpen(); } } if (snapOptions.personaliseDivId && snapOptions.personaliseDivId !== 'undefined') { const radioButtons = document.querySelectorAll(snapOptions.personaliseDivId); if (radioButtons && radioButtons.length > 0) { radioButtons.forEach((button) => { if (button.checked) { if (button.value === 'Yes') { let element = getByIdOrClassName('.snap_emi_txt.snap_emi_txt_wrapper'); let element_2_0 = getByIdOrClassName('.snap_emi_txt_wrapper.snap_emi_txt.second_widget_btn'); if (element) { element.style.display = 'none'; element.style.pointerEvents = 'none'; } if (element_2_0) { element_2_0.style.display = 'none'; element_2_0.style.pointerEvents = 'none'; } } } }); } if (radioButtons && radioButtons.length > 0) { let element = getByIdOrClassName('.snap_emi_txt.snap_emi_txt_wrapper'); let element_2_0 = getByIdOrClassName('.snap_emi_txt_wrapper.snap_emi_txt.second_widget_btn'); radioButtons.forEach((button) => { button.addEventListener('change', function () { if ( (this.value === 'Yes' && this.type === 'radio') || (this.checked == true && this.type === 'checkbox') ) { if (element) { element.style.display = 'none'; element.style.pointerEvents = 'none'; } if (element_2_0) { element_2_0.style.display = 'none'; element_2_0.style.pointerEvents = 'none'; } } else if ( (this.value === 'No' && this.type === 'radio') || (this.checked === false && this.type === 'checkbox') ) { if (element) { element.style.display = 'block'; element.style.pointerEvents = 'auto'; } if (element_2_0) { element_2_0.style.display = 'block'; element_2_0.style.pointerEvents = 'auto'; } } }); }); } } } function addDynamicPlanWidget() { let allDate = document.querySelectorAll('.snap_emi_date_widget'); if (allDate.length > 0) { allDate.forEach((element) => { if (snapOptions.fullMonthName && snapOptions.fullMonthName !== 'undefined') { element.innerHTML = addMonths(new Date(), 1, true); } else { element.innerHTML = addMonths(new Date(), 1); } }); } } function getPayLaterWidget(amount, widgetType, pageType) { if (pageType === 'miniCart') { if (getByIdOrClassName('.snap_emi_txt_minicart')) { let id = getByIdOrClassName('.snap_emi_txt_minicart'); id.parentNode.removeChild(id); } } else { if (getByIdOrClassName('#sm-widget-btn')) { if (snapOptions.pdpPayLaterSecondWidget && snapOptions.pdpPayLaterSecondWidget !== 'undefined') { let allElement = document.querySelectorAll('#sm-widget-btn'); if (allElement.length > 0) { allElement.forEach((element) => { element.parentNode.removeChild(element); }); } } else { let id = getByIdOrClassName('#sm-widget-btn'); id.parentNode.removeChild(id); } } } if (snapOptions.payLaterWidgetAmountCheck && snapOptions.payLaterWidgetAmountCheck !== 'undefined') { if (pageType === 'miniCart') { if (snapOptions.isSubtotalVisible && snapOptions.isSubtotalVisible !== 'undefined') { if (parseInt(snapOptions.isSubtotalVisible) > parseInt(snapOptions.pdpPayLaterAmount)) { return widgetType; } } } if (parseInt(snapOrderValue) > parseInt(snapOptions.pdpPayLaterAmount)) { return widgetType; } } if (amount && snapOptions.plans && snapOptions.plans.length > 0) { if (parseInt(snapOrderValue) < parseInt(snapOptions.plans[0].maxAmount)) { if (pageType==='pdp' ) { return snapOptions.pdpPayLaterWidget; } else if (pageType==='cart' ) { return snapOptions.cartPayLaterWidget; } else if (pageType==='miniCart' ) { return snapOptions.miniCartPayLaterWidget; } } else { return widgetType; } } return widgetType; } function addDynamicData() { let element=g etByIdOrClassName( '#sm-widget-btn'); if (element) { var queryString=w indow.location.search; var urlParams=n ew URLSearchParams(queryString); var variant=u rlParams.get( 'variant'); element.setAttribute( 'data-ga-view-custom', ''); element.setAttribute( 'data-ga-view-info-custom', 'product_emi_option'); element.setAttribute( 'data-ga-view-payload-custom', '{product_id:' + variant + '}'); } } function getPlan(plan) { if (plan < 1 || plan> snapOptions.plans.length) { return; } const tenures = []; for (let i = 0; i < plan; i++) { tenures.push(snapOptions.plans[i].tenure); } return tenures.join( '/'); } function addDynamicPlan() { const element=d ocument.querySelectorAll( '.dynamic_emis'); if (element && element.length> 0) { var emitext = []; for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { downPayment=M ath.round((snapOrderValue * plan.dpPercent) / 100); emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); emitext.push(plan.tenure); } } var dynam_plna=e mitext.toString(); dynam_plna=d ynam_plna.replace(/,/g, '/'); element.forEach((element)=> { element.innerHTML = dynam_plna; }); } } function addDynamicPlanMiniCart() { const element = document.querySelectorAll('.dynamic_emis_minicart'); if (element && element.length > 0) { var emitext = []; for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { downPayment=M ath.round((snapOrderValue * plan.dpPercent) / 100); emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); emitext.push(plan.tenure); } } var dynam_plna=e mitext.toString(); dynam_plna=d ynam_plna.replace(/,/g, '/'); element.forEach((element)=> { element.innerHTML = dynam_plna; }); } } function addingErrorWidget(snapOrderValue) { const minOrderVal = parseNum(snapOptions.plans[0].minAmount); if (minOrderVal > snapOrderValue) { let parentDiv = getByIdOrClassName(snapOptions.divId); if (checkPdpIsMobile()) parentDiv = getByIdOrClassName(snapOptions.mobileDivId); let widgetPage = snapOptions.errorWidgetPage; if (!getByIdOrClassName('#sm-widget-btn.error_widget')) { if (snapOptions.position === 'before') parentDiv.insertAdjacentHTML('beforebegin', widgetPage); else parentDiv.insertAdjacentHTML('afterend', widgetPage); addingCssStyle(snapOptions.style, '#sm-widget-btn.error_widget'); } getByID('dp').textContent = minOrderVal; } } function updateCashbackWidget(text) { if (text === 'undefined') text = ''; let element = document.querySelector('.cashback_text_widget'); if (element) { element.style.display = 'block'; let enterText = document.querySelector('.cashback_text_enter'); if (enterText) { enterText.innerHTML = text; } } } function whiteLabelChange() { if (snapOptions.merchantLogoWidget && snapOptions.merchantLogoWidget !== 'undefined') { let all_element = document.querySelectorAll('.snap_merchant_logo_add_widget'); if (all_element.length > 0) { all_element.forEach((element) => { element.src = snapOptions.merchantLogoWidget; }); } } if (snapOptions.merchantName && snapOptions.merchantName !== 'undefined') { let all_element = document.querySelectorAll('.white_label_comany_name'); if (all_element.length > 0) { all_element.forEach((element) => { element.textContent = snapOptions.merchantName; }); } } if (snapOptions.merchantLogo && snapOptions.merchantLogo !== 'undefined') { let all_element = document.querySelectorAll('.snap_merchant_logo_add'); if (all_element.length > 0) { all_element.forEach((element) => { element.src = snapOptions.merchantLogo; }); } } if (snapOptions.merchantSlogan && snapOptions.merchantSlogan !== 'undefined') { let all_element = document.querySelectorAll('.snap_emi_slogan_text'); if (all_element.length > 0) { all_element.forEach((element) => { element.innerHTML = snapOptions.merchantSlogan; }); } } if (snapOptions.white_label_month_text && snapOptions.white_label_month_text !== 'undefined') { let all_element = document.querySelectorAll('.snap_emi_white_month_text'); if (all_element.length > 0) { all_element.forEach((element) => { element.innerHTML = snapOptions.white_label_month_text; }); } } if (snapOptions.white_label_text && snapOptions.white_label_text !== 'undefined') { let all_element = document.querySelectorAll('.snap_emi_white_text'); if (all_element.length > 0) { all_element.forEach((element) => { element.innerHTML = snapOptions.white_label_text; }); } } } function updateCashbackWidgetMiniCart(text) { if (text === 'undefined') text = ''; let element = document.querySelector('.cashback_text_widget_minicart'); if (element) { element.style.display = 'block'; let enterText = document.querySelector('.cashback_text_enter_minicart'); if (enterText) { enterText.innerHTML = text; } } } function removingErrorWidget() { if (getByIdOrClassName('.error_widget')) { let element = getByIdOrClassName('.error_widget'); element.parentNode.removeChild(element); } } const mixpanelWidgetSeenWidgets = new Set(); function addingCssStyle(style, tag, number = 0) { let targetElement = number === 0 ? getByIdOrClassName(tag) : document.querySelectorAll(tag)[1] || null; if (!targetElement) { return; } if (snapOptions.isMixpanelEventEnabled === 'true' && (tag.includes('widget') || tag.includes('minicart'))) { if (!mixpanelWidgetSeenWidgets.has(number)) { let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_seen', { widget_position: number, widget_type: type }); mixpanelWidgetSeenWidgets.add(number); } } let existingStyle = targetElement.querySelector('style[data-style-id="my-widget-style"]'); if (existingStyle) { existingStyle.innerHTML = style; if (existingStyle.styleSheet) { existingStyle.styleSheet.cssText = style; } return; } var styleElement = document.createElement('style'); styleElement.setAttribute('data-style-id', 'my-widget-style'); styleElement.innerHTML = style; if (styleElement.styleSheet) { styleElement.styleSheet.cssText = style; } else styleElement.appendChild(document.createTextNode(style)); targetElement.appendChild(styleElement); if (number !== 0) { targetElement.classList.add('second_widget_btn'); } } function getWidgetType(number) { let type = 'static_widget'; let orderVal = snapOrderValue; let popup = 0; if (snapOptions.plans) { for (let planIndex = 1; planIndex <=s napOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex - 1]; if (parseInt(orderVal)>= plan.minAmount && parseInt(orderVal) <=p lan.maxAmount) { popup++; } } } let popupHtml='' ; if (number !==0 ) { popupHtml=s napOptions[ 'secondPopupPage' + popup] || snapOptions.secondPopupPage1 || ''; } else { popupHtml=s napOptions[ 'popupPage' + popup] || snapOptions.popupPage1 || ''; } if (popupHtml) { if ( popupHtml.includes( 'snap_eligibility_button') || popupHtml.includes( 'snap_eligibility_text') || snapOptions.changePopup.includes( 'snap_eligibility_button') || snapOptions.changePopup.includes( 'snap_eligibility_text') ) { type='eligibility_widget' ; } else if ( popupHtml.includes( 'id="fname"') || popupHtml.includes( 'id="lname"') || popupHtml.includes( 'id="mnumber"') || popupHtml.includes( 'snap_first_input') || popupHtml.includes( 'snap_second_input') ) { type='express_widget' ; } } return type; } function checkPdpIsMobile() { if (window.innerWidth < 768) { if (snapOptions.mobileDivId && snapOptions.mobileDivId !=='undefined' ) { return true; } } return false; } function getSecondWidgetUsingPayLater(amount, widgetType, pageType) { if (amount && snapOptions.plans && snapOptions.plans.length> 0) { if (parseInt(snapOrderValue) < parseInt(snapOptions.plans[0].maxAmount)) { if (pageType==='pdp' ) { return snapOptions.pdpPayLaterSecondWidget; } } else { return widgetType; } } return widgetType; } function loadSecondWidget() { let widgetPage=s napOptions.secondWidgetPage; if (snapOptions.pdpPayLaterSecondWidget && snapOptions.pdpPayLaterSecondWidget !=='undefined' ) { widgetPage=g etSecondWidgetUsingPayLater(snapOptions.pdpPayLaterAmount, snapOptions.secondWidgetPage, 'pdp'); } let parentDiv=g etByIdOrClassName(snapOptions.secondDivId); if (document.querySelectorAll( '#sm-widget-btn').length===1 ) { if (snapOptions.secondPosition==='before' ) parentDiv.insertAdjacentHTML( 'beforebegin', widgetPage); else parentDiv.insertAdjacentHTML( 'afterend', widgetPage); addingCssStyle(snapOptions.secondStyle, '#sm-widget-btn', 1); } let allDpClass=d ocument.querySelectorAll( '.dp-class'); if (allDpClass.length> 0) { allDpClass.forEach((element) => { if (snapOptions.showPaywidgetEmi == 'true') { element.textContent = emi; } else element.textContent = downPayment; }); } } function snapclosePopup() { const targetDiv = document.getElementById('sm-pop-up-model'); if (targetDiv) { document.body.removeChild(targetDiv); document.documentElement.style.overflow = snapOptions.scrollProperty; } if (snapCloseLimitsScreenTimeout) { clearTimeout(snapCloseLimitsScreenTimeout); snapCloseLimitsScreenTimeout = null; } snapCheckoutIframeRef = null; snapCheckoutIframeOrigin = null; if (snapOptions.isTest && snapOptions.isTest === 'true') { if (!getByIdOrClassName(snapOptions.miniCartDivId)) { loadOnPage(); } } if (snapOptions.stopScroll && snapOptions.stopScroll === 'true') { document.body.style.height = ''; document.body.style.overflow = snapOptions.scrollProperty; } if (snapOptions.modalInputIsNotClickable && snapOptions.modalInputIsNotClickable !== 'undefined') { let element = document.querySelector(snapOptions.modalInputIsNotClickable); if (element) { element.style.visibility = 'visible'; } } } function snapclosePopupss() { const targetDiv = document.getElementById('sm-pop-up-model'); if (targetDiv) { document.body.removeChild(targetDiv); } if (snapCloseLimitsScreenTimeout) { clearTimeout(snapCloseLimitsScreenTimeout); snapCloseLimitsScreenTimeout = null; } snapCheckoutIframeRef = null; snapCheckoutIframeOrigin = null; if (snapOptions.modalInputIsNotClickable && snapOptions.modalInputIsNotClickable !== 'undefined') { let element = document.querySelector(snapOptions.modalInputIsNotClickable); if (element) { element.style.visibility = 'visible'; } } } function replaceAllValuesInsideClass(tagName, assignValue) { const elements = document.getElementsByClassName(tagName); for (let i = 0; i < elements.length; i++) { elements[i].innerText=a ssignValue; } } function replaceValuesForNonExpress(downPayment, emi) { let allDownPayment=d ocument.querySelectorAll( '.downPayment'); if (allDownPayment.length> 0) { allDownPayment.forEach((element) => { element.innerText = downPayment; }); } } function secondWidgetClick(element) { if (snapOptions.pdpPayLaterSecondWidget && snapOptions.pdpPayLaterSecondWidget !== 'undefined') { if (element) { let classList = element.classList; if (classList.contains('second_widget_btn')) return true; } } else { if (element) { let classList = element.classList; if (classList.contains('second_widget_btn')) return true; else return false; } } let target = element; if (!target) { let currentEvent = typeof event !== 'undefined' ? event : null; if (currentEvent && currentEvent.target) { target = currentEvent.target; } } if (!target) { return false; } let parentNodeHave = false; let parentNode = target.parentNode; if (parentNode) parentNode = parentNode.classList; if (parentNode && parentNode.contains('second_widget_btn')) { parentNodeHave = true; } if (!parentNodeHave) { if (!parentNode) { parentNode = document.querySelector('#sm-widget-btn'); parentNodeHave = true; } if (parentNode) parentNode = parentNode.classList; if (parentNode && parentNode.contains('second_widget_btn')) { parentNodeHave = true; } try { if (!parentNodeHave) { parentNode = target.parentNode.parentNode.parentNode; if (parentNode) parentNode = parentNode.classList; if (parentNode && parentNode.contains('second_widget_btn')) { parentNodeHave = true; } } } catch (e) {} } return parentNodeHave; } async function getVationOnPopup() { sessionStorage.removeItem('sizeslected'); if (document.querySelector(snapOptions.checkDisableCheckout)) { document.querySelector('.snap_category_dropdown').style.display = 'none'; document.querySelector('.snap_category_form').style.display = 'block'; document.querySelector('.snap_info_form').style.display = 'none'; document.querySelector('.sizeError').style.display = 'none'; // document.querySelector(".snap_pd_added .snap_category_label.snap_form_label").style.display = "none"; } else { document.querySelector('.snap_category_dropdown').style.display = 'none'; document.querySelector('.snap_category_form').style.display = 'none'; document.querySelector('.snap_info_form').style.display = 'block'; document.querySelector('.sizeError').style.display = 'none'; var e = document.querySelectorAll(snapOptions.selectedSize); var multisize = []; e.forEach(function (b) { multisize.push(b.innerText); }); multisize = multisize.toString(); multisize = multisize.replace(/[,]/g, '/'); document.querySelectorAll('.snap_selected_item .snap_item_bold')[1].innerHTML = multisize; document.querySelector('div.snap_ddd').innerText = multisize; document .querySelector('.snap_category_form .snap_category_label.snap_form_label') .style.removeProperty('display'); document.querySelector('.snap_category_form .snap_input_section').classList.add('snap_pd_added'); } if (document.querySelector(snapOptions.selectedColor)) { var colorOption = document.querySelector(snapOptions.selectedColor).innerText; document.querySelectorAll('.snap_category_form .snap_selected_item .snap_item_bold')[0].innerHTML = colorOption; document.querySelectorAll('.snap_selected_item .snap_item_bold')[0].innerHTML = colorOption; } var variationOptions = []; var variationOptionsStock = []; var newURL = window.location.href; var splitURL = newURL.toString().split('?'); try { const response = await fetch(splitURL['0'] + '.js'); if (!response.ok) { return; } const json = await response.json(); var Snap_variants = json.variants; for (i = 0; i < Snap_variants.length; i++) { if (Snap_variants[i][ 'id']==s napProducts[0][ 'imei1']) { if (Snap_variants[i][ 'available']===f alse) { document.querySelector( '.snap_cupn_offers_btn').style.pointerEvents='none' ; document.querySelector( '.snap_variant_section').style.display='block' ; document.querySelector( '.snap_how_works_section').classList.add( 'snap_varient_bg'); } else { document.querySelector( '.snap_cupn_offers_btn').style.pointerEvents='auto' ; document.querySelector( '.snap_variant_section').style.display='none' ; document.querySelector( '.snap_how_works_section').classList.remove( 'snap_varient_bg'); } } if (Snap_variants[i][ 'available']===t rue) { var htmlOptions='
' + Snap_variants[i][ 'title'] + '
'; variationOptions.push(htmlOptions); } else { var htmlOptions='
' + Snap_variants[i][ 'title'] + ' Out of Stock
'; variationOptions.push(htmlOptions); } } variationOptions=v ariationOptions.toString(); document.querySelector( '.snap_category_option').innerHTML=v ariationOptions.replace(/[,]/g, ''); } catch (error) { console.error(error.message); } var snap_category=d ocument.querySelector( '.snap_category_form_btn'); if (snap_category) { snap_category.addEventListener( 'click', function (event) { if ( !document .querySelector( '.snap_category_form .snap_input_section.snap_first_input') .classList.contains( 'snap_pd_added') ) { document.querySelector( '.sizeError').style.display='block' ; } else { document.querySelector( '.snap_category_dropdown').style.display='none' ; document.querySelector( '.snap_category_form').style.display='none' ; document.querySelector( '.sizeError').style.display='none' ; document.querySelector( '.snap_info_form').style.display='block' ; if (document.querySelector(snapOptions.selectedColor)) { var colorOption=d ocument.querySelector(snapOptions.selectedColor).innerText; document.querySelectorAll( '.snap_selected_item .snap_item_bold')[0].innerHTML=c olorOption; } } }); } var snap_category=d ocument.querySelector( '.snap_edit_btn'); if (snap_category) { snap_category.addEventListener( 'click', function (event) { document.querySelector( '.snap_category_form').style.display='block' ; document.querySelector( '.snap_info_form').style.display='none' ; }); } var snap_field_arrow=d ocument.querySelector( '.snap_category_form .snap_input_section.snap_first_input'); if (snap_field_arrow) { snap_field_arrow.addEventListener( 'click', function (event) { document.querySelector( '.snap_category_dropdown').style.display='block' ; var snap_category_option_click=d ocument.querySelectorAll( '.snap_category_options_text'); if (snap_category_option_click) { snap_category_option_click.forEach(function (b) { b.addEventListener( 'click', function (event) { document.querySelector( '.snap_category_form .snap_category_dropdown').style.display='none' ; document .querySelectorAll( '.snap_category_options_text') .forEach((d)=> d.removeAttribute('id')); var vatvalue = event.target.getAttribute('value'); event.target.setAttribute('id', 'snap_selected_category_option'); document.querySelectorAll('.snap_selected_item .snap_item_bold')[1].innerHTML = event.target.innerText; document.querySelector('div.snap_ddd').innerText = event.target.innerText; snapProducts[0]['imei1'] = vatvalue; document.querySelector('.sizeError').style.display = 'none'; sessionStorage.setItem('sizeslected', 'true'); document .querySelector('.snap_category_form .snap_category_label.snap_form_label') .style.removeProperty('display'); document .querySelector('.snap_category_form .snap_input_section') .classList.add('snap_pd_added'); setTimeout(() => { var x = getDynamicJsCookie('snapmintDynamicJscookie'); if (b.hasAttribute('id') && x && sessionStorage.getItem('sizeslected') == 'true') { handleServiceWorker(snapProducts, productdesc, 'checkcokiee'); } document.querySelector('.snap_category_form .snap_category_dropdown').style.display = 'none'; }, 100); }); }); } var snap_pop = document.querySelectorAll('.snap-installment,.snap_middle_section'); if (snap_pop) { snap_pop.forEach(function (b) { b.addEventListener('click', function (event) { document.querySelector('.snap_category_dropdown').style.display = 'none'; }); }); } }); } } function getProductDataForNitro() { const productData = { brand_name: snapOptions.merchantName || '', brand_domain: window.location.origin || '', product_url: window.location.href || '', product_image: '', product_title: '', product_id: '', product_price: snapOrderValue || 0 }; if (snapOptions.productImgUrl && snapOptions.productImgUrl !== 'undefined') { productData.product_image = eval(snapOptions.productImgUrl); } if (snapOptions.productNameDivId && snapOptions.productNameDivId !== 'undefined') { const titleElement = getByIdOrClassName(snapOptions.productNameDivId); if (titleElement) { productData.product_title = titleElement.textContent || titleElement.innerText || ''; } } if (snapOptions.productId && snapOptions.productId !== 'undefined') { productData.product_id = eval(snapOptions.productId); } return productData; } function trackNitroEvent() { try { if (snapOptions?.isNitroEnabled !== 'true') { return; } const isMiniCart = getByIdOrClassName(snapOptions?.miniCartDivId); const isCategoryPage = getByIdOrClassName(snapOptions?.categoryWidgetInfo); const isCartPage = window.location.href.includes(snapOptions?.cartUrl); if (isMiniCart || isCategoryPage || isCartPage) { return; } const hasPDPWidget = getByIdOrClassName(snapOptions?.divId); if (hasPDPWidget) { if (window.nitro && typeof window.nitro?.track === 'function') { const productData = getProductDataForNitro(); window.nitro.track('Avail_EMI', productData); } } } catch (error) { return; } } const openCheckV2Iframe = (url, first_name, last_name, mobile_no) => { if (!snapIframeMessageListenerAdded) { window.addEventListener('message', (event) => { const eventData = event?.data; if (!eventData || eventData.snap_close_limits_screen !== true) { return; } if (!snapCheckoutIframeRef || event.source !== snapCheckoutIframeRef.contentWindow) { return; } if (snapCheckoutIframeOrigin && event.origin !== snapCheckoutIframeOrigin) { return; } if (snapCloseLimitsScreenTimeout) { clearTimeout(snapCloseLimitsScreenTimeout); } const configuredTimer = Number.parseInt(snapOptions.eligibilityAutoCloseTimer, 10); const autoCloseTimerMs = Number.isFinite(configuredTimer) && configuredTimer > 0 ? configuredTimer : 3000; snapCloseLimitsScreenTimeout = setTimeout(() => { snapclosePopup(); }, autoCloseTimerMs); }); snapIframeMessageListenerAdded = true; } var checkOutV2 = document.createElement('iframe'); snapCheckoutIframeRef = checkOutV2; try { snapCheckoutIframeOrigin = new URL(url, window.location.origin).origin; } catch (e) { snapCheckoutIframeOrigin = null; } checkOutV2.id = 'checkOutV2Frame'; checkOutV2.setAttribute('src', url); // checkOutV2.setAttribute("src", "https://qacheckout.snapmint.com/?id=84906&message=Success&status=Success&token=nKSPTEpT9Bg9yjLTw-PJ") checkOutV2.setAttribute('allow', 'camera *; microphone *'); // checkOutV2.setAttribute("src", "https://checkout.snapmint.com/?id=9690272&message=Success&status=Success&token=85eWvYV8xtXyBkE2zysz"); checkOutV2.style.width = '100%'; checkOutV2.style.height = '100%'; checkOutV2.style.border = 'none'; document.documentElement.style.overflow = 'hidden'; if (document.querySelector('.snapLoader')) document.querySelector('.snapLoader').setAttribute('style', 'display:none;'); if (document.querySelector('.coupoun_discount')) { if (document.querySelector('.modal-wrpr')) { document.querySelector('.modal-wrpr').style.display = 'none'; } } if (document.querySelector('.snapmint_lowest_emi')) document.querySelector('.snapmint_lowest_emi').setAttribute('style', 'display:none;'); if (document.querySelector('.snap_popup_bg')) document.querySelector('.snap_popup_bg').setAttribute('style', 'display:none;'); if (document.querySelector('.snap_top_logo')) document.querySelector('.snap_top_logo').style.display = 'none'; if (document.querySelector('.snap-close-wrpr')) document.querySelector('.snap-close-wrpr').style.display = 'none'; if (document.getElementsByClassName('popuppiza') && document.getElementsByClassName('popuppiza')[0]) { document.getElementsByClassName('popuppiza')[0].style.border = 'none'; document.getElementsByClassName('popuppiza')[0].style.width = 'fit-content'; document.getElementsByClassName('popuppiza')[0].style.minWidth = '374px'; document.getElementsByClassName('popuppiza')[0].style.maxWidth = '769px'; if (url?.includes('eligibility')) { document.getElementsByClassName('popuppiza')[0].style.cssText += '; height: 600px !important;'; } else { document.getElementsByClassName('popuppiza')[0].style.height = '100vh'; } document.getElementsByClassName('popuppiza')[0].style.maxHeight = '600px'; document.getElementsByClassName('popuppiza')[0].appendChild(checkOutV2); } }; function startPop(element) { snapMintEvent = element; if (snapOptions.categoryWidgetHtml && snapOptions.categoryWidgetHtml !== 'undefined') { if (element && element.querySelector('.dp-collection-price')) { let getCurrentPrice = element.querySelector('.dp-collection-price').getAttribute('data-price'); if (getCurrentPrice) { snapOrderValue = parseNum(getCurrentPrice); getDownPaymentAndEmi(snapOrderValue); } } } if (snapOptions.isWebEngageEnable && snapOptions.isWebEngageEnable !== 'undefined') { webEngageInitiate(); } if ( !(element && element.querySelector('.dp-collection-price')) && !window.location.href.includes(snapOptions.cartUrl) && !getByIdOrClassName(snapOptions.miniCartDivId) ) { if (snapOptions.findAmount && snapOptions.findAmount !== 'undefined') { snapOrderValue = parseNum(eval(snapOptions.findAmount)) * snapQuantity; } else { let priceTag = getByIdOrClassName(snapOptions.priceSaleDivId) || getByIdOrClassName(snapOptions.priceDivId); if (priceTag) { snapOrderValue = parseNum(priceTag.innerText) * snapQuantity; } else if (productdesc.snapOrderValue) { snapOrderValue = productdesc.snapOrderValue; } } const parsedSnapOrderValue = parseFloat(snapOrderValue); if (!Number.isNaN(parsedSnapOrderValue)) { snapOrderValue = Math.round(parsedSnapOrderValue); } getDownPaymentAndEmi(snapOrderValue); } const isMultiWidgetPage = document.querySelectorAll(snapOptions.multileParentId).length > 1; if (isMultiWidgetPage && element) { snapOrderValue = parseInt(element.getAttribute('data-widget'), 10); getDownPaymentAndEmi(snapOrderValue); } if (findPopup() === 0) return; let html = getPopupHtml(element); const centerDiv = document.createElement('div'); centerDiv.id = 'sm-pop-up-model'; centerDiv.innerHTML = html; if (!document.getElementById('sm-pop-up-model')) { document.body.appendChild(centerDiv); } if (snapOptions.changePopup && snapOptions.changePopup !== 'undefined') { eval(snapOptions.changePopup); } if (snapOptions.popupStyle && snapOptions.popupStyle !== 'undefined') { addingCssStyle(snapOptions.popupStyle, '#sm-pop-up-model'); } if (snapOptions.eligibilityText && snapOptions.eligibilityText !== 'undefined') { const eligibilityNode = document.querySelector('.snap_eligibility_text'); if (eligibilityNode) { eligibilityNode.textContent = snapOptions.eligibilityText; } } const eligibilityBtn = document.querySelector('.snap_eligibility_button'); if (eligibilityBtn) { eligibilityBtn.onclick = () => { if (snapOptions.isEligibilityPosthogEventEnabled === 'true') { captureEvents('PDP_eligibility_popup_clicked', { merchant_id: snapOptions.mid, session_id: extSid }); } if (snapOptions.isMixpanelEventEnabled === 'true') { let number = document.getElementById('sm-pop-up-model')?.classList.contains('second_widget_popup') ? 1 : 0; let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_detail_submitted', { widget_position: number, widget_type: type }); } const eligibilityUrl = snapOptions.checkoutUrl + `/eligibility?mid=${snapOptions.mid}&merchantName=${snapOptions.merchantName}&extSid=${extSid}`; const validatedEligibilityUrl = getValidatedCheckoutUrl(eligibilityUrl); if (!validatedEligibilityUrl) { console.log('Blocked eligibility flow for unapproved checkout URL'); return; } if (typeof openCheckV2Iframe === 'function') { openCheckV2Iframe(validatedEligibilityUrl, '', '', ''); } else { window.open(validatedEligibilityUrl, 'mozillaWindow', windowFeaturesSnapmint); } }; } trackNitroEvent(); replaceAllValuesInsideClass('downPayment', downPayment); replaceAllValuesInsideClass('emiAmount', emi); replaceValuesForNonExpress(downPayment, emi); const closeBtn = document.getElementById('snapModalCloseon_page'); if (closeBtn) { if (snapOptions.isCartDrawerElementPresent && snapOptions.isCartDrawerElementPresent !== 'undefined') { eval(snapOptions.closeCartDrawer); } closeBtn.addEventListener('click', () => { if (snapOptions.isMixpanelEventEnabled === 'true') { let number = document.getElementById('sm-pop-up-model')?.classList.contains('second_widget_popup') ? 1 : 0; let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_detail_closed', { widget_position: number, widget_type: type, source_of_click: 'cross icon' }); } snapclosePopup(); }); } addPlanType(); if (snapOptions.isVarientPopup && snapOptions.isVarientPopup === 'true') { getVationOnPopup(); } if (snapOptions.isExpress && snapOptions.isExpress === 'true') { addingInputFieldKeyup(); } if ( document.querySelector('.snap_form_first_part') || document.querySelector('.first-inp') || document.querySelector('.snap_form_second_part') ) { createCart(); checkOutOfStock(); if (snapOptions.allowIframeStore && snapOptions.allowIframeStore === 'true') { if (!getDynamicJsCookie('snapmintDynamicJscookie')) { checkUserInfoFromIframe(); } } } if (secondWidgetClick(element)) { if (document.querySelector('#sm-pop-up-model')) { let element = document.querySelector('#sm-pop-up-model'); element.classList.add('second_widget_popup'); } } else { if (snapOptions.isTwoWidget && snapOptions.isTwoWidget === 'true') { if (document.querySelector('#sm-pop-up-model')) { let element = document.querySelector('#sm-pop-up-model'); element.classList.add('first_widget_popup'); } } } if (document.querySelector('#snap-modalon_page')) addingCssStyle(snapOptions.style, '#snap-modalon_page'); if ( (snapOptions.pdpPopUpCashbackText && snapOptions.pdpPopUpCashbackText !== 'undefined') || (snapOptions.cartPopUpCashbackText && snapOptions.cartPopUpCashbackText !== 'undefined') || (snapOptions.miniCartPopUpCashbackText && snapOptions.miniCartPopUpCashbackText !== 'undefined') ) { let min_cart = getByIdOrClassName(snapOptions.miniCartDivId); if (min_cart) { updateTextOnPopUp(snapOptions.miniCartPopUpCashbackText); } else if (window.location.href.includes(snapOptions.cartUrl)) { updateTextOnPopUp(snapOptions.cartPopUpCashbackText); } else { updateTextOnPopUp(snapOptions.pdpPopUpCashbackText); } let checkClickonTerms = event.target.classList; if (checkClickonTerms && checkClickonTerms.contains('trm-cond')) { clickOnTermsAndCondition(); } } if (snapOptions.merchantLogo && snapOptions.merchantLogo !== 'undefined') { whiteLabelChange(); } if (snapOptions.isCashbackCoupon && snapOptions.isCashbackCoupon === 'true') { let popup = document.querySelector('.coupoun_discount'); if (popup) { orderValueNotChange = snapOrderValue; if (snapProducts.length) { changeMiniCartOrderValue(); addingCashbackCoupon(); } else { let count = 0; let id = setInterval(() => { count++; if (count === 8 || snapProducts.length > 0) { clearInterval(id); changeMiniCartOrderValue(); addingCashbackCoupon(); } }, 300); } } } if (snapOptions.isMixpanelEventEnabled === 'true') { let number = document.getElementById('sm-pop-up-model')?.classList.contains('second_widget_popup') ? 1 : 0; let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_clicked', { widget_position: number, widget_type: type }); } if (snapOptions.isPosthogEventRequired && snapOptions.isPosthogEventRequired === 'true') { let min_cart = getByIdOrClassName(snapOptions.miniCartDivId); let id = setTimeout(() => { if (snapMintEvent === undefined) { var pageSource = 'pdp'; } else if (snapMintEvent != undefined && !window.location.href.includes(snapOptions.cartUrl)) { var pageSource = 'minicart'; } else if (window.location.href.includes(snapOptions.cartUrl)) { var pageSource = 'cart'; } captureEvents('pdp_widget_clicked', { merchant_id: snapOptions.mid, merchant_name: snapOptions.merchantName, source: pageSource, session_id: extSid, is_eligibility: snapOptions.isEligibilityPosthogEventEnabled === 'true' ? true : false }); if ( document.querySelector(snapOptions.checkDisableCheckout) && snapOptions.isExpress === 'true' && snapMintEvent === undefined ) { var pop_up_type = 'size_selection_pending'; } if ( (!document.querySelector(snapOptions.checkDisableCheckout) && snapOptions.isExpress === 'true') || snapMintEvent != undefined ) { var pop_up_type = 'name_mobile'; } if (snapOptions.isExpress === 'false') { var pop_up_type = 'normal(1.0)'; } captureEvents('popup_pv', { merchant_id: snapOptions.mid, merchant_name: snapOptions.merchantName, pop_up_type: pop_up_type, source: pageSource, session_id: extSid, is_eligibility: snapOptions.isEligibilityPosthogEventEnabled === 'true' ? true : false }); }, 600); } if (snapOptions.isMixpanelEventEnabled === 'true') { let number = document.getElementById('sm-pop-up-model')?.classList.contains('second_widget_popup') ? 1 : 0; let type = getWidgetType(number); captureMixpanelEvent('pdp_widget_detail_viewed', { widget_position: number, widget_type: type }); } if (snapOptions.isGTMEnable && snapOptions.isGTMEnable !== 'undefined') { let min_cart = getByIdOrClassName(snapOptions.miniCartDivId); var saPAttributes = getCookieAttributes('_shopify_sa_p'); var saTAttributes = getCookieAttributes('_shopify_sa_t'); var c_snap_landing_page = getDynamicJsCookie('snap_landing_page'); var c_snap_referrer_url = getDynamicJsCookie('snap_referrer_url'); const newSnapProducts = snapProducts?.map((product) => ({ item_name: product.name, quantity: product.quantity, price: product.unit_price, item_id: product.imei1 })); dataLayer.push({ event: 'snapmint_widget_clicked', values: { merchant_id: snapOptions.mid }, ecommerce: { items: newSnapProducts }, page_location: window.location.href, page_path: window.location.pathname, merchant_id: snapOptions.mid, items: newSnapProducts, merchant_name: snapOptions.merchantName, order_value: productdesc.snapOrderValue.toString(), orig_referrer: c_snap_referrer_url, landing_page: c_snap_landing_page, shopify_sa_p: saPAttributes.value, shopify_sa_t: saTAttributes.value }); } if (snapOptions.addingDeliveryAmountExpress && snapOptions.addingDeliveryAmountExpress !== 'undefined') { addingDeliveryAmount(); } if (snapOptions.stopScroll && snapOptions.stopScroll === 'true') { document.body.style.overflow = 'hidden'; document.body.style.height = ''; document.documentElement.style.overflow = 'hidden'; if (snapOptions.stopOverflow && snapOptions.stopOverflow !== 'undefined') { document.documentElement.style.overflow = 'initial'; } } if (snapOptions.modalInputIsNotClickable && snapOptions.modalInputIsNotClickable !== 'undefined') { let element = document.querySelector(snapOptions.modalInputIsNotClickable); if (element) { element.style.visibility = 'hidden'; } } } function addingDeliveryAmount() { //adding delivery charge for express let element = document.querySelector('.delivery-charge-express'); if (element) { document.querySelector('.snap_discounted_hide').style.display = 'block'; element.innerHTML = snapOrderValue; let text = document.querySelector('.delivery-charge-text-express'); //showing delivery charge text only if delivery charge is less than addingDeliveryMaxAmountExpress if (text && parseInt(snapOrderValue) <=p arseInt(snapOptions.addingDeliveryMaxAmountExpress)) { text.innerHTML=s napOptions.addingDeliveryAmountExpressText; } } } function returnPlanPopup() { let element=g etByIdOrClassName( '#snap-modalon_sale'); if (element) { element.style.display='none' ; let element1=g etByIdOrClassName( '#snap-modalon_sale_not'); if (element1) { element1.style.display='block' ; } } } function updateTextOnPopUp(text) { if (text==='undefined' ) text='' ; let showCashBack=d ocument.querySelector( '.snap_cashback_section'); if (showCashBack) { showCashBack.style.display='flex' ; } let element=d ocument.querySelector( '.snap_popup_cashback_text'); if (element) { element.innerHTML=t ext; } } function clickOnTermsAndCondition() { let element=g etByIdOrClassName( '#snap-modalon_sale'); if (element) { element.style.display='flex' ; let text=d ocument.querySelector( '.list_items_dynamic'); if (text && snapOptions.termsAndConditionText && snapOptions.termsAndConditionText !=='undefined' ) { text.innerHTML=s napOptions.termsAndConditionText; } let element1=g etByIdOrClassName( '#snap-modalon_sale_not'); if (element1) { element1.style.display='none' ; } } } async function addPlanType() { let allAmount=d ocument.querySelectorAll( '.snap_emi_amt'); if (allAmount.length> 0) { if (snapOptions.multiPlanPopupCheck && snapOptions.multiPlanPopupCheck !== 'undefined') { let popUpBoxIndex = 1; for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); document.querySelector( '.snap_emi_amt_' + popUpBoxIndex).innerText='₹' + emi; if (allAmount.length <=3 ) { document.querySelector( '.snap_emi_month_' + popUpBoxIndex).innerText='x ' + plan.tenure + ' months'; } else { document.querySelector( '.snap_emi_month_' + popUpBoxIndex).innerText='x ' + plan.tenure + ' mon'; } if (popUpBoxIndex> allAmount.length) { popUpBoxIndex = 1; } else { popUpBoxIndex++; } } } } else { try { for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { var incPlanIndex=p lanIndex + 1; emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); document.querySelector( '.snap_emi_amt_' + incPlanIndex).innerText='₹' + emi; if (allAmount.length <=3 ) document.querySelector( '.snap_emi_month_' + incPlanIndex).innerText='x ' + plan.tenure + ' months'; else document.querySelector( '.snap_emi_month_' + incPlanIndex).innerText='x ' + plan.tenure + ' mon'; } } } catch (e) {} } } let allDate=d ocument.querySelectorAll( '.enter_emi_date'); if (allDate.length> 0) { for (let i = 1; i <=a llDate.length; i++) { var curr_date=n ew Date().getDate(); if (curr_date>= 1 && curr_date <=2 3) { document.querySelector( '.snap_emi_date_' + i).innerText=a ddMonths(new Date(), i); } else { if (curr_date>= 24 && curr_date <=3 1) { document.querySelector( '.snap_emi_date_' + i).innerText=a ddMonths(new Date(), i + 1); } } } } let total_order_value=d ocument.querySelector( '.total_order_value_popup'); if (total_order_value) { total_order_value.innerText=s napOrderValue; } if (snapOptions.isCashbackEnabled && snapOptions.isCashbackEnabled==='true' ) await fetchCashbackDetails(); else { snapOptions.pdpPopUpCashbackText=s napOptions.pdpCashbackText=s napOptions.cartCashbackText=s napOptions.cartPopUpCashbackText=s napOptions.miniCartCashbackText=s napOptions.miniCartPopUpCashbackText='' ; } if (snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !=='undefined' ) { let remaning_order_value=d ocument.querySelector( '.remaning-order-value'); if (remaning_order_value) { remaning_order_value.innerText='₹' + parseInt(parseInt(snapOrderValue) - 100); } } } function addChangeEventListener(quantityId, variantId, isMiniCart) { let functionCall=i sMiniCart ? addminCartLoadPage : loadOnPage; if (snapOptions.secondQuantityParentDivId && snapOptions.secondQuantityParentDivId !=='undefined' ) { if (document.querySelector(snapOptions.secondQuantityParentDivId)) { let element=d ocument.querySelector(snapOptions.secondQuantityParentDivId); let secondQtyTimer; element.addEventListener( 'click', ()=> { clearTimeout(secondQtyTimer); secondQtyTimer = setTimeout(() => { getQuantity(false, snapOptions.secondQuantityDivId); functionCall(); }, 600); }); } } if (quantityId && quantityId !== 'undefined') { const allElement = document.querySelectorAll(quantityId); if (allElement.length > 0) { allElement.forEach((element) => { if ( (window.location.href.includes(snapOptions.cartUrl) || isMiniCart) && snapOptions.isAJax === 'true' ) { const handlerKey = isMiniCart ? 'miniCart' : 'cart'; let count_timer = 1800; const timerValue = getTimerValue(isMiniCart); if (timerValue !== undefined && timerValue !== 'undefined') { count_timer = timerValue; } let eventType = 'click'; if (snapOptions.eventType && snapOptions.eventType !== 'undefined') { eventType = snapOptions.eventType; } if (snapCartQuantityChangeHandlers[handlerKey]) { document.removeEventListener(eventType, snapCartQuantityChangeHandlers[handlerKey]); snapCartQuantityChangeHandlers[handlerKey] = null; } let snapCartUpdateDebounceTimer = null; const quantityChangeHandler = function (e) { if ( window.location.href.includes(snapOptions.cartUrl) || document.querySelector(snapOptions.miniCartDivId) ) { if (quantityId === 'undefined' || document.querySelectorAll(quantityId).length === 0) { document.removeEventListener(eventType, quantityChangeHandler); if (snapCartQuantityChangeHandlers[handlerKey] === quantityChangeHandler) { snapCartQuantityChangeHandlers[handlerKey] = null; } return; } let filter_class = true; let same_class = 0; for (let i = 0; i < e.target.classList.length; i++) { try { if (!element.querySelector( '.' + e.target.classList[i])) { filter_class=f alse; same_class++; } } catch (e) {} } if (snapOptions.findQuantity && snapOptions.findQuantity !=='undefined' ) { if (eval(snapOptions.findQuantity)) { filter_class=t rue; } } if (filter_class) { clearTimeout(snapCartUpdateDebounceTimer); snapCartUpdateDebounceTimer=s etTimeout(()=> { if ( isMiniCart && snapOptions.isSubtotalVisible && snapOptions.isSubtotalVisible !== 'undefined' ) { createCartFromMiniCart(true); } else functionCall(); if (isMiniCart) { miniCartQuickViewFn(); if ( snapOptions.isMinCartRemoveReload && snapOptions.isMinCartRemoveReload !== 'undefined' ) { addListenerForRemoveMiniCartFn(); } } }, count_timer); } } else { document.removeEventListener(eventType, quantityChangeHandler); if (snapCartQuantityChangeHandlers[handlerKey] === quantityChangeHandler) { snapCartQuantityChangeHandlers[handlerKey] = null; } } }; snapCartQuantityChangeHandlers[handlerKey] = quantityChangeHandler; document.addEventListener(eventType, quantityChangeHandler); } else { let pdpEventType = 'click'; if (snapOptions.eventType && snapOptions.eventType !== 'undefined') { pdpEventType = snapOptions.eventType; } let timer = 600; const quantityUpdateTimer = Number(snapOptions.quantityUpdateTimer); if (Number.isFinite(quantityUpdateTimer) && quantityUpdateTimer > 0) { timer = quantityUpdateTimer; } element.addEventListener(pdpEventType, () => { let id = setTimeout(() => { if (!window.location.href.includes(snapOptions.cartUrl) && !isMiniCart) { getQuantity(isMiniCart); } //removing minicart widget on pdp quantity change let widget = document.querySelector('.snap_emi_txt_minicart'); if (widget) { widget.parentNode.removeChild(widget); } functionCall(); clearTimeout(id); }, timer); }); } }); } } if (variantId) { const allElement = document.querySelector(variantId); let variantTimer; if (allElement && !allElement?.dataset?.snapVariantListener) { allElement.dataset.snapVariantListener = 'true'; // prevent duplicate listener let count_timer = 800; const timerValue = getTimerValue(isMiniCart); if (timerValue !== undefined && timerValue !== 'undefined') { count_timer = timerValue; } allElement.addEventListener('click', () => { clearTimeout(variantTimer); variantTimer = setTimeout(() => { if ( !window.location.href.includes(snapOptions.cartUrl) && !isMiniCart && snapOptions.isQuantity && snapOptions.isQuantity !== 'undefined' ) { getQuantity(isMiniCart); } if (snapOptions.isWebsiteReload && snapOptions.isWebsiteReload !== 'undefined') { if (!window.location.href.includes(snapOptions.cartUrl) && !isMiniCart) { addChangeEventListener('', snapOptions.variantParentDivId, false); } } functionCall(); }, count_timer); }); } } } let count_timer = 0; let snapCategoryWidgetScheduled = false; let snapCategoryWidgetInfo = snapOptions.categoryWidgetInfo; let main_id = setInterval(() => { if (snapOptions.isAbTest && snapOptions.isAbTest !== 'undefined') { if (eval(snapOptions.isAbTest) === false) { return; } } if (snapOptions.urlToShowWidget && snapOptions.urlToShowWidget !== 'undefined') { if (checkUrlToShowWidget(snapOptions.urlToShowWidget) === false) { return; } } count_timer++; let divId = false; if (getByIdOrClassName(snapOptions.divId)) { divId = true; } if (count_timer === 1) { setUtmReferCookie(); } if (count_timer === 10 || divId) { clearInterval(main_id); } if (snapOptions.multiCheckoutBtnId && snapOptions.multiCheckoutBtnId !== 'undefined') { if (getByIdOrClassName(snapOptions.multiCheckoutBtnId)) { MiniCartOpen(snapOptions.multiCheckoutBtnId, true); if (snapOptions.isMultiCheckAjax && snapOptions.isMultiCheckAjax !== 'undefined') { let timer = 1500; if (snapOptions.multiCheckAjaxTime && snapOptions.multiCheckAjaxTime !== 'undefined') { timer = snapOptions.multiCheckAjaxTime; } snapOptions.isMultiCheckAjax = snapOptions.multiCheckoutBtnId; let ajaxId = setTimeout(() => { MiniCartOpen(snapOptions.isMultiCheckAjax, true); clearTimeout(ajaxId); }, timer); } snapOptions.multiCheckoutBtnId = ''; } } if (snapOptions.secondCheckoutBtnId && snapOptions.secondCheckoutBtnId !== 'undefined') { if (getByIdOrClassName(snapOptions.secondCheckoutBtnId)) { MiniCartOpen(snapOptions.secondCheckoutBtnId); snapOptions.secondCheckoutBtnId = ''; } } if (snapOptions.thirdCheckoutBtnId && snapOptions.thirdCheckoutBtnId !== 'undefined') { if (getByIdOrClassName(snapOptions.thirdCheckoutBtnId)) { MiniCartOpen(snapOptions.thirdCheckoutBtnId); snapOptions.thirdCheckoutBtnId = ''; } } if (snapOptions.multiPdpBtnId && snapOptions.multiPdpBtnId !== 'undefined') { if (getByIdOrClassName(snapOptions.multiPdpBtnId)) { addingMultiplePdpPage(); snapOptions.multiPdpBtnId = ''; } } //only for pdp quick view button if ( !window.location.href.includes(snapOptions.cartUrl) && snapOptions.isMultiplePdpBtn && snapOptions.isMultiplePdpBtn !== 'undefined' && getByIdOrClassName(snapOptions.isMultiplePdpBtn) ) { let isMiniCart = getByIdOrClassName(snapOptions.miniCartDivId); if (!isMiniCart) { addMultiplePdpBtn(); snapOptions.isMultiplePdpBtn = ''; } } if (snapOptions.categoryWidgetInfo && snapOptions.categoryWidgetInfo !== 'undefined') { if (getByIdOrClassName(snapOptions.categoryWidgetInfo) && !snapCategoryWidgetScheduled) { snapCategoryWidgetScheduled = true; if (snapOptions.categoryWidgetDelay && snapOptions.categoryWidgetDelay !== 'undefined') { let id = setTimeout(() => { collectionList(snapOptions.categoryWidgetInfo); snapOptions.categoryWidgetInfo = ''; clearTimeout(id); }, snapOptions.categoryWidgetDelay); } else { collectionList(snapOptions.categoryWidgetInfo); snapOptions.categoryWidgetInfo = ''; } } } if (snapOptions.isGTMEnable && snapOptions.isGTMEnable !== 'undefined') { loadGtag(); gtmInitiate(); } if (divId) { addChangeEventListener(snapOptions.quantityParentDivId, snapOptions.variantParentDivId, false); if (snapOptions.isWidgetDelay && snapOptions.isWidgetDelay !== 'undefined') { let id = setTimeout(() => { loadOnPage(); clearTimeout(id); }, snapOptions.isWidgetDelay); } else { loadOnPage(); } MiniCartOpen(); clearInterval(main_id); } }, 1000); function addMultiplePdpBtn() { let allBtn = document.querySelectorAll(snapOptions.isMultiplePdpBtn); if (allBtn) { allBtn.forEach((element) => { element.addEventListener('click', () => { let all_widget = document.querySelectorAll('#sm-widget-btn'); if (all_widget) { all_widget.forEach((widget) => { widget.parentNode.removeChild(widget); }); } let id = setTimeout(() => { snapQuantity = 1; addChangeEventListener(snapOptions.quantityParentDivId, snapOptions.variantParentDivId, false); loadOnPage(); clearTimeout(id); }, 3000); }); }); } } function checkUrlToShowWidget(allUrl) { let urlArray = allUrl.split(','); let isShowWidget = false; if (urlArray && urlArray.length) { urlArray.forEach((element) => { if (window.location.href.includes(element)) { isShowWidget = true; } }); } return isShowWidget; } function addDeliveryAmouunt(snapQuantity) { let amount = 0; if (snapQuantity) { if (snapOptions.deliveryAmount && snapOptions.deliveryAmount !== 'undefined') { try { if (parseInt(snapOrderValue) < parseInt(snapOptions.minForDelivery)) { amount=p arseInt(snapOptions.deliveryAmount) / snapQuantity; } } catch (e) {} } } return amount; } function addingMultiplePdpPage() { let pdp_element=d ocument.querySelectorAll(snapOptions.multiPdpBtnId); if (pdp_element.length> 0) { pdp_element.forEach((element) => { element.addEventListener('click', () => { let all_widget = document.querySelectorAll('#sm-widget-btn'); if (all_widget.length > 0) { all_widget.forEach((widget) => { widget.parentNode.removeChild(widget); }); } let id = setTimeout(() => { snapQuantity = 1; snapOptions.divId = snapOptions.secondPdpDivId; addChangeEventListener(snapOptions.quantityParentDivId, snapOptions.variantParentDivId, false); loadOnPage(); clearTimeout(id); }, 3000); }); }); } } var cartReferenceNode = ''; var windowPopup; var height = 590; var width = 790; var left = (window.screen.width - width) / 2; var topleft = (window.screen.height - height) / 2; var windowFeaturesSnapmint = 'width=' + width + ', height=' + height + ', top=' + topleft + ', left=' + left; var snapProducts = []; var productdesc = {}; function getDynamicJsCookie(name) { var nameEQ = name + '='; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c=c a[i]; while (c.charAt(0)==' ' ) c=c .substring(1, c.length); if (c.indexOf(nameEQ)==0 ) return c.substring(nameEQ.length, c.length); } return null; } function setDynamicJsCookie(cname, cvalue) { var now=n ew Date(); var minutes=3 0; now.setTime(now.getTime() + minutes * 60 * 1000); expires='; expires=' + now.toUTCString(); document.cookie=c name + '=' + (cvalue || '') + expires + '; path=/'; } function getCookieAttributes(cookieName) { var cookieAttributes={ domain: null, path: null, value: null }; var cookies=d ocument.cookie.split( ';'); for (var i=0 ; i < cookies.length; i++) { var cookie=c ookies[i].trim(); if (cookie.indexOf(cookieName + '=')===0 ) { var cookieParts=c ookie.split( '='); if (cookieParts.length===2 ) { var cookieValue=c ookieParts[1]; var attributes=c ookieValue.split( ';'); for (var j=0 ; j < attributes.length; j++) { var attribute=a ttributes[j].trim(); if (attribute.indexOf( 'Domain=')===0 ) { cookieAttributes.domain=a ttribute.substring( 'Domain='.length); } else if (attribute.indexOf( 'Path=')===0 ) { cookieAttributes.path=a ttribute.substring( 'Path='.length); } else { cookieAttributes.value=d ecodeURIComponent(cookieValue); // Decode the cookie value } } break; } } } return cookieAttributes; } function deliveryFeeSection() { let element=d ocument.querySelectorAll( '.snap_deliveryfee_section'); for (let i=0 ; i < element.length; i++) { element[i].style.display='flex' ; } let value=d ocument.querySelectorAll( '.snap_deliveryfee_value'); for (let i=0 ; i < value.length; i++) { value[i].innerText='₹' + snapOptions.deliveryAmount; } } function generateSnapUUID() { if (typeof crypto !=='undefined' && typeof crypto.randomUUID==='function' ) { return crypto.randomUUID(); } return `${Date.now()}-${Math.random().toString(16).slice(2)}`; } function setLongTermCookie(name, value) { var date=n ew Date(); date.setTime(date.getTime() + 365 * 24 * 60 * 60 * 1000); // 1 year expiry var expires='; expires=' + date.toUTCString(); document.cookie=n ame + '=' + (value || '') + expires + '; path=/; SameSite=Lax'; } function hashDistinctId(str) { var hash=0 ; if (str.length===0 ) return hash; for (var i=0 ; i < str.length; i++) { var char=s tr.charCodeAt(i); hash=( hash << 5) - hash + char; hash=h ash & hash; // Convert to 32bit integer } return Math.abs(hash); } function getUtmParams() { var urlParams=n ew URLSearchParams(window.location.search); return { utm_campaign: urlParams.get( 'utm_campaign') || '', utm_id: urlParams.get( 'utm_id') || '', utm_medium: urlParams.get( 'utm_medium') || '', utm_source: urlParams.get( 'utm_source') || '' }; } function getSessionId() { if (window.posthog && typeof window.posthog.get_session_id==='function' ) { var phSess=w indow.posthog.get_session_id(); if (phSess) return phSess; } var sessId=s essionStorage.getItem( 'snap_session_id'); if (!sessId) { sessId=g enerateSnapUUID(); sessionStorage.setItem( 'snap_session_id', sessId); } return sessId; } function initMixpanel() { if (!window.mixpanel) { (function (f, b) { if (!b.__SV) { var a, e, i, g; window.mixpanel=b ; b._i=[ ]; b.init=f unction (a, e, d) { function f(b, h) { var a=h .split( '.'); 2==a .length && ((b=b [a[0]]), (h=a [1])); b[h]=f unction () { b.push([h].concat(Array.prototype.slice.call(arguments, 0))); }; } var c=b ; 'undefined' !==t ypeof d ? (c=b [d]=[ ]) : (d='mixpanel' ); c.people=c .people || []; c.toString=f unction (b) { var a='mixpanel' ; 'mixpanel' !==d && (a +='.' + d); b || (a +=' (stub)' ); return a; }; c.people.toString=f unction () { return e.toString(1) + '.people (stub)'; }; i='disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user' .split( ' ' ); for (g=0 ; g < i.length; g++) f(c, i[g]); b._i.push([a, e, d]); }; b.__SV=1 .2; a=f .createElement( 'script'); a.type='text/javascript' ; a.async=! 0; a.src='https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js' ; e=f .getElementsByTagName( 'script')[0]; e.parentNode.insertBefore(a, e); } })(document, window.mixpanel || []); window.mixpanel.init(snapOptions.mixpanelToken, { api_host: 'https://api-in.mixpanel.com', batch_requests: false, debug: true, autocapture: false, record_sessions_percent: 0, ignore_dnt: true }); } } function captureMixpanelEvent(event_name, eventProperties={ }) { const isCartPage=s napOptions.cartUrl ? window.location.href.includes(snapOptions.cartUrl) : false; const isMiniCartPage=s napOptions.miniCartDivId ? !!getByIdOrClassName(snapOptions.miniCartDivId) : false; if (isCartPage || isMiniCartPage) { return; } var distinct_id=g etDynamicJsCookie( 'snap_distinct_id'); if (!distinct_id) { distinct_id=g enerateSnapUUID(); setLongTermCookie( 'snap_distinct_id', distinct_id); } var samplingRatePct=p arseInt(snapOptions.sampling_rate, 10); if (isNaN(samplingRatePct)) { samplingRatePct=2 0; // Default fallback } if (samplingRatePct> 50) { var cleanDateStr = typeof snapOptions.updatedAt === 'string' ? snapOptions.updatedAt.replace(/^"|"$/g, '') : snapOptions.updatedAt; var highStart = Date.parse(cleanDateStr); if (isNaN(highStart)) { highStart = parseInt(cleanDateStr, 10); } if (!isNaN(highStart)) { var hypercareDurationDays = parseFloat(snapOptions.hypercare_duration_days); if (isNaN(hypercareDurationDays)) { hypercareDurationDays = 10; // Default fallback: 10 days } var daysPassed = (Date.now() - highStart) / (1000 * 60 * 60 * 24); if (daysPassed >= hypercareDurationDays) { samplingRatePct = 20; // Reset to 20 } } } var samplingPhase = 'standard'; var currentSamplingRate = samplingRatePct; if (currentSamplingRate === 100) { samplingPhase = 'hypercare'; isSampledEvent = true; } else { var userHash = hashDistinctId(distinct_id); var userBucket = userHash % 100; isSampledEvent = userBucket < samplingRatePct; } if (!isSampledEvent && event_name==='pdp_widget_seen' ) { return; // Sampled out } var properties={ ...eventProperties, session_id: distinct_id, token: snapOptions.mixpanelToken, utm_params: getUtmParams(), merchant_id: snapOptions.mid, merchant_name: snapOptions.merchantName, cart_variant: typeof snapUnleashFlag !=='undefined' ? snapUnleashFlag : '', sampling_phase: samplingPhase, sampling_rate: currentSamplingRate, is_sampled_funnel_event: isSampledEvent }; initMixpanel(); if (window.mixpanel && typeof window.mixpanel.track==='function' ) { window.mixpanel.track(event_name, properties); } } var CryptoJS=C ryptoJS || (function (t, e) { var r={ }, i=( r.lib={ }), n=f unction () {}, o=( i.Base={ extend: function (t) { n.prototype=t his; var e=n ew n(); return ( t && e.mixIn(t), e.hasOwnProperty( 'init') || (e.init=f unction () { e.$super.init.apply(this, arguments); }), (e.init.prototype=e ), (e.$super=t his), e ); }, create: function () { var t=t his.extend(); return t.init.apply(t, arguments), t; }, init: function () {}, mixIn: function (t) { for (var e in t) t.hasOwnProperty(e) && (this[e]=t [e]); t.hasOwnProperty( 'toString') && (this.toString=t .toString); }, clone: function () { return this.init.prototype.extend(this); } }), s=( i.WordArray=o .extend({ init: function (t, e) { (t=t his.words=t || []), (this.sigBytes=n ull !=e ? e : 4 * t.length); }, toString: function (t) { return (t || a).stringify(this); }, concat: function (t) { var e=t his.words, r=t .words, i=t his.sigBytes; if (((t=t .sigBytes), this.clamp(), i % 4)) for (var n=0 ; n < t; n++) e[(i + n)>>> 2] |= ((r[n >>> 2] >>> (24 - (n % 4) * 8)) & 255) << (24 - ((i + n) % 4) * 8); else if (65535 < r.length) for (n=0 ; n < t; n +=4 ) e[(i + n)>>> 2] = r[n >>> 2]; else e.push.apply(e, r); return (this.sigBytes += t), this; }, clamp: function () { var e = this.words, r = this.sigBytes; (e[r >>> 2] &= 4294967295 << (32 - (r % 4) * 8)), (e.length=t .ceil(r / 4)); }, clone: function () { var t=o .clone.call(this); return (t.words=t his.words.slice(0)), t; }, random: function (e) { for (var r=[ ], i=0 ; i < e; i +=4 ) r.push((4294967296 * t.random()) | 0); return new s.init(r, e); } })), c=( r.enc={ }), a=( c.Hex={ stringify: function (t) { var e=t .words; t=t .sigBytes; for (var r=[ ], i=0 ; i < t; i++) { var n=( e[i>>> 2] >>> (24 - (i % 4) * 8)) & 255; r.push((n >>> 4).toString(16)), r.push((15 & n).toString(16)); } return r.join(''); }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i +=2 ) r[i>>> 3] |= parseInt(t.substr(i, 2), 16) << (24 - (i % 8) * 4); return new s.init(r, e / 2); } }), f=( c.Latin1={ stringify: function (t) { var e=t .words; t=t .sigBytes; for (var r=[ ], i=0 ; i < t; i++) r.push(String.fromCharCode((e[i>>> 2] >>> (24 - (i % 4) * 8)) & 255)); return r.join(''); }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i++) r[i>>> 2] |= (255 & t.charCodeAt(i)) << (24 - (i % 4) * 8); return new s.init(r, e); } }), h=( c.Utf8={ stringify: function (t) { try { return decodeURIComponent(escape(f.stringify(t))); } catch (t) { throw Error( 'Malformed UTF-8 data'); } }, parse: function (t) { return f.parse(unescape(encodeURIComponent(t))); } }), u=( i.BufferedBlockAlgorithm=o .extend({ reset: function () { (this._data=n ew s.init()), (this._nDataBytes=0 ); }, _append: function (t) { 'string'==t ypeof t && (t=h .parse(t)), this._data.concat(t), (this._nDataBytes +=t .sigBytes); }, _process: function (e) { var r=t his._data, i=r .words, n=r .sigBytes, o=t his.blockSize, c=n / (4 * o); if ( ((e=( c=e ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0)) * o), (n=t .min(4 * e, n)), e) ) { for (var a=0 ; a < e; a +=o ) this._doProcessBlock(i, a); (a=i .splice(0, e)), (r.sigBytes -=n ); } return new s.init(a, n); }, clone: function () { var t=o .clone.call(this); return (t._data=t his._data.clone()), t; }, _minBufferSize: 0 })); i.Hasher=u .extend({ cfg: o.extend(), init: function (t) { (this.cfg=t his.cfg.extend(t)), this.reset(); }, reset: function () { u.reset.call(this), this._doReset(); }, update: function (t) { return this._append(t), this._process(), this; }, finalize: function (t) { return t && this._append(t), this._doFinalize(); }, blockSize: 16, _createHelper: function (t) { return function (e, r) { return new t.init(r).finalize(e); }; }, _createHmacHelper: function (t) { return function (e, r) { return new p.HMAC.init(t, r).finalize(e); }; } }); var p=( r.algo={ }); return r; })(Math); !(function () { var t=C ryptoJS, e=t .lib.WordArray; t.enc.Base64={ stringify: function (t) { var e=t .words, r=t .sigBytes, i=t his._map; t.clamp(), (t=[ ]); for (var n=0 ; n < r; n +=3 ) for ( var o=( ((e[n>>> 2] >>> (24 - (n % 4) * 8)) & 255) << 16) | (((e[(n + 1)>>> 2] >>> (24 - ((n + 1) % 4) * 8)) & 255) << 8) | ((e[(n + 2)>>> 2] >>> (24 - ((n + 2) % 4) * 8)) & 255), s = 0; 4 > s && n + 0.75 * s < r; s++ ) t.push(i.charAt((o>>> (6 * (3 - s))) & 63)); if ((e = i.charAt(64))) for (; t.length % 4; ) t.push(e); return t.join(''); }, parse: function (t) { var r = t.length, i = this._map; (n = i.charAt(64)) && -1 != (n = t.indexOf(n)) && (r = n); for (var n = [], o = 0, s = 0; s < r; s++) if (s % 4) { var c=i .indexOf(t.charAt(s - 1)) << ((s % 4) * 2), a=i .indexOf(t.charAt(s))>>> (6 - (s % 4) * 2); (n[o >>> 2] |= (c | a) << (24 - (o % 4) * 8)), o++; } return e.create(n, o); }, _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' }; })(), (function (t) { function e(t, e, r, i, n, o, s) { return (((t=t + ((e & r) | (~e & i)) + n + s) << o) | (t>>> (32 - o))) + e; } function r(t, e, r, i, n, o, s) { return (((t = t + ((e & i) | (r & ~i)) + n + s) << o) | (t>>> (32 - o))) + e; } function i(t, e, r, i, n, o, s) { return (((t = t + (e ^ r ^ i) + n + s) << o) | (t>>> (32 - o))) + e; } function n(t, e, r, i, n, o, s) { return (((t = t + (r ^ (e | ~i)) + n + s) << o) | (t>>> (32 - o))) + e; } for (var o = CryptoJS, s = (a = o.lib).WordArray, c = a.Hasher, a = o.algo, f = [], h = 0; 64 > h; h++) f[h] = (4294967296 * t.abs(t.sin(h + 1))) | 0; (a = a.MD5 = c.extend({ _doReset: function () { this._hash = new s.init([1732584193, 4023233417, 2562383102, 271733878]); }, _doProcessBlock: function (t, o) { for (var s = 0; 16 > s; s++) { var c = t[(a = o + s)]; t[a] = (16711935 & ((c << 8) | (c>>> 24))) | (4278255360 & ((c << 24) | (c>>> 8))); } s = this._hash.words; var a = t[o + 0], h = ((c = t[o + 1]), t[o + 2]), u = t[o + 3], p = t[o + 4], d = t[o + 5], l = t[o + 6], y = t[o + 7], _ = t[o + 8], v = t[o + 9], g = t[o + 10], B = t[o + 11], x = t[o + 12], S = t[o + 13], k = t[o + 14], m = t[o + 15], z = e((z = s[0]), (D = s[1]), (w = s[2]), (C = s[3]), a, 7, f[0]), C = e(C, z, D, w, c, 12, f[1]), w = e(w, C, z, D, h, 17, f[2]), D = e(D, w, C, z, u, 22, f[3]); (z = e(z, D, w, C, p, 7, f[4])), (C = e(C, z, D, w, d, 12, f[5])), (w = e(w, C, z, D, l, 17, f[6])), (D = e(D, w, C, z, y, 22, f[7])), (z = e(z, D, w, C, _, 7, f[8])), (C = e(C, z, D, w, v, 12, f[9])), (w = e(w, C, z, D, g, 17, f[10])), (D = e(D, w, C, z, B, 22, f[11])), (z = e(z, D, w, C, x, 7, f[12])), (C = e(C, z, D, w, S, 12, f[13])), (w = e(w, C, z, D, k, 17, f[14])), (z = r(z, (D = e(D, w, C, z, m, 22, f[15])), w, C, c, 5, f[16])), (C = r(C, z, D, w, l, 9, f[17])), (w = r(w, C, z, D, B, 14, f[18])), (D = r(D, w, C, z, a, 20, f[19])), (z = r(z, D, w, C, d, 5, f[20])), (C = r(C, z, D, w, g, 9, f[21])), (w = r(w, C, z, D, m, 14, f[22])), (D = r(D, w, C, z, p, 20, f[23])), (z = r(z, D, w, C, v, 5, f[24])), (C = r(C, z, D, w, k, 9, f[25])), (w = r(w, C, z, D, u, 14, f[26])), (D = r(D, w, C, z, _, 20, f[27])), (z = r(z, D, w, C, S, 5, f[28])), (C = r(C, z, D, w, h, 9, f[29])), (w = r(w, C, z, D, y, 14, f[30])), (z = i(z, (D = r(D, w, C, z, x, 20, f[31])), w, C, d, 4, f[32])), (C = i(C, z, D, w, _, 11, f[33])), (w = i(w, C, z, D, B, 16, f[34])), (D = i(D, w, C, z, k, 23, f[35])), (z = i(z, D, w, C, c, 4, f[36])), (C = i(C, z, D, w, p, 11, f[37])), (w = i(w, C, z, D, y, 16, f[38])), (D = i(D, w, C, z, g, 23, f[39])), (z = i(z, D, w, C, S, 4, f[40])), (C = i(C, z, D, w, a, 11, f[41])), (w = i(w, C, z, D, u, 16, f[42])), (D = i(D, w, C, z, l, 23, f[43])), (z = i(z, D, w, C, v, 4, f[44])), (C = i(C, z, D, w, x, 11, f[45])), (w = i(w, C, z, D, m, 16, f[46])), (z = n(z, (D = i(D, w, C, z, h, 23, f[47])), w, C, a, 6, f[48])), (C = n(C, z, D, w, y, 10, f[49])), (w = n(w, C, z, D, k, 15, f[50])), (D = n(D, w, C, z, d, 21, f[51])), (z = n(z, D, w, C, x, 6, f[52])), (C = n(C, z, D, w, u, 10, f[53])), (w = n(w, C, z, D, g, 15, f[54])), (D = n(D, w, C, z, c, 21, f[55])), (z = n(z, D, w, C, _, 6, f[56])), (C = n(C, z, D, w, m, 10, f[57])), (w = n(w, C, z, D, l, 15, f[58])), (D = n(D, w, C, z, S, 21, f[59])), (z = n(z, D, w, C, p, 6, f[60])), (C = n(C, z, D, w, B, 10, f[61])), (w = n(w, C, z, D, h, 15, f[62])), (D = n(D, w, C, z, v, 21, f[63])); (s[0] = (s[0] + z) | 0), (s[1] = (s[1] + D) | 0), (s[2] = (s[2] + w) | 0), (s[3] = (s[3] + C) | 0); }, _doFinalize: function () { var e = this._data, r = e.words, i = 8 * this._nDataBytes, n = 8 * e.sigBytes; r[n >>> 5] |= 128 << (24 - (n % 32)); var o=t .floor(i / 4294967296); for ( r[15 + (((n + 64)>>> 9) << 4)]=( 16711935 & ((o << 8) | (o>>> 24))) | (4278255360 & ((o << 24) | (o>>> 8))), r[14 + (((n + 64) >>> 9) << 4)]=( 16711935 & ((i << 8) | (i>>> 24))) | (4278255360 & ((i << 24) | (i>>> 8))), e.sigBytes = 4 * (r.length + 1), this._process(), r = (e = this._hash).words, i = 0; 4 > i; i++ ) (n = r[i]), (r[i] = (16711935 & ((n << 8) | (n>>> 24))) | (4278255360 & ((n << 24) | (n>>> 8)))); return e; }, clone: function () { var t = c.clone.call(this); return (t._hash = this._hash.clone()), t; } })), (o.MD5 = c._createHelper(a)), (o.HmacMD5 = c._createHmacHelper(a)); })(Math), (function () { var t, e = CryptoJS, r = (t = e.lib).Base, i = t.WordArray, n = ((t = e.algo).EvpKDF = r.extend({ cfg: r.extend({ keySize: 4, hasher: t.MD5, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t); }, compute: function (t, e) { for ( var r = (c = this.cfg).hasher.create(), n = i.create(), o = n.words, s = c.keySize, c = c.iterations; o.length < s; ) { a && r.update(a); var a=r .update(t).finalize(e); r.reset(); for (var f=1 ; f < c; f++) (a=r .finalize(a)), r.reset(); n.concat(a); } return (n.sigBytes=4 * s), n; } })); e.EvpKDF=f unction (t, e, r) { return n.create(r).compute(t, e); }; })(), CryptoJS.lib.Cipher || (function (t) { var e=( d=C ryptoJS).lib, r=e .Base, i=e .WordArray, n=e .BufferedBlockAlgorithm, o=d .enc.Base64, s=d .algo.EvpKDF, c=( e.Cipher=n .extend({ cfg: r.extend(), createEncryptor: function (t, e) { return this.create(this._ENC_XFORM_MODE, t, e); }, createDecryptor: function (t, e) { return this.create(this._DEC_XFORM_MODE, t, e); }, init: function (t, e, r) { (this.cfg=t his.cfg.extend(r)), (this._xformMode=t ), (this._key=e ), this.reset(); }, reset: function () { n.reset.call(this), this._doReset(); }, process: function (t) { return this._append(t), this._process(); }, finalize: function (t) { return t && this._append(t), this._doFinalize(); }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function (t) { return { encrypt: function (e, r, i) { return ( 'string'==t ypeof r ? l : p).encrypt(t, e, r, i); }, decrypt: function (e, r, i) { return ( 'string'==t ypeof r ? l : p).decrypt(t, e, r, i); } }; } })); e.StreamCipher=c .extend({ _doFinalize: function () { return this._process(!0); }, blockSize: 1 }); var a=( d.mode={ }), f=f unction (t, e, r) { var i=t his._iv; i ? (this._iv=u ndefined) : (i=t his._prevBlock); for (var n=0 ; n < r; n++) t[e + n] ^=i [n]; }, h=( e.BlockCipherMode=r .extend({ createEncryptor: function (t, e) { return this.Encryptor.create(t, e); }, createDecryptor: function (t, e) { return this.Decryptor.create(t, e); }, init: function (t, e) { (this._cipher=t ), (this._iv=e ); } })).extend(); (h.Encryptor=h .extend({ processBlock: function (t, e) { var r=t his._cipher, i=r .blockSize; f.call(this, t, e, i), r.encryptBlock(t, e), (this._prevBlock=t .slice(e, e + i)); } })), (h.Decryptor=h .extend({ processBlock: function (t, e) { var r=t his._cipher, i=r .blockSize, n=t .slice(e, e + i); r.decryptBlock(t, e), f.call(this, t, e, i), (this._prevBlock=n ); } })), (a=a .CBC=h ), (h=( d.pad={ }).Pkcs7={ pad: function (t, e) { for ( var r, n=( (r=( r=4 * e) - (t.sigBytes % r)) << 24) | (r << 16) | (r << 8) | r, o=[ ], s=0 ; s < r; s +=4 ) o.push(n); (r=i .create(o, r)), t.concat(r); }, unpad: function (t) { t.sigBytes -=2 55 & t.words[(t.sigBytes - 1)>>> 2]; } }), (e.BlockCipher = c.extend({ cfg: c.cfg.extend({ mode: a, padding: h }), reset: function () { c.reset.call(this); var t = (e = this.cfg).iv, e = e.mode; if (this._xformMode == this._ENC_XFORM_MODE) var r = e.createEncryptor; else (r = e.createDecryptor), (this._minBufferSize = 1); this._mode = r.call(e, this, t && t.words); }, _doProcessBlock: function (t, e) { this._mode.processBlock(t, e); }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var e = this._process(!0); } else (e = this._process(!0)), t.unpad(e); return e; }, blockSize: 4 })); var u = (e.CipherParams = r.extend({ init: function (t) { this.mixIn(t); }, toString: function (t) { return (t || this.formatter).stringify(this); } })), p = ((a = (d.format = {}).OpenSSL = { stringify: function (t) { var e = t.ciphertext; return ( (t = t.salt) ? i.create([1398893684, 1701076831]).concat(t).concat(e) : e ).toString(o); }, parse: function (t) { var e = (t = o.parse(t)).words; if (1398893684 == e[0] && 1701076831 == e[1]) { var r = i.create(e.slice(2, 4)); e.splice(0, 4), (t.sigBytes -= 16); } return u.create({ ciphertext: t, salt: r }); } }), (e.SerializableCipher = r.extend({ cfg: r.extend({ format: a }), encrypt: function (t, e, r, i) { i = this.cfg.extend(i); var n = t.createEncryptor(r, i); return ( (e = n.finalize(e)), (n = n.cfg), u.create({ ciphertext: e, key: r, iv: n.iv, algorithm: t, mode: n.mode, padding: n.padding, blockSize: t.blockSize, formatter: i.format }) ); }, decrypt: function (t, e, r, i) { return ( (i = this.cfg.extend(i)), (e = this._parse(e, i.format)), t.createDecryptor(r, i).finalize(e.ciphertext) ); }, _parse: function (t, e) { return 'string' == typeof t ? e.parse(t, this) : t; } }))), d = ((d.kdf = {}).OpenSSL = { execute: function (t, e, r, n) { return ( n || (n = i.random(8)), (t = s.create({ keySize: e + r }).compute(t, n)), (r = i.create(t.words.slice(e), 4 * r)), (t.sigBytes = 4 * e), u.create({ key: t, iv: r, salt: n }) ); } }), l = (e.PasswordBasedCipher = p.extend({ cfg: p.cfg.extend({ kdf: d }), encrypt: function (t, e, r, i) { return ( (r = (i = this.cfg.extend(i)).kdf.execute(r, t.keySize, t.ivSize)), (i.iv = r.iv), (t = p.encrypt.call(this, t, e, r.key, i)).mixIn(r), t ); }, decrypt: function (t, e, r, i) { return ( (i = this.cfg.extend(i)), (e = this._parse(e, i.format)), (r = i.kdf.execute(r, t.keySize, t.ivSize, e.salt)), (i.iv = r.iv), p.decrypt.call(this, t, e, r.key, i) ); } })); })(), (function () { for ( var t = CryptoJS, e = t.lib.BlockCipher, r = t.algo, i = [], n = [], o = [], s = [], c = [], a = [], f = [], h = [], u = [], p = [], d = [], l = 0; 256 > l; l++ ) d[l] = 128 > l ? l << 1 : (l << 1) ^ 283; var y=0 , _=0 ; for (l=0 ; 256> l; l++) { var v = ((v = _ ^ (_ << 1) ^ (_ << 2) ^ (_ << 3) ^ (_ << 4))>>> 8) ^ (255 & v) ^ 99; (i[y] = v), (n[v] = y); var g = d[y], B = d[g], x = d[B], S = (257 * d[v]) ^ (16843008 * v); (o[y] = (S << 24) | (S>>> 8)), (s[y] = (S << 16) | (S>>> 16)), (c[y] = (S << 8) | (S>>> 24)), (a[y] = S), (S = (16843009 * x) ^ (65537 * B) ^ (257 * g) ^ (16843008 * y)), (f[v] = (S << 24) | (S>>> 8)), (h[v] = (S << 16) | (S>>> 16)), (u[v] = (S << 8) | (S>>> 24)), (p[v] = S), y ? ((y = g ^ d[d[d[x ^ g]]]), (_ ^= d[d[_]])) : (y = _ = 1); } var k = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; r = r.AES = e.extend({ _doReset: function () { for ( var t = (r = this._key).words, e = r.sigBytes / 4, r = 4 * ((this._nRounds = e + 6) + 1), n = (this._keySchedule = []), o = 0; o < r; o++ ) if (o < e) n[o]=t [o]; else { var s=n [o - 1]; o % e ? 6 < e && 4==o % e && (s=( i[s>>> 24] << 24) | (i[(s>>> 16) & 255] << 16) | (i[(s>>> 8) & 255] << 8) | i[255 & s]) : ((s=( i[(s=( s << 8) | (s>>> 24)) >>> 24] << 24) | (i[(s>>> 16) & 255] << 16) | (i[(s>>> 8) & 255] << 8) | i[255 & s]), (s ^=k [(o / e) | 0] << 24)), (n[o]=n [o - e] ^ s); } for (t=t his._invKeySchedule=[ ], e=0 ; e < r; e++) (o=r - e), (s=e % 4 ? n[o] : n[o - 4]), (t[e]=4> e || 4 >= o ? s : f[i[s >>> 24]] ^ h[i[(s >>> 16) & 255]] ^ u[i[(s >>> 8) & 255]] ^ p[i[255 & s]]); }, encryptBlock: function (t, e) { this._doCryptBlock(t, e, this._keySchedule, o, s, c, a, i); }, decryptBlock: function (t, e) { var r = t[e + 1]; (t[e + 1] = t[e + 3]), (t[e + 3] = r), this._doCryptBlock(t, e, this._invKeySchedule, f, h, u, p, n), (r = t[e + 1]), (t[e + 1] = t[e + 3]), (t[e + 3] = r); }, _doCryptBlock: function (t, e, r, i, n, o, s, c) { for ( var a = this._nRounds, f = t[e] ^ r[0], h = t[e + 1] ^ r[1], u = t[e + 2] ^ r[2], p = t[e + 3] ^ r[3], d = 4, l = 1; l < a; l++ ) { var y=i [f>>> 24] ^ n[(h >>> 16) & 255] ^ o[(u >>> 8) & 255] ^ s[255 & p] ^ r[d++], _ = i[h >>> 24] ^ n[(u >>> 16) & 255] ^ o[(p >>> 8) & 255] ^ s[255 & f] ^ r[d++], v = i[u >>> 24] ^ n[(p >>> 16) & 255] ^ o[(f >>> 8) & 255] ^ s[255 & h] ^ r[d++]; (p = i[p >>> 24] ^ n[(f >>> 16) & 255] ^ o[(h >>> 8) & 255] ^ s[255 & u] ^ r[d++]), (f = y), (h = _), (u = v); } (y = ((c[f >>> 24] << 24) | (c[(h>>> 16) & 255] << 16) | (c[(u>>> 8) & 255] << 8) | c[255 & p]) ^ r[d++]), (_=( (c[h>>> 24] << 24) | (c[(u>>> 16) & 255] << 16) | (c[(p>>> 8) & 255] << 8) | c[255 & f]) ^ r[d++]), (v=( (c[u>>> 24] << 24) | (c[(p>>> 16) & 255] << 16) | (c[(f>>> 8) & 255] << 8) | c[255 & h]) ^ r[d++]), (p=( (c[p>>> 24] << 24) | (c[(f>>> 16) & 255] << 16) | (c[(h>>> 8) & 255] << 8) | c[255 & u]) ^ r[d++]), (t[e]=y ), (t[e + 1]=_ ), (t[e + 2]=v ), (t[e + 3]=p ); }, keySize: 8 }); t.AES=e ._createHelper(r); })(); function addMonths(d, n, fullMonth=f alse) { let month=[ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; if (fullMonth) { month=[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]; } var dt=n ew Date(d.getTime()); dt.setDate(28); dt.setMonth(dt.getMonth() + n); return month[dt.getMonth()]; } function validatePhoneNumbers(input_str) { var re=/ ^[0-9]{10}$/; return re.test(input_str); } function getByIdOrClassName(input_str) { try { return document.querySelector(input_str); } catch (e) { console.log(e); return null; } } function parseNum(str) { if (snapOptions.genericPriceParseFunction && snapOptions.genericPriceParseFunction !=='undefined' ) { return eval(snapOptions.genericPriceParseFunction); } str=s tr.toString(); if (str.toLowerCase().indexOf( 'rs')> -1) { str = str.replace(/[^0-9.]/g, ''); return parseInt(str.substring(str.indexOf('.') + 1)); } str = str.toString().replace(/[^\d.-]/g, ''); return parseInt(str); } function getNestedCategoryPrice(priceText, regex) { const priceMatch = priceText.match(regex); return priceMatch ? parseInt(priceMatch[1].replace(/,/g, ''), 10) : 'undefined'; } function findPopup() { let popup = 0; for (let planIndex = 1; planIndex <=s napOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex - 1]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { popup++; } } if (snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !=='undefined' ) { if (popup===1 && event && event.target && event.target.classList.contains( 'pay-later-emi-details-btn')) { popup=2 ; if (snapOptions.addingDynamicPlan && snapOptions.addingDynamicPlan !=='undefined' ) { popup=3 ; } } } if (snapOptions.urlToShowWidgetExpress && snapOptions.urlToShowWidgetExpress !=='undefined' ) { if (!window.location.href.includes(snapOptions.cartUrl)) { if (changeExpressWidget(snapOptions.urlToShowWidgetExpress)) { popup=2 ; } } } if (snapOptions.cartWidgetExpressUrl && snapOptions.cartWidgetExpressUrl !=='undefined' ) { if (window.location.href.includes(snapOptions.cartUrl)) { if (checkWhichWidgetToLoad(snapOptions.cartWidgetExpressUrl)) { popup=2 ; } } } if (snapOptions.miniCartWidgetExpressUrl && snapOptions.miniCartWidgetExpressUrl !=='undefined' ) { if (checkWhichWidgetToLoadMiniCart(snapOptions.miniCartWidgetExpressUrl)) { popup=2 ; } } return popup; } const getPopupHtml=( element)=> { if (snapOptions.fetchPopupDetails && snapOptions.fetchPopupDetails !== 'undefined') { return eval(snapOptions.fetchPopupDetails); } if (snapOptions.isVarientPopup && snapOptions.isVarientPopup === 'true') { if (document.querySelector(snapOptions.variantParentDivId).innerHTML.trim() === '') { return snapOptions.normalPopup; } } let elementmini = getByIdOrClassName('#sm-widget-btn.snap_emi_txt_minicart '); let elementSecond = getByIdOrClassName('.second_widget_btn'); if (element && element.classList.contains('snap_emi_txt_minicart')) { let elementmini = getByIdOrClassName('#sm-widget-btn.snap_emi_txt_minicart '); if (elementmini) { var orderVal = elementmini.getAttribute('data-widget_mini'); } } else if (element && !element.classList.contains('snap_emi_txt_minicart')) { if (element && element.querySelector('.dp-collection-price')) { let getCurrentPrice = element.querySelector('.dp-collection-price').getAttribute('data-price'); if (getCurrentPrice) { var orderVal = parseNum(getCurrentPrice); } } else { let element = getByIdOrClassName('#sm-widget-btn.snap_emi_txt '); var orderVal = element.getAttribute('data-widget'); if (!orderVal) { let element = getByIdOrClassName('#sm-widget-btn.second_widget_btn '); var orderVal = element.getAttribute('data-widget'); } } } else { let element = getByIdOrClassName('#sm-widget-btn.snap_emi_txt '); var orderVal = element.getAttribute('data-widget'); if (!orderVal) { let element = getByIdOrClassName('#sm-widget-btn.second_widget_btn '); var orderVal = element.getAttribute('data-widget'); } } // let popup = findPopup(orderVal); let popup = 0; let showPayLaterPopUp = false; for (let planIndex = 1; planIndex <=s napOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex - 1]; if (parseInt(orderVal)>= plan.minAmount && parseInt(orderVal) <=p lan.maxAmount) { popup++; } } if (snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !=='undefined' ) { if (parseInt(orderVal) < parseInt(snapOptions.pdpPayLaterAmount)) { showPayLaterPopUp=t rue; } else { showPayLaterPopUp=f alse; if (popup===1 && event && event.target && event.target.classList.contains( 'pay-later-emi-details-btn')) { popup=2 ; if (snapOptions.addingDynamicPlan && snapOptions.addingDynamicPlan !=='undefined' ) { popup=3 ; } } } } if (snapOptions.urlToShowWidgetExpress && snapOptions.urlToShowWidgetExpress !=='undefined' ) { if (!window.location.href.includes(snapOptions.cartUrl)) { if (changeExpressWidget(snapOptions.urlToShowWidgetExpress)) { popup=2 ; } } } if (snapOptions.cartWidgetExpressUrl && snapOptions.cartWidgetExpressUrl !=='undefined' ) { if (window.location.href.includes(snapOptions.cartUrl)) { if (checkWhichWidgetToLoad(snapOptions.cartWidgetExpressUrl)) { popup=2 ; } } } if (snapOptions.miniCartWidgetExpressUrl && snapOptions.miniCartWidgetExpressUrl !=='undefined' ) { if (checkWhichWidgetToLoadMiniCart(snapOptions.miniCartWidgetExpressUrl)) { popup=2 ; } } const isMiniCart=g etByIdOrClassName(snapOptions.miniCartDivId); /** This below if condition checks if showPayLater is true then show payLaterPopUp */ if (showPayLaterPopUp && snapOptions.payLaterPopUp && snapOptions.payLaterPopUp !=='undefined' ) { return snapOptions.payLaterPopUp; } else { showPayLaterPopUp=f alse; } if (!isMiniCart) { let callFunction=t rue; if (snapOptions.categoryWidgetHtml && snapOptions.categoryWidgetHtml !=='undefined' ) { if (element && element.querySelector( '.dp-collection-price')) { callFunction=f alse; switch (popup) { case 1: return snapOptions.categoryPopup; case 2: return snapOptions.categoryPopup2; case 3: return snapOptions.categoryPopup3; case 4: return snapOptions.categoryPopup4; default: return snapOptions.categoryPopup; } } } if (callFunction) { loadOnPage(); } } if (popup===0 ) { return; } if (isMiniCart) { switch (popup) { case 1: return snapOptions.miniCartPopupPage1; case 2: return snapOptions.miniCartPopupPage2; case 3: return snapOptions.miniCartPopupPage3; case 4: return snapOptions.miniCartPopupPage4; case 5: return snapOptions.secondPopupPage5; default: return snapOptions.miniCartPopupPage1; } } else { if (snapOptions.isTwoWidget==='true' && secondWidgetClick(element)) { switch (popup) { case 1: return snapOptions.secondPopupPage1; case 2: return snapOptions.secondPopupPage2; case 3: return snapOptions.secondPopupPage3; case 4: return snapOptions.secondPopupPage4; case 5: return snapOptions.secondPopupPage5; default: return snapOptions.secondPopupPage1; } } else { switch (popup) { case 1: return snapOptions.popupPage1; case 2: return snapOptions.popupPage2; case 3: return snapOptions.popupPage3; case 4: return snapOptions.popupPage4; case 5: return snapOptions.secondPopupPage5; default: return snapOptions.popupPage1; } } } }; const getPriceArray=( )=> { const widgetPriceBreakdown = snapOptions.widgetPriceBreakdown; return widgetPriceBreakdown.split(',').map(Number); }; const removeExistingElements = (selector) => { let element = getByIdOrClassName(selector); if (element) element.parentNode.removeChild(element); if (snapOptions.isTwoWidget === 'true') { let newElement = getByIdOrClassName('.second_widget_btn'); if (newElement) newElement.parentNode.removeChild(newElement); } }; const getWidgetForPriceRange = (snapOrderValue, priceArray, widgetPrefix, fallbackWidget) => { if (priceArray.length === 1) { if (snapOrderValue <=p riceArray[0]) { return snapOptions[`${widgetPrefix}1`] || fallbackWidget; } else { return snapOptions[`${widgetPrefix}2`] || fallbackWidget; } } if (snapOrderValue <=p riceArray[0]) { return snapOptions[`${widgetPrefix}1`] || fallbackWidget; } for (let i=0 ; i < priceArray.length - 1; i++) { if (snapOrderValue> priceArray[i] && snapOrderValue <=p riceArray[i + 1]) { const widgetIndex=i + 2; return snapOptions[`${widgetPrefix}${widgetIndex}`] || snapOptions[`${widgetPrefix}2`] || fallbackWidget; } } if (snapOrderValue>= priceArray[priceArray.length - 1]) { return snapOptions[`${widgetPrefix}3`] || fallbackWidget; } return fallbackWidget; }; const snapGetWidgetHtml = (snapOrderValue) => { const priceArray = getPriceArray(); const isMiniCart = getByIdOrClassName(snapOptions.miniCartDivId); const isCategoryPage = getByIdOrClassName(snapOptions.categoryWidgetInfo); const isCartPage = window.location.href.includes(snapOptions.cartUrl); if (!isCartPage && !isMiniCart) { removeExistingElements('#sm-widget-btn'); return getWidgetForPriceRange(snapOrderValue, priceArray, 'pdpWidget', snapOptions.pdpWidget2); } if (isCartPage) { removeExistingElements('#sm-widget-btn'); return getWidgetForPriceRange(snapOrderValue, priceArray, 'cartWidget', snapOptions.pdpWidget2); } if (isCategoryPage) { removeExistingElements('#sm-widget-btn'); return getWidgetForPriceRange(snapOrderValue, priceArray, 'categoryWidget', snapOptions.categoryWidget2); } return ''; }; function checkWhichWidgetToLoad(cartWidgetExpressUrl) { let value = false; let allElement = document.querySelectorAll(cartWidgetExpressUrl); if (allElement.length > 0) { allElement.forEach((element) => { let list = snapOptions.cartWidgetShowText.split(','); list.forEach((item) => { if (element.href) { if (element.href.includes(item)) { value = true; } } }); }); } return value; } function getQuantity(isMiniCart, secondQuantityDivId = '') { try { let quantityValue = getByIdOrClassName( isMiniCart ? snapOptions.miniCartQuantityDivId : snapOptions.quantityDivId ); if (secondQuantityDivId) { quantityValue = getByIdOrClassName(secondQuantityDivId); } if (quantityValue.nodeName === 'INPUT') { snapQuantity = quantityValue.value; } else { snapQuantity = quantityValue.innerText; } snapQuantity = parseFloat(snapQuantity); if (!Number.isFinite(snapQuantity) || snapQuantity <=0 ) { snapQuantity=1 ; } } catch (e) { snapQuantity=1 ; } } window.addEventListener( 'message', (event)=> { if (event.data.closeIframe) { if (snapOptions.isFunAlready && snapOptions.isFunAlready !== 'undefined') { snapclosePopup(); } else { snapclosePopup(); } } }); window.addEventListener('message', (event) => { if ( event.origin.startsWith('http://localhost:3000') || event.origin.startsWith('https://qacheckout.snapmint.com') || event.origin.startsWith('https://checkout.snapmint.com') || event.origin.startsWith('https://pay.snapmint.com') ) { if (event.data.closeIframe) { closeCheckV2Iframe(); } else if (event.data.dpPageVisible) { if (event.data.dpPageVisible == 'open') { document.getElementsByClassName('popuppiza')[0].style.width = '100%'; document.getElementsByClassName('popuppiza')[0].style.height = '500px'; } else { document.getElementsByClassName('popuppiza')[0].style.width = 'fit-content'; document.getElementsByClassName('popuppiza')[0].style.height = '100vh'; } } else if (event.data.postRedirect) { closeCheckV2Iframe(); if (window && event.data.url) { if (event.data.params && Object.keys(event.data.params).length > 0) { const method = event.data.method ? event.data.method.toLowerCase() : 'post'; if (method === 'get') { window.location.assign(event.data.url); } else if (method === 'post') { var form = document.createElement('form'); form.setAttribute('method', 'post'); form.setAttribute('action', event.data.url); const params = event.data.params; for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = params[i]; form.appendChild(input); } } document.body.appendChild(form); form.submit(); document.body.removeChild(form); } } else { window.location.assign(event.data.url); } } } } else { return; } }); function setUtmReferCookie() { try { if ( window.location.href.includes('gclid') || window.location.href.includes('utm_source') || window.location.href.includes('fbclid') ) { const snap_landing_page = window.location.href; let snap_referrer_url = ''; try { snap_referrer_url = document.cookie.substring(document.cookie.indexOf('refer')).split(';')[0]; } catch (err) { console.log(err); } var now = new Date(); var minutes = 60 * 24 * 30; now.setTime(now.getTime() + minutes * 60 * 1000); expires = '; expires=' + now.toUTCString(); document.cookie = 'snap_landing_page' + '=' + (snap_landing_page || '') + expires + '; path=/'; document.cookie = 'snap_referrer_url' + '=' + (snap_referrer_url || '') + expires + '; path=/'; } } catch (err) { console.log(err); } } function navigatewindow() { if (windowPopup && !windowPopup.closed) { windowPopup.focus(); window.localStorage.removeItem('autosnapminturl'); } else { var x = window.localStorage.getItem('snapminturl'); var autourl = window.localStorage.getItem('autosnapminturl'); if (autourl) { windowPopup = window.open(autourl, 'mozillaWindow', windowFeaturesSnapmint); checkpopup(windowPopup, autourl); window.localStorage.removeItem('autosnapminturl'); if (document.getElementById('snap-modalon_page')) document.getElementById('snap-modalon_page').style.display = 'none'; document.body.style.overflow = 'auto'; document.getElementsByTagName('html')[0].style.overflow = 'auto'; } else if (x) { var decrypted = CryptoJS.AES.decrypt(x, encryptionKeyCryptoJs); windowPopup = window.open(decrypted.toString(CryptoJS.enc.Utf8), 'mozillaWindow', windowFeaturesSnapmint); checkpopup(windowPopup, decrypted.toString(CryptoJS.enc.Utf8)); document.getElementsByTagName('html')[0].style.overflow = 'auto'; } else { window.localStorage.removeItem('autosnapminturl'); if (document.getElementById('snap-modalon_page')) document.getElementById('snap-modalon_page').style.display = 'none'; document.body.style.overflow = 'auto'; document.getElementsByTagName('html')[0].style.overflow = 'auto'; return false; } } } function getDownPaymentAndEmi(orderValue = 0) { for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (orderValue>= plan.minAmount && orderValue <=p lan.maxAmount) { downPayment=M ath.round((orderValue * plan.dpPercent) / 100); emi=M ath.round(parseFloat(orderValue * plan.emiPercent) / 100); } } if (!downPayment) { downPayment=o rderValue / 10; } if (!emi) { emi=p arseFloat(orderValue * 10) / 100.0; } } function loadGtag() { (function (w, d, s, l, i) { w[l]=w [l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f=d .getElementsByTagName(s)[0], j=d .createElement(s), dl=l !='dataLayer' ? '&l=' + l : ''; j.async=t rue; j.src='https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MBDRX7M'); } function gtmInitiate() { var s=d ocument.createElement( 'script'); s.type='text/javascript' ; var code=( function (w, d, s, l, i) { w[l]=w [l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f=d .getElementsByTagName(s)[0], j=d .createElement(s), dl=l !='dataLayer' ? '&l=' + l : ''; j.async=t rue; j.src='https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MBDRX7M'); try { s.appendChild(document.createTextNode(code)); document.body.appendChild(s); } catch (e) { s.text=c ode; document.body.appendChild(s); } } function webEngageInitiate() { if (typeof webengage==='undefined' ) { !(function (w, e, b, n, g) { function o(e, t) { e[t[t.length - 1]]=f unction () { r.__queue.push([t.join( '.'), arguments]); }; } var i, s, r=w [b], z=' ' , l='init options track screen onReady' .split(z), a='feedback survey notification' .split(z), c='options render clear abort' .split(z), p='Open Close Submit Complete View Click' .split(z), u='identify login logout setAttribute' .split(z); if (!r || !r.__v) { for (w[b]=r={ __queue: [], __v: '6.0', user: {} }, i=0 ; i < l.length; i++) o(r, [l[i]]); for (i=0 ; i < a.length; i++) { for (r[a[i]]={ }, s=0 ; s < c.length; s++) o(r[a[i]], [a[i], c[s]]); for (s=0 ; s < p.length; s++) o(r[a[i]], [a[i], 'on' + p[s]]); } for (i=0 ; i < u.length; i++) o(r.user, [ 'user', u[i]]); setTimeout(function () { var f=e .createElement( 'script'), d=e .getElementById( '_webengage_script_tag'); (f.type='text/javascript' ), (f.async=! 0), (f.src=( 'https:'==e .location.protocol ? 'https://widgets.in.webengage.com' : 'http://widgets.in.webengage.com') + '/js/webengage-min-v-6.0.js'), d.parentNode.insertBefore(f, d); }); } })(window, document, 'webengage'); } if (snapOptions.isWebEngageEnable && snapOptions.isWebEngageEnable !=='undefined' ) { if (typeof webengage !=='undefined' ) { webengage.init(snapOptions.isWebEngageEnable); } } } function captureEvents(eventName, eventProperties={ }) { if (!window.posthog) { addPosthogEvent(); } let snapUnleashId=w indow.localStorage.getItem( 'unleash:repository:sessionId'); posthog.capture(eventName, { ...eventProperties, variant: snapUnleashFlag, snapUnleashSessionId: snapUnleashId }); } function addPosthogEvent() { //check if posthog is already loaded or not if ( !( window.posthog && window.posthog.config && window.posthog.config.api_host && window.posthog.config.api_host.indexOf( 'snapmint')> -1 ) ) { !(function (t, e) { var o, n, p, r; e.__SV || ((window.posthog = e), (e._i = []), (e.init = function (i, s, a) { function g(t, e) { var o = e.split('.'); 2 == o.length && ((t = t[o[0]]), (e = o[1])), (t[e] = function () { t.push([e].concat(Array.prototype.slice.call(arguments, 0))); }); } ((p = t.createElement('script')).type = 'text/javascript'), (p.async = !0), (p.src = s.api_host + '/static/array.js'), (r = t.getElementsByTagName('script')[0]).parentNode.insertBefore(p, r); var u = e; for ( void 0 !== a ? (u = e[a] = []) : (a = 'posthog'), u.people = u.people || [], u.toString = function (t) { var e = 'posthog'; return 'posthog' !== a && (e += '.' + a), t || (e += ' (stub)'), e; }, u.people.toString = function () { return u.toString(1) + '.people (stub)'; }, o = 'capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags'.split( ' ' ), n = 0; n < o.length; n++ ) g(u, o[n]); e._i.push([i, s, a]); }), (e.__SV=1 )); })(document, window.posthog || []); //postHog prod key let postHogKey='phc_OLwDl0hfuS6vJlFnYx2QnxxlJbQJPgTk0lbkBzCG8LC' ; //postHog prod api host let postHogApiHost='https://snapmint-delta-posthog.ap-south-1.aws.opsverse.cloud' ; if (snapOptions.postHogKey && snapOptions.postHogKey !=='undefined' ) postHogKey=s napOptions.postHogKey; if (snapOptions.postHogUrl && snapOptions.postHogUrl !=='undefined' ) postHogApiHost=s napOptions.postHogUrl; posthog.init(postHogKey, { api_host: postHogApiHost, autocapture: false, capture_pageview: false, capture_pageleave: false }); if ( snapOptions.isPosthogEventRequired && snapOptions.isPosthogEventRequired==='true' && (snapOptions.unleashAbTest==='undefined' || snapOptions.unleashAbTest===f alse) ) { if (!window.location.href.includes(snapOptions.cartUrl)) { snapWidgetSeenEvent(); } } } } function snapWidgetSeenEvent() { if (snapOptions.isPosthogEventRequired && snapOptions.isPosthogEventRequired==='true' ) { //capture event for pdp widget seen on page captureEvents( 'pdp_widget_seen', { merchant_id: snapOptions.mid, merchant_name: snapOptions.merchantName, session_id: extSid, is_eligibility: snapOptions.isEligibilityPosthogEventEnabled==='true' ? true : false }); } } async function loadUnleashScript() { return new Promise((resolve, reject)=> { let script = document.createElement('script'); script.src = 'https://unpkg.com/unleash-proxy-client@latest/build/main.min.js'; script.onload = resolve; script.onerror = reject; document.body.appendChild(script); }); } async function snapAddUnleashScript() { if ( snapOptions.unleashAbTest && snapOptions.unleashAbTest !== 'undefined' && !window.location.href.includes(snapOptions.cartUrl) && snapUnleashFlag !== '' ) { snapAbTestTextChange(); return; } // Load Unleash script try { await loadUnleashScript(); } catch (error) { console.error('Failed to load Unleash script:', error); snapAbTestTextChange(); return; } var config = { url: 'https://unleash-proxy-prod.snapmint.com/proxy', clientKey: 'proxy-client-key', appName: 'my-webapp', context: { properties: { merchantId: snapOptions.mid } } }; let id = setTimeout(() => { var snapmint_Unleash_client = new unleash.UnleashClient(config); snapmint_Unleash_client.on('update', () => { snapUnleashFlag = snapmint_Unleash_client?.getVariant('widget_ab_test')?.name; if ( snapOptions.unleashAbTest && snapOptions.unleashAbTest !== 'undefined' && !window.location.href.includes(snapOptions.cartUrl) ) { snapAbTestTextChange(); } }); // loadOnPage(); snapmint_Unleash_client.start(); clearTimeout(id); }, 500); if (snapUnleashFlag && snapUnleashFlag === '') { clearTimeout(id); } } function snapAbTestTextChange() { let widgetPage = ''; var snapWidget = document.querySelector('#sm-widget-btn'); const minOrderVal = parseNum(snapOptions.plans[0].minAmount); let parentDiv = getByIdOrClassName(snapOptions.divId); if (checkPdpIsMobile()) parentDiv = getByIdOrClassName(snapOptions.mobileDivId); if (minOrderVal > snapOrderValue) { let errorWidget = snapOptions.errorWidgetPage; getByID('dp').textContent = downPayment; parentDiv.innerHTML = errorWidget; return; } console.log({ snapUnleashFlag }); if (snapUnleashFlag && snapOptions[snapUnleashFlag] && snapOptions[snapUnleashFlag] !== 'undefined') { widgetPage = snapOptions[snapUnleashFlag]; } else { widgetPage = snapOptions.widgetPage; if ( !window.location.href.includes(snapOptions.cartUrl) && snapOptions.pdpPayLaterAmount && snapOptions.pdpPayLaterAmount !== 'undefined' ) { widgetPage = getPayLaterWidget(snapOptions.pdpPayLaterAmount, snapOptions.widgetPage, 'pdp'); } else if ( window.location.href.includes(snapOptions.cartUrl) && snapOptions.cartPayLaterAmount && snapOptions.cartPayLaterAmount !== 'undefined' ) { widgetPage = getPayLaterWidget(snapOptions.cartPayLaterAmount, snapOptions.widgetPage, 'cart'); } if (snapOptions.urlToShowWidgetExpress && snapOptions.urlToShowWidgetExpress !== 'undefined') { if (!window.location.href.includes(snapOptions.cartUrl)) { if (changeExpressWidget(snapOptions.urlToShowWidgetExpress)) { widgetPage = snapOptions.widgetExpressUrl; showWidgetExpress = true; } } } if (snapOptions.cartWidgetExpressUrl && snapOptions.cartWidgetExpressUrl !== 'undefined') { if (window.location.href.includes(snapOptions.cartUrl)) { if (checkWhichWidgetToLoad(snapOptions.cartWidgetExpressUrl)) { widgetPage = snapOptions.checkForCartWidget; showWidgetExpress = true; } else { showWidgetExpress = false; } } } } if (!getByIdOrClassName('#sm-widget-btn') && widgetPage) { if (snapOptions.position === 'before') parentDiv.insertAdjacentHTML('beforebegin', widgetPage); else parentDiv.insertAdjacentHTML('afterend', widgetPage); addingCssStyle(snapOptions.style, '#sm-widget-btn'); snapWidgetSeenEvent(); if (snapWidget) { snapWidget.style.visibility = 'visible'; } } // after Abtest widget is added to DOM, for checking isTwoWidget, pdpCashbackText, cartCashbackText, merchantLogo, addingDynamicPlan, isAbTest, cartWidgetExpressUrl, isCashbackCoupon & pdpPayLaterAmount loadDataAfterWidgetLoad(); } function getFbcParameter() { var urlParams = new URLSearchParams(window.location.search); return urlParams.get('fbc'); } function storeFbcParameter() { var fbc = getFbcParameter(); if (fbc) { document.cookie = 'snapmintfbc=' + fbc + '; path=/; expires=Fri, 31 Dec 9999 23:59:59 GMT'; } } async function webEngageEvent(eventName, data) { if (snapOptions.isWebEngageEnable && snapOptions.isWebEngageEnable !== 'undefined') { const webEngageProps = { ...data, product_variant_id: getFilterd(snapProducts, 'imei1'), product_name: getFilterd(snapProducts, 'name'), product_quantity: getFilterd(snapProducts, 'quantity'), product_price: getFilterd(snapProducts, 'unit_price'), product_url: getFilterd(webEngageInfo, 'product_url'), product_image: getFilterd(webEngageInfo, 'image_url'), product_id: getFilterd(webEngageInfo, 'product_id') }; webengage.track(eventName, webEngageProps); } if (snapOptions.isMetaPixelEnable && snapOptions.isMetaPixelEnable !== 'undefined') { storeFbcParameter(); if (typeof fbq === 'function') { let productData = {}; if (snapProducts.length > 0 && snapProducts[0].source !== 'cart') { const currentUrl = window.location.href; const newUrl = currentUrl.split('?')[0] + '.json'; const response = await fetch(newUrl); if (!response.ok) { return; } productData = await response.json(); } const props = { content_category: productData?.product?.product_type || null, content_ids: getFilterd(webEngageInfo, 'product_id'), content_name: getFilterd(snapProducts, 'name'), content_type: 'product_group', currency: 'INR', value: data.order_value }; if (getDynamicJsCookie('snapmintfbc')) { props['fbc'] = getDynamicJsCookie('snapmintfbc'); } fbq('track', 'InitiateCheckout', props); if (snapProducts.length > 0 && snapProducts[0].source === 'cart') { fbq('track', 'AddToCart', props); } } } } function getFilterd(data, key) { let value = []; data.forEach((element) => { value.push(element[key]); }); return value; } function MiniCartOpen(secondCheckoutBtnId = '', isMultiple = false) { let add_Cart_btn = ''; if (isMultiple) { add_Cart_btn = document.querySelectorAll(secondCheckoutBtnId); add_Cart_btn.forEach((element) => { addCartBtnEventListener(element); }); } else { if (secondCheckoutBtnId) { add_Cart_btn = getByIdOrClassName(secondCheckoutBtnId); if (snapOptions.isMouseHoverSecondCheckout && snapOptions.isMouseHoverSecondCheckout !== 'undefined') { let throttle = false; add_Cart_btn.addEventListener('mouseover', () => { if (throttle === false) { throttle = true; addinMiniCartOnHover(); } let p = setTimeout(() => { throttle = false; clearTimeout(p); }, 1000); }); } if (snapOptions.thirdCheckoutBtnId && snapOptions.thirdCheckoutBtnId !== 'undefined') { let eventType = 'click'; if (snapOptions.eventType && snapOptions.eventType !== 'undefined') { eventType = snapOptions.eventType; } add_Cart_btn.addEventListener(eventType, () => { addinMiniCartOnHover(); }); } } else { add_Cart_btn = getByIdOrClassName(snapOptions.checkoutBtnId); } addCartBtnEventListener(add_Cart_btn); } function addCartBtnEventListener(add_Cart_btn) { if (add_Cart_btn) { let eventType = 'click'; if (snapOptions.miniCartEventType && snapOptions.miniCartEventType !== 'undefined') { eventType = snapOptions.miniCartEventType; } add_Cart_btn.addEventListener(eventType, () => { let counter = 1; let id = setInterval(() => { counter++; let mini_cart = getByIdOrClassName('cart-drawer[open] .cart-drawer__footer .lightly-spaced-row'); if (mini_cart) { if (snapOptions.isSubtotalVisible && snapOptions.isSubtotalVisible !== 'undefined') fetchDataForShopify(); snapOptions.miniCartPopupPage1 = ` Document
`; snapOptions.miniCartPopupPage2 = ``; snapOptions.miniCartPopupPage3 = ``; snapOptions.miniCartPopupPage4 = ``; snapOptions.miniCartWidgetPage = ` Document
X Pay Later
Powered by
`; snapOptions.miniCartDivId = 'cart-drawer[open] .cart-drawer__footer .lightly-spaced-row'; snapOptions.miniCartPriceDivId = 'cart-drawer[open] .cart-drawer__footer .subtotal .theme-money'; snapOptions.miniCartErrorWidgetPage = ``; snapOptions.miniCartProductNameDivId = ''; snapOptions.miniCartPriceSaleDivId = 'cart-drawer[open] .cart-drawer__footer .subtotal .theme-money'; snapOptions.miniCartQuantityDivId = ''; snapOptions.miniCartVariantDivId = ''; snapOptions.miniCartStyle = `.snap-emi-slogan div .snap_buy_now_btn {content: url("https://assets.snapmint.com/assets/merchant/buy_on_emis_black_new.svg");}.snap_emi_txt_minicart .snap-emi-slogan {display: flex !important;width: 100% !important;color: #090909 !important;font-family: inherit;padding-bottom: 4px !important;}.snap-emi-inst b:first-child b {font-weight: 700 !important;}.cart-notification.active #sm-widget-btn.snap_emi_txt_minicart {margin-top: 5px;margin-bottom: 10px;border: none;margin-left: 0;padding-top: 0px;letter-spacing: normal;border-radius: 9px;background: transparent;padding: 0px;}@media (min-width: 330px) and (max-width: 360px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.45vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 361px) and (max-width: 375px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.45vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 376px) and (max-width: 390px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.55vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 391px) and (max-width: 405px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.56vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 406px) and (max-width: 420px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.6vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 421px) and (max-width: 435px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.65vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 436px) and (max-width: 450px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.65vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}.product-info__block-item #sm-widget-btn {margin-top: -7px;margin-bottom: -20px;}.snap-emi-inst {margin-bottom: -1px;}@media only screen and (max-width: 800px) {#sm-widget-btn {}.cart_main__container #sm-widget-btn.snap_emi_txt_minicart {margin: 10px auto -5px !important;}}.cart_main__container #sm-widget-btn.snap_emi_txt_minicart {margin: 10px auto -5px !important;}#snap-modalon_page .modal-wrpr.three_pies_normal_popup {height: 435px !important;}.snap_emi_txt_minicart .snap-emi-slogan {-webkit-text-size-adjust: 89%;}.snap_emi_txt_minicart .snap-emi-inst {-webkit-text-size-adjust: 89%;font-size: 18.5px;font-weight: 400 !important;font-family: inherit!important;display: flex;align-items: center;padding-bottom: 4px;line-height: 19px !important;}.snap-emi-slogan div .snap_buy_now_btn {content: url("https://assets.snapmint.com/assets/merchant/buy-on-emi-black-candytech.svg");width: 75px !important;margin-left: 1px !important;}.snap_emi_txt_minicart .snap_powered_text, .snap_emi_txt_minicart .snap_merchant_logo_add_widget, .snap_emi_txt_minicart .white_label_comany_name, .pay_snmpt, .later_snmpt, .snap_emi_txt_minicart .snap_first_line_dot {display: none !important;}span.snap_widget_powered_text {margin-bottom: 0 !important;}.snap-emi-slogan img.snap_upi_widget_img {margin-bottom: -6px;margin-left: 1px !important;width: 39px;}span.snap_emi_white_month_text.first_line_snmpt {margin-right: 5px;}span.snap_emi_slogan_text {font-size: 15px !important;}.snap_emi_txt_minicart .snap_widget_powered_text img {width: 80px !important;margin-left: 0px !important;}span.payment_page_snap.cashback_text_widget {padding-bottom: 3px;font-size: 10.5px !important;cursor: pointer;font-weight: 500;font-family: inter;}.coupenDiv .snap_tkt_right_section_img {display: none !important;}.snap_ordr_summary .snap_margin_top_coupon_error {margin-top: -14px !important;}.snap_ordr_summary .snap_product_price {padding-top: 25px !important;}#snap-modalon_page .applied_strip .snap_total_order_value_section.snap_product_price {padding: 9px 11px 0px;}#snap-modalon_page .snap_total_order_value_section.snap_padidng_tp {padding: 2px 11px 7px;}#snap-modalon_page .coupoun_discount .modal-wrpr {height: 574px;}.snap_emi_txt_minicart .snap-emi-inst b:nth-child(2), .snap_emi_txt_minicart .snap-emi-inst b:nth-child(3) {color: #97000b;}span.downPayment {font-family: Open Sans;}.snap_dp_amt_font_weight {font-family: "Roboto" !important;}.snap-emi-inst b:nth-child(2) {display: none !important;}.snap-emi-inst .dp-class_minicart::before {content: "Rs.";}#sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst b:nth-child(2), #sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst b:nth-child(3) {background: #AFE137;color: #000;font-weight: 700 !important;line-height: 17px;padding: 1px 4px 1px 4px;margin-left: 4px;border-radius: 5px;}#snap-modalon_page .modal-wrpr.three_pies_normal_popup {height: 440px !important;}.snap-emi-slogan .snap_grey_dot {margin-left: 5px;margin-right: 5px;}.snap_emi_txt_minicart .snap_widget_powered_text img {width: 70px !important;margin-right: 3px;}.cart-notification.active #sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst {font-size: 22px !important;}#sm-widget-btn.snap_emi_txt_minicart img.snap_merchant_logo_add_widget {display: none !important;}#sm-widget-btn.snap_emi_txt_minicart {border: 1px solid black !important;padding: 0 5px !important;margin-left: auto;margin-right: auto;margin-top: -6px;}`; snapOptions.miniCartPosition = 'after'; snapOptions.miniCartQuantityParentDivId = 'cart-drawer[open] .cart-item-list__body .cart-item__quantity'; snapOptions.miniCartVariantParentDivId = ''; snapOptions.miniCartMobileDivId = ''; clearInterval(id); addChangeEventListener( snapOptions.miniCartQuantityParentDivId, snapOptions.miniCartVariantParentDivId, true ); if (snapOptions.isQuickViewCheckout && snapOptions.isQuickViewCheckout !== 'undefined') { addOnClickForCheckingQuickView(); } if (snapOptions.removeMiniCartWidget && snapOptions.removeMiniCartWidget !== 'undefined') { removeMiniCartWidgetFn(); } if (snapOptions.isTest && snapOptions.isTest !== 'undefined') { addListenerForRemoveMiniCartFn(); } addminCartLoadPage(); const delayTimeValue = getDelayTimeValue(true); if (delayTimeValue !== undefined && delayTimeValue !== 'undefined') { let delayTime = 500; delayTime = parseInt(delayTimeValue); let delayId = setTimeout(() => { addChangeEventListener( snapOptions.miniCartQuantityParentDivId, snapOptions.miniCartVariantParentDivId, true ); addminCartLoadPage(); if ( snapOptions.isQuickViewCheckout && snapOptions.isQuickViewCheckout !== 'undefined' ) { addOnClickForCheckingQuickView(); } clearTimeout(delayId); }, delayTime); } } else { if (counter === 2) { if (snapOptions.pdpQuantityChange && snapOptions.pdpQuantityChange !== 'undefined') { const quantityTime = setTimeout(() => { clearTimeout(quantityTime); getQuantity(false); loadOnPage(); }, snapOptions.pdpQuantityChange); } miniCartQuickViewFn(); } } if (counter === 10) { clearInterval(id); } }, 1000); }); } } } const getMiniWidgetHtml = (snapOrderValue) => { const priceArray = getPriceArray(); const isMiniCart = getByIdOrClassName(snapOptions.miniCartDivId); if (isMiniCart) { removeExistingElements('.snap_emi_txt_minicart'); return getWidgetForPriceRange(snapOrderValue, priceArray, 'miniCartWidget', snapOptions.miniCartWidget2); } return ''; }; function addminCartLoadPage() { if (eval(snapOptions.shouldHideMiniCartWidget)) { removeExistingElements('.snap_emi_txt_minicart'); return; } let priceTag = ''; if (getByIdOrClassName(snapOptions.miniCartPriceSaleDivId)) { priceTag = getByIdOrClassName(snapOptions.miniCartPriceSaleDivId); } else { if (snapOptions.isSubtotalVisible && snapOptions.isSubtotalVisible !== 'undefined') { priceTag = snapOptions.isSubtotalVisible; } else { priceTag = getByIdOrClassName(snapOptions.miniCartPriceDivId); } } if (snapOptions.miniCartOrderValue && snapOptions.miniCartOrderValue !== 'undefined') { if (!priceTag) return; } if (snapOptions.isTest && snapOptions.isTest !== 'undefined') { if (!priceTag) return; } if (snapOptions.isSubtotalVisible && snapOptions.isSubtotalVisible !== 'undefined') { snapOrderValue = snapOptions.isSubtotalVisible; } else { const parsedValue = parseNum(priceTag?.innerText); if (parsedValue > 0) { snapOrderValue = parsedValue; } else { return; } } if (!priceTag) { return; } if (findPopup() === 0) { let element = getByIdOrClassName('.snap_emi_txt_minicart'); if (element) element.parentNode.removeChild(element); if (snapOptions.miniCartErrorWidgetPage && snapOptions.miniCartErrorWidgetPage !== 'undefined') addingMiniCartErrorWidget(snapOrderValue); return; } else { if (snapOptions.miniCartErrorWidgetPage && snapOptions.miniCartErrorWidgetPage !== 'undefined') removingMiniCartErrorWidget(); } if (priceTag) { const minOrderVal = parseNum(snapOptions.plans[0].minAmount); let parentDiv = ''; parentDiv = getByIdOrClassName(snapOptions.miniCartDivId); if (minOrderVal > snapOrderValue) { let errorWidget = snapOptions.miniCartErrorWidgetPage; getByID('dp').textContent = downPayment; parentDiv.innerHTML = errorWidget; return; } if ( snapOptions.discountPercent && snapOptions.discountPercent !== 'undefined' && snapOptions.showDiscountPercentAll && snapOptions.showDiscountPercentAll !== 'undefined' ) { snapOrderValue = Math.round(snapOrderValue - snapOrderValue * snapOptions.discountPercent); } for (let planIndex = 0; planIndex < snapOptions.plans.length; planIndex++) { const plan=s napOptions.plans[planIndex]; if (snapOrderValue>= plan.minAmount && snapOrderValue <=p lan.maxAmount) { downPayment=M ath.round((snapOrderValue * plan.dpPercent) / 100); emi=M ath.round(parseFloat(snapOrderValue * plan.emiPercent) / 100); } } if (!downPayment) { downPayment=s napOrderValue / 10; } if (!emi) { emi=p arseFloat(snapOrderValue * 10) / 100.0; } let widgetPage=s napOptions.widgetPriceBreakdown && snapOptions.widgetPriceBreakdown !=='undefined' ? getMiniWidgetHtml(snapOrderValue) : snapOptions.miniCartWidgetPage; if (snapOptions.miniCartPayLaterAmount && snapOptions.miniCartPayLaterAmount !=='undefined' ) { widgetPage=g etPayLaterWidget( snapOptions.miniCartPayLaterAmount, snapOptions.miniCartWidgetPage, 'miniCart' ); } let showWidgetExpress=f alse; if (snapOptions.miniCartWidgetExpressUrl && snapOptions.miniCartWidgetExpressUrl !=='undefined' ) { if (checkWhichWidgetToLoadMiniCart(snapOptions.miniCartWidgetExpressUrl)) { widgetPage=s napOptions.checkForMiniCartWidget; showWidgetExpress=t rue; } else { showWidgetExpress=f alse; } } if (snapOptions.isMiniCartEventAdd && snapOptions.isMiniCartEventAdd !=='undefined' ) { let widget=d ocument.querySelector( '.snap_emi_txt_minicart.snap_emi_txt.snap_emi_txt_wrapper'); if (widget) { widget.parentNode.removeChild(widget); } } if (!getByIdOrClassName( '.snap_emi_txt_minicart')) { if (snapOptions.miniCartPosition==='before' ) parentDiv.insertAdjacentHTML( 'beforebegin', widgetPage); else parentDiv.insertAdjacentHTML( 'afterend', widgetPage); } if (snapOptions.changeWidget && snapOptions.changeWidget !=='undefined' && snapOptions.changeWidget !==n ull) { eval(snapOptions.changeWidget); } if (document.querySelector( '.snap_emi_txt_minicart')) addingCssStyle(snapOptions.miniCartStyle, '.snap_emi_txt_minicart'); let elementmini=g etByIdOrClassName( '#sm-widget-btn.snap_emi_txt_minicart '); elementmini.setAttribute( 'data-widget_mini', snapOrderValue); var dp=d ocument.querySelectorAll( '.dp-class_minicart'); if (dp.length> 0) { dp.forEach((element) => { if (snapOptions.miniCartshowPaywidgetEmii == 'true') { element.textContent = emi; } else { element.textContent = downPayment; } }); } updateCashbackWidgetMiniCart(snapOptions.miniCartCashbackText); if (snapOptions.merchantLogo && snapOptions.merchantLogo !== 'undefined') { whiteLabelChange(); } if (snapOptions.addingDynamicPlan && snapOptions.addingDynamicPlan !== 'undefined') { addDynamicPlanMiniCart(); } if (snapOptions.isAbTest && snapOptions.isAbTest !== 'undefined') { addDynamicData(); } if (snapOptions.isCashbackCoupon && snapOptions.isCashbackCoupon !== 'undefined') { if (!window.location.href.includes(snapOptions.cartUrl)) { if (!getDynamicJsCookie('snapmintDynamicJscookie')) { addClassForAutoMaticCoupon(snapOrderValue, true); } } } if (snapOptions.isMiniCartEventAdd && snapOptions.isMiniCartEventAdd !== 'undefined') { MiniCartOpen(); } if (snapOptions.miniCartWidgetExpressUrl && snapOptions.miniCartWidgetExpressUrl !== 'undefined') { if (showWidgetExpress === false) { let element = document.querySelector('#sm-widget-btn.snap_emi_txt_minicart'); if (element) { element.style.border = 'none'; element.classList.add('widget_express_on_url_minicart'); } } } } } function addingMiniCartErrorWidget(snapOrderValue) { const minOrderVal = parseNum(snapOptions.plans[0].minAmount); if (minOrderVal > snapOrderValue) { let parentDiv = getByIdOrClassName(snapOptions.miniCartDivId); let widgetPage = snapOptions.miniCartErrorWidgetPage; if (!getByIdOrClassName('.snap_emi_txt_minicart')) { if (snapOptions.miniCartPosition === 'before') parentDiv.insertAdjacentHTML('beforebegin', widgetPage); else parentDiv.insertAdjacentHTML('afterend', widgetPage); } if (document.querySelector('.snap_emi_txt_minicart')) addingCssStyle(snapOptions.miniCartStyle, '.snap_emi_txt_minicart'); let dp = document.querySelectorAll('.dp-class_minicart'); if (dp.length > 0) { dp.forEach((element) => { element.textContent = minOrderVal; }); } } } function removingMiniCartErrorWidget() { if (getByIdOrClassName('.error_widget_minicart')) { let element = getByIdOrClassName('.error_widget_minicart'); element.parentNode.removeChild(element); } } function addinMiniCartOnHover() { let counter = 1; let id = setInterval(() => { let mini_cart = getByIdOrClassName('cart-drawer[open] .cart-drawer__footer .lightly-spaced-row'); counter++; if (mini_cart) { snapOptions.miniCartPopupPage1 = ` Document
`; snapOptions.miniCartPopupPage2 = ``; snapOptions.miniCartPopupPage3 = ``; snapOptions.miniCartPopupPage4 = ``; snapOptions.miniCartWidgetPage = ` Document
X Pay Later
Powered by
`; snapOptions.miniCartDivId = 'cart-drawer[open] .cart-drawer__footer .lightly-spaced-row'; snapOptions.miniCartshowPaywidgetEmi = ''; snapOptions.miniCartPriceDivId = 'cart-drawer[open] .cart-drawer__footer .subtotal .theme-money'; snapOptions.miniCartErrorWidgetPage = ``; snapOptions.miniCartProductNameDivId = ''; snapOptions.miniCartPriceSaleDivId = 'cart-drawer[open] .cart-drawer__footer .subtotal .theme-money'; snapOptions.miniCartQuantityDivId = ''; snapOptions.miniCartVariantDivId = ''; snapOptions.miniCartStyle = `.snap-emi-slogan div .snap_buy_now_btn {content: url("https://assets.snapmint.com/assets/merchant/buy_on_emis_black_new.svg");}.snap_emi_txt_minicart .snap-emi-slogan {display: flex !important;width: 100% !important;color: #090909 !important;font-family: inherit;padding-bottom: 4px !important;}.snap-emi-inst b:first-child b {font-weight: 700 !important;}.cart-notification.active #sm-widget-btn.snap_emi_txt_minicart {margin-top: 5px;margin-bottom: 10px;border: none;margin-left: 0;padding-top: 0px;letter-spacing: normal;border-radius: 9px;background: transparent;padding: 0px;}@media (min-width: 330px) and (max-width: 360px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.45vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 361px) and (max-width: 375px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.45vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 376px) and (max-width: 390px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.55vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.55vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 391px) and (max-width: 405px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.56vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 406px) and (max-width: 420px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.6vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 421px) and (max-width: 435px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.65vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}@media (min-width: 436px) and (max-width: 450px) {.snap_emi_txt_minicart .snap-emi-slogan span {font-size: 3.65vw !important;}.snap_emi_txt_minicart .snap-emi-inst {font-size: 4.65vw !important;padding-bottom: 5px !important;}.snap_emi_txt_minicart .snap-emi-slogan img.snap_upi_widget_img {width: 9.5vw !important;margin-bottom: -5px;}#sm-widget-btn.snap_emi_txt_minicart .snap_widget_powered_text img {width: 17vw !important;}.snap_emi_txt_minicart .snap-emi-slogan div .snap_buy_now_btn {width: 18vw !important;}}.product-info__block-item #sm-widget-btn {margin-top: -7px;margin-bottom: -20px;}.snap-emi-inst {margin-bottom: -1px;}@media only screen and (max-width: 800px) {#sm-widget-btn {}.cart_main__container #sm-widget-btn.snap_emi_txt_minicart {margin: 10px auto -5px !important;}}.cart_main__container #sm-widget-btn.snap_emi_txt_minicart {margin: 10px auto -5px !important;}#snap-modalon_page .modal-wrpr.three_pies_normal_popup {height: 435px !important;}.snap_emi_txt_minicart .snap-emi-slogan {-webkit-text-size-adjust: 89%;}.snap_emi_txt_minicart .snap-emi-inst {-webkit-text-size-adjust: 89%;font-size: 18.5px;font-weight: 400 !important;font-family: inherit!important;display: flex;align-items: center;padding-bottom: 4px;line-height: 19px !important;}.snap-emi-slogan div .snap_buy_now_btn {content: url("https://assets.snapmint.com/assets/merchant/buy-on-emi-black-candytech.svg");width: 75px !important;margin-left: 1px !important;}.snap_emi_txt_minicart .snap_powered_text, .snap_emi_txt_minicart .snap_merchant_logo_add_widget, .snap_emi_txt_minicart .white_label_comany_name, .pay_snmpt, .later_snmpt, .snap_emi_txt_minicart .snap_first_line_dot {display: none !important;}span.snap_widget_powered_text {margin-bottom: 0 !important;}.snap-emi-slogan img.snap_upi_widget_img {margin-bottom: -6px;margin-left: 1px !important;width: 39px;}span.snap_emi_white_month_text.first_line_snmpt {margin-right: 5px;}span.snap_emi_slogan_text {font-size: 15px !important;}.snap_emi_txt_minicart .snap_widget_powered_text img {width: 80px !important;margin-left: 0px !important;}span.payment_page_snap.cashback_text_widget {padding-bottom: 3px;font-size: 10.5px !important;cursor: pointer;font-weight: 500;font-family: inter;}.coupenDiv .snap_tkt_right_section_img {display: none !important;}.snap_ordr_summary .snap_margin_top_coupon_error {margin-top: -14px !important;}.snap_ordr_summary .snap_product_price {padding-top: 25px !important;}#snap-modalon_page .applied_strip .snap_total_order_value_section.snap_product_price {padding: 9px 11px 0px;}#snap-modalon_page .snap_total_order_value_section.snap_padidng_tp {padding: 2px 11px 7px;}#snap-modalon_page .coupoun_discount .modal-wrpr {height: 574px;}.snap_emi_txt_minicart .snap-emi-inst b:nth-child(2), .snap_emi_txt_minicart .snap-emi-inst b:nth-child(3) {color: #97000b;}span.downPayment {font-family: Open Sans;}.snap_dp_amt_font_weight {font-family: "Roboto" !important;}.snap-emi-inst b:nth-child(2) {display: none !important;}.snap-emi-inst .dp-class_minicart::before {content: "Rs.";}#sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst b:nth-child(2), #sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst b:nth-child(3) {background: #AFE137;color: #000;font-weight: 700 !important;line-height: 17px;padding: 1px 4px 1px 4px;margin-left: 4px;border-radius: 5px;}#snap-modalon_page .modal-wrpr.three_pies_normal_popup {height: 440px !important;}.snap-emi-slogan .snap_grey_dot {margin-left: 5px;margin-right: 5px;}.snap_emi_txt_minicart .snap_widget_powered_text img {width: 70px !important;margin-right: 3px;}.cart-notification.active #sm-widget-btn.snap_emi_txt_minicart .snap-emi-inst {font-size: 22px !important;}#sm-widget-btn.snap_emi_txt_minicart img.snap_merchant_logo_add_widget {display: none !important;}#sm-widget-btn.snap_emi_txt_minicart {border: 1px solid black !important;padding: 0 5px !important;margin-left: auto;margin-right: auto;margin-top: -6px;}`; snapOptions.miniCartPosition = 'after'; snapOptions.miniCartQuantityParentDivId = 'cart-drawer[open] .cart-item-list__body .cart-item__quantity'; snapOptions.miniCartVariantParentDivId = ''; snapOptions.miniCartMobileDivId = ''; clearInterval(id); addChangeEventListener( snapOptions.miniCartQuantityParentDivId, snapOptions.miniCartVariantParentDivId, true ); addminCartLoadPage(); const delayTimeValue = getDelayTimeValue(true); if (delayTimeValue !== undefined && delayTimeValue !== 'undefined') { let delayTime = 500; delayTime = parseInt(delayTimeValue); let delayId = setTimeout(() => { addChangeEventListener( snapOptions.miniCartQuantityParentDivId, snapOptions.miniCartVariantParentDivId, true ); addminCartLoadPage(); clearTimeout(delayId); }, delayTime); } } if (counter === 10) { clearInterval(id); } }, 1000); } function addListenerForRemoveMiniCartFn() { let allElement = document.querySelectorAll(snapOptions.removeMiniCartWidget); if (allElement) { allElement.forEach((element) => { element.addEventListener('click', () => { if (snapOptions.isMultiCheckAjax && snapOptions.isMultiCheckAjax !== 'undefined') { let id = setTimeout(() => { MiniCartOpen(snapOptions.isMultiCheckAjax, true); clearTimeout(id); }, 2000); } let widget = document.querySelector('.snap_emi_txt_minicart'); if (widget) { widget.parentNode.removeChild(widget); getQuantity(false); loadOnPage(); } else { if (snapOptions.isMinCartRemoveReload && snapOptions.isMinCartRemoveReload !== 'undefined') { getQuantity(false); loadOnPage(); } } }); }); } } function removeMiniCartWidgetFn() { let allElement = document.querySelectorAll(snapOptions.removeMiniCartWidget); if (allElement) { allElement.forEach((element) => { let widget = document.querySelector('.snap_emi_txt_minicart'); if (widget) { widget.parentNode.removeChild(widget); } }); } } function checkWhichWidgetToLoadMiniCart(miniCartWidgetExpressUrl) { let value = false; let allElement = document.querySelectorAll(miniCartWidgetExpressUrl); if (allElement.length > 0) { allElement.forEach((element) => { let list = snapOptions.miniCartWidgetShowText.split(','); list.forEach((item) => { if (element.href) { if (element.href.includes(item)) { value = true; } } }); }); } return value; } function createCartFromMiniCart(minCartLoadPage = false) { fetchDataForShopify(minCartLoadPage); if (snapOptions.closeMiniCartDrawer && snapOptions.closeMiniCartDrawer !== 'undefined') { return; } var WrapCLose = document.querySelector("button[data-drawer-id='sidebar-cart']"); if (!WrapCLose) { WrapCLose = document.querySelector('#CartDrawer.drawer--is-open .drawer__close-button'); } if (snapOptions.closeMiniCart && snapOptions.closeMiniCart !== 'undefined') { WrapCLose = document.querySelector(snapOptions.closeMiniCart); } if (WrapCLose) { WrapCLose.click(); } } function miniCartQuickViewFn() { if (snapOptions.miniCartQuickView && snapOptions.miniCartQuickView !== 'undefined') { if (document.querySelector(snapOptions.miniCartQuickView)) { if (snapOptions.isQuickViewCheckout && snapOptions.isQuickViewCheckout !== 'undefined') { addOnClickForCheckingQuickView(); } } } } function addOnClickForCheckingQuickView() { const element = document.querySelectorAll(snapOptions.isQuickViewCheckout); if (element) { element.forEach((element) => { element.addEventListener('click', () => { let counter = 1; let id = setInterval(() => { counter++; if (counter === 10) { clearInterval(id); } let checkoutBtn = document.querySelectorAll(snapOptions.newCheckoutForQuickView); if (checkoutBtn) { clearInterval(id); MiniCartOpen(snapOptions.newCheckoutForQuickView, true, true); } }, 1000); }); }); } } function changeMiniCartOrderValue() { if (getByIdOrClassName(snapOptions.miniCartDivId)) { if (snapOptions.onWebsiteCoupon && snapOptions.onWebsiteCoupon !== 'undefined') { snapOrderValue = productdesc.snapOrderValue; orderValueNotChange = productdesc.snapOrderValue; } } }