{"version":3,"sources":["registrationForm.js"],"names":["backToTop","$backToTop","$","window","scrollTop","addClass","removeClass","scroll","on","animate","initFooterMenuToggle","mainCont","click","hiddenCont","this","siblings","toggleClass","hasClass","find","accordion","width","resize","Vendd","Scripts","load","length","isTouch"],"mappings":"AAUA,SAAAA,YACA,IAAAC,WAAAC,EAAA,gBAGAA,EAAAC,QAAAC,YACA,IAAAH,WAAAI,SAAA,WAAAJ,WAAAK,YAAA,WACAJ,EAAAC,QAAAI,OAAA,WACAL,EAAAC,QAAAC,YACA,IAAAH,WAAAI,SAAA,WAAAJ,WAAAK,YAAA,aAGAL,WAAAO,GAAA,QAAA,WACAN,EAAA,aAAAO,QAAA,CAAAL,UAAA,GAAA,IAAA,WAIA,SAAAM,uBACA,IAAAC,SAAAT,EAAA,yCACAA,EAAA,mCAAAU,MAAA,WACA,IAAAC,WAAAX,EAAAY,MAAAC,SAAA,sBACAb,EAAAY,MAAAE,YAAA,iCACAH,WAAAI,SAAA,UACAJ,WAAAP,YAAA,WAEAK,SAAAO,KAAA,WAAAZ,YAAA,UAAAS,SAAA,cAAAC,YAAA,iCACAH,WAAAR,SAAA,aAIA,IAAAc,WAAA,EAEAjB,EAAAC,QAAAiB,SAAA,MACAD,WAAA,GAGAjB,EAAAC,QAAAkB,OAAA,WACAnB,EAAAC,QAAAiB,QAAA,IACAD,YACAjB,EAAA,qBAAAS,UAAAL,YAAA,UACAa,WAAA,GAIAA,YACAjB,EAAA,qBAAAS,UAAAI,SAAA,cAAAV,SAAA,mBAAAC,YAAA,iBACAa,WAAA,KAvDAG,MAAAC,QAAAC,KAAA,WACAtB,EAAA,gBAAAuB,OAAA,GACAzB,YAGA0B,WACAhB","file":"footer.js","sourcesContent":["Vendd.Scripts.load(function () {\n\n var $form = $('.x-registration-form'), $submitButton, form, formData, $loyaltyErrorWrapper = $('.loyalty-error-container'), loyaltyRegistrationUrl;\n\n if ($form.length < 1)\n return;\n\n $submitButton = $('.js-submit-button', $form);\n\n form = $form.get(0);\n\n importEmailForRegistration();\n\n formData = {\n \"title\": $(\"option:selected\", 'select[name=title]').text(),\n \"firstName\": $('input[name=\"firstName\"]').val(),\n \"lastName\": $('input[name=\"lastName\"]').val(),\n \"email\": $('input[name=\"email\"]').val(),\n \"username\": ($('input[name=\"username\"]').length > 0 ? $('input[name=\"username\"]').val() : ''),\n \"password\": \"\",\n \"passwordConfirmation\": \"\",\n \"newsletter\": false,\n \"reCaptchaCode\": \"\",\n \"redirectUrl\": $form.data('redirect') || \"\",\n \"b2buser\": false,\n \"b2bcompanyname\": \"\",\n \"b2boccupation\": \"\",\n \"TaxAgency\": \"\",\n \"b2btaxidentifier\": \"\",\n \"b2bvatstatus\": 0,\n \"phone\": $('input[name=\"phone\"]').val(),\n \"mobilephone\": \"\", //$('input[name=\"mobilephone\"]').val()\n \"birthdate\": \"\",\n \"registerToLoyalty\": false,\n \"isLoyaltyMember\": false,\n \"loyaltyRequest\": false, \n \"loyaltyMemberId\":\"\",\n \"alreadyRegisteredToLoyalty\": false\n };\n\n var useEmailAsLoginName = $form.data('useemailasloginname').toString().toLowerCase() === 'true';\n var chkB2BUser = $('#b2buser');\n\n // reCAPTCHA\n var captchaWidgetId;\n var captchaId = \"registrationCaptcha\";\n var $captchaElement = $form.find(\"#\" + captchaId);\n var $captchaContainer = $form.find('.recaptcha-container');\n var captchaEnabled = $captchaElement.length > 0 ? true : false;\n\n form.initRecaptcha = function () {\n\n if (!captchaEnabled)\n return;\n\n var sitekey = $captchaElement.data(\"sitekey\");\n if (sitekey) {\n captchaEnabled = true;\n captchaWidgetId = grecaptcha.render(captchaId, {\n 'sitekey': sitekey,\n 'callback': form.recaptchaCallback\n });\n }\n };\n\n $form.on('click', '.js-password-reveal', function (e) {\n e.preventDefault();\n if ($(this).hasClass('shown')) {\n $(this).removeClass('shown').siblings('input').prop('type', 'password');\n } else {\n $(this).addClass('shown').siblings('input').prop('type', 'text');\n }\n });\n\n form.validateRecaptcha = function () {\n if (!captchaEnabled)\n return true;\n\n formData.reCaptchaCode = $captchaElement.find('.g-recaptcha-response').val();\n\n var res = false;\n\n if (formData.reCaptchaCode) {\n $captchaContainer.find('.error-recaptcha').hide();\n res = true;\n } else {\n $captchaContainer.find('.error-recaptcha').show();\n }\n\n return res;\n };\n\n form.resetRecaptcha = function () {\n // Website must only verify the user's reCAPTCHA response token (g-recaptcha-response) once. \n // If a verify attempt has been made with a particular token, it cannot be used again. \n // Call grecaptcha.reset() to ask the end user to verify with reCAPTCHA again.\n if (captchaEnabled)\n grecaptcha.reset(captchaWidgetId);\n };\n\n form.removeRecaptcha = function () {\n $captchaElement.remove();\n };\n\n form.recaptchaCallback = function () {\n form.validateRecaptcha();\n };\n\n form.loading = function (loading) {\n if (loading) {\n $form.addClass('x-loading');\n } else {\n $form.removeClass('x-loading');\n }\n };\n\n form.onSuccess = function (envelope) {\n form.loading(false);\n\n var response = envelope.message.data;\n if (response.success && response.code === \"Registration_OperationSuccesful\") {\n $('.js-error', $form).hide();\n $('.js-exists', $form).hide();\n $('.js-content', $form).hide();\n\n var isLoyaltyActivated = (formData.alreadyRegisteredToLoyalty || formData.registerToLoyalty);\n /*if (isLoyaltyActivated && formData.mobilephone) {\n loyaltyRegistrationUrl = response.data.LoyaltyRegistrationUrl;\n Vendd.MessageBus.publishAsync(Vendd.Loyalty, new Vendd.Loyalty.Messages.CheckByMobile(formData.mobilephone));\n } else {\n $('.js-success', $form).show();\n }*/\n\n\n $('.js-success', $form).show();\n } else {\n if (response.code === 'Registration_EmailExists') {\n $('.js-error', $form).hide();\n $('.js-exists', $form).show();\n\n } else {\n $('.js-exists', $form).hide();\n $('.js-error', $form).show();\n };\n };\n\n form.removeRecaptcha();\n $('input[name=\"password\"]', $form).val(\"\");\n $('input[name=\"passwordConfirmation\"]', $form).val(\"\");\n };\n\n form.onFailure = function (envelope) {\n form.loading(false);\n\n if (envelope.message.data.code === 'Registration_EmailExists') {\n $('.js-error', $form).hide();\n $('.js-exists', $form).show();\n } else {\n $('.js-exists-error', $form).hide();\n $('.js-error', $form).show();\n }\n\n $('input[name=\"password\"]', $form).val(\"\");\n $('input[name=\"passwordConfirmation\"]', $form).val(\"\");\n };\n\n form.submit = function () {\n form.loading(true);\n\n formData.b2buser = chkB2BUser.prop(\"checked\");\n formData.b2bvatstatus = $('select[name=\"b2bvatstatus\"]').val();\n formData.newsletter = $('#chkNewsletter').prop(\"checked\");\n formData.registerToLoyalty = $('#chkRegisterToLoyaltyPoints').prop(\"checked\");\n formData.alreadyRegisteredToLoyalty = $('#chkAlreadyRegisteredToLoyaltyPoints').prop(\"checked\");\n\n formData.isLoyaltyMember = $('#isLoyaltyMember').prop(\"checked\");\n formData.loyaltyRequest = $('#loyaltyRequest').prop(\"checked\");\n\n Vendd.MessageBus.publishAsync(form, new Vendd.User.Messages.Register(\n formData.firstName,\n formData.lastName,\n formData.email,\n formData.username,\n formData.password,\n formData.passwordConfirmation,\n formData.newsletter,\n formData.reCaptchaCode,\n formData.redirectUrl,\n formData.b2buser,\n formData.b2bcompanyname,\n formData.b2boccupation,\n formData.TaxAgency,\n formData.b2btaxidentifier,\n formData.b2bvatstatus,\n formData.phone,\n formData.mobilephone,\n formData.birthdate,\n formData.isLoyaltyMember,\n formData.loyaltyRequest,\n formData.loyaltyMemberId,\n formData.registerToLoyalty || formData.alreadyRegisteredToLoyalty));\n };\n\n form.reset = function () {\n $('.js-error', $form).hide();\n $('.js-exists', $form).hide();\n $('.js-success', $form).hide();\n $('.js-content', $form).show();\n\n $('input[name=\"firstName\"]', $form).val(\"\");\n $('input[name=\"lastName\"]', $form).val(\"\");\n $('input[name=\"email\"]', $form).val(\"\");\n $('input[name=\"username\"]', $form).val(\"\");\n $('input[name=\"password\"]', $form).val(\"\");\n $('input[name=\"passwordConfirmation\"]', $form).val(\"\");\n\n $('input[name=\"b2buser\"]', $form).val(\"\");\n $('input[name=\"b2bcompanyname\"]', $form).val(\"\");\n $('input[name=\"b2boccupation\"]', $form).val(\"\");\n $('select[name=\"TaxAgency\"]', $form).val(\"\");\n $('input[name=\"TaxAgency\"]', $form).val(\"\");\n $('input[name=\"b2btaxidentifier\"]', $form).val(\"\");\n\n $('input[name=\"phone\"]', $form).val(\"\");\n $('input[name=\"mobilephone\"]', $form).val(\"\");\n $('input[name=\"birthdate\"]', $form).val(\"\");\n\n rf.reset();\n };\n\n form.updatePasswordBar = function (value) {\n var score = Vendd.Helpers.textStrength(value);\n\n var $passwordStrength = $('#chkPassLabel, #chkPassText');\n\n $passwordStrength.removeClass(function (i, css) {\n return (css.match(/(^|\\s)level\\S+/g) || []).join(' ');\n }).addClass('level' + score);\n };\n\n $(\".js-datepicker\", $form).datepicker({\n changeMonth: true,\n changeYear: true,\n yearRange: \"-100:+0\",\n maxDate: \"0\"\n });\n\n //form.setIsRegistered = function (isRegistered) {\n // sessionStorage.setItem('LoyaltyIsRegistered', isRegistered);\n //};\n $.fn.validationEngine.validations.passwordStrength = Vendd.Validations.passwordStrength;\n\n var valOpts = {\n firstName: {\n required: 'firstname-required'\n },\n lastName: {\n required: 'lastname-required'\n },\n email: {\n required: 'email-required',\n isEmail: 'email-invalid'\n },\n password: {\n required: 'password-required',\n passwordStrength: {\n validator: 'password-weak',\n config: {\n limit: $form.data('pwdstrength')\n }\n }\n },\n phone: {\n required: 'phone-required'\n },\n\n /*mobilephone: {\n required: 'mobilephone-required'\n },\n birthdate: {\n required: 'birthdate-required'\n },*/\n\n passwordConfirmation: {\n required: 'password-confirm-required',\n match: {\n validator: 'password-confirm-match',\n matchField: 'password'\n }\n },\n };\n\n //add consent validations\n $.each($('div.consent.checkbox[data-required]'), function (e, el) {\n var consentType = $('input', el).attr('name');\n valOpts[consentType] = {\n checkboxRequired: consentType + '-required'\n };\n });\n\n /*var clickedCheckbox;\n var loyaltyCheckboxes = $('.js-loyalty-checkbox .checkbox-wrapper > input', $form);\n loyaltyCheckboxes.removeAttr('disabled');\n\n $('.consent-wrapper', $form).each(function (e, el) {\n var $chkbx = $('.checkbox-wrapper > input', el);\n\n $chkbx.off('click').on('click', function () {\n var $this = $(this);\n\n if (!$this.is(':checked')) {\n var fieldName = $this.attr('name');\n\n formData[fieldName] = $this.is(':checked');\n rf = $form.data('validationEngine');\n rf.validate(fieldName);\n return;\n }\n\n var $text = $('.consent-text-wrapper', el);\n $.fancybox.open($text, {\n maxWidth: 900,\n padding: 0,\n modal: true,\n afterShow: function () {\n var consentForm = $('.js-consent-form');\n var scrollContForm = $('.js-scrollbar', consentForm);\n var closeButton = $('.js-consent-decline-button', consentForm);\n var acceptButton = $('.js-consent-accept-button', consentForm);\n\n scrollContForm.mCustomScrollbar({\n scrollbarPosition: \"outside\",\n scrollInertia: 400,\n timeout: 1000,\n theme: \"dark-2\",\n mouseWheel: { preventDefault: true },\n callbacks: {\n onTotalScrollOffset: 25,\n onTotalScroll: function () {\n consentForm.addClass('has-scrolled');\n $('.js-consent-accept-button', consentForm).prop('disabled', false);\n $('.js-tooltip', consentForm).addClass('hidden');\n },\n onInit: function () {\n $('.js-scroll-btn', consentForm).addClass('show');\n },\n onCreate: function () {\n setTimeout(function () {\n if (scrollContForm.hasClass('mCS_no_scrollbar')) {\n consentForm.addClass('has-scrolled');\n $('.js-consent-accept-button', consentForm).prop('disabled', false);\n $('.js-tooltip', consentForm).addClass('hidden');\n }\n }, 100);\n }\n }\n });\n\n $('.js-scroll-btn', consentForm).click(function () {\n scrollContForm.mCustomScrollbar('scrollTo', '-=' + (scrollContForm.height()));\n });\n\n closeButton.off('click').on('click', function () {\n clickedCheckbox.prop(\"checked\", false);\n $this.prop(\"checked\", false);\n $.fancybox.close(true);\n });\n acceptButton.off('click').on('click', function () {\n clickedCheckbox.prop(\"checked\", true);\n $this.prop(\"checked\", true);\n $.fancybox.close(true);\n });\n },\n afterClose: function () {\n\n var fieldName = $this.attr('name');\n\n formData[fieldName] = $this.is(':checked');\n rf = $form.data('validationEngine');\n rf.validate(fieldName);\n },\n });\n });\n });\n\n loyaltyCheckboxes.click(function (e) {\n clickedCheckbox = $(this);\n $('.consent-wrapper.loyalty .checkbox-wrapper > input', $form).trigger('click');\n });*/\n if (!useEmailAsLoginName) {\n valOpts.username = {\n required: 'username-required'\n };\n\n }\n\n\n $form.validationEngine(valOpts);\n var rf = $form.data('validationEngine');\n\n var val3 = true;\n $form.on('click', '.js-submit-button', function (e) {\n\n if (chkB2BUser.prop(\"checked\") == true) {\n\n var $b2bcompanyname_container = $form.find('.b2bcompanyname-container');\n if ($('input[name=b2bcompanyname]').val().trim().length == 0) {\n $b2bcompanyname_container.find('.b2bcompanyname-required').show();\n } else {\n $b2bcompanyname_container.find('.b2bcompanyname-required').hide();\n }\n\n var $b2boccupation_container = $form.find('.b2boccupation-container');\n if ($('input[name=b2boccupation]').val().trim().length == 0) {\n $b2boccupation_container.find('.b2boccupation-required').show();\n } else {\n $b2boccupation_container.find('.b2boccupation-required').hide();\n }\n\n var $b2btaxegency_container = $form.find('.js-tax-agencies');\n var isSelect = false;\n if ($b2btaxegency_container.length !== 0) {\n\n if ($('select[name=TaxAgency]').val().trim().length == 0) {\n $b2btaxegency_container.find('.b2btaxegency-required').show();\n } else {\n $b2btaxegency_container.find('.b2btaxegency-required').hide();\n }\n isSelect = 'select';\n } else {\n $b2btaxegency_container = $form.find('.taxagency-value');\n if ($('input[name=TaxAgency]').val().trim().length == 0) {\n $b2btaxegency_container.find('.b2btaxegency-required').show();\n } else {\n $b2btaxegency_container.find('.b2btaxegency-required').hide();\n }\n isSelect = 'input';\n }\n\n\n var $b2btaxidentifier_container = $form.find('.b2btaxidentifier-container');\n if ($('input[name=b2btaxidentifier]').val().trim().length == 0) {\n $b2btaxidentifier_container.find('.b2btaxidentifier-required').show();\n } else {\n $b2btaxidentifier_container.find('.b2btaxidentifier-required').hide();\n }\n\n if ($('input[name=b2bcompanyname]').val().trim().length == 0 || $('input[name=b2boccupation]').val().trim().length == 0 ||\n $(isSelect + '[name=TaxAgency]').val().trim().length == 0 || $('input[name=b2btaxidentifier]').val().trim().length == 0) {\n val3 = false;\n } else {\n val3 = true;\n }\n }\n\n\n valOpts = $form.validationEngine();\n\n valOpts.b2bcompanyname = {\n required: 'b2bcompanyname-required'\n };\n\n\n $form.validationEngine(valOpts);\n rf = $form.data('validationEngine');\n\n e.preventDefault();\n e.stopPropagation();\n\n var val1 = form.validateRecaptcha();\n var val2 = rf.validate();\n\n\n if (val1 && val2 && val3) {\n if (LhApp.Context.IsConsentsEnabled) {\n form.checkConsents();\n } else {\n form.submit();\n }\n }\n });\n form.checkConsents = function () {\n var data = [];\n var checkboxes = $('.form-row.consent.checkbox');\n $.each(checkboxes, function (e, el) {\n var chkbx = $('.checkbox-wrapper input', el);\n data.push({ type: chkbx.attr('id'), source: 'Registration Form', approved: chkbx.prop(\"checked\") });\n });\n\n if (data.length > 0) {\n window.ConsentsManager.insertConsents(data);\n } else {\n form.submit();\n }\n }\n $form.on('change', 'select[name]', function (e) {\n var $this = $(this);\n var fieldName = $this.attr('name');\n formData[fieldName] = $(\"option:selected\", $this).text();\n\n });\n\n $form.on('change', '.js-datepicker', function (e) {\n $(this).trigger('keyup');\n });\n\n $form.on('keyup', 'input[name]', function (e) {\n\n if (e.keyCode === 13) {\n e.preventDefault();\n e.stopPropagation();\n\n $submitButton.click();\n\n return;\n };\n\n var $this = $(this);\n var fieldName = $this.attr('name');\n\n if (fieldName === \"password\") {\n form.updatePasswordBar($this.val());\n };\n\n formData[fieldName] = $this.val();\n rf = $form.data('validationEngine');\n rf.validate(fieldName);\n });\n\n $form.on('click', 'input.single-check', function () {\n $('input.single-check').not(this).prop('checked', false);\n formData.registerToLoyalty = $('#chkRegisterToLoyaltyPoints').prop(\"checked\");\n formData.alreadyRegisteredToLoyalty = $('#chkAlreadyRegisteredToLoyaltyPoints').prop(\"checked\");\n var isLoyaltyRegistered = formData.registerToLoyalty || formData.alreadyRegisteredToLoyalty;\n $('.consent-wrapper', $form).each(function (e, el) {\n var $chkbx = $('.checkbox-wrapper input', el);\n var chkbxId = $chkbx.attr('id');\n if (chkbxId != undefined && chkbxId != \"\") {\n valOpts = $form.validationEngine();\n formData[chkbxId] = $chkbx.prop(\"checked\");\n valOpts[chkbxId] = isLoyaltyRegistered ? { checkboxRequired: (chkbxId + '-required') } : {};\n $form.validationEngine(valOpts);\n }\n if (isLoyaltyRegistered) {\n $form.data('validationEngine').removeField(chkbxId);\n $form.data('validationEngine').addField(JSON.parse(\"{\\\"\" + chkbxId + \"\\\" : { \\\"checkboxRequired\\\" : \\\"\" + chkbxId + \"-required\\\" }}\"));\n $chkbx.prop(\"checked\", true);\n } else {\n $('.' + chkbxId + '-required', $form).removeClass(\"error\");\n $form.data('validationEngine').removeField(chkbxId);\n $chkbx.prop(\"checked\", false);\n }\n });\n });\n\n $form.on('click', '.js-clear-loyalty', function () {\n $('input.single-check:checked').prop('checked', false);\n });\n Vendd.MessageBus.subscribe(Vendd.User.Messages.RegisterSuccess, form, form.onSuccess);\n Vendd.MessageBus.subscribe(Vendd.User.Messages.RegisterFailure, form, function (envelope) {\n form.onFailure(envelope);\n form.resetRecaptcha();\n });\n Vendd.MessageBus.subscribe(Vendd.Plugins.Messages.RecaptcaLoaded, form, form.initRecaptcha);\n\n //Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.CheckByMobileSuccess, form, function (envelope) {\n // var data = envelope.message.data;\n\n // //if status 409 mobile exists in multiple members\n // if (data.StatusCode === 409) {\n // var loyaltyErrorWrapper = $loyaltyErrorWrapper.get(0);\n // $('span.error-message', loyaltyErrorWrapper).html(data.ResponseMessage);\n // $loyaltyErrorWrapper.show();\n\n // return;\n // }\n\n // form.setIsRegistered(data.StatusCode === 200);\n // sessionStorage.setItem('LoyaltyMobilePhone', formData.mobilephone);\n // window.location = data.loyaltyRegistrationUrl;\n //});\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.CheckByMobileFailure, form, function () {\n form.loading(false);\n toastr.error('Something went wrong');\n });\n Vendd.MessageBus.subscribe(Vendd.User.Messages.LoginSuccess, form, function (envelope) {\n var returnUrl = decodeURIComponent(LhApp.Function.QueryString.getValueOf('ReturnUrl', window.location.href));\n if (returnUrl) {\n document.location.href = returnUrl;\n }\n });\n Vendd.MessageBus.subscribe(Vendd.Consents.Messages.InsertConsents, form, form.submit);\n});\n"]}