{"version":3,"sources":["common/js/components/flexibleEmailFormComponent.js"],"names":["FlexibleEmailForm","init","el","$this","$formSubmitButton","find","$form","$recaptchaError","$cookieError","$idInput","$success","onModalShow","onModalHide","sessionStorage","getItem","removeItem","length","setTimeout","scrollToElement","data","grecaptcha","ready","click","formCookie","prop","hide","cookieHelper","getCookie","val","show","valid","recaptchaSite","consentValue","consentSplit","split","execute","action","then","token","$","ajax","type","url","done","validateForm","next","modal","validateCheckboxes","min","max","checked","minErrorText","rangeErrorText","replace","formOk","each","i","obj","this","attr","children","text","parseInt","checkboxes","filter","Number","isInteger","result","result2","result3","pattern","RegExp","test","setItem","submit","on","event","$modal","onConsentAccept","document","addEventListener","remember","detail","consent","$el","closest"],"mappings":"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","file":"../../../../common/js/components/flexibleEmailFormComponent-3cc8ca2911.js","sourcesContent":["var FlexibleEmailForm = {\n init: function init(el) {\n var $this = el;\n var $formSubmitButton = $this.find(\"#flexibleEmailFormComponent-submit\");\n var $form = $this.find(\".flexibleEmailFormComponent-form\");\n var $recaptchaError = $this.find(\".flexibleEmailFormComponent-recaptchaError\");\n var $cookieError = $this.find(\".flexibleEmailFormComponent-cookieError\");\n var $idInput = $form.find(\"input[name=sitecoreItemId]\");\n var $success = $this.find(\".flexibleEmailFormComponent-success\");\n FlexibleEmailForm.onModalShow($this);\n FlexibleEmailForm.onModalHide($this);\n if (sessionStorage.getItem(\"scrollToFormMessage\") === \"true\") {\n sessionStorage.removeItem(\"scrollToFormMessage\");\n if ($success.length) {\n setTimeout(function () {\n scrollToElement($success);\n }, 1000);\n } else {\n setTimeout(function () {\n scrollToElement($formSubmitButton);\n }, 1000);\n }\n }\n if ($recaptchaError.data(\"recaptcha-enabled\") === \"True\") {\n grecaptcha.ready(function () {\n $formSubmitButton.click(function () {\n $formSubmitButton.prop(\"disabled\", true);\n $cookieError.hide();\n var formCookie = cookieHelper.getCookie($idInput.val());\n if (formCookie) {\n $cookieError.show();\n } else {\n if ($form.valid()) {\n var recaptchaSite = $this.data(\"recaptcha-site\");\n var consentValue = cookieHelper.getCookie(\"wscrCookieConsent\");\n var consentSplit = consentValue.split(\"&\");\n if (consentValue != \"\" && consentSplit[2] == \"3=true\") {\n grecaptcha.execute(recaptchaSite, {\n action: \"FormSubmit\"\n }).then(function (token) {\n $.ajax({\n type: \"get\",\n url: \"/get-validaterecaptcha\" + \"?token=\" + token\n }).done(function (data) {\n if (data === \"True\") {\n $recaptchaError.hide();\n FlexibleEmailForm.validateForm($this);\n } else {\n $recaptchaError.show();\n $formSubmitButton.prop(\"disabled\", false);\n }\n });\n });\n }\n if (consentValue == \"\" || consentSplit[2] == \"3=false\") {\n $this.next('#flexibleEmailFormModal').modal();\n }\n } else {\n $formSubmitButton.prop(\"disabled\", false);\n }\n }\n });\n });\n } else {\n $formSubmitButton.click(function () {\n $formSubmitButton.prop(\"disabled\", true);\n $cookieError.hide();\n var formCookie = cookieHelper.getCookie($idInput.val());\n if (formCookie) {\n $cookieError.show();\n } else {\n if ($form.valid()) {\n FlexibleEmailForm.validateForm($this);\n } else {\n $formSubmitButton.prop(\"disabled\", false);\n }\n }\n });\n }\n },\n validateCheckboxes: function validateCheckboxes(min, max, checked, minErrorText, rangeErrorText) {\n if (max > 0) {\n if (checked >= min && checked <= max) {\n return \"true\";\n }\n return rangeErrorText.replace(\"{min}\", min).replace(\"{max}\", max);\n } else {\n if (checked >= min) {\n return \"true\";\n }\n return minErrorText.replace(\"{min}\", min);\n }\n },\n validateForm: function validateForm(el) {\n var $this = el;\n var $form = $this.find(\".flexibleEmailFormComponent-form\");\n var $formSubmitButton = $form.find(\"#flexibleEmailFormComponent-submit\");\n var formOk = true;\n $this.find(\".flexibleEmailFormComponent-htmlError\").hide();\n $form.find(\".flexibleEmailFormComponent-inputFile\").each(function (i, obj) {\n if ($(this).data(\"required\") === \"True\") {\n if ($(this).val() === \"\") {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text($(this).data(\"no-file-error-text\"));\n formOk = false;\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n }\n }\n });\n $form.find(\".flexibleEmailFormComponent-checkboxGroup\").each(function (i, obj) {\n if ($(this).data(\"required\") === \"True\") {\n var min = parseInt($(this).data(\"min\")) || 0;\n var max = parseInt($(this).data(\"max\")) || 0;\n var checkboxes = $(this).find('input[type=\"checkbox\"]').length;\n var checked = $(this).find('input[type=\"checkbox\"]').filter(':checked').length;\n if (Number.isInteger(min) && Number.isInteger(max) && (min > 0 || max > 0)) {\n if (checkboxes >= min && min > 0) {\n if (checkboxes >= max) {\n var result = FlexibleEmailForm.validateCheckboxes(min, max, checked, $(this).data(\"min-error-text\"), $(this).data(\"range-error-text\"));\n if (result !== \"true\") {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(result);\n formOk = false;\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n }\n } else {\n var result2 = FlexibleEmailForm.validateCheckboxes(min, 0, checked, $(this).data(\"min-error-text\"), $(this).data(\"range-error-text\"));\n if (result2 !== \"true\") {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(result2);\n formOk = false;\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n }\n }\n } else {\n if (checkboxes >= max && max > 0) {\n var result3 = FlexibleEmailForm.validateCheckboxes(0, max, checked, $(this).data(\"min-error-text\"), $(this).data(\"range-error-text\"));\n if (result3 !== \"true\") {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(result3);\n formOk = false;\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n }\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n return;\n }\n }\n } else {\n $(\"label[for='\" + $(this).attr('id') + \"']\").children(\".flexibleEmailFormComponent-validationError\").text(\"\");\n return;\n }\n }\n });\n $form.find(\".flexibleEmailFormComponent-textInput\").each(function (i, obj) {\n if ($(this).val() === \"\") {\n return;\n } else {\n var pattern = new RegExp(\"<[^>]*>\");\n if (pattern.test($(this).val())) {\n $this.find(\".flexibleEmailFormComponent-htmlError\").show();\n formOk = false;\n return;\n }\n }\n });\n if (formOk) {\n sessionStorage.setItem(\"scrollToFormMessage\", \"true\");\n $form.submit();\n } else {\n $formSubmitButton.prop(\"disabled\", false);\n }\n },\n onModalShow: function onModalShow(el) {\n var $this = el;\n $this.next('#flexibleEmailFormModal').on('show.bs.modal', function (event) {\n var $modal = $(this);\n $modal.find(\".flexibleEmailFormComponent-consent-accept\").click(function () {\n FlexibleEmailForm.onConsentAccept(this, $this);\n });\n document.addEventListener(\"wscr.consent\", function (event) {\n var remember = $modal.find(\".flexibleEmailFormComponent-consent-remember\");\n if (event.detail.consent[3]) {\n FlexibleEmailForm.onConsentAccept(remember, $this);\n }\n });\n });\n },\n onModalHide: function onModalHide(el) {\n var $this = el;\n $this.next('#flexibleEmailFormModal').on('hidden.bs.modal', function () {\n var $form = $this.find(\".flexibleEmailFormComponent-form\");\n var $formSubmitButton = $form.find(\"#flexibleEmailFormComponent-submit\");\n $formSubmitButton.prop(\"disabled\", false);\n });\n },\n onConsentAccept: function onConsentAccept($el, $this) {\n var $formSubmitButton = $this.find(\"#flexibleEmailFormComponent-submit\");\n var modal = $el.closest('#flexibleEmailFormModal');\n var $recaptchaError = $this.find(\".flexibleEmailFormComponent-recaptchaError\");\n var recaptchaSite = $this.data(\"recaptcha-site\");\n $(modal).modal('hide');\n grecaptcha.execute(recaptchaSite, {\n action: \"FormSubmit\"\n }).then(function (token) {\n $.ajax({\n type: \"get\",\n url: \"/get-validaterecaptcha\" + \"?token=\" + token\n }).done(function (data) {\n if (data === \"True\") {\n $recaptchaError.hide();\n FlexibleEmailForm.validateForm($this);\n } else {\n $recaptchaError.show();\n $formSubmitButton.prop(\"disabled\", false);\n }\n });\n });\n }\n};\n$(document).ready(function () {\n $(\".flexibleEmailFormComponent\").each(function () {\n FlexibleEmailForm.init($(this));\n });\n});"]}