{"version":3,"file":"scripts/871.js","mappings":"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","sources":["webpack://wwwroot/./src/scripts/gatewayVersion2.js"],"sourcesContent":["/* global $$epiforms */\r\n\r\nconst formSection = document.querySelector(\".adm-section-gateway\");\r\nconst allGatewayOpeners = document.querySelectorAll(\".adm-gateway-modal-opener\"); // Includes link containers\r\nconst allOpeningTriggers = getLinksFromOpenBtns(); // Does not include link containers\r\nconst pageMainTag = document.querySelector(\"main\");\r\nconst formCloseBtn = formSection.querySelector(\".adm-btn-gateway-close\");\r\nconst gatewayElement = formSection.querySelector(\".adm-div-gateway\");\r\nconst epiServerForm = formSection.querySelector(\".EPiServerForms\");\r\nconst epiFormMainBody = formSection.querySelector(\".Form__MainBody\");\r\nconst formSubmitButton = formSection.querySelector(\".FormSubmitButton\");\r\nconst allFormErrorSpans = formSection.querySelectorAll(\".Form__Element__ValidationError\");\r\nconst allFormSelections = formSection.querySelectorAll(\".FormSelection\");\r\nconst allFormInputs = formSection?.querySelectorAll(\".FormTextbox\");\r\nconst formHeading = formSection.querySelector(\".FormParagraphText\");\r\nconst formStatusSection = formSection?.querySelector(\".Form__Status\");\r\nvar submitErrorMessage = formSection?.getAttribute(\"data-submit-error\");\r\nconst submitBtnAriaLabel = formSection?.getAttribute(\"data-form-aria-submit\");\r\nconst firstDropdownDefault = document.querySelector(\"input#MQ1\")?.value?.trim();\r\nconst secondDropdownDefault = document.querySelector(\"input#MQ2\")?.value?.trim();\r\nlet firstFocusableFormElement = epiFormMainBody.querySelector(\"input, select, textarea, button\");\r\nformSection.removeAttribute(\"data-form-aria-submit\");\r\nformSection.removeAttribute(\"data-recaptcha-validation\");\r\n\r\nlet formSubmissionErrorTag;\r\nlet scrollTop = 0;\r\nlet openBtnCliked;\r\nlet urlId = 1;\r\nlet allURLs = {};\r\nlet storedLinks = [];\r\nlet dataLayerObj = {};\r\n\r\nsetupDropdowns();\r\nsetupInputs();\r\nsetupFormOpeners();\r\nsetupGatewayTitle();\r\nreplaceErrorSpanTag();\r\naddAriaLabelToElements();\r\nsetupLeadSourceDescription();\r\naddEventListenersToFormBtns();\r\naddFunctionsToNativeEpiformEvents();\r\n\r\n// Lvl1 functions\r\nfunction getLinksFromOpenBtns() {\r\n const allGatewayOpenersArray = Array.from(allGatewayOpeners);\r\n\r\n for (const btn of allGatewayOpenersArray) {\r\n if (btn.tagName !== \"BUTTON\" && btn.tagName !== \"A\") {\r\n const linkElement = btn.querySelector(\"a\");\r\n const index = allGatewayOpenersArray.indexOf(btn);\r\n allGatewayOpenersArray[index] = linkElement;\r\n }\r\n }\r\n\r\n return allGatewayOpenersArray;\r\n}\r\n\r\nfunction 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\nfunction 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\nfunction setupFormOpeners() {\r\n for (const linkElement of allOpeningTriggers) {\r\n const shouldGateContent = linkElement.closest(`*[data-gated-content=\"True\"]`);\r\n if (shouldGateContent) {\r\n if (linkElement.tagName !== \"BUTTON\") {\r\n removeURLFromBtn(linkElement);\r\n }\r\n linkElement.addEventListener(\"click\", openForm);\r\n }\r\n }\r\n}\r\n\r\nfunction setupGatewayTitle() {\r\n const formTitleTag = formHeading?.querySelector(\"h1, h2, h3\");\r\n const pageTitle = document.querySelector(\"head title\")?.innerText?.split(\" | \")?.[0];\r\n\r\n const titleArray = formTitleTag?.innerText.split(\"{\");\r\n const pageTitleFallback = titleArray[1].slice(0, titleArray[1].length - 1);\r\n\r\n formTitleTag.innerText = titleArray[0] + (pageTitle ? pageTitle : pageTitleFallback);\r\n}\r\n\r\nfunction 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\nfunction addAriaLabelToElements() {\r\n formSubmitButton.setAttribute(\"aria-label\", submitBtnAriaLabel);\r\n formSubmitButton.setAttribute(\"title\", submitBtnAriaLabel);\r\n}\r\n\r\nfunction setupLeadSourceDescription() {\r\n const hiddenField = formSubmitButton.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\nfunction 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\nfunction addEventListenersToFormBtns() {\r\n const touchEvent = 'ontouchstart' in window ? 'touchstart' : 'click';\r\n\r\n formCloseBtn.addEventListener(touchEvent, closeForm);\r\n formCloseBtn.addEventListener(\"keydown\", focusOnSubmitBtn);\r\n formSubmitButton.addEventListener(\"keydown\", focusOnCloseBtn);\r\n}\r\n\r\nfunction addFunctionsToNativeEpiformEvents() {\r\n if (typeof $$epiforms !== 'undefined') {\r\n $$epiforms(document).ready(() => {\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 }\r\n if (e.isFinalizedSubmission && e.isSuccess) {\r\n closeForm();\r\n checkForReadonlyMode(e);\r\n }\r\n });\r\n\r\n $$epiforms(epiServerForm).on(\"formsStepValidating\", () => {\r\n formSection.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(\"formsSubmittedError\", () => {\r\n showErrorMessage();\r\n });\r\n });\r\n }\r\n}\r\n\r\n// Lvl2 functions\r\nfunction 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\nfunction 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\nfunction 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\nfunction removeRedOutlinePriority() {\r\n if (formSection.classList.contains(\"adm-form-red-outline-priority\")) {\r\n formSection.classList.remove(\"adm-form-red-outline-priority\");\r\n }\r\n}\r\n\r\nfunction removeURLFromBtn(linkElement) {\r\n if (allURLs[urlId]) {\r\n urlId += 1;\r\n }\r\n\r\n const elementProps = { \"element\": linkElement, \"id\": urlId };\r\n elementProps.download = linkElement.hasAttribute(\"download\") ? true : false;\r\n linkElement.removeAttribute(\"download\");\r\n\r\n linkElement.setAttribute(\"data-url-id\", urlId);\r\n storedLinks.push(elementProps);\r\n allURLs[urlId] = linkElement.getAttribute(\"href\");\r\n linkElement.setAttribute(\"href\", \"#\");\r\n}\r\n\r\nfunction openForm(event) {\r\n event.preventDefault();\r\n window.addEventListener(\"mousedown\", onOutsideFormClick);\r\n\r\n scrollTop = window.scrollY;\r\n openBtnCliked = event.target;\r\n\r\n formSection.classList.add(\"adm-gateway-opened\");\r\n document.body.classList.add(\"adm-body-no-scroll\");\r\n\r\n pageMainTag.style[\"margin-top\"] = `-${scrollTop}px`;\r\n setTimeout(() => {\r\n firstFocusableFormElement.focus();\r\n }, 0);\r\n}\r\n\r\nfunction onOutsideFormClick(event) {\r\n const screenWidth = window.innerWidth;\r\n const clickPositionX = event.clientX;\r\n\r\n if (\r\n formSection.contains(event.target) &&\r\n !gatewayElement.contains(event.target) &&\r\n clickPositionX < screenWidth - 20\r\n ) {\r\n closeForm(event);\r\n }\r\n}\r\n\r\nfunction closeForm(event) {\r\n event?.preventDefault();\r\n window.removeEventListener(\"mousedown\", onOutsideFormClick);\r\n\r\n formSection.classList.remove(\"adm-gateway-opened\");\r\n document.body.classList.remove(\"adm-body-no-scroll\");\r\n\r\n pageMainTag.style[\"margin-top\"] = ``;\r\n window.scroll(0, scrollTop);\r\n setTimeout(() => openBtnCliked.focus(), 0);\r\n}\r\n\r\nfunction focusOnSubmitBtn(event) {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // TAB key press\r\n if (pressedKeyCode === 9 && event.shiftKey) {\r\n event.preventDefault();\r\n formSubmitButton.focus();\r\n }\r\n}\r\n\r\nfunction focusOnCloseBtn(event) {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // TAB key press\r\n if (pressedKeyCode === 9 && !event.shiftKey) {\r\n event.preventDefault();\r\n formCloseBtn.focus();\r\n }\r\n}\r\n\r\nfunction addURLBackToBtns() {\r\n for (const elementProps of storedLinks) {\r\n const currentUrlId = elementProps.id;\r\n const linkHref = allURLs[currentUrlId];\r\n elementProps.element.setAttribute(\"href\", linkHref);\r\n if (elementProps.download) {\r\n elementProps.element.setAttribute(\"download\", \"\");\r\n }\r\n }\r\n\r\n for (const openBtn of allGatewayOpeners) {\r\n openBtn.classList.add(\"survey-completed\");\r\n }\r\n}\r\n\r\nfunction removeOpeningBehavior() {\r\n for (const linkElement of allOpeningTriggers) {\r\n linkElement.removeEventListener(\"click\", openForm);\r\n }\r\n}\r\n\r\nfunction changeSectionGatedStatus() {\r\n const gatedComponents = document.querySelectorAll(`section[data-gated-content=\"True\"]`);\r\n for (const component of gatedComponents) {\r\n component.setAttribute(\"data-gated-content\", \"False\");\r\n }\r\n}\r\n\r\nasync function checkForReadonlyMode(e) {\r\n const response = await fetch(window.location.origin + '/FormsPage/GetDatabaseReadonly/');\r\n const readonlyBoolean = await response.json();\r\n if (readonlyBoolean) {\r\n openForm(e);\r\n formSection.classList.add(\"adm-gateway-maintenance-mode\");\r\n } else {\r\n addURLBackToBtns();\r\n removeOpeningBehavior();\r\n changeSectionGatedStatus();\r\n pushDataLayer();\r\n setTimeout(() => {\r\n openBtnCliked.click();\r\n }, 0);\r\n formSubmissionErrorTag?.remove();\r\n }\r\n}\r\n\r\nfunction showErrorMessage() {\r\n formSubmissionErrorTag = document.createElement(\"SPAN\");\r\n formSubmissionErrorTag.innerText = submitErrorMessage;\r\n formSubmissionErrorTag.classList.add(\"adm-gateway-custom-error-message\");\r\n formStatusSection.appendChild(formSubmissionErrorTag)\r\n}\r\n\r\nfunction 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\nfunction setupDataLayerObj() {\r\n const allVisibleSelects = formSection.querySelectorAll(\".FormSelection:not(.hide) select\");\r\n const allInputElements = formSection.querySelectorAll(\".FormTextbox input\");\r\n const colectedData = [];\r\n\r\n colectedData.push(['event', 'gatewayformsuccess']);\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\nfunction pushDataLayer() {\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(dataLayerObj);\r\n const gaElement = document.createElement(\"div\");\r\n gaElement.setAttribute(\"id\", \"ga-form-submit\");\r\n epiFormMainBody.appendChild(gaElement);\r\n}"],"names":["formSection","document","querySelector","allGatewayOpeners","querySelectorAll","allOpeningTriggers","allGatewayOpenersArray","Array","from","btn","tagName","linkElement","index","indexOf","getLinksFromOpenBtns","pageMainTag","formCloseBtn","gatewayElement","epiServerForm","epiFormMainBody","formSubmitButton","allFormErrorSpans","allFormSelections","allFormInputs","formHeading","formStatusSection","submitErrorMessage","getAttribute","submitBtnAriaLabel","firstDropdownDefault","value","trim","secondDropdownDefault","formSubmissionErrorTag","firstFocusableFormElement","removeAttribute","openBtnCliked","scrollTop","urlId","allURLs","storedLinks","dataLayerObj","setupSecondDropdown","selectionWrapper","selectTag","toLowerCase","classList","remove","dispatchEvent","Event","setupFirstDropdown","option","options","removeErrorOnInput","fieldWrapper","validationMessage","contains","style","display","removeRedOutlinePriority","removeURLFromBtn","elementProps","download","hasAttribute","setAttribute","push","openForm","event","preventDefault","window","addEventListener","onOutsideFormClick","scrollY","target","add","body","setTimeout","focus","screenWidth","innerWidth","clickPositionX","clientX","closeForm","removeEventListener","scroll","focusOnSubmitBtn","which","keyCode","shiftKey","focusOnCloseBtn","showErrorMessage","createElement","innerText","appendChild","setupDropdowns","inputWrapper","inputTag","setupInputs","closest","setupFormOpeners","formTitleTag","pageTitle","split","titleArray","pageTitleFallback","slice","length","setupGatewayTitle","errorSpanTag","parentElement","insertBefore","firstElementChild","nextElementSibling","replaceErrorSpanTag","hiddenField","previousElementSibling","sourceDescription","validUtmParamsKeys","currentPageUrl","location","origin","pathname","urlParams","URL","searchParams","validUtmParamsString","forEach","paramKey","paramValue","get","isFirstValidParamFound","getSourceDescription","fullNewValue","setupLeadSourceDescription","touchEvent","addEventListenersToFormBtns","$$epiforms","ready","on","e","isSuccess","str","word","sliceAfterWord","returnedResult","message","isFinalizedSubmission","async","response","fetch","json","currentUrlId","id","linkHref","element","openBtn","addURLBackToBtns","removeOpeningBehavior","gatedComponents","component","changeSectionGatedStatus","dataLayer","gaElement","pushDataLayer","click","checkForReadonlyMode","allVisibleSelects","allInputElements","colectedData","data","setupDataLayerObj"],"sourceRoot":""}