{"version":3,"sources":["ecom.cart.js"],"names":["e4","cart","storageKeyInternalBackLink","cartData","init","jQuery","length","require","js","settings","handlebars","registerHelpers","registerTemplates","event","util","registerEvents","saveInternalBackLink","bindEvents","orderline","load","msg","disableActions","jsonData","orderlines","addClass","hide","removeClass","show","document","referrer","indexOf","location","protocol","host","sessionStorage","setItem","goToInternalBackLink","strInternalBackLink","getItem","preventDefault","href","on","find","removeAll","key","value","formData","FormData","target","params","URLSearchParams","entries","append","fetch","action","then","resp","json","submitBtn","querySelector","feedbackBtn","classList","add","remove","window","setFeeClipPath","ajax","objAjaxSettings","fnCallback","jCart","orderContext","data","let","url","ecom","extend","method","dataType","cache","beforeSend","done","trigger","updateContent","loading","resolveWait","loaded","strBacklink","CartCmd","Redirect","reload","addProduct","objProductFormData","jDocument","jForm","ref","objProductData","ProductID","VariantID","Quantity","isPlainObject","type","productadd","strOrderlineId","isArray","lastAdded","objProductLastAdded","getIdByProduct","setFocus","updateQuantityInfo","productadded","removeProduct","currentValueCalculated","feeElement","feeElementWidth","offsetWidth","progressInPixel","documentElement","style","setProperty","update","html","tmpl","cartOrderlines","orderSummary","updated","tooltip","getElementById","feeShippingLimit","shippingLimitCalculated","feeLimitCalculated","objCart","jCartQuantity","jCartCount","isNumeric","productQuantity","empty","productLinesCount","toggleFocus","debounce","debounceDelay","input","saveComment","hideCommentHelpText","delete","designViewer","orderLine","closest","console","log","id","designerData","designProductorderLines","ol","setAttribute","JSON","stringify","title","productDesignerData","views","map","v","image","domNode","intOrderlineQuantityOriginal","jOrderline","intOrderlineQuantity","parseInt","val","orderlineincrease","orderlinedecrease","serialize","attr","updateObj","jOrderLines","objOrderlineData","jRelatedInputs","jDesignerInputs","jVariantRelatedInputsCount","updateXhr","deleteMainOrderline","orderlinedelete","slideUp","orderlinedeleted","currencyCode","name","productName","number","productNumber","price","productPrice","quantity","product","brandCode","brandName","variant","colorVariantText","not","each","index","domOrderLine","productId","domDesignerInput","domRelatedInput","domInput","join","noop","showCommentHelpText","prop","strId","filter","focus","objProduct","strReturnValue","variantId","select","timeout","jBody","is","clearTimeout","setTimeout","addEventListener","productLineQuantity","detail","text","jCartMsg","lastAddedHtml","setPosition","modal","objPosition","jCartMsgDialog","jHeader","jNavItemCart","first","objCartMsgPosition","isEmptyObject","objCartMsgReferencePosition","get","getBoundingClientRect","top","hasClass","Math","floor","bottom","right","width","left","maxWidth","css","msgHideDelay"],"mappings":"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","file":"ecom.cart.js","sourcesContent":["e4.cart = {\r\n storageKeyInternalBackLink: 'e4.cart.internalBackLink',\r\n cartData: {},\r\n init: function () {\r\n if (jQuery('.js-e-cart-form').length === 1) {\r\n e4.require.js(e4.settings.require.handlebars, function () {\r\n e4.handlebars.registerHelpers('compare hasRelatedProductOrderline getRelatedProductOrderlineId getDesignOrderLineGroupProductCount');\r\n e4.handlebars.registerTemplates('#js-e-handlebars-tmpl-cart-orderlines #js-e-handlebars-tmpl-order-summary');\r\n // ATTENTION: Please note that all product-add/remove events are trigger on jQuery( document ) and not\r\n // the cart element.\r\n e4.cart.event = e4.util.registerEvents('load loaded update updated productadd productadded productremove productremoved orderlinedelete orderlinedeleted orderlineincrease orderlinedecrease', 'cart');\r\n e4.cart.saveInternalBackLink();\r\n e4.cart.bindEvents();\r\n e4.cart.orderline.bindEvents();\r\n e4.cart.load();\r\n });\r\n } else if (jQuery('.js-e-cart-quantity').length > 0) {\r\n e4.cart.event = e4.util.registerEvents('productadd productadded productremove productremoved', 'cart');\r\n //e4.cart.updateQuantityInfo();\r\n e4.cart.msg.init();\r\n }\r\n },\r\n disableActions: function (jsonData) {\r\n if (jsonData.cart.orderlines.length === 0) {\r\n jQuery('.js-e-checkout-btn').addClass('disabled');\r\n jQuery('.js-identity-clear-cart').hide();\r\n } else {\r\n jQuery('.js-e-checkout-btn').removeClass('disabled');\r\n jQuery('.js-identity-clear-cart').show();\r\n }\r\n },\r\n saveInternalBackLink: function () {\r\n if (document.referrer.indexOf(location.protocol + '//' + location.host) === 0 && document.referrer.indexOf('/shop/cart/checkout') === -1) {\r\n sessionStorage.setItem(e4.cart.storageKeyInternalBackLink, document.referrer);\r\n }\r\n },\r\n goToInternalBackLink: function (event) {\r\n var strInternalBackLink = sessionStorage.getItem(e4.cart.storageKeyInternalBackLink);\r\n if (strInternalBackLink !== null && strInternalBackLink.indexOf(location.protocol + '//' + location.host) === 0) {\r\n event.preventDefault();\r\n location.href = strInternalBackLink;\r\n }\r\n },\r\n bindEvents: function () {\r\n jQuery(document).on('click', '.js-e-cart-back-link', e4.cart.goToInternalBackLink).find('.js-e-cart-form').on('submit', function (event) {\r\n event.preventDefault();\r\n });\r\n jQuery('.js-e-cart').on('click', '.js-identity-clear-cart', function (event) {\r\n event.preventDefault();\r\n e4.cart.removeAll();\r\n });\r\n jQuery(document).on('submit', '.js-productdesigner-send-cart-mail-form', (event) =>{\r\n event.preventDefault();\r\n const formData = new FormData(event.target);\r\n\r\n const params = new URLSearchParams();\r\n for (const [key, value] of formData.entries()) {\r\n params.append(key, value);\r\n }\r\n \r\n const request = fetch(`${event.target.action}?${params}`);\r\n request.then(resp => resp.json()).then(() =>{\r\n const submitBtn = event.target.querySelector('button[type=\"submit\"]');\r\n const feedbackBtn = event.target.querySelector('.js-productdesigner-send-cart-mail-feedback');\r\n submitBtn.classList.add('d-none');\r\n feedbackBtn.classList.remove('d-none');\r\n });\r\n })\r\n jQuery(window).on('resize', e4.cart.setFeeClipPath);\r\n },\r\n ajax: function (objAjaxSettings, fnCallback) {\r\n var jCart = jQuery('.js-e-cart');\r\n const orderContext = jCart.data('context');\r\n \r\n let url = e4.settings.ecom.cart.url;\r\n \r\n if(orderContext){\r\n url = `${e4.settings.ecom.cart.url}?OrderContext=${orderContext}`;\r\n }\r\n \r\n var jqXHR = jQuery.ajax(jQuery.extend({\r\n url: url,\r\n method: 'POST',\r\n dataType: 'json',\r\n cache: false,\r\n beforeSend: function () {\r\n if (jCart.length === 1) {\r\n jQuery('.js-e-cart-main, .js-e-cart-aside').find('.js-e-loading-overlay').addClass('is-loading');\r\n }\r\n }\r\n }, objAjaxSettings));\r\n jqXHR.done(function (data) {\r\n if (typeof fnCallback === 'function') {\r\n e4.cart.cartData = data;\r\n fnCallback(data);\r\n }\r\n if (jCart.length === 1) {\r\n jQuery('.js-e-cart-main, .js-e-cart-aside').find('.js-e-loading-overlay').removeClass('is-loading');\r\n }\r\n });\r\n },\r\n load: function () {\r\n var jCart = jQuery('.js-e-cart');\r\n jCart.trigger(e4.cart.event.load);\r\n e4.cart.ajax({\r\n method: 'GET'\r\n }, function (jsonData) {\r\n e4.cart.updateContent(jsonData);\r\n\r\n e4.loading.resolveWait('.js-e-cart-main');\r\n e4.loading.resolveWait('.js-e-cart-aside');\r\n jCart.trigger(e4.cart.event.loaded);\r\n });\r\n },\r\n removeAll: function () {\r\n var strBacklink = sessionStorage.getItem('e4.cart.internalBackLink');\r\n var jCart = jQuery('.js-e-cart');\r\n const orderContext = jCart.data('context');\r\n\r\n let url = location.href;\r\n\r\n if(orderContext){\r\n url = `${location.href}?OrderContext=${orderContext}`;\r\n }\r\n\r\n jQuery.ajax({\r\n url: url,\r\n method: 'GET',\r\n beforeSend: function () {\r\n jQuery('.js-e-cart-main, .js-e-cart-aside').find('.js-e-loading-overlay').addClass('is-loading');\r\n },\r\n data: {\r\n CartCmd: 'emptyCart',\r\n Redirect: false\r\n }\r\n }).done(function () {\r\n if (strBacklink !== null && strBacklink !== '') {\r\n location.href = strBacklink;\r\n } else {\r\n location.reload();\r\n }\r\n\r\n });\r\n },\r\n addProduct: function (objProductFormData, fnCallback) {\r\n var jDocument = jQuery(document),\r\n jCart = jDocument.find('.js-e-cart'),\r\n jForm = jQuery(objProductFormData.ref) || null;\r\n var objProductData = {\r\n CartCmd: 'add',\r\n ProductID: '',\r\n VariantID: '',\r\n Quantity: 1,\r\n Redirect: false\r\n };\r\n if (jForm !== null) {\r\n jForm.find('[type=\"submit\"]').addClass('adding-to-cart');\r\n delete objProductFormData.ref;\r\n }\r\n\r\n if (jQuery.isPlainObject(objProductFormData)) {\r\n jQuery.extend(objProductData, objProductFormData);\r\n } else if (jQuery.type(objProductFormData) === 'string') {\r\n objProductData.ProductID = objProductFormData;\r\n }\r\n jDocument.trigger(e4.cart.event.productadd, objProductData);\r\n e4.cart.ajax({\r\n data: objProductData\r\n }, function (jsonData) {\r\n if (jCart.length === 1) {\r\n e4.cart.updateContent(jsonData);\r\n if (jQuery.isArray(jsonData.cart.lastAdded) === true) {\r\n var objProductLastAdded = jsonData.cart.lastAdded[jsonData.cart.lastAdded.length - 1],\r\n strOrderlineId = e4.cart.orderline.getIdByProduct(objProductLastAdded);\r\n e4.cart.orderline.setFocus(strOrderlineId);\r\n }\r\n\r\n }\r\n e4.cart.updateQuantityInfo(jsonData.cart);\r\n if (typeof fnCallback === 'function') {\r\n fnCallback(jsonData);\r\n }\r\n if (jForm !== null) {\r\n jForm.find('[type=\"submit\"]').removeClass('adding-to-cart');\r\n }\r\n jDocument.trigger(e4.cart.event.productadded, jsonData);\r\n });\r\n },\r\n removeProduct: function () {\r\n },\r\n currentValueCalculated: 0,\r\n setFeeClipPath: () => {\r\n const feeElement = document.querySelector('.js-free-shipping-bar--mask');\r\n if (feeElement !== null) {\r\n const feeElementWidth = feeElement.offsetWidth;\r\n const progressInPixel = ((e4.cart.currentValueCalculated / 100) * (feeElementWidth));\r\n document.documentElement.style.setProperty('--feeShippingProgress', `${progressInPixel}px`);\r\n }\r\n },\r\n updateContent: function (jsonData) {\r\n var jCart = jQuery('.js-e-cart');\r\n jCart.trigger(e4.cart.event.update);\r\n jCart.find('.js-e-cart-orderlines').html(e4.handlebars.tmpl.cartOrderlines(jsonData));\r\n jCart.find('.js-e-order-summary').html(e4.handlebars.tmpl.orderSummary(jsonData));\r\n e4.cart.updateQuantityInfo(jsonData.cart);\r\n jCart.trigger(e4.cart.event.updated, jsonData);\r\n jQuery('[data-toggle=\"tooltip\"]').tooltip();\r\n e4.cart.disableActions(jsonData);\r\n if(document.getElementById('free-shipping-bar') !== null){\r\n document.documentElement.style.setProperty('--shippingLabelLeft', `${jsonData.cart.feeShippingLimit.shippingLimitCalculated}%`);\r\n document.documentElement.style.setProperty('--feeLabelLeft', `${jsonData.cart.feeShippingLimit.feeLimitCalculated}%`);\r\n e4.cart.currentValueCalculated = jsonData.cart.feeShippingLimit.currentValueCalculated;\r\n e4.cart.setFeeClipPath();\r\n }\r\n \r\n },\r\n updateQuantityInfo: function (objCart = null) {\r\n var jCart = jQuery('.js-e-cart'),\r\n jCartQuantity = jQuery('.js-e-cart-quantity'),\r\n jCartCount = jQuery('.js-e-cart-count');\r\n if (jCartQuantity.length > 0 && jCart.length === 0) {\r\n if (objCart === null) {\r\n e4.cart.ajax({\r\n method: 'GET'\r\n }, function (jsonData) {\r\n if (jQuery.isNumeric(jsonData.cart.productQuantity) === true) {\r\n e4.cart.updateQuantityInfo(jsonData.cart);\r\n }\r\n });\r\n } else if (objCart.productQuantity === 0) {\r\n jCartQuantity.empty();\r\n } else {\r\n jCartQuantity.html(objCart.productQuantity);\r\n }\r\n }\r\n if (jCartCount.length > 0) {\r\n if (objCart === null) {\r\n e4.cart.ajax({\r\n method: 'GET'\r\n }, function (jsonData) {\r\n if (jQuery.isNumeric(jsonData.cart.productLinesCount) === true) {\r\n e4.cart.updateQuantityInfo(jsonData.cart);\r\n }\r\n });\r\n } else if (objCart.productLinesCount === 0) {\r\n jCartCount.empty();\r\n } else {\r\n jCartCount.html(objCart.productLinesCount);\r\n }\r\n }\r\n },\r\n orderline: {\r\n bindEvents: function () {\r\n jQuery('.js-e-cart-form')\r\n .on('focus blur', '.js-e-orderline-quantity-input', e4.cart.orderline.toggleFocus)\r\n .on('input', '.js-e-orderline-quantity-input', e4.util.debounce(function (event) {\r\n e4.cart.orderline.update(event.target);\r\n }, e4.settings.debounceDelay.input * 3))\r\n .on('input', '.js-e-orderline-comment-input', e4.util.debounce(function (event) {\r\n e4.cart.orderline.saveComment(event.target);\r\n }, e4.settings.debounceDelay.input * 2))\r\n .on('input', '.js-e-orderline-comment-input', function (event) {\r\n e4.cart.orderline.hideCommentHelpText(event.target);\r\n })\r\n .on('click', '.js-e-orderline-update-btn', function (event) {\r\n event.preventDefault();\r\n e4.cart.orderline.update(event.target);\r\n })\r\n .on('click', '.js-e-orderline-delete-btn', function (event) {\r\n event.preventDefault();\r\n e4.cart.orderline.delete(event.target);\r\n })\r\n .on('click', '.js-preview-design-btn', function (event) {\r\n const designViewer = document.querySelector('designer-viewer');\r\n const data = e4.cart.cartData;\r\n const orderLine = event.target.closest('.js-e-orderline');\r\n console.log('orderLine', orderLine.id);\r\n const designerData = data.cart.designProductorderLines.find(ol => ol[0].id === orderLine.id)[0];\r\n console.log(designerData);\r\n designViewer.setAttribute('designs', JSON.stringify({\r\n title: designerData.productDesignerData.title,\r\n views: designerData.productDesignerData.views.map(v => v.image )\r\n }));\r\n designViewer.setAttribute('show', true);\r\n \r\n })\r\n },\r\n update: function (domNode) {\r\n var jOrderline = jQuery(domNode).closest('.js-e-orderline'),\r\n intOrderlineQuantity = parseInt(jOrderline.find('.js-e-orderline-quantity-input').val());\r\n if (intOrderlineQuantity !== 0) {\r\n var jForm = jOrderline.closest('.js-e-cart-form'),\r\n jCart = jForm.closest('.js-e-cart'),\r\n intOrderlineQuantityOriginal = parseInt(jOrderline.data('product-quantity'));\r\n if (intOrderlineQuantity > intOrderlineQuantityOriginal) {\r\n jCart.trigger(e4.cart.event.orderlineincrease);\r\n } else if (intOrderlineQuantity < intOrderlineQuantityOriginal) {\r\n jCart.trigger(e4.cart.event.orderlinedecrease);\r\n }\r\n jForm.find('.js-e-cart-form-cartcmd').val('updateorderlines');\r\n e4.cart.ajax({\r\n data: jForm.serialize()\r\n }, function (jsonData) {\r\n e4.cart.updateContent(jsonData);\r\n e4.cart.orderline.setFocus(jOrderline.attr('id'));\r\n\r\n });\r\n }\r\n },\r\n delete: function (domNode) {\r\n var jCart = jQuery('.js-e-cart'),\r\n jOrderline = jQuery(domNode).closest('.js-e-orderline'),\r\n jOrderLines = jCart.find('.js-e-orderline'),\r\n objOrderlineData = jOrderline.data(),\r\n jRelatedInputs = jOrderline.find('.js-identity-orderline-related-id'),\r\n jDesignerInputs = jOrderline.find('.js-identity-orderline-designer-id'),\r\n jVariantRelatedInputsCount = 0,\r\n updateXhr = null;\r\n\r\n const orderContext = jCart.data('context');\r\n\r\n let url = e4.settings.ecom.cart.url;\r\n\r\n if(orderContext){\r\n url = `${e4.settings.ecom.cart.url}?OrderContext=${orderContext}`;\r\n }\r\n\r\n\r\n jOrderLines.not(`[id=\"${jOrderline.attr('id')}\"]`).each(function (index, domOrderLine) {\r\n var jVariantRelatedInputs = jQuery(domOrderLine).find(`.js-identity-orderline-related-id[data-product-id=\"${objOrderlineData.productId}\"]`);\r\n if (jVariantRelatedInputs.length > 0) {\r\n jVariantRelatedInputsCount++;\r\n }\r\n });\r\n \r\n if(jDesignerInputs.length > 0){\r\n var updateObj = {\r\n Redirect: false,\r\n CartCmd: 'updateorderlines'\r\n };\r\n updateObj[`QuantityOrderLine${jOrderline.attr('id')}}`] = 0;\r\n jDesignerInputs.each(function (index, domDesignerInput) {\r\n updateObj[`QuantityOrderLine${domDesignerInput.value}`] = 0;\r\n });\r\n \r\n\r\n updateXhr = jQuery.ajax({\r\n url: url,\r\n method: 'POST',\r\n dataType: 'json',\r\n cache: false,\r\n data: updateObj\r\n });\r\n }\r\n\r\n\r\n if (jRelatedInputs.length > 0 && jVariantRelatedInputsCount === 0) {\r\n var updateObj = {\r\n Redirect: false,\r\n CartCmd: 'updateorderlines'\r\n };\r\n jRelatedInputs.each(function (index, domRelatedInput) {\r\n updateObj[`QuantityOrderLine${domRelatedInput.value}`] = 0;\r\n });\r\n\r\n updateXhr = jQuery.ajax({\r\n url: url,\r\n method: 'POST',\r\n dataType: 'json',\r\n cache: false,\r\n data: updateObj\r\n });\r\n }\r\n\r\n if (updateXhr !== null) {\r\n updateXhr.done(function () {\r\n deleteMainOrderline(jOrderline, jCart);\r\n });\r\n } else {\r\n deleteMainOrderline(jOrderline, jCart);\r\n }\r\n\r\n\r\n function deleteMainOrderline(jOrderline, jCart) {\r\n jCart.trigger(e4.cart.event.orderlinedelete);\r\n\r\n e4.cart.ajax({\r\n data: {\r\n key: jOrderline.attr('id'),\r\n CartCmd: 'delorderline',\r\n Redirect: false\r\n }\r\n }, function (jsonData) {\r\n\r\n if (jOrderline.closest('.js-e-cart-msg-content').length > 0) {\r\n jOrderline.slideUp('fast', function () {\r\n e4.cart.msg.hide();\r\n e4.cart.updateQuantityInfo();\r\n });\r\n } else {\r\n e4.cart.updateContent(jsonData);\r\n }\r\n jCart.trigger(e4.cart.event.orderlinedeleted, {\r\n currencyCode: jsonData.cart.currencyCode,\r\n name: objOrderlineData.productName,\r\n number: objOrderlineData.productNumber,\r\n price: objOrderlineData.productPrice,\r\n quantity: objOrderlineData.productQuantity,\r\n product: {\r\n brandCode: objOrderlineData.brandCode,\r\n brandName: objOrderlineData.brandName,\r\n variant: objOrderlineData.colorVariantText\r\n }\r\n });\r\n });\r\n }\r\n },\r\n saveComment: function (domInput) {\r\n e4.cart.ajax({\r\n data: [\r\n domInput.name,\r\n domInput.value\r\n ].join('='),\r\n beforeSend: jQuery.noop\r\n }, function () {\r\n e4.cart.orderline.showCommentHelpText(domInput);\r\n });\r\n },\r\n showCommentHelpText: function (domInput) {\r\n jQuery(domInput).closest('.form-group').find('.js-e-orderline-comment-help-text').prop('hidden', false);\r\n },\r\n hideCommentHelpText: function (domInput) {\r\n jQuery(domInput).closest('.form-group').find('.js-e-orderline-comment-help-text').prop('hidden', true);\r\n },\r\n setFocus: function (strId) {\r\n if (strId !== '') {\r\n var jOrderline = jQuery('.js-e-orderline').filter('#' + strId);\r\n if (jOrderline.length === 1) {\r\n jOrderline.find('.js-e-orderline-quantity-input').focus();\r\n }\r\n }\r\n },\r\n getIdByProduct: function (objProduct) {\r\n var strReturnValue = '',\r\n jOrderline = jQuery('.js-e-orderline').filter('[data-product-id=\"' + objProduct.id + '\"][data-product-variant-id=\"' + objProduct.variantId + '\"]');\r\n if (jOrderline.length === 1) {\r\n strReturnValue = jOrderline.attr('id');\r\n }\r\n return strReturnValue;\r\n },\r\n toggleFocus: function (event) {\r\n var jOrderline = jQuery(event.target).closest('.js-e-orderline');\r\n if (event.type === 'focusin') {\r\n jQuery(event.target).select();\r\n jOrderline.addClass('has-focus');\r\n } else {\r\n jOrderline.removeClass('has-focus');\r\n }\r\n }\r\n },\r\n msg: {\r\n timeout: null,\r\n init: function () {\r\n if (jQuery('#js-e-cart-msg').length === 1) {\r\n e4.cart.msg.bindEvents();\r\n }\r\n },\r\n bindEvents: function () {\r\n var jBody = jQuery('body');\r\n jQuery('#js-e-cart-msg').on('show.bs.modal', function () {\r\n jBody.addClass('modal-open-no-adjustment');\r\n }).on('hidden.bs.modal', function () {\r\n jBody.removeClass('modal-open-no-adjustment');\r\n }).on('click', function (event) {\r\n if (jQuery(event.target).is('#js-e-cart-msg') === true) {\r\n e4.cart.msg.hide();\r\n }\r\n }).on('click', '.js-e-orderline-delete-btn', function (event) {\r\n event.preventDefault();\r\n e4.cart.orderline.delete(event.target);\r\n }).find('.modal-dialog').on('mouseenter', e4.cart.msg.clearTimeout).on('mouseleave', e4.cart.msg.setTimeout);\r\n jQuery(document).on(e4.cart.event.productadded, function (event, jsonData) {\r\n e4.cart.msg.show(jsonData);\r\n });\r\n document.addEventListener('identity:design:added', (event) =>{\r\n const productLineQuantity = event.detail.cart.productQuantity;\r\n if(productLineQuantity > 0){\r\n jQuery('.js-e-design-cart-quantity').text(productLineQuantity);\r\n jQuery('.js-e-design-cart').removeClass('d-none');\r\n }\r\n \r\n })\r\n jQuery(document).on(e4.cart.event.productadded, function (event, jsonData) {\r\n e4.cart.msg.show(jsonData);\r\n });\r\n },\r\n show: function (jsonData) {\r\n var jCartMsg = jQuery('#js-e-cart-msg');\r\n jCartMsg.find('.js-e-cart-msg-content').html(jsonData.cart.lastAddedHtml);\r\n e4.cart.msg.clearTimeout();\r\n e4.cart.msg.setPosition();\r\n jCartMsg.modal('show');\r\n e4.cart.msg.setTimeout();\r\n },\r\n hide: function () {\r\n e4.cart.msg.clearTimeout();\r\n var jCartMsg = jQuery('#js-e-cart-msg');\r\n jCartMsg.modal('hide');\r\n },\r\n setPosition: function (objPosition) {\r\n var jCartMsgDialog = jQuery('#js-e-cart-msg').find('.modal-dialog'),\r\n jHeader = jQuery('.js-e-header'),\r\n jNavItemCart = jHeader.find('.js-e-nav').find('.js-e-nav-item-cart').filter(':visible').first(),\r\n objCartMsgPosition = objPosition || {},\r\n objCartMsgReferencePosition = {};\r\n if (jCartMsgDialog.length === 1) {\r\n if (jQuery.isEmptyObject(objCartMsgPosition) === true) {\r\n if (jNavItemCart.length === 1) {\r\n objCartMsgReferencePosition = jNavItemCart.get(0).getBoundingClientRect();\r\n objCartMsgPosition = {\r\n top: jHeader.hasClass('is-hidden') === true ? '' : Math.floor(objCartMsgReferencePosition.bottom),\r\n right: Math.floor(jQuery(window).width() - objCartMsgReferencePosition.right),\r\n left: '',\r\n maxWidth: ''\r\n };\r\n } else {\r\n objCartMsgPosition = {\r\n top: 0,\r\n right: 0,\r\n left: 0,\r\n maxWidth: '100%'\r\n };\r\n }\r\n }\r\n }\r\n jCartMsgDialog.css(objCartMsgPosition);\r\n },\r\n setTimeout: function () {\r\n e4.cart.msg.clearTimeout();\r\n e4.cart.msg.timeout = setTimeout(e4.cart.msg.hide, e4.settings.ecom.cart.msgHideDelay);\r\n },\r\n clearTimeout: function () {\r\n if (e4.cart.msg.timeout) {\r\n e4.cart.msg.timeout = clearTimeout(e4.cart.msg.timeout);\r\n }\r\n }\r\n }\r\n};\r\n\r\n"]}