{"version":3,"file":"mistral2.min.js","sources":["mistral2.min.js"],"sourcesContent":["'use strict';\n\n/**\n * @description Initialize event handlers on landing page\n */\n\nfunction mistral2Carousel1Init() {\n var $mistral2Carousel1 = $('.js-mistral-carousel-1'),\n slideCount = Math.floor($mistral2Carousel1.data('count') / 2);\n\n var setMistral2Carousel1 = function () {\n if ($mistral2Carousel1.length) {\n if ($mistral2Carousel1.hasClass('slick-initialized')) {\n $mistral2Carousel1.slick('unslick');\n }\n\n var isMobile = window.vbqUtils.breakpoint.is('mobile'),\n isTablet = window.vbqUtils.breakpoint.is('tablet'),\n carouselConfig = {\n slidesToShow: isMobile ? 1 : (isTablet ? 1 : 3),\n slidesToScroll: 1,\n centerMode: isMobile ? false : true,\n centerPadding: isTablet ? '180px' : '150px',\n variableWidth: isMobile ? false : true, // require to apply zoom effect on .slick-center via css\n speed: isMobile ? 300 : 0, // to avoid horizontal jumping on centerMode with zoom effect on active slide\n dots: true,\n arrows: false,\n infinite: true,\n initialSlide: slideCount\n };\n\n if (isMobile) {\n $mistral2Carousel1.slick(carouselConfig);\n }\n else {\n $mistral2Carousel1.slick(carouselConfig).slick('setPosition');\n }\n }\n };\n\n window.vbqUtils.cache.$window.resize(window.vbqUtils._debounce(function () {\n setMistral2Carousel1();\n }, 200));\n\n setMistral2Carousel1();\n}\n\nfunction mistral2Carousel2Init() {\n var $mistral2Carousel2 = $('.js-mistral-carousel-2');\n\n var setMistral2Carousel2 = function () {\n if ($mistral2Carousel2.length) {\n if ($mistral2Carousel2.hasClass('slick-initialized')) {\n $mistral2Carousel2.slick('unslick');\n }\n\n var isMobile = window.vbqUtils.breakpoint.is('mobileAndTablet'),\n carouselConfig = {\n slidesToShow: 1,\n slidesToScroll: 1,\n dots: false,\n arrows: true\n };\n\n if (!isMobile) {\n carouselConfig.appendArrows = '#js-mistralCarousel2Arrows';\n }\n\n $mistral2Carousel2.slick(carouselConfig);\n }\n };\n\n window.vbqUtils.cache.$window.resize(window.vbqUtils._debounce(function () {\n setMistral2Carousel2();\n }, 200));\n\n setMistral2Carousel2();\n}\n\nfunction mistral2Carousel3Init() {\n // Initialize product carousel\n var $mistral2ProductCarousel = $('.js-mistral-productcarousel');\n\n var setMistral2ProductCarousel = function () {\n if ($mistral2ProductCarousel.length) {\n if ($mistral2ProductCarousel.hasClass('slick-initialized')) {\n $mistral2ProductCarousel.slick('unslick');\n }\n\n var isMobile = window.vbqUtils.breakpoint.is('mobile'),\n isTablet = window.vbqUtils.breakpoint.is('tablet');\n\n $mistral2ProductCarousel.slick({\n slidesToShow: isMobile ? 1 : (isTablet ? 3 : 4),\n slidesToScroll: isMobile ? 1 : (isTablet ? 3 : 4),\n dots: true,\n arrows: false\n });\n }\n };\n\n window.vbqUtils.cache.$window.resize(window.vbqUtils._debounce(function () {\n setMistral2ProductCarousel();\n }, 200));\n\n setMistral2ProductCarousel();\n}\n\nfunction mistral2Carousel4Init() {\n var $mistral2Carousel4 = $('.js-mistral-carousel-4');\n\n var setMistral2Carousel4 = function () {\n if ($mistral2Carousel4.length) {\n if ($mistral2Carousel4.hasClass('slick-initialized')) {\n $mistral2Carousel4.slick('unslick');\n }\n\n var isMobile = window.vbqUtils.breakpoint.is('mobileAndTablet'),\n isDesktop = window.vbqUtils.breakpoint.is('fromDesktop');\n\n $mistral2Carousel4.slick({\n slidesToShow: isMobile ? 1 : (isDesktop ? 2 : 3),\n slidesToScroll: isMobile ? 1 : (isDesktop ? 2 : 3),\n dots: true,\n arrows: false,\n infinite: isMobile ? true : false\n });\n }\n };\n\n window.vbqUtils.cache.$window.resize(window.vbqUtils._debounce(function () {\n setMistral2Carousel4();\n }, 200));\n\n setMistral2Carousel4();\n}\n\nfunction mistral2Newsletter() {\n // standard form validation (formPrepare.js, validationLogic.js, ...) can not be used here\n // so the form status and error message are managed directly through jQuery validator\n var $form = $('#js-landingNewsletterSubscription');\n\n if ($form.length) {\n var $formfieldset = $form.find('.gl_form-group'),\n $email = $form.find('#js-landingNewsletterEmail'),\n $errorMessage = $form.find('.gl_error-message'),\n validator = $form.validate(),\n options = {};\n\n $email.rules('add', {\n required: true,\n email: true\n });\n\n $email.on('keyup input', window.vbqUtils._debounce(function () {\n if ($(this).val() !== '') {\n validator.element(this);\n }\n }, 200));\n\n // put back the form in pristine state (input with no value, no error)\n validator.resetForm();\n $formfieldset.removeClass('gl_has-error');\n\n // run submit if submit button was clicked\n $form.on('click', '.gl_input-submit.mistral-newsletter-submit', function (e) {\n e.preventDefault();\n\n $form.submit();\n });\n\n //handle submit form logic for mistral2 newsletter form\n $form.on('submit', function (e) {\n e.preventDefault();\n\n if (!$form.valid()) {\n return false;\n }\n\n var email = $email.val(),\n source = $email.data('source'),\n optin = $form.find('.optin').prop('checked');\n\n //send email to server\n $.ajax({\n method: 'POST',\n url: window.Urls.subscribeToNewsletter,\n data: {\n email: email,\n source: source,\n optinconsent: optin\n },\n cache: false,\n beforeSend: function () {\n options = {};\n $formfieldset.removeClass('gl_has-success gl_has-error').addClass('gl_loading');\n }\n }).done(function (data) {\n // GDPR-33 - GDPR - Revision of consents\n if (!data.error && data.type == 'success') {\n $formfieldset.removeClass('gl_loading').addClass('gl_has-success');\n $form.addClass('hidden');\n $('.js-landingNewsletterSubscriptionSuccess').removeClass('hidden');\n }\n // GDPR-26 - GDPR - Mistral2 Modal - New consent modal\n else if (!data.error && data.type == 'consents') {\n window.vbqUtils.dialog.open({\n url: window.Urls.getConsentForm,\n options: {\n width: 'auto',\n dialogClass : 'consent-dialog',\n open: function () {\n window.vbqUtils.initializeJQueryUiPlugins();\n\n var $consentForm = $('#js-newsletterSubscriptionConsents'),\n $newsletterSubscriptionConsentsButton = $('#js-newsletterSubscriptionConsentsButton');\n\n $newsletterSubscriptionConsentsButton.click(function () {\n $newsletterSubscriptionConsentsButton.attr('disabled', 'disabled');\n window.vbqUtils.progress.show($newsletterSubscriptionConsentsButton);\n\n $.ajax({\n method: 'POST',\n url: window.Urls.consentForNewsletterSubscription,\n data: {\n email: email,\n source: source,\n optinconsent: $consentForm.find('#dwfrm_profile_customer_optinconsent').prop('checked')\n },\n cache: false,\n beforeSend: function () {\n options = {};\n $formfieldset.removeClass('gl_has-success gl_has-error').addClass('gl_loading');\n }\n }).done(function (data) {\n $formfieldset.removeClass('gl_loading');\n\n if (!data.alert && data.type == 'success') {\n $formfieldset.addClass('gl_has-success');\n $form.addClass('hidden');\n $('.js-landingNewsletterSubscriptionSuccess').removeClass('hidden');\n }\n else {\n options[$email.attr('name')] = window.Resources.VALIDATE_EMAIL_GLOBAL;\n validator.showErrors(options);\n }\n\n window.vbqUtils.dialog.close();\n }).fail(function () {\n $formfieldset.removeClass('gl_loading');\n options[$email.attr('name')] = window.Resources.SERVER_ERROR;\n validator.showErrors(options);\n window.vbqUtils.dialog.close();\n });\n });\n }.bind(this)\n }\n });\n }\n else {\n $formfieldset.removeClass('gl_loading');\n switch (data.type) {\n case 'format':\n options[$email.attr('name')] = window.Resources.VALIDATE_EMAIL;\n break;\n case 'already':\n options[$email.attr('name')] = window.Resources.VALIDATE_EMAIL_ALREADY;\n break;\n default:\n options[$email.attr('name')] = window.Resources.VALIDATE_EMAIL_GLOBAL;\n break;\n }\n validator.showErrors(options);\n }\n }).fail(function () {\n $formfieldset.removeClass('gl_loading');\n options[$email.attr('name')] = window.Resources.SERVER_ERROR;\n validator.showErrors(options);\n });\n });\n }\n}\n\nwindow.addEventListener('mainJsLoaded', function () {\n mistral2Newsletter();\n mistral2Carousel1Init();\n mistral2Carousel2Init();\n mistral2Carousel3Init();\n mistral2Carousel4Init();\n});\n"],"names":["mistral2Carousel1Init","setMistral2Carousel1","isMobile","carouselConfig","$mistral2Carousel1","length","hasClass","slick","window","vbqUtils","breakpoint","is","isTablet","slidesToShow","slidesToScroll","centerMode","centerPadding","variableWidth","speed","dots","arrows","infinite","initialSlide","slideCount","$","Math","floor","data","cache","$window","resize","_debounce","mistral2Carousel2Init","setMistral2Carousel2","$mistral2Carousel2","appendArrows","mistral2Carousel3Init","setMistral2ProductCarousel","$mistral2ProductCarousel","mistral2Carousel4Init","setMistral2Carousel4","isDesktop","$mistral2Carousel4","mistral2Newsletter","$formfieldset","$email","validator","options","$form","find","validate","rules","required","email","on","this","val","element","resetForm","removeClass","e","preventDefault","submit","valid","source","optin","prop","ajax","method","url","Urls","subscribeToNewsletter","optinconsent","beforeSend","addClass","done","error","type","attr","Resources","VALIDATE_EMAIL","VALIDATE_EMAIL_ALREADY","VALIDATE_EMAIL_GLOBAL","showErrors","dialog","open","getConsentForm","width","dialogClass","initializeJQueryUiPlugins","$consentForm","$newsletterSubscriptionConsentsButton","click","progress","show","consentForNewsletterSubscription","alert","close","fail","SERVER_ERROR","bind","addEventListener"],"mappings":"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"}