{"version":3,"sources":["_510-marketo-form.js"],"names":["e","t","n","r","s","o","u","a","require","i","Error","f","exports","call","length","1","module"],"mappings":"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","file":"510-marketo-form.min.js","sourcesContent":["var $ = require('jquery');\r\n\r\nrequire('core-js');\r\n\r\n$(document).ready(function () {\r\n    if (typeof MktoForms2 !== \"undefined\") {\r\n        MktoForms2.whenReady(function (form) {\r\n            var urlParams = new URLSearchParams(window.location.search);\r\n            var entries = urlParams.entries();\r\n            var formVals = form.vals();\r\n\r\n            var formId = \"mktoForm_\" + form.getId().toString()\r\n            var formElement = document.getElementById(formId)\r\n            formElement.style.fontFamily = \"inherit\";\r\n            formElement.style.fontSize = \"inherit\";\r\n            formElement.style.color = \"inherit\";\r\n\r\n            for (var pair of entries) {\r\n                for (var property in formVals) {\r\n                    if (formVals.hasOwnProperty(property)) {\r\n                        if (pair[0].toLowerCase() === property.toLowerCase()) {\r\n                            formVals[property] = pair[1];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (formVals[\"uniquesubmitid\"] !== \"undefined\" && formVals[\"uniquesubmitid\"] == \"\") {\r\n                formVals[\"uniquesubmitid\"] = uuidv4();\r\n\r\n                if (document.querySelector(\"[data-upload-platform]\") && document.querySelector(\"[data-upload-platform]\").dataset.uploadPlatform !== \"undefined\" && document.querySelector(\"[data-upload-platform]\").dataset.uploadPlatform !== \"\") {\r\n                    form.onSuccess(function () {\r\n                        form.getFormElem().hide();\r\n                        var isUniquePopulated = formVals[\"uniquesubmitid\"] !== \"undefined\" && formVals[\"uniquesubmitid\"] !== \"\";\r\n                        var isDataFormLangPopulated = document.querySelector(\"[data-form-lang]\") !== \"undefined\" && document.querySelector(\"[data-form-lang]\") !== \"\";\r\n                        var formId = form.getId();\r\n\r\n                        if (isUniquePopulated && formId && isDataFormLangPopulated) {\r\n                            getFormItem(document.querySelector(\"[data-upload-platform]\").dataset.uploadPlatform, document.querySelector(\"[data-form-lang]\").dataset.formLang, formId, formVals);\r\n                        }\r\n\r\n                        return false;\r\n                    });\r\n                }\r\n            }\r\n\r\n            form.setValues(formVals);\r\n\r\n            // Captcha Submit tracking\r\n            form.onValidate(function (isValid) {\r\n                if (typeof (dataLayer) != 'undefined' && dataLayer != null) {\r\n                    var mtCaptchaIsVisible = null;\r\n                    var mtCaptchaIsVerified = null;\r\n\r\n                    if (typeof (mtcaptcha) != 'undefined' && mtcaptcha != null && mtcaptcha.getStatus() != null) {\r\n                        mtCaptchaIsVisible = mtcaptcha.getStatus().isVisible;\r\n                        mtCaptchaIsVerified = mtcaptcha.getStatus().isVerified;\r\n                    }\r\n\r\n                    dataLayer.push({ 'event': 'wcmsFormSubmit', 'formIsValid': isValid, 'mtcaptchaIsVerified': mtCaptchaIsVerified, 'mtcaptchaIsVisible': mtCaptchaIsVisible });\r\n                }\r\n            });\r\n\r\n            form.onSubmit(function () {\r\n                //Check for API down\r\n\r\n                var request = new XMLHttpRequest();\r\n                request.open('GET', '/api/sitecore/MarketoFormModule/CheckServerStatus', true);\r\n\r\n                request.onload = function () {\r\n                    if (request.responseText === \"false\") {\r\n                        form.submittable(false);\r\n                        var vals = JSON.stringify(form.vals());\r\n\r\n                        //Send email if server not responded.\r\n                        var params = 'postedData=' + vals;\r\n                        request.open('POST', '/api/sitecore/MarketoFormModule/SendMail');\r\n                        request.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\r\n                        request.send(params);\r\n                        var errorMessage = $('input[name=error]').val();\r\n                        form.showErrorMessage(errorMessage);\r\n                    } else {\r\n                        form.submittable(true);\r\n                    }\r\n                };\r\n                request.send();\r\n            });\r\n\r\n            if (document.querySelector(\".mtcaptcha\")) {\r\n                var recaptchaErrorEl = $('.recaptcha-error');\r\n\r\n                form.submittable(false);\r\n\r\n                //jQuery selector $('.[class-name]') was causing issues on IE\r\n                document.querySelector(\".mktoButtonRow\").parentNode.insertBefore(document.querySelector(\".mtcaptcha\"), document.querySelector(\".mktoButtonRow\"));\r\n\r\n                document.querySelector(\".mktoButtonRow\").parentNode.insertBefore(document.querySelector(\".recaptcha-error\"),\r\n                    document.querySelector(\".mktoButtonRow\"));\r\n\r\n                form.onValidate(function (builtInValidation) {\r\n                    if (!builtInValidation) return;\r\n\r\n                    //var recaptchaResponse = grecaptcha.getResponse();\r\n                    let mtcaptchaToken = mtcaptcha.getVerifiedToken();\r\n                    if (!mtcaptchaToken) {\r\n                        recaptchaErrorEl.addClass('mktoInvalid');\r\n                    } else {\r\n                        recaptchaErrorEl.removeClass('mktoInvalid');\r\n                        form.addHiddenFields({\r\n                            lastRecaptchaUserInput: mtcaptchaToken\r\n                        });\r\n\r\n                        form.submittable(true);\r\n                    }\r\n                });\r\n            }\r\n\r\n            var marketoSelects = document.querySelectorAll('.marketo-form-container .form__marketo__wrapper select');\r\n\r\n            if (marketoSelects.length != 0) {\r\n\r\n                marketoSelects.forEach(function (item, i) {\r\n\r\n                    item.parentElement.classList.add('mktoSelectField');\r\n\r\n                    var selectArrow = document.createElement(\"span\");\r\n                    selectArrow.className = \"mktoSelectArrow\";\r\n\r\n                    item.parentElement.insertBefore(selectArrow, item);\r\n                    selectArrow.appendChild(item);\r\n                });\r\n            }\r\n        });\r\n\r\n        function uuidv4() {\r\n            var crypto = window.crypto || window.msCrypto;\r\n            return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\r\n                (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n            );\r\n        }\r\n\r\n        function createMarketoUploadIframe(confirmation, url, id, formLang) {\r\n            const confirmationBody = document.querySelector(confirmation);\r\n            let uploadIframe = document.querySelector(\"file-upload-iframe\");\r\n            if ((uploadIframe == null || uploadIframe.length < 1) && confirmationBody) {\r\n                let confirmationContentUrl = \"/api/sitecore/marketoformmodule/GetConfirmationContent?id=\" + id + \"&lang=\" + formLang;\r\n                fetch(confirmationContentUrl)\r\n                    .then(response => {\r\n                        if (!response.ok) {\r\n                            throw new Error(\"Network response failed\");\r\n                        }\r\n                        return response.json();\r\n                        \r\n                    })\r\n                    .then(data => {\r\n                        let formWrapper = document.querySelector(\".form__marketo\");\r\n\r\n                        if (formWrapper.querySelector(\".image-with-wrapped-content__title\") && data[\"Confirmation Header\"]) {\r\n                            let formWrapperHeading = formWrapper.querySelector(\".image-with-wrapped-content__title\");\r\n                            formWrapperHeading.innerHTML = unescape(data[\"Confirmation Header\"]);\r\n                        }\r\n\r\n                        if (formWrapper.querySelector(\".marketo-short-description\") && data[\"Confirmation Short Description\"]) {\r\n                            let formShortDescription = formWrapper.querySelector(\".marketo-short-description\");\r\n                            formShortDescription.innerHTML = unescape(data[\"Confirmation Short Description\"]);\r\n                        }\r\n\r\n                        if (confirmationBody.querySelector(\"div\") && confirmationBody.querySelector(\"div\").childElementCount == 1) {\r\n                            let confirmationHeadingWrapper = confirmationBody.querySelector(\"div\");\r\n\r\n                            if (confirmationHeadingWrapper && data[\"Confirmation Form Intro Title\"]) {\r\n                                confirmationHeadingWrapper.children[0].innerHTML = unescape(data[\"Confirmation Form Intro Title\"]);\r\n                            }\r\n\r\n                            if (confirmationHeadingWrapper && data[\"Confirmation Form Intro Body\"]) {\r\n                                let confirmationHeadingWrapperContent = document.createElement(\"div\");\r\n                                confirmationHeadingWrapperContent.innerHTML = unescape(data[\"Confirmation Form Intro Body\"]);\r\n                                confirmationHeadingWrapper.after(confirmationHeadingWrapperContent);\r\n                            }\r\n                        }\r\n                    })\r\n\r\n                window.GenericUtilities.createFileUploadIframe(confirmationBody, url);\r\n            }\r\n        }\r\n\r\n        function getFormItem(id, formLang, formId, formVals) {\r\n            let apiUrl = \"/api/sitecore/fileuploadplatform/getfileuploadconfiguration?id=\" + id + \"&lang=\" + formLang;\r\n\r\n            fetch(apiUrl)\r\n                .then(response => {\r\n                    if (!response.ok) {\r\n                        throw new Error(\"Network response failed\");\r\n                    }\r\n                    return response.json();\r\n                })\r\n                .then(data => {\r\n                    if (data[\"Url\"]) {\r\n                        let iframeUrl = data[\"Url\"] + \"&form=\" + formId + \"&unique=\" + formVals[\"uniquesubmitid\"];\r\n                        createMarketoUploadIframe(\".form__marketo__wrapper\", iframeUrl, id, formLang);\r\n                    }\r\n                    return data;\r\n                    \r\n                })\r\n                .catch(error => {\r\n                    console.log(\"Error:\", error);\r\n                })\r\n        }\r\n    }\r\n});"]}