{"version":3,"sources":["ecom.cart.js"],"names":["e4","cart","storageKeyInternalBackLink","init","jQuery","length","require","js","settings","handlebars","registerHelpers","registerTemplates","event","util","registerEvents","saveInternalBackLink","bindEvents","orderline","load","updateQuantityInfo","msg","document","referrer","indexOf","location","protocol","host","sessionStorage","setItem","goToInternalBackLink","strInternalBackLink","getItem","preventDefault","href","on","find","ajax","objAjaxSettings","fnCallback","jCart","jqXHR","extend","url","ecom","method","dataType","cache","beforeSend","addClass","done","data","removeClass","trigger","jsonData","updateContent","loading","resolveWait","loaded","addProduct","objProductFormData","jDocument","objProductData","CartCmd","ProductID","VariantID","Quantity","Redirect","isPlainObject","type","productadd","isArray","lastAdded","objProductLastAdded","strOrderlineId","getIdByProduct","setFocus","productQuantity","productadded","removeProduct","update","html","tmpl","cartOrderlines","orderSummary","updated","intQuantity","jCartQuantity","isNumeric","empty","toggleFocus","debounce","target","debounceDelay","deleteBulk","jForm","delegateTarget","jSelect","currentTarget","jSelectedOption","jShippingMethodInput","arrShippingMethod","window","olinoDefaultShippingMethodsByCountry","filter","shippingMethod","Language","val","strShippingMethod","Method","setCountryInCheckout","domNode","jOrderline","closest","intOrderlineQuantity","parseInt","jNode","jOrderlineGroupElement","serialize","objOrderlineData","orderlinedeleted","delete","orderlinedelete","key","attr","currencyCode","name","productName","number","productNumber","price","productPrice","quantity","strId","focus","objProduct","strReturnValue","id","variantId","select","timeout","jBody","is","hide","clearTimeout","setTimeout","show","jCartMsg","cartMsgLastadded","setPosition","modal","objPosition","jCartMsgDialog","jHeader","jNavItemCart","first","objCartMsgPosition","objCartMsgReferencePosition","isEmptyObject","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 = {\n storageKeyInternalBackLink: 'e4.cart.internalBackLink',\n init: function () {\n if ( jQuery( '.js-e-cart-form' ).length === 1 ) {\n e4.require.js( e4.settings.require.handlebars, function () {\n e4.handlebars.registerHelpers( 'compare' );\n e4.handlebars.registerTemplates( '#js-e-handlebars-tmpl-cart-orderlines #js-e-handlebars-tmpl-order-summary' );\n // ATTENTION: Please note that all product-add/remove events are trigger on jQuery( document ) and not\n // the cart element.\n e4.cart.event = e4.util.registerEvents( 'load loaded update updated productadd productadded productremove productremoved orderlinedelete orderlinedeleted orderlineincrease orderlinedecrease', 'cart' );\n e4.cart.saveInternalBackLink();\n e4.cart.bindEvents();\n e4.cart.orderline.bindEvents();\n e4.cart.load();\n } );\n }\n else if ( jQuery( '.js-e-cart-quantity' ).length > 0 ) {\n e4.cart.event = e4.util.registerEvents( 'productadd productadded productremove productremoved', 'cart' );\n e4.cart.updateQuantityInfo();\n e4.cart.msg.init();\n }\n },\n saveInternalBackLink: function () {\n if ( document.referrer.indexOf( location.protocol + '//' + location.host ) === 0 && document.referrer.indexOf( '/shop/cart/checkout' ) === -1 ) {\n sessionStorage.setItem( e4.cart.storageKeyInternalBackLink, document.referrer );\n }\n },\n goToInternalBackLink: function ( event ) {\n var strInternalBackLink = sessionStorage.getItem( e4.cart.storageKeyInternalBackLink );\n if ( strInternalBackLink !== null && strInternalBackLink.indexOf( location.protocol + '//' + location.host ) === 0 ) {\n event.preventDefault();\n location.href = strInternalBackLink;\n }\n },\n bindEvents: function () {\n jQuery( document ).on( 'click', '.js-e-cart-back-link', e4.cart.goToInternalBackLink ).find( '.js-e-cart-form' ).on( 'submit', function ( event ) {\n event.preventDefault();\n } );\n },\n ajax: function ( objAjaxSettings, fnCallback ) {\n var jCart = jQuery( '.js-e-cart' ),\n jqXHR = jQuery.ajax( jQuery.extend( {\n url: e4.settings.ecom.cart.url,\n method: 'POST',\n dataType: 'json',\n cache: false,\n beforeSend: function () {\n if ( jCart.length === 1 ) {\n jQuery( '.js-e-cart-main, .js-e-cart-aside' ).find( '.js-e-loading-overlay' ).addClass( 'is-loading' );\n }\n }\n }, objAjaxSettings ) );\n jqXHR.done( function ( data ) {\n if ( typeof fnCallback === 'function' ) {\n fnCallback( data );\n }\n if ( jCart.length === 1 ) {\n jQuery( '.js-e-cart-main, .js-e-cart-aside' ).find( '.js-e-loading-overlay' ).removeClass( 'is-loading' );\n }\n } );\n },\n load: function () {\n var jCart = jQuery( '.js-e-cart' );\n jCart.trigger( e4.cart.event.load );\n e4.cart.ajax( {\n method: 'GET'\n }, function ( jsonData ) {\n e4.cart.updateContent( jsonData );\n e4.loading.resolveWait( '.js-e-cart-main' );\n e4.loading.resolveWait( '.js-e-cart-aside' );\n jCart.trigger( e4.cart.event.loaded );\n } );\n },\n addProduct: function ( objProductFormData, fnCallback ) {\n var jDocument = jQuery( document ),\n jCart = jDocument.find( '.js-e-cart' );\n var objProductData = {\n CartCmd: 'add',\n ProductID: '',\n VariantID: '',\n Quantity: 1,\n Redirect: false\n };\n if ( jQuery.isPlainObject( objProductFormData ) ) {\n jQuery.extend( objProductData, objProductFormData );\n }\n else if ( jQuery.type( objProductFormData ) === 'string' ) {\n objProductData.ProductID = objProductFormData;\n }\n jDocument.trigger( e4.cart.event.productadd, objProductData );\n e4.cart.ajax( {\n data: objProductData\n }, function ( jsonData ) {\n if ( jCart.length === 1 ) {\n e4.cart.updateContent( jsonData );\n if ( jQuery.isArray( jsonData.cart.lastAdded ) === true ) {\n var objProductLastAdded = jsonData.cart.lastAdded[ jsonData.cart.lastAdded.length - 1 ],\n strOrderlineId = e4.cart.orderline.getIdByProduct( objProductLastAdded );\n e4.cart.orderline.setFocus( strOrderlineId );\n }\n }\n e4.cart.updateQuantityInfo( jsonData.cart.productQuantity );\n if ( typeof fnCallback === 'function' ) {\n fnCallback( jsonData );\n }\n jDocument.trigger( e4.cart.event.productadded, jsonData );\n } );\n },\n removeProduct: function () {\n },\n updateContent: function ( jsonData ) {\n var jCart = jQuery( '.js-e-cart' );\n jCart.trigger( e4.cart.event.update );\n jCart.find( '.js-e-cart-orderlines' ).html( e4.handlebars.tmpl.cartOrderlines( jsonData ) );\n jCart.find( '.js-e-order-summary' ).html( e4.handlebars.tmpl.orderSummary( jsonData ) );\n e4.cart.updateQuantityInfo( jsonData.cart.productQuantity );\n jCart.trigger( e4.cart.event.updated );\n },\n updateQuantityInfo: function ( intQuantity ) {\n var jCartQuantity = jQuery( '.js-e-cart-quantity' );\n if ( jCartQuantity.length > 0 ) {\n if ( jQuery.isNumeric( intQuantity ) === false ) {\n e4.cart.ajax( {\n method: 'GET'\n }, function ( jsonData ) {\n if ( jQuery.isNumeric( jsonData.cart.productQuantity ) === true ) {\n e4.cart.updateQuantityInfo( jsonData.cart.productQuantity );\n }\n } );\n }\n else if ( intQuantity === 0 ) {\n jCartQuantity.empty();\n }\n else {\n jCartQuantity.html( intQuantity );\n }\n }\n },\n orderline: {\n bindEvents: function () {\n jQuery( '.js-e-cart-form' )\n .on( 'focus blur', '.js-e-orderline-quantity-input', e4.cart.orderline.toggleFocus )\n .on( 'input', '.js-e-orderline-quantity-input', e4.util.debounce( function ( event ) {\n e4.cart.orderline.update( event.target );\n }, e4.settings.ecom.cart.debounceDelay ) )\n .on( 'click', '.js-e-orderline-update-btn', function ( event ) {\n event.preventDefault();\n e4.cart.orderline.update( event.target );\n } )\n .on( 'click', '.js-olino-orderline-group-update-btn', function ( event ) {\n event.preventDefault();\n e4.cart.orderline.update( event.target );\n } )\n .on( 'click', '.js-e-orderline-delete-btn', function ( event ) {\n event.preventDefault();\n e4.cart.orderline.delete( event.target );\n } )\n .on( 'click', '.js-olino-orderline-group-delete-btn', function ( event ) {\n event.preventDefault();\n e4.cart.orderline.deleteBulk( event.target );\n } );\n\n jQuery( '.js-olino-checkout-country-form' ).on( 'change', '.js-olino-checkout-country-selector', function ( event ) {\n\n var jForm = jQuery( event.delegateTarget ),\n jSelect = jQuery( event.currentTarget ),\n jSelectedOption = jSelect.find( 'option:selected' ),\n jShippingMethodInput = jForm.find( '.js-olino-shippingmethod-target' ),\n arrShippingMethod = window.olinoDefaultShippingMethodsByCountry.filter( function ( shippingMethod ) {\n return shippingMethod.Language.indexOf( jSelectedOption.val() ) > -1;\n } ),\n strShippingMethod = arrShippingMethod.length ? arrShippingMethod[ 0 ].Method : jShippingMethodInput.data( 'defaultMethod' );\n\n jForm.find( '.js-olino-countrycode-target' ).val( jSelectedOption.val() );\n jForm.find( '.js-olino-currencycode-target' ).val( jSelectedOption.data( 'currencycode' ) );\n jForm.find( '.js-olino-shippingmethod-target' ).val( strShippingMethod );\n\n\n e4.cart.orderline.setCountryInCheckout( event );\n } );\n },\n update: function ( domNode ) {\n var jOrderline = jQuery( domNode ).closest( '.js-e-orderline' ),\n intOrderlineQuantity = parseInt( jOrderline.find( '.js-e-orderline-quantity-input' ).val() ),\n jNode = jQuery( domNode ),\n jOrderlineGroupElement = jNode.closest( '.js-olino-orderline-group' ),\n jForm = jNode.closest( '.js-e-cart-form' ),\n jCart = jNode.closest( '.js-e-cart' );\n\n jOrderlineGroupElement.find( '.js-e-orderline-quantity' ).val( intOrderlineQuantity );\n jForm.find( '.js-e-cart-form-cartcmd' ).val( 'updateorderlines' );\n e4.cart.ajax( {\n data: jForm.serialize()\n }, function ( jsonData ) {\n e4.cart.updateContent( jsonData );\n } );\n },\n deleteBulk: function ( domNode ) {\n var jNode = jQuery( domNode ),\n jOrderlineGroupElement = jNode.closest( '.js-olino-orderline-group' ),\n objOrderlineData = jOrderlineGroupElement.data(),\n jForm = jNode.closest( '.js-e-cart-form' ),\n jCart = jNode.closest( '.js-e-cart' );\n jOrderlineGroupElement.find( '.js-e-orderline-quantity' ).val( '0' );\n jForm.find( '.js-e-cart-form-cartcmd' ).val( 'updateorderlines' );\n e4.cart.ajax( {\n data: jForm.serialize()\n }, function ( jsonData ) {\n e4.cart.updateContent( jsonData );\n jCart.trigger( e4.cart.event.orderlinedeleted, objOrderlineData );\n } );\n },\n delete: function ( domNode ) {\n var jCart = jQuery( '.js-e-cart' ),\n jOrderline = jQuery( domNode ).closest( '.js-e-orderline' ),\n objOrderlineData = jOrderline.data();\n jCart.trigger( e4.cart.event.orderlinedelete );\n e4.cart.ajax( {\n data: {\n key: jOrderline.attr( 'id' ),\n CartCmd: 'delorderline',\n Redirect: false\n }\n }, function ( jsonData ) {\n e4.cart.updateContent( jsonData );\n jCart.trigger( e4.cart.event.orderlinedeleted, {\n currencyCode: jsonData.cart.currencyCode,\n name: objOrderlineData.productName,\n number: objOrderlineData.productNumber,\n price: objOrderlineData.productPrice,\n quantity: objOrderlineData.productQuantity\n } );\n } );\n },\n setCountryInCheckout: function ( event ) {\n var jForm = jQuery( event.delegateTarget );\n e4.cart.ajax( {\n data: jForm.serialize()\n }, function ( jsonData ) {\n e4.cart.updateContent( jsonData );\n } );\n\n },\n setFocus: function ( strId ) {\n if ( strId !== '' ) {\n var jOrderline = jQuery( '.js-e-orderline' ).filter( '#' + strId );\n if ( jOrderline.length === 1 ) {\n jOrderline.find( '.js-e-orderline-quantity-input' ).focus();\n }\n }\n },\n getIdByProduct: function ( objProduct ) {\n var strReturnValue = '',\n jOrderline = jQuery( '.js-e-orderline' ).filter( '[data-product-id=\"' + objProduct.id + '\"][data-product-variant-id=\"' + objProduct.variantId + '\"]' );\n if ( jOrderline.length === 1 ) {\n strReturnValue = jOrderline.attr( 'id' );\n }\n return strReturnValue;\n },\n toggleFocus: function ( event ) {\n var jOrderline = jQuery( event.target ).closest( '.js-e-orderline' );\n if ( event.type === 'focusin' ) {\n jQuery( event.target ).select();\n jOrderline.addClass( 'has-focus' );\n }\n else {\n jOrderline.removeClass( 'has-focus' );\n }\n }\n },\n msg: {\n timeout: null,\n init: function () {\n if ( jQuery( '#js-e-cart-msg' ).length === 1 ) {\n e4.require.js( e4.settings.require.handlebars, function () {\n e4.handlebars.registerTemplates( '#js-e-handlebars-tmpl-cart-msg-lastadded' );\n } );\n e4.cart.msg.bindEvents();\n }\n },\n bindEvents: function () {\n var jBody = jQuery( 'body' );\n jQuery( '#js-e-cart-msg' ).on( 'show.bs.modal', function () {\n jBody.addClass( 'modal-open-no-adjustment' );\n } ).on( 'hidden.bs.modal', function () {\n jBody.removeClass( 'modal-open-no-adjustment' );\n } ).on( 'click', function ( event ) {\n if ( jQuery( event.target ).is( '#js-e-cart-msg' ) === true ) {\n e4.cart.msg.hide();\n }\n } ).find( '.modal-dialog' ).on( 'mouseenter', e4.cart.msg.clearTimeout ).on( 'mouseleave', e4.cart.msg.setTimeout );\n jQuery( document ).on( e4.cart.event.productadded, function ( event, jsonData ) {\n e4.cart.msg.show( jsonData );\n } );\n },\n show: function ( jsonData ) {\n var jCartMsg = jQuery( '#js-e-cart-msg' );\n jCartMsg.find( '.js-e-cart-msg-content' ).html( e4.handlebars.tmpl.cartMsgLastadded( jsonData ) );\n e4.cart.msg.clearTimeout();\n e4.cart.msg.setPosition();\n jCartMsg.modal( 'show' );\n e4.cart.msg.setTimeout();\n },\n hide: function () {\n e4.cart.msg.clearTimeout();\n jQuery( '#js-e-cart-msg' ).modal( 'hide' );\n },\n setPosition: function ( objPosition ) {\n var jCartMsgDialog = jQuery( '#js-e-cart-msg' ).find( '.modal-dialog' ),\n jHeader = jQuery( '.js-e-header' ),\n jNavItemCart = jHeader.find( '.js-e-nav' ).find( '.js-e-nav-item-cart' ).filter( ':visible' ).first(),\n objCartMsgPosition = objPosition || {},\n objCartMsgReferencePosition = {};\n if ( jCartMsgDialog.length === 1 ) {\n if ( jQuery.isEmptyObject( objCartMsgPosition ) === true ) {\n if ( jNavItemCart.length === 1 ) {\n objCartMsgReferencePosition = jNavItemCart.get( 0 ).getBoundingClientRect();\n objCartMsgPosition = {\n top: jHeader.hasClass( 'is-hidden' ) === true ? '' : Math.floor( objCartMsgReferencePosition.bottom ),\n right: Math.floor( jQuery( window ).width() - objCartMsgReferencePosition.right ),\n left: '',\n maxWidth: ''\n };\n }\n else {\n objCartMsgPosition = {\n top: 0,\n right: 0,\n left: 0,\n maxWidth: '100%'\n };\n }\n }\n }\n jCartMsgDialog.css( objCartMsgPosition );\n },\n setTimeout: function () {\n e4.cart.msg.clearTimeout();\n e4.cart.msg.timeout = setTimeout( e4.cart.msg.hide, e4.settings.ecom.cart.msgHideDelay );\n },\n clearTimeout: function () {\n if ( e4.cart.msg.timeout ) {\n e4.cart.msg.timeout = clearTimeout( e4.cart.msg.timeout );\n }\n }\n }\n};\n"],"sourceRoot":"/source/"}