{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_bc/cartridge/client/default/js/accessibilityFocus.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/common/tencentCaptcha.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/components/scrollAnimate.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/login.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/login/login.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/util.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/components/errorNotification.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/components/formValidation.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","FOCUSABLE","focuseOnModal","selector","focusOnClose","selectorfadeOut","$","on","event","focusableNodes","find","toArray","filter","offsetParent","which","focusedItemIndex","indexOf","document","activeElement","shiftKey","length","focus","preventDefault","body","is","removeAttr","addClass","setTimeout","hasClass","removeClass","iterateFocusOnPage","focusOnFirstElement","each","this","trapFocus","element","trigger","disableBackgroundElements","attr","_successCallback","_failCallback","_captchaID","tencetCaptchaCallback","res","ret","concat","val","randstr","ticket","errorCode","showCaptcha","config","arguments","undefined","captchaID","success","fail","captchaAppID","TencentCaptcha","show","error","querySelector","script","setAttribute","getAttribute","verify","ajax","type","url","data","isAlreadyLoaded","initialize","$tencentCaptchaEl","promise","$captchaInput","resolve","reject","invalidateCaptcha","elementOrPosition","options","position","center","disableScroll","duration","delay","scrollableParent","window","innerHeight","animate","scrollTop","complete","scrollToPosition","parseInt","jQuery","offset","eq","top","parent","scrollToElement","processInclude","require","ready","click","detailsBtnPressed","firstError","formValidation","createErrorNotification","accessFocus","scrollAnimate","totalNumberConstraint","pwdValue","numberConstraint","test","uppercaseConstraint","lowercaseConstraint","erorVerifyCode","$selector","errorMessage","parents","children","text","validateForm","form","valid","formIteam","isValid","validity","e","setCustomValidity","validationMessage","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","valueMissing","invalidateForm","stopPropagation","stopImmediatePropagation","siblings","turnOffPasswordConstraints","loginForm","login","spinner","start","dataType","serialize","stop","location","href","redirectUrl","responseJSON","openResetPwd","closeResetPwd","openResetPwdCheckout","requestResetPwd","submit","empty","html","receivedMsgHeading","receivedMsgBody","loginEmail","getTencentCode","readyToSubmit","Deferred","$tencentCaptcha","$inputPhone","phone","prop","done","promiseData","missingMessage","missingMobilePhone","params","tencent_captcha_randstr","tencent_captcha_ticket","resendIntervall","time","expireTime","timer","resendTimout","Math","ceil","setInterval","clearInterval","css","always","register","dataLayer","push","eventCategory","eventAction","privacyPress","eventLabel","newsletterSubscription","currentLocale","split","language","countryCode","newsletterSubscriptionUrl","email","err","duplipatePhone","wrongVerifyCode","recaptchaError","resetPassword","append","mobile","returnUrl","buttonText","clearResetForm","checkEmailGuestOrRegistered","isSpam","$email","phoneEnabled","emailValid","notValid","registered","showPhoneInputField","registeredGuestUrl","actionUrl","width","getElementById","ecommerce","checkout_option","actionField","step","option","changeEmailCheckoutLogin","restoreUrl","registrationFirstStep","actionurl","pageDetail","backToFirstStepRegistration","toggleClass","backToFirstStepRegistrationMobile","passwordConstraintsShow","passwordConstraintsCheck","openRegistrationBenefits","showQuickView","submitPassword","$form","invalidToken","fields","dwfrm_newPasswords_newpassword","dwfrm_newPasswords_newpasswordconfirm","showQuickViewItem","$item","closest","productName","sku","color","size","quantity","price","src","longDesc","replaceAll","details","materials","materialCare","madeinitaly","washing","washingInfo","temp","$prev","prev","$next","next","noOrientalCheck","validationMsg","alignUnder","pushPageOnload","_typeof","iterator","constructor","include","keys","forEach","message","errorHtml","formElement","payload","clearFormErrors","remove","feedbackElement","Array","isArray","join","includes","prepend"],"mappings":"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","file":"login.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 260);\n","'use strict';\n\nconst FOCUSABLE = 'button:not(:disabled):not([aria-hidden]),a[href],input,[tabindex=\"0\"]';\n\nfunction focuseOnModal (selector, focusOnClose, selectorfadeOut) {\n    $(selector).on('keydown', function(event) {\n        let focusableNodes = $(selector).find(FOCUSABLE).toArray().filter((n) => { return n.offsetParent; });\n        const key = event.which;\n        const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n        if (event.shiftKey && focusedItemIndex === 0) {\n            focusableNodes[focusableNodes.length - 1].focus();\n            event.preventDefault();\n        }\n        if (!event.shiftKey && focusableNodes.length > 0 && focusedItemIndex === focusableNodes.length - 1 && key !== 13) {\n            focusableNodes[0].focus();\n            event.preventDefault();\n        }\n        if (key === 27) { // close popUp on ESC\n            // re-activate background elements if previously disabled\n            if ($(document.body).is('[aria-hidden=\"true\"][aria-disabled=\"true\"]')) {\n                $(document.body).removeAttr('aria-hidden aria-disabled');\n            }\n\n            // $(selectorfadeOut).fadeOut();\n            $(selectorfadeOut).addClass('d-none');\n            setTimeout(function() {\n                $(focusOnClose).focus();\n            }, 0);\n            if ($('body').hasClass('cc-blocked')) $('body').removeClass('cc-blocked');\n            if ($('body').hasClass('veiled')) $('body').removeClass('veiled');\n        }\n    });\n};\n\nfunction trapFocus(element) {\n    $(element).trigger('keydown');\n}\n\nfunction iterateFocusOnPage() {\n    $('body').on('keydown', function(event) {\n        let focusableNodes = $('body').find(FOCUSABLE).toArray().filter((n) => { return n.offsetParent; });\n        const key = event.which;\n        const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n        if (event.shiftKey && focusedItemIndex === 0) {\n            focusableNodes[focusableNodes.length - 1].focus();\n            event.preventDefault();\n        }\n        if (!event.shiftKey && focusableNodes.length > 0 && focusedItemIndex === focusableNodes.length - 1 && key !== 13) {\n            focusableNodes[0].focus();\n            event.preventDefault();\n        }\n    });\n};\n\nfunction focusOnFirstElement(selector) {\n    $(selector).find(FOCUSABLE).each(function() {\n        if ($(this).hasClass('d-none')) {\n            return true;\n        } else {\n            $(this).focus();\n            return false;\n        }\n    });\n};\n\nfunction disableBackgroundElements(selector) {\n    // accessibility: disable everything on page except the modal content\n    $(document.body).attr({\n        'aria-hidden': 'true',\n        'aria-disabled': 'true'\n    });\n\n    $(selector).attr({\n        'aria-hidden': 'false',\n        'aria-disabled': 'false'\n    });\n};\n\nmodule.exports = {\n    focuseOnModal: focuseOnModal,\n    iterateFocusOnPage: iterateFocusOnPage,\n    focusOnFirstElement: focusOnFirstElement,\n    trapFocus: trapFocus,\n    disableBackgroundElements: disableBackgroundElements\n};\n","'use strict';\n\nvar _successCallback;\nvar _failCallback;\nvar _captchaID;\n\n(function(){\n    var scriptToBeLoaded = document.querySelector('#tencentCaptchaScript[src]');\n    if (! scriptToBeLoaded) {\n        var script = document.querySelector('#tencentCaptchaScript:not([src])');\n        if (script) {\n            script.setAttribute('src', script.getAttribute('data-src'));\n        }\n    }\n})();\n\nfunction tencetCaptchaCallback(res) {\n    if (res.ret === 0) {\n        // successful verification\n        $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_randstr\"]`).val(res.randstr);\n        $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_ticket\"]`).val(res.ticket);\n        \n        if (! res.errorCode) {\n            if (_successCallback) {\n                _successCallback({\n                    randstr: res.randstr,\n                    ticket: res.ticket\n                });\n            }\n            \n        } else { // error\n            if (_failCallback) _failCallback();\n        }\n    } else {\n        if (_failCallback) _failCallback();\n        // console.log('errorCode:', res.errorCode, 'errorMessage:', res.errorMessage);\n    }\n}\n\nfunction tencetCaptchaLoadingErrCallback(error) {\n    if (_failCallback) _failCallback();\n}\n\nfunction showCaptcha (config = {}) {\n   _captchaID = config.captchaID;\n   _successCallback = config.success;\n   _failCallback = config.fail;\n\n   try {\n       var captchaAppID = $('.js-tencentCaptchaAppID').val();\n       var captcha = new TencentCaptcha(captchaAppID, tencetCaptchaCallback, {});\n       captcha.show();\n   } catch (error) {\n       tencetCaptchaLoadingErrCallback(error);\n   }\n}\n\nmodule.exports = {\n    verify: function() {\n        $.ajax({\n            type: 'POST',\n            url: $('input[name=\"tencent-captcha-verify-url\"]').val(),\n            data: {\n                randstr: $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_randstr\"]`).val(),\n                ticket:  $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_ticket\"]`).val(),\n            },\n            success: function(data) {\n                if (data.success) {\n                    if (_successCallback) _successCallback(data);\n                } else {\n                    if (_failCallback) _failCallback(data);\n                    $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_ticket\"]`).val('');\n                }\n            },\n            error: function(data) {\n                if (_failCallback) _failCallback(data);\n                $(`.js-tencent-captcha-container[data-id=${_captchaID}] [name=\"tencent_captcha_ticket\"]`).val('');\n            }\n        });\n    },\n\n    /**\n     * Check if the Tencent captcha script has already been loaded into the HTML.\n     */\n    isAlreadyLoaded: function() {\n        return $('#tencentCaptchaScript').length;\n    },\n\n    /**\n     * Show the Tencent captcha popup\n     * @param {JQuery} $tencentCaptchaEl \n     * @param {Promise} promise \n     */\n    initialize: function($tencentCaptchaEl, promise) {\n        var $captchaInput = $('input[name=\"tencent_captcha_ticket\"]', $tencentCaptchaEl);\n        if ($captchaInput.length && ! $captchaInput.val()) {\n            showCaptcha({\n                captchaID: $tencentCaptchaEl.attr('data-id'),\n                success: (data) => promise.resolve(data),\n                fail: () => promise.reject()\n            });\n        } else {\n            promise.resolve();\n        }\n    },\n\n    /**\n     * Invalidate the captcha element\n     * @param {JQuery} $tencentCaptchaEl \n     */\n    invalidateCaptcha: function($tencentCaptchaEl) {\n        $('input[name=\"tencent_captcha_ticket\"]', $tencentCaptchaEl).val('');\n    }\n}\n","'use strict';\n\nfunction scrollToElement(element, options = {}) {\n    var {center, offset, focus, disableScroll, duration, delay, scrollableParent} = options;\n    setTimeout(() => {\n        if (element && element.length) {\n            if (element.length > 1) {\n                element = element.eq(0);\n            }\n            var position = element.offset().top || 0;\n            if (! position) {\n                position = element.parent().length ? element.parent().offset().top : 0\n            }\n\n            if (center) {\n                position -= window.innerHeight / 2;\n            }\n\n            if (offset) {\n                position = position * offset;\n            }\n            \n            if (disableScroll) {\n                $('body').addClass('prevent-user-scroll');\n            }\n\n            if (! scrollableParent) {\n                scrollableParent = $('html, body');\n            }\n\n            $(scrollableParent).animate(\n                { scrollTop: position },\n                {\n                    duration: duration || 500,\n                    complete: () => {\n                        setTimeout(() => {\n                            if (focus) {\n                                element.focus();\n                            }\n                            if (disableScroll) {\n                                $('body').removeClass('prevent-user-scroll');\n                            }\n                        }, 500);\n                    }\n                }\n            );\n        } else {\n            $('.logo-home, .cc-logo-link').eq(0).focus();\n        }\n    }, delay || 0);\n}\n\n\nfunction scrollToPosition(position, options = {}) {\n   var {center, disableScroll, duration, delay, scrollableParent} = options;\n   setTimeout(() => {\n        if (center) {\n            position -= window.innerHeight / 2;\n        }\n\n        if (disableScroll) {\n            $('body').addClass('prevent-user-scroll');\n        }\n\n        if (! scrollableParent) {\n            scrollableParent = $('html, body');\n        }\n\n        $(scrollableParent).animate(\n            { scrollTop: position || 0 },\n            {\n                duration: duration || 500,\n                complete: () => {\n                    if (disableScroll) {\n                        setTimeout(() => {\n                            $('body').removeClass('prevent-user-scroll'); \n                        }, 500);\n                    }\n                }\n            }\n        );\n    }, delay || 0);\n}\n\n/**\n * Scrolls smoothly to an element or a position\n * @param {JQuery | number} elementOrPosition jquery element or position\n * @param {{\n*      center: boolean,\n*      offset: number,\n*      focus: boolean,\n*      disableScroll: boolean,\n*      duration: number,\n*      delay: number,\n*      scrollableParent: JQuery\n* }} options\n*/\nfunction scroll(elementOrPosition, options = {}) {\n    if (typeof elementOrPosition === 'number') {\n        var position = parseInt(elementOrPosition);\n        scrollToPosition(position, options);\n    } else {\n        var element = elementOrPosition;\n        if (! element instanceof jQuery) {\n            element = $(element);\n        }\n        scrollToElement(element, options);\n    }\n}\n\nmodule.exports = scroll;","'use strict';\n\nvar processInclude = require('./util');\n\n$(document).ready(function () {\n    $('#login-form-password').click(function() {\n        $('#login-form-password').focus();\n    });\n\n    processInclude(require('./login/login'));\n});\n","'use strict';\nvar firstError = true;\nvar detailsBtnPressed;\nvar formValidation = require('../components/formValidation');\nvar createErrorNotification = require('../components/errorNotification');\nvar accessFocus = require('../accessibilityFocus');\nvar TencentCaptcha = require('../common/tencentCaptcha');\nconst scrollAnimate = require('../components/scrollAnimate');\n\nfunction totalNumberConstraint(pwdValue) {\n    return pwdValue.length >= 8;\n}\n\nfunction numberConstraint(pwdValue) {\n    return /\\d/.test(pwdValue);\n}\n\nfunction uppercaseConstraint(pwdValue) {\n    return /[A-Z]/g.test(pwdValue);\n}\n\nfunction lowercaseConstraint(pwdValue) {\n    return /[a-z]/g.test(pwdValue);\n}\n\nfunction missingMobilePhone () {\n    var $inputPhone = $('input#registration-form-phone');\n    var phone = $inputPhone.val();\n    var missingMessage = $inputPhone.data('missing-error');\n    if (phone !== '' && phone !== undefined && phone !== null) {\n        $inputPhone.removeClass('cc-error');\n        $inputPhone.parents('.cc-form-group').find('.cc-feedback-message').children('.cc-text-message').empty();\n        return true;\n    } else {\n        erorVerifyCode($inputPhone, missingMessage);\n        return false;\n    }\n}\nfunction erorVerifyCode($selector, errorMessage) {\n    // var $inputPhone = $('input#registration-form-phone');\n    $selector.addClass('cc-error');\n    $selector.parents('.cc-form-group').find('.cc-feedback-message').children('.cc-text-message').text(errorMessage);\n}\n\nfunction startCountDown(resendIntervall, time) {\n    var expireTime = resendIntervall - Math.ceil(time);\n    var timer = setInterval(function() {\n        if (expireTime === 0) {\n            clearInterval(timer);\n            $('.js-enable-after-captcha').prop('disabled', false);\n            $('.cc-timer-to-resend').empty();\n            $('.cc-timer-to-resend').css('display', 'none');\n            TencentCaptcha.invalidateCaptcha($('.cc-login-page .js-tencent-captcha-container'));\n        } else {\n            $('.cc-timer-to-resend').css('display', 'unset');\n            $('.cc-timer-to-resend').empty().html('(' + expireTime + ')');\n            expireTime -= 1;\n        }\n    }, 1000);\n}\n\nfunction hasClassVisible(formIteam) {\n    if ($(formIteam).parent().hasClass('cc-no-visible') || $(formIteam).parent().parent().parent().hasClass('cc-no-visible')) {\n        return false;\n    }\n    return true;\n}\n\nfunction validateForm(form, event) {\n    var valid = true;\n    firstError = true;\n    $(form).find('input').each(function () {\n        var isValid = hasClassVisible(this);\n        if ((!(this.validity.valid) && isValid)) {\n            invalidateForm(this, event);\n            if (event) {\n                event.preventDefault();\n                event.stopPropagation();\n                event.stopImmediatePropagation();\n            }\n            valid = false;\n        } else {\n            if ($(this).hasClass('cc-error')) $(this).removeClass('cc-error');\n            if ($(this).is('input')) {\n                $(this).siblings('.cc-feedback-message').children('.cc-text-message').text('');\n            } else {\n                $(this).parent().parent().siblings('.cc-feedback-message').children('.cc-text-message').text('');\n            }\n        }\n    });\n\n    return valid;\n}\n function turnOffPasswordConstraints(){\n\n    $('.js-password-constraints').addClass('d-none');\n    $('.js-pwd-totalnumber').removeClass('active-constraint');\n\n    $('.js-pwd-number').removeClass('active-constraint');\n\n    $('.js-pwd-uppercase').removeClass('active-constraint');\n\n    $('.js-pwd-lowercase').removeClass('active-constraint');\n}\n\nfunction invalidateForm (object, e) {\n    e.preventDefault();\n    if (!$(object).attr('data-no-oriental') === 'false') {\n        object.setCustomValidity('');\n    }\n    if (!object.validity.valid) {\n        var validationMessage = object.validationMessage;\n        $(object).addClass('cc-error');\n        if (object.validity.patternMismatch && $(object).data('pattern-mismatch')) {\n            validationMessage = $(object).data('pattern-mismatch');\n        }\n        if ($(object).attr('data-no-oriental') === 'false') {\n            validationMessage = $(object).data('oriental-error');\n        }\n        if ((object.validity.rangeOverflow || object.validity.rangeUnderflow)\n                && $(object).data('range-error')) {\n            validationMessage = $(object).data('range-error');\n        }\n        if ((object.validity.tooLong || object.validity.tooShort)\n                && $(object).data('range-error')) {\n            validationMessage = $(object).data('range-error');\n        }\n        if (object.validity.valueMissing && $(object).data('missing-error')) {\n            validationMessage = $(object).data('missing-error');\n        }\n        $(object).parents('.cc-form-group').find('.cc-feedback-message').children('.cc-text-message')\n            .text(validationMessage);\n\n        if (firstError) {\n            object.focus();\n            if (!object) {\n                $('.logo-home').focus();\n            }\n            firstError = false;\n        }\n    }\n}\nmodule.exports = {\n\n    loginForm: function() {\n        $(document).on('click', '.js-submit-login', function (e) {\n            return validateForm(this.form, e);\n        });\n    },\n\n    login: function () {\n        $(document).on('click', '.js-submit-login', function (e) {\n            var form = $('form.login');\n            var url = $(this).data('action');\n            form.spinner().start();\n            $('.cc-icon-eye').siblings('input').attr('type', 'password');\n            $.ajax({\n                url: url,\n                type: 'post',\n                dataType: 'json',\n                data: form.serialize(),\n                success: function (data) {\n                    form.spinner().stop();\n                    if (!data.success) {\n                        formValidation(form, data);\n                        $('form.login').trigger('login:error', data);\n                    } else {\n                        $('form.login').trigger('login:success', data);\n                        location.href = data.redirectUrl;\n                    }\n                },\n                error: function (data) {\n                    if (data.responseJSON.redirectUrl) {\n                        window.location.href = data.responseJSON.redirectUrl;\n                    } else {\n                        $('form.login').trigger('login:error', data);\n                        form.spinner().stop();\n                    }\n                }\n            });\n            return false;\n        });\n    },\n    openResetPwd: function() {\n        $(document).on('click', 'form.login #password-reset', function() {\n            if (!$('.cc-login-page .js-login').hasClass('cc-hide-form')) {\n                $('.cc-login-page .js-login').addClass('cc-hide-form');\n                $('.cc-login-page .js-resetpwd').removeClass('cc-hide-form');\n                $('.cc-login-page .js-resetpwd .cc-request-reset-OfCanvas-header').addClass('cc-hide-form');\n                $('form.cc-resetPwd').removeClass('cc-hide-form');\n            }\n        });\n    },\n    closeResetPwd: function() {\n        $(document).on('click', 'form .js-return-toLogin', function() {\n            if ($(this).hasClass('isCheckout')) {\n                $('.js-checkout-psw-reset').addClass('d-none');\n                $('.js-login-form').removeClass('d-none');\n            } else {\n                if (!$('.cc-login-page .js-resetpwd').hasClass('cc-hide-form')) {\n                    $('.cc-login-page .js-login').removeClass('cc-hide-form');\n                    $('.cc-login-page .js-resetpwd').addClass('cc-hide-form');\n                    $('form.cc-resetPwd').addClass('cc-hide-form');\n                }\n            }\n        });\n    },\n    openResetPwdCheckout: function() {\n        $(document).on('click', '#password-reset-checkout', function() {\n            $('.js-return-toLogin').addClass('isCheckout');\n            $('.js-login-form').addClass('d-none');\n            $('.js-checkout-psw-reset').removeClass('d-none');\n        });\n\n        $(document).on('keypress', '#password-reset-checkout', function(e) {\n            if(e.which == 13) {\n                $('.js-return-toLogin').addClass('isCheckout');\n                $('.js-login-form').addClass('d-none');\n                $('.js-checkout-psw-reset').removeClass('d-none');\n            }\n        });\n\n    },\n    requestResetPwd: function() {\n        $('form.cc-resetPwd').submit(function (e) {\n            var form = $(this);\n            e.preventDefault();\n            var url = form.attr('action');\n            form.spinner().start();\n            $('form.resetPwd').trigger('resetpwd:submit', e);\n            $.ajax({\n                url: url,\n                type: 'post',\n                dataType: 'json',\n                data: form.serialize(),\n                success: function (data) {\n                    form.spinner().stop();\n                    if (data.success) {\n                        $('form.cc-resetPwd').empty().html(\n                            '<div class=\"cc-response-message\">' +\n                            '<p class=\"cc-succes-text-message\">' + data.receivedMsgHeading + '</p>' +\n                            '<p class=\"cc-succes-istruction\">' + data.receivedMsgBody + '</p></div>'\n                        );\n                    } else {\n                        $('form.cc-resetPwd').find('#forgotPasswordemail').addClass('.cc-error');\n                        $('form.cc-resetPwd').find('.cc-feedback-message .cc-text-message-error').empty().html(data.loginEmail);\n                    }\n                },\n                error: function (data) {\n                }\n            });\n            return false;\n        });\n    },\n    getTencentCode: function () {\n        $(document).on('click', '.js-getverifyCode', function() {\n            const readyToSubmit = $.Deferred();\n            var $tencentCaptcha = $('.cc-login-page .js-tencent-captcha-container');\n            var $inputPhone = $('input#registration-form-phone');\n            var url = $('.js-getverifyCode').data('action');\n            var phone = $inputPhone.val();\n            var params = 'SendVerifyCode';\n\n            $('.js-getverifyCode').parents('.cc-form-group').find('.cc-text-message-error').text('');\n            $('.js-enable-after-captcha').prop('disabled', true);\n\n            TencentCaptcha.initialize($tencentCaptcha, readyToSubmit);\n            readyToSubmit.done(function(promiseData) {\n                if (missingMobilePhone()) {\n                    $.spinner().start();\n                    $.ajax({\n                        url: url,\n                        type: 'get',\n                        dataType: 'json',\n                        data: {\n                            phone: phone,\n                            params: params,\n                            tencent_captcha_randstr: promiseData.randstr,\n                            tencent_captcha_ticket: promiseData.ticket\n                        },\n                        success: function (data) {\n                            if (!data.success) {\n                                erorVerifyCode($inputPhone, data.error);\n                            } else {\n                                $('.js-enable-after-captcha').data('smscodetime', data.resendTimout);\n                                $('.js-enable-after-captcha').data('interval', data.resendIntervall);\n                                $('.js-enable-after-captcha').prop('disabled', true);\n                                startCountDown(data.resendIntervall, data.resendTimout);\n                            }\n                            $.spinner().stop();\n                        },\n                        error: function (data) {\n                            $.spinner().stop();\n                        }\n                    });\n                }\n            }).always(function() {\n                $('.js-enable-after-captcha').prop('disabled', false);\n            });\n        });\n    },\n    register: function () {\n        $('form.registration').submit(function (e) {\n            var form = $(this);\n            e.preventDefault();\n            var url = form.attr('action');\n            var checkHoneyPot = $('.contact_me_if_spam').val();\n            var isSpam = checkHoneyPot.length > 0 ? true : false;\n            if (!isSpam) {\n                form.spinner().start();\n                $('form.registration').trigger('login:register', e);\n                $.ajax({\n                    url: url,\n                    type: 'post',\n                    dataType: 'json',\n                    data: form.serialize(),\n                    success: function (data) {\n                        form.spinner().stop();\n                        if (!data.success) {\n                            // analytics\n                            dataLayer.push({\n                                event: 'registration',\n                                eventCategory: 'Registration',\n                                eventAction: 'submit_fail'\n                            });\n                            // END\n\n                            formValidation(form, data);\n                        } else {\n                            // analytics\n                            dataLayer.push({\n                                event: 'registration',\n                                eventCategory: 'Registration',\n                                eventAction: 'submit_ok'\n                            });\n                            if (data.privacyPress) {\n                                dataLayer.push({\n                                    event: 'custom_event',\n                                    eventCategory: 'Newsletter',\n                                    eventAction: ' submit_ok',\n                                    eventLabel: 'account_creation'\n                                });\n                            }\n                            // END\n                            if (data.newsletterSubscription) {\n                                var locale = data.currentLocale;\n                                var res = locale.split('_');\n                                var language = res[0];\n                                var countryCode = res[1];\n                                var url = data.newsletterSubscriptionUrl;\n                                var email = data.email;\n                                $.ajax({\n                                    url: url,\n                                    type: 'POST',\n                                    data: {\n                                        email: email,\n                                        countryCode: countryCode,\n                                        language: language\n                                    },\n                                    success: function(result) {\n\n                                    },\n                                    error: function(richiesta, stato, errori) {\n\n                                    }\n                                });\n                            }\n                            location.href = data.redirectUrl;\n                        }\n                    },\n                    error: function (err) {\n                        // analytics\n                        dataLayer.push({\n                            event: 'registration',\n                            eventCategory: 'Registration',\n                            eventAction: ' submit_fail'\n                        });\n                        // END\n\n                        if (err.responseJSON.redirectUrl) {\n                            window.location.href = err.responseJSON.redirectUrl;\n                        } else {\n                            createErrorNotification($('.error-messaging'), err.responseJSON.errorMessage);\n                            if (err.responseJSON.duplipatePhone) {\n                                erorVerifyCode($('input#registration-form-phone'), err.responseJSON.errorMessage);\n                            }\n                            if (err.responseJSON.wrongVerifyCode) {\n                                erorVerifyCode($('input#registration-form-verifyCode'), err.responseJSON.errorMessage);\n                            }\n                            if (err.responseJSON.recaptchaError) {\n                                erorVerifyCode($(form).find('.cc-recaptcha')[0], err.responseJSON.errorMessage);\n                            }\n                        }\n\n                        form.spinner().stop();\n                    }\n                });\n            }\n            return false;\n        });\n\n        // fix dropdowns not focusable\n        $(document).on('keydown.fixdropdown', (e)=>{\n            if (e.key === 'Tab'){\n                $('.dropdown-toggle').attr('tabindex', '0');\n            }     \n        });\n\n        $(document).on('keydown.fixdropdown', '.dropdown:not(.show) .dropdown-toggle', function(e){\n            if (e.key === 'Enter' || e.key === ' ') {\n                // trigger click and move focus to dropdown items\n                $(this)[0].click();\n                var $menu = $(this).siblings('.dropdown-menu');\n                $menu.find('.dropdown-item')[0].focus();\n            }\n        });\n\n        $(document).on('keydown.fixdropdown', '.dropdown-item', function(e){\n            if (e.key === 'Enter' || e.key === ' ') {\n                $(this)[0].click();\n            }\n        });\n    },\n\n    resetPassword: function () {\n        $('.reset-password-form').submit(function (e) {\n            var form = $(this);\n            e.preventDefault();\n            var url = form.attr('action');\n            form.spinner().start();\n            $('.reset-password-form').trigger('login:register', e);\n            $.ajax({\n                url: url,\n                type: 'post',\n                dataType: 'json',\n                data: form.serialize(),\n                success: function (data) {\n                    form.spinner().stop();\n                    if (!data.success) {\n                        formValidation(form, data);\n                    } else {\n                        $('.request-password-title').text(data.receivedMsgHeading);\n                        $('.request-password-body').empty()\n                            .append('<p>' + data.receivedMsgBody + '</p>');\n                        if (!data.mobile) {\n                            $('#submitEmailButton').text(data.buttonText)\n                                .attr('data-dismiss', 'modal');\n                        } else {\n                            $('.send-email-btn').empty()\n                                .html('<a href=\"'\n                                    + data.returnUrl\n                                    + '\" class=\"btn btn-primary btn-block\">'\n                                    + data.buttonText + '</a>'\n                                );\n                        }\n                    }\n                },\n                error: function () {\n                    form.spinner().stop();\n                }\n            });\n            return false;\n        });\n    },\n\n    clearResetForm: function () {\n        $('#login .modal').on('hidden.bs.modal', function () {\n            $('#reset-password-email').val('');\n            $('.modal-dialog .form-control.is-invalid').removeClass('is-invalid');\n        });\n    },\n\n    checkEmailGuestOrRegistered: function () {\n        $('form.logincheckout').submit(function (e) {\n            var form = $(this);\n            e.preventDefault();\n            var url = form.attr('action');\n            var checkHoneyPot = $('.contact_me_if_spam').val();\n            var isSpam = checkHoneyPot.length > 0 ? true : false;\n            var $email = $('#login-form-email');\n            var phoneEnabled = $('#js-phoneLoginEnabled').val() === 'true';\n            var emailRegex = /[\\w\\.\\%\\+\\-]+@[\\w\\.\\-]+\\.[\\w]{2,6}/;\n            var emailValid = emailRegex.test($email.val());\n            if (phoneEnabled) {\n                emailValid = true;\n            }\n            if (! emailValid) {\n                $email.parents('.cc-form-group').find('.cc-feedback-message').children('.cc-text-message')\n            .text($email.attr('data-pattern-mismatch'));\n            } else {\n                $email.parents('.cc-form-group').find('.cc-feedback-message').children('.cc-text-message')\n            .text('');\n            }\n            if (!isSpam && emailValid) {\n                form.spinner().start();\n                $('form.logincheckout').trigger('logincheckout:submit', e);\n                $('.cc-icon-eye').siblings('input').attr('type', 'password');\n                $.ajax({\n                    url: url,\n                    type: 'post',\n                    dataType: 'json',\n                    data: form.serialize(),\n                    success: function (data) {\n                        if (!data.success && data.error && data.notValid) {\n                            $('#login-form-email').parent().children('.cc-feedback-message').children('.cc-text-message').text(data.errorMessage);\n                        } else if (!data.success) {\n                            formValidation(form, data);\n                            $('form.logincheckout').trigger('logincheckout:error', data);\n                        } else {\n                            if (data.registered === 'false') {\n                                $('form.logincheckout').trigger('logincheckout:success', data);\n                                location.href = data.redirectUrl;\n                            } else {\n                                if (data.registered === 'true') {\n                                    $('.js-hide-password-checkout-login').removeClass('d-none');\n                                    $('#login-form-password').removeAttr('disabled');\n                                    $('#login-form-password').focus();\n                                    $('#login-form-email').addClass('cc-disabled-email');\n                                    $('#login-form-email').attr('readonly', 'true');\n                                    $('#login-form-email').removeClass('cc-active');\n\n                                    if (data.showPhoneInputField) {\n                                        $('.js-hide-phone-checkout-login').removeClass('d-none');\n                                        $('#login-form-phone').removeAttr('disabled');\n                                        $('#login-form-phone').focus();\n                                    } else {\n                                        $('.js-hide-phone-checkout-login').addClass('d-none');\n                                    }\n\n                                    $('#registered-guest-link').attr('href', data.registeredGuestUrl);\n                                    form.attr('restoreaction', form.attr('action'));\n                                    form.attr('action', data.actionUrl);\n                                    var text = $('#button-checkout-login').attr('textregistered');\n                                    $('#button-checkout-login').text(text);\n                                    if ($(window).width() < 500) {\n                                        if ($('#checkout_v2').length) {\n                                            var top = $('.js-focus-mobile-password').offset().top;\n                                        } else {\n                                            var top = $('.js-mobile-scroll-password').offset().top;\n                                        }\n                                        scrollAnimate(0, {duration: 100});\n                                    }\n                                    document.getElementById('login-form-password').click();\n                                    // analytics\n                                    dataLayer.push({\n                                        event: 'checkoutOption',\n                                        ecommerce: {\n                                            checkout_option: {\n                                                actionField: { step: 2, option: 'insert_password' }\n                                            }\n                                        }\n                                    });\n                                    // END\n                                } else {\n                                    $('form.logincheckout').trigger('logincheckout:success', data);\n                                    location.href = data.redirectUrl;\n                                }\n                            }\n                        }\n                        form.spinner().stop();\n                    },\n                    error: function (data) {\n                        if (data.responseJSON.redirectUrl) {\n                            window.location.href = data.responseJSON.redirectUrl;\n                        } else {\n                            $('form.login').trigger('login:error', data);\n                            form.spinner().stop();\n                        }\n                    }\n                });\n            }\n            return false;\n        });\n    },\n\n    changeEmailCheckoutLogin: function () {\n        $(document).on('click', '.js-change-email-checkout', function () {\n            var restoreUrl = $('#checkoutLoginForm').attr('restoreaction');\n            $('#checkoutLoginForm').attr('action', restoreUrl);\n            $('#checkoutLoginForm').removeAttr('restoreaction');\n            $('.js-hide-password-checkout-login').addClass('d-none');\n            $('#login-form-phone').attr('disabled', true);\n            $('#login-form-password').attr('disabled', 'true');\n            $('#login-form-email').removeClass('cc-disabled-email');\n            $('#login-form-email').addClass('cc-active');\n            $('#login-form-email').removeAttr('readonly');\n            $('#login-form-email').val('');\n            $('#login-form-email').removeClass('cc-error');\n            var text = $('#button-checkout-login').attr('textcheck');\n            $('#button-checkout-login').text(text);\n        });\n\n        $(document).on('keypress', '.js-change-email-checkout', function(e) {\n            if(e.which == 13) {\n                var restoreUrl = $('#checkoutLoginForm').attr('restoreaction');\n                $('#checkoutLoginForm').attr('action', restoreUrl);\n                $('#checkoutLoginForm').removeAttr('restoreaction');\n                $('.js-hide-password-checkout-login').addClass('d-none');\n                $('#login-form-phone').attr('disabled', true);\n                $('#login-form-password').attr('disabled', 'true');\n                $('#login-form-email').removeClass('cc-disabled-email');\n                $('#login-form-email').addClass('cc-active');\n                $('#login-form-email').removeAttr('readonly');\n                $('#login-form-email').val('');\n                $('#login-form-email').removeClass('cc-error');\n                var text = $('#button-checkout-login').attr('textcheck');\n                $('#button-checkout-login').text(text);\n            }\n        });\n    },\n\n    registrationFirstStep: function (e) {\n        $('form.registrationemail').submit(function (e) {\n            var form = $(this);\n            e.preventDefault();\n            var url = form.attr('action');\n            form.spinner().start();\n            $('form.registrationemail').trigger('registrationemail:submit', e);\n            $.ajax({\n                url: url,\n                type: 'post',\n                dataType: 'json',\n                data: form.serialize(),\n                success: function (data) {\n                    form.spinner().stop();\n                    if (data.success) {\n                        $('.cc-mail-value').text(data.email);\n                        $('.js-email-second-step-registration').val(data.email);\n                        $('form.js-second-step-reg').attr('action', data.actionurl);\n                        $('.cc-header-container').addClass('cc-second-step');\n                        $('.cc-step-title-container').addClass('cc-second-step');\n                        if ($(document.body).hasClass('cc-mobile')) {\n                            $('.cc-step-title-container').addClass('js-back-first-step-mobile');\n                        }\n\n                        $('.cc-registration-step-1').addClass('d-none');\n                        $('.cc-registration-step-2').removeClass('d-none');\n\n                        // analytics\n                        $('body').trigger('analytics:pushpagechange', { pageDetail: 'step2' });\n                        $('body').trigger('analytics:dataLayerPushObj', {\n                            event: 'registration',\n                            eventCategory: 'Registration',\n                            eventAction: 'step_2'\n                        });\n\n                        // END\n                    } else {\n                        $('#registration-form-email').parent().children('.cc-feedback-message').children('.cc-text-message').text(data.errorMessage);\n                        $('#registration-form-email').addClass('cc-error');\n                    }\n                },\n                error: function (data) {\n                    form.spinner().stop();\n                    return false;\n                }\n            });\n        });\n    },\n    backToFirstStepRegistration: function () {\n        $(document).on('click', '.js-back-to-first-step', function () {\n            $('.cc-step-title-container').removeClass('cc-second-step');\n            $('.cc-registration-step-1, .cc-registration-step-2').toggleClass('d-none');\n            $('#emailRegistrationForm').trigger('reset');\n            turnOffPasswordConstraints();\n\n            // analytics\n            $('body').trigger('analytics:pushpagechange', { pageDetail: 'step1' });\n            // END\n        });\n    },\n\n    backToFirstStepRegistrationMobile: function () {\n        $(document).on('click', '.cc-mobile .js-back-first-step-mobile', function () {\n            $('.cc-step-title-container').removeClass('cc-second-step');\n            $('.cc-registration-step-1, .cc-registration-step-2').toggleClass('d-none');\n            $('#emailRegistrationForm').trigger('reset');\n            turnOffPasswordConstraints();\n            // analytics\n            dataLayer.push({\n                pageDetail: 'step1'\n            });\n            // END\n        });\n    },\n\n    passwordConstraintsShow: function () {\n        $(document).on('click', '.js-password-registration', function () {\n            $('.js-password-constraints').removeClass('d-none');\n        });\n    },\n\n    passwordConstraintsCheck: function () {\n        $(document).on('input', '.js-password-registration', function () {\n            var pwdValue = $(this).val();\n            \n            if (totalNumberConstraint(pwdValue)) {\n                $('.js-pwd-totalnumber').removeClass('active-constraint').addClass('active-constraint');\n                $('.registration-second-contraints').text($('.sr-only.registration-second-contraints').attr('data-accessible-success'));\n            } else {\n                $('.js-pwd-totalnumber').removeClass('active-constraint');\n                $('.registration-second-contraints').text($('.sr-only.registration-second-contraints').attr('data-accessible-failed'));\n            }\n            if (numberConstraint(pwdValue)) {\n                $('.js-pwd-number').removeClass('active-constraint').addClass('active-constraint');\n                $('.registration-third-contraints').text($('.sr-only.registration-third-contraints').attr('data-accessible-success'));\n            } else {\n                $('.js-pwd-number').removeClass('active-constraint');\n                $('.registration-third-contraints').text($('.sr-only.registration-third-contraints').attr('data-accessible-failed'));\n            }\n            if (uppercaseConstraint(pwdValue)) {\n                $('.js-pwd-uppercase ').removeClass('active-constraint').addClass('active-constraint');\n                $('.registration-fourth-contraints').text($('.sr-only.registration-fourth-contraints').attr('data-accessible-success'));\n            } else {\n                $('.js-pwd-uppercase').removeClass('active-constraint');\n                $('.registration-fourth-contraints').text($('.sr-only.registration-fourth-contraints').attr('data-accessible-failed'));\n            }\n            if (lowercaseConstraint(pwdValue)) {\n                $('.js-pwd-lowercase').removeClass('active-constraint').addClass('active-constraint');\n                $('.registration-fifth-contraints').text($('.sr-only.registration-fifth-contraints').attr('data-accessible-success'));\n            } else {\n                $('.js-pwd-lowercase').removeClass('active-constraint');\n                $('.registration-fifth-contraints').text($('.sr-only.registration-fifth-contraints').attr('data-accessible-failed'));\n            }\n            if (totalNumberConstraint(pwdValue) && numberConstraint(pwdValue) && uppercaseConstraint(pwdValue) && lowercaseConstraint(pwdValue)) {\n                $('#form-password-error').children().text('');\n            }\n        });\n    },\n\n    openRegistrationBenefits: function () {\n        $(document).on('click', '.cc-mobile .js-open-registration-benefits', function () {\n            if ($(this).hasClass('cc-list-benefits-open')) {\n                $(this).removeClass('cc-list-benefits-open');\n                $('.cc-benefits-list-container').css('display', 'none');\n            } else {\n                $(this).addClass('cc-list-benefits-open');\n                $('.cc-benefits-list-container').css('display', 'block');\n            }\n        });\n    },\n\n    showQuickView: function () {\n        $(document).on('click', '.js-open-quick-view, .js-item', function () {\n            $('.js-quick-view').removeClass('d-none');\n            detailsBtnPressed = $(this)[0];\n        });\n\n        $(document).on('click', '#js-close-quick-view-modal', function () {\n            $('.js-quick-view').addClass('d-none');\n            detailsBtnPressed.focus();\n        });\n    },\n    // reset password\n    submitPassword: function () {\n        $('form.js-resetPwd-Form').submit(function (e) {\n            var $form = $(this);\n            e.preventDefault();\n            var url = $form.attr('action');\n            $form.spinner().start();\n            $('form.js-edit-password-form').trigger('password:reset', e);\n            $.ajax({\n                url: url,\n                type: 'post',\n                dataType: 'json',\n                data: $form.serialize(),\n                success: function (data) {\n                    $form.spinner().stop();\n                    if (!data.success) {\n                        if (data.invalidToken) {\n                            location.href = data.redirectUrl;\n                        } else {\n                            $('form.js-resetPwd-Form input').addClass('cc-error');\n                            if (data.fields.dwfrm_newPasswords_newpassword) {\n                                $('.cc-text-message.cc-text-message-error').html(data.fields.dwfrm_newPasswords_newpassword);\n                            } else {\n                                $('.cc-text-message.cc-text-message-error').html(data.fields.dwfrm_newPasswords_newpasswordconfirm);\n                            }\n                        }\n                    } else {\n                        location.href = data.redirectUrl;\n                    }\n                },\n                error: function (err) {\n                    if (err && err.responseJSON && err.responseJSON.redirectUrl) {\n                        window.location.href = err.responseJSON.redirectUrl;\n                    }\n                    $form.spinner().stop();\n                }\n            });\n            return false;\n        });\n    },\n\n    showQuickViewItem: function () {\n        $(document).on('click', '.js-open-quick-view, .js-item', function () {\n            var $item = $(this).is('.js-item') ? $(this) : $(this).closest('.js-item');\n            var productName = $item.find('.js-item-title').data('productname');\n            var sku = $item.find('.js-item-sku').data('sku');\n            var color = $item.find('.js-item-info').data('attr1');\n            var size = $item.find('.js-item-info').data('attr2');\n            var quantity = $item.find('.js-quantity').data('quantity');\n            var price = $item.find('.js-item-price').data('price');\n            var src = $item.find('.js-content-img').data('src');\n            var longDesc = $item.data('longdesc').replaceAll('\\n', '<br />');\n            var details = '<li>' +  $item.data('details').replaceAll('\\n', '</li><li>') + '</li>';\n            var materials = '<li>' +  $item.data('materials').replaceAll('\\n', '</li><li>') + '</li>';\n            var materialCare = $item.data('material-care').replaceAll('\\n', '<br />');\n            var madeinitaly = $item.data('madeinitaly').replaceAll('\\n', '<br />');\n            var washing = $item.data('washing').replaceAll('\\n', '<br />');\n            var washingInfo = $item.data('washing-info').replaceAll('\\n', '<br />');\n\n            var temp = quantity.split('.');\n            quantity = temp[0];\n\n            $('.js-quick-img').attr('src', src);\n            $('.js-quick-img').attr('alt', '');\n            $('.js-quick-product-name').text(productName);\n            $('.js-quick-sku').text(sku);\n            $('.js-quick-color').text(color);\n            $('.js-quick-size').text(size);\n            $('.js-quick-quantity').text(quantity);\n            $('.js-quick-cost').text(price);\n            $('.js-quick-longDesc').html(longDesc);\n            $('.js-quick-details').html(details + '<br/><br/>' + materials);\n            $('.js-quick-materials').html(materialCare + '<br/><br/>' + madeinitaly + '<br/><br/>' + washing + '<br/><br/>' + washingInfo);\n\n            $('.js-quick-view').removeClass('d-none');\n            accessFocus.focusOnFirstElement('.js-quick-view-modal-content');\n            accessFocus.focuseOnModal('.js-quick-view-modal-content', detailsBtnPressed, '.js-quick-view');\n            // accessibility: disable interactive elements on the background\n            accessFocus.disableBackgroundElements('.js-quick-view-modal-content');\n            // accessibility: reactivate interactive elements on the background previously disabled\n            $(document).on('click', '#js-close-quick-view-modal', function () {\n                $(document.body).removeAttr('aria-hidden aria-disabled');\n            });\n            // accessibility focus on corresponding text when activating a tab\n            $(document).on('keydown', '.cc-tab-head-item-link', function(event){\n                if (event.key === 'Enter' || event.key === ' '){\n                    if (event.key === ' ') {\n                        event.preventDefault();\n                        $(this)[0].click();\n                    }\n                    setTimeout(() => {\n                        $('.tab-pane:not(.active)').attr('tabindex', '-1');\n                        $('.tab-pane.active').attr('tabindex','0');\n                    }, 0);\n                }\n\n                // move between tabs with arrow keys\n                if (event.key === 'ArrowLeft') {\n                    var $prev = $(this).parent().prev('.cc-tab-head-item');\n                    if ($prev.length) {\n                        $prev.find('.cc-tab-head-item-link').focus();\n                    }\n                }\n                else if (event.key === 'ArrowRight') {\n                    var $next = $(this).parent().next('.cc-tab-head-item');\n                    if ($next.length) {\n                        $next.find('.cc-tab-head-item-link').focus();\n                    }\n                }\n            });\n        });\n\n        $(document).on('click', '#js-close-quick-view-modal', function () {\n            $('.js-quick-view').addClass('d-none');\n        });\n    },\n\n    noOrientalCheck: function () {\n        $(document).on('focusout', '.js-no-oriental', function () {\n            var validationMsg = $('#js-oriental-error-registration').val();\n            var regex = /^[a-zA-Z0-9 -_\\/(){}|\"!? ’'‘ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ]+$/;\n            var value = $(this).val();\n            var valid = regex.test(value);\n            if (value && value !== '') {\n                if (!valid) {\n                    $(this)\n                        .addClass('cc-error')\n                        .siblings('.cc-feedback-message').children('.cc-text-message')\n                        .text(validationMsg);\n                } else {\n                    if ($(this).hasClass('cc-error')) {\n                        $(this)\n                            .removeClass('cc-error')\n                            .siblings('.cc-feedback-message').children('.cc-text-message')\n                            .text('');\n                    }\n                }\n            }\n        });\n    },\n\n    alignUnder: function () {\n        $(document).ready( function () {\n            var price = $( \"div.line-item-total-price-amount\" ).text() ;\n            if(price.length > 12){ \n                $('.js-align-under').addClass('cc-align-under');\n            }\n        });\n    },\n\n    pushPageOnload: function() {\n        $(document).ready(function() {\n            var isRegistrationStep = $('.js-analytics-registration');\n            if (isRegistrationStep.length) {\n                $('body').trigger('analytics:dataLayerPushObj', {\n                    event: 'registration',\n                    eventCategory: 'Registration',\n                    eventAction: 'step_1'\n                });\n            }\n        });\n    },\n};\n\n$('#registration-form-email').on('keyup', function(e) {\n    var regex = /^[\\w.%+\\-]+@[\\w.\\-]+\\.[\\w]{2,6}/;\n    var email = $('#registration-form-email').val();\n    if (regex.test(email)) {\n        $('#registration-form-email').parent().children('.cc-feedback-message').children('.cc-text-message').text('');\n        $('#registration-form-email').removeClass('cc-error');\n    }\n});\n","'use strict';\n\nmodule.exports = function (include) {\n    if (typeof include === 'function') {\n        include();\n    } else if (typeof include === 'object') {\n        Object.keys(include).forEach(function (key) {\n            if (typeof include[key] === 'function') {\n                include[key]();\n            }\n        });\n    }\n};\n","'use strict';\n\nmodule.exports = function (element, message) {\n    var errorHtml = '<div class=\"alert alert-danger alert-dismissible ' +\n        'fade show\" role=\"alert\">' +\n        '<button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">' +\n        '<span aria-hidden=\"true\">&times;</span>' +\n        '</button>' + message + '</div>';\n\n    $(element).append(errorHtml);\n};\n","'use strict';\n\nvar scrollAnimate = require('../components/scrollAnimate');\n\n/**\n * Remove all validation. Should be called every time before revalidating form\n * @param {element} form - Form to be cleared\n * @returns {void}\n */\nfunction clearFormErrors(form) {\n    $(form).find('.cc-form-group.cc-error').removeClass('cc-error');\n}\n\nmodule.exports = function (formElement, payload) {\n    // clear form validation first\n    clearFormErrors(formElement);\n    $('.alert', formElement).remove();\n\n    if (typeof payload === 'object' && payload.fields) {\n        Object.keys(payload.fields).forEach(function (key) {\n            if (payload.fields[key]) {\n                var feedbackElement = $(formElement).find('[name=\"' + key + '\"]')\n                    .parent()\n                    .children('.cc-feedback-message').children('.cc-text-message');\n\n                if (feedbackElement.length > 0) {\n                    if (Array.isArray(payload[key])) {\n                        feedbackElement.html(payload.fields[key].join('<br/>'));\n                    } else {\n                        if (key.includes('postalCode')) {\n                            var tempMsg = $(formElement).find('[name=\"' + key + '\"]').data('format-error');\n                            var validationMsg = tempMsg + payload.fields[key];\n                            feedbackElement.html(validationMsg);\n                        } else {\n                            feedbackElement.html(payload.fields[key]);\n                        }\n                    }\n                    feedbackElement.siblings('.cc-form-control').addClass('cc-error');\n                    scrollAnimate(feedbackElement, {center: true});\n                }\n            }\n        });\n    }\n    if (payload && payload.error) {\n        var form = $(formElement).prop('tagName') === 'FORM'\n            ? $(formElement)\n            : $(formElement).parents('form');\n\n        form.prepend('<div class=\"alert alert-danger\" role=\"alert\">'\n            + payload.error.join('<br/>') + '</div>');\n    }\n};\n"],"sourceRoot":""}