{"version":3,"file":"scripts/2515.js","mappings":"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","sources":["webpack://wwwroot/./src/scripts/leadGen.js"],"sourcesContent":["/* global $$epiforms */\r\n\r\nconst allLeadgenPages = document.querySelectorAll(\".adm-div-leadgen-page\");\r\nconst firstDropdownDefault = document.querySelector(\"input#MQ1\")?.value?.trim();\r\nconst secondDropdownDefault = document.querySelector(\"input#MQ2\")?.value?.trim();\r\n\r\nfor (const leadgenPage of allLeadgenPages) {\r\n const leadgenFileDownloadBtn = leadgenPage.querySelector(\".adm-div-leadgen-success-message .adm-btn a\");\r\n const successMessageSection = leadgenPage.querySelector(\".adm-div-leadgen-success-message\");\r\n const leadgenForm = leadgenPage.querySelector(\".adm-div-leadgen-form\");\r\n const epiServerForm = leadgenPage.querySelector(\".EPiServerForms\");\r\n const epiFormStatusSection = leadgenPage.querySelector(\".Form__Status__Message\");\r\n const allFormSelections = leadgenForm?.querySelectorAll(\".FormSelection\");\r\n const allFormInputs = leadgenForm?.querySelectorAll(\".FormTextbox\");\r\n const allFormErrorSpans = leadgenForm?.querySelectorAll(\".Form__Element__ValidationError\");\r\n const formSubmitBtn = leadgenForm?.querySelector(\".FormSubmitButton\");\r\n const formStatusSection = leadgenForm?.querySelector(\".Form__Status\");\r\n var submitErrorMessage = leadgenForm?.getAttribute(\"data-submit-error\");\r\n const submitBtnAriaLabel = leadgenForm?.getAttribute(\"data-form-aria-submit\");\r\n leadgenForm.removeAttribute(\"data-form-aria-submit\");\r\n leadgenForm.removeAttribute(\"data-recaptcha-validation\");\r\n leadgenForm.removeAttribute(\"data-submit-error\");\r\n let formSubmissionErrorTag;\r\n let dataLayerObj = {};\r\n\r\n setupDropdowns();\r\n setupInputs();\r\n setupFileDownloadBtn();\r\n setupSuccessMessageTitle();\r\n replaceErrorSpanTag();\r\n addAriaLabelToElements();\r\n setupLeadSourceDescription();\r\n addFunctionsToNativeEpiformEvents();\r\n\r\n function setupDropdowns() {\r\n for (const selectionWrapper of allFormSelections) {\r\n const selectTag = selectionWrapper.querySelector(\"select\");\r\n\r\n if (firstDropdownDefault) {\r\n setupSecondDropdown(selectionWrapper, selectTag);\r\n setupFirstDropdown(selectTag);\r\n }\r\n\r\n selectTag.addEventListener(\"change\", () => removeErrorOnInput(selectionWrapper));\r\n selectTag.addEventListener(\"focusout\", () => removeRedOutlinePriority());\r\n }\r\n }\r\n\r\n function setupInputs() {\r\n for (const inputWrapper of allFormInputs) {\r\n const inputTag = inputWrapper.querySelector(\"input, textarea\");\r\n\r\n inputTag.addEventListener(\"input\", () => removeErrorOnInput(inputWrapper));\r\n inputTag.addEventListener(\"focusout\", () => removeRedOutlinePriority());\r\n }\r\n }\r\n\r\n function setupFileDownloadBtn() {\r\n const fileTarget = leadgenFileDownloadBtn?.parentElement.parentElement.getAttribute(\"data-file-target\");\r\n if (fileTarget) {\r\n leadgenFileDownloadBtn.setAttribute(\"target\", fileTarget);\r\n leadgenFileDownloadBtn.setAttribute(\"rel\", \"noopener noreferrer\");\r\n } else {\r\n leadgenFileDownloadBtn.removeAttribute(\"target\");\r\n leadgenFileDownloadBtn.removeAttribute(\"rel\");\r\n }\r\n }\r\n\r\n function setupSuccessMessageTitle() {\r\n const title = successMessageSection?.querySelector(\"h1, h2, h4\");\r\n if (title) {\r\n const h3tag = document.createElement(\"H3\");\r\n h3tag.innerText = title.innerText;\r\n successMessageSection.replaceChild(h3tag, title);\r\n }\r\n }\r\n\r\n function replaceErrorSpanTag() {\r\n for (const errorSpanTag of allFormErrorSpans) {\r\n errorSpanTag.parentElement?.insertBefore(errorSpanTag, errorSpanTag.parentElement?.firstElementChild?.nextElementSibling);\r\n }\r\n }\r\n\r\n\r\n function addAriaLabelToElements() {\r\n formSubmitBtn.setAttribute(\"aria-label\", submitBtnAriaLabel);\r\n formSubmitBtn.setAttribute(\"title\", submitBtnAriaLabel);\r\n }\r\n\r\n function setupLeadSourceDescription() {\r\n const hiddenField = formSubmitBtn.previousElementSibling;\r\n const sourceDescription = getSourceDescription();\r\n const fullNewValue = hiddenField?.getAttribute(\"value\") + \"-\" + sourceDescription;\r\n hiddenField.setAttribute(\"value\", fullNewValue);\r\n }\r\n\r\n function getSourceDescription() {\r\n const validUtmParamsKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\", \"utm_adgroup\", \"utm_experiment\"];\r\n const currentPageUrl = `${location.origin}${location.pathname}`;\r\n const urlParams = new URL(document.URL).searchParams;\r\n let validUtmParamsString = \"\";\r\n\r\n validUtmParamsKeys.forEach(paramKey => {\r\n const paramValue = urlParams.get(paramKey);\r\n const isFirstValidParamFound = validUtmParamsString.length < 1;\r\n\r\n if (paramValue) {\r\n validUtmParamsString += `${isFirstValidParamFound ? \"?\" : \"&\"}${paramKey}=${paramValue}`;\r\n }\r\n })\r\n\r\n return currentPageUrl + validUtmParamsString;\r\n }\r\n\r\n function addFunctionsToNativeEpiformEvents() {\r\n if (typeof $$epiforms !== 'undefined') {\r\n $$epiforms(document).ready(() => {\r\n $$epiforms(epiServerForm).on(\"formsStepValidating\", () => {\r\n leadgenForm.classList.add(\"adm-form-red-outline-priority\");\r\n });\r\n\r\n $$epiforms(epiServerForm).on(\"formsStartSubmitting\", () => {\r\n setupDataLayerObj();\r\n });\r\n\r\n $$epiforms(epiServerForm).on(\"formsSubmitted\", (e) => {\r\n if (!e.isSuccess) {\r\n formSubmissionErrorTag?.remove();\r\n submitErrorMessage = sliceAfterWord(e.returnedResult?.message, \"Reason: \")\r\n showErrorMessage();\r\n window.scroll({ top: leadgenPage.offsetTop, behavior: \"smooth\" });\r\n }\r\n if (e.isFinalizedSubmission && e.isSuccess) {\r\n checkForReadonlyMode();\r\n }\r\n });\r\n\r\n $$epiforms(epiServerForm).on(\"formsSubmittedError\", () => {\r\n showErrorMessage();\r\n });\r\n });\r\n }\r\n }\r\n\r\n function setupSecondDropdown(selectionWrapper, selectTag) {\r\n if (selectTag?.getAttribute(\"title\")?.trim()?.toLowerCase() === firstDropdownDefault.toLowerCase()) {\r\n selectionWrapper.classList.remove(\"hide\");\r\n if (secondDropdownDefault) {\r\n selectTag.value = secondDropdownDefault;\r\n selectTag?.dispatchEvent(new Event('change'));\r\n }\r\n }\r\n }\r\n\r\n function setupFirstDropdown(selectTag) {\r\n for (const option of selectTag?.options ?? []) {\r\n if (option.value === firstDropdownDefault) {\r\n selectTag.value = firstDropdownDefault;\r\n selectTag?.dispatchEvent(new Event('change'));\r\n }\r\n }\r\n }\r\n\r\n function removeErrorOnInput(fieldWrapper) {\r\n const validationMessage = fieldWrapper.querySelector(\".Form__Element__ValidationError\");\r\n if (fieldWrapper.classList.contains(\"ValidationFail\")) {\r\n fieldWrapper.classList.remove(\"ValidationFail\");\r\n validationMessage.style.display = \"none\";\r\n }\r\n }\r\n\r\n function removeRedOutlinePriority() {\r\n if (leadgenForm.classList.contains(\"adm-form-red-outline-priority\")) {\r\n leadgenForm.classList.remove(\"adm-form-red-outline-priority\");\r\n }\r\n }\r\n\r\n async function checkForReadonlyMode() {\r\n const response = await fetch(window.location.origin + '/FormsPage/GetDatabaseReadonly/');\r\n const readonlyBoolean = await response.json();\r\n if (readonlyBoolean) {\r\n leadgenPage.classList.add(\"adm-leadgen-form-maintenance-mode\");\r\n } else {\r\n window.scroll({ top: leadgenPage.offsetTop, behavior: \"smooth\" });\r\n formSubmissionErrorTag?.remove();\r\n pushDataLayer();\r\n leadgenFileDownloadBtn.setAttribute(\"target\", \"_blank\");\r\n leadgenFileDownloadBtn.setAttribute(\"rel\", \"noopener noreferrer\");\r\n leadgenFileDownloadBtn.click();\r\n setTimeout(() => {\r\n setupFileDownloadBtn();\r\n epiFormStatusSection.appendChild(leadgenFileDownloadBtn.parentElement);\r\n }, 0);\r\n }\r\n }\r\n\r\n function showErrorMessage() {\r\n formSubmissionErrorTag = document.createElement(\"SPAN\");\r\n formSubmissionErrorTag.innerText = submitErrorMessage;\r\n formSubmissionErrorTag.classList.add(\"adm-leadgen-custom-error-message\");\r\n formStatusSection.appendChild(formSubmissionErrorTag)\r\n }\r\n\r\n function sliceAfterWord(str, word) {\r\n let index = str.indexOf(word);\r\n return index !== -1 ? str.slice(index + word.length) : str;\r\n }\r\n\r\n function setupDataLayerObj() {\r\n const allVisibleSelects = leadgenForm.querySelectorAll(\".FormSelection:not(.hide) select\");\r\n const allInputElements = leadgenForm.querySelectorAll(\".FormTextbox input\");\r\n const colectedData = [];\r\n\r\n colectedData.push(['event', 'leadgenformsuccess']);\r\n colectedData.push(['email_address', allInputElements[2]?.value?.toLowerCase()]);\r\n colectedData.push(['phone_number', allInputElements[3]?.value?.toLowerCase()]);\r\n colectedData.push(['industry_primary_selected', allVisibleSelects[0]?.value?.toLowerCase()]);\r\n\r\n if (allVisibleSelects.length > 2) {\r\n colectedData.push(['industry_sub_selected', allVisibleSelects[1]?.value?.toLowerCase()]);\r\n }\r\n\r\n dataLayerObj = {};\r\n for (const data of colectedData) {\r\n if (data[1]) {\r\n dataLayerObj[data[0]] = data[1];\r\n }\r\n }\r\n }\r\n\r\n function pushDataLayer() {\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(dataLayerObj);\r\n }\r\n}"],"names":["allLeadgenPages","document","querySelectorAll","firstDropdownDefault","querySelector","value","trim","secondDropdownDefault","leadgenPage","leadgenFileDownloadBtn","successMessageSection","leadgenForm","epiServerForm","epiFormStatusSection","allFormSelections","allFormInputs","allFormErrorSpans","formSubmitBtn","formStatusSection","submitErrorMessage","getAttribute","submitBtnAriaLabel","formSubmissionErrorTag","removeAttribute","dataLayerObj","setupDropdowns","selectionWrapper","selectTag","setupSecondDropdown","setupFirstDropdown","addEventListener","removeErrorOnInput","removeRedOutlinePriority","setupInputs","inputWrapper","inputTag","setupFileDownloadBtn","fileTarget","parentElement","setAttribute","setupSuccessMessageTitle","title","h3tag","createElement","innerText","replaceChild","replaceErrorSpanTag","errorSpanTag","insertBefore","firstElementChild","nextElementSibling","addAriaLabelToElements","setupLeadSourceDescription","hiddenField","previousElementSibling","sourceDescription","getSourceDescription","fullNewValue","currentPageUrl","location","origin","pathname","urlParams","URL","searchParams","validUtmParamsString","forEach","paramKey","paramValue","get","isFirstValidParamFound","length","addFunctionsToNativeEpiformEvents","$$epiforms","ready","on","classList","add","setupDataLayerObj","e","isSuccess","remove","sliceAfterWord","returnedResult","message","showErrorMessage","window","scroll","top","offsetTop","behavior","isFinalizedSubmission","checkForReadonlyMode","toLowerCase","dispatchEvent","Event","option","options","fieldWrapper","validationMessage","contains","style","display","async","response","fetch","json","pushDataLayer","click","setTimeout","appendChild","str","word","index","indexOf","slice","allVisibleSelects","allInputElements","colectedData","push","data","dataLayer"],"sourceRoot":""}