<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">function doFormSubmission(elSubmitButton, strControlClientID) {
    var bErrorActivated = false;
    var strMandatoryErrorMessage = '';
    var regexMandatory = new RegExp(" ", "g");
    var regexEmail = new RegExp(strValidEmailRegex.replace(/&amp;amp;/g, '&amp;'), "g");

    function ActivateError(strElName, strErrorText, SPANerrorText) {
        if (SPANerrorText) {
            SPANerrorText.style.display = "block";
            SPANerrorText.innerHTML = 'This ' + strErrorText;
        } else {
            strMandatoryErrorMessage = strMandatoryErrorMessage + '"' + strElName + '" ' + strErrorText + '&lt;br&gt;';
        }
        bErrorActivated = true;
    }

    var strClientID, strContainerID;
    if (strControlClientID) {
        strClientID = strControlClientID;
        strContainerID = strClientID + '_elFormContents';
    }
    else {
        if (!elSubmitButton) elSubmitButton = document.getElementById('ArticleSubmitButton');
        strContainerID = $e(elSubmitButton).parents('[id$="_elFormContents"]').attr('id');
        strClientID = strContainerID.replace('_elFormContents', '');
    }

    var strArticleID = document.getElementById(strClientID + '_FormDocumentID').value;

    var form;
    var $form = $e('#' + strContainerID + ' form.form-for-submission');
    if ($form.length) 
        $form.empty();
    else
        $form = $e('&lt;form class="form-for-submission" /&gt;');
    
    form = $form.get(0);
    
    var blnCustomReplyTo = false;
    var blnCustomSubject = false;
    var arrRadioGroupsScanned = [];

    $e('#' + strContainerID + ' input, #' + strContainerID + ' textarea, #' + strContainerID + ' select').each(function () {
        var elm = $e(this);
        if (elm.prop('tagName') != 'SELECT') {
            var id = elm.attr('id');
            if (id) {
                if (id.indexOf('_FormDocumentID') &gt; 0) return true; //next iteration                
            }

            var strType = elm.attr('type') ? elm.attr('type') : 'text';
            strType = strType.toLowerCase();

            switch (strType) {
                case 'button':
                case 'file':
                case 'image':
                case 'submit':
                    return true;
                case 'text':
                    //Remove any current error messages
                    var SPANerrorText = document.getElementById(elm.id + '_errortext');
                    if (SPANerrorText) {
                        SPANerrorText.style.display = "none";
                        SPANerrorText.innerHTML = '';
                    }


                    if (elm.val().replace(regexMandatory, '') == '') {
                        //If it's blank, check if it's mandatory
                        var strMandatoryAttr = elm.attr('lang');
                        if (strMandatoryAttr &amp;&amp; (strMandatoryAttr != '')) {
                            ActivateError(elm.attr('name'), 'is a required field', SPANerrorText);
                        }
                    }
                    else {
                        //Else check for enforced field types.
                        var strAccept = elm.attr('accept') ? elm.attr('accept') : '';
                        strAccept = strAccept.toLowerCase();

                        switch (strAccept) {
                            case 'whole_number':
                                if (!elm.val().match(/^\d+$/))
                                    ActivateError(elm.attr('name'), 'must be a positive whole number', SPANerrorText);
                                break;
                            case 'number':
                                if (!elm.val().match(/^\-?(\d+\.?|\.)\d*$/))
                                    ActivateError(elm.attr('name'), 'must be a number', SPANerrorText);
                                break;
                            case 'email':
                                if (!elm.val().match(regexEmail)) {
                                    ActivateError(elm.attr('name'), 'must be an email address', SPANerrorText);
                                }
                                break;
                            case 'email_reply':
                                if (!elm.val().match(regexEmail)) {
                                    ActivateError(elm.attr('name'), 'must be an email address', SPANerrorText);
                                    break;
                                }
                                if (!blnCustomReplyTo) {
                                    var elmEmail = document.createElement('input');
                                    elmEmail.type = 'hidden';
                                    elmEmail.name = 'NotificationReplyTo';
                                    elmEmail.value = elm.val();
                                    form.appendChild(elmEmail);
                                    blnCustomReplyTo = true;
                                }
                                break;
                            case 'subject':
                                if (!blnCustomSubject) {
                                    var elmSubject = document.createElement('input');
                                    elmSubject.type = 'hidden';
                                    elmSubject.name = 'NotificationSubject';
                                    elmSubject.value = elm.val();
                                    form.appendChild(elmSubject);
                                    blnCustomSubject = true;
                                }
                                break;
                        }
                    }
                    break;
                case 'checkbox':
                    //Remove any current error messages
                    var SPANerrorText = document.getElementById(elm.id + '_errortext');
                    if (SPANerrorText) {
                        SPANerrorText.style.display = "none";
                        SPANerrorText.innerHTML = '';
                    }


                    if (!elm[0].checked) {
                        //If it's blank, check if it's mandatory
                        var strMandatoryAttr = elm.attr('lang');
                        if (strMandatoryAttr &amp;&amp; (strMandatoryAttr != '')) {
                            ActivateError(elm.attr('name'), 'is a required field', SPANerrorText);
                        }
                    }
                    break;
                case 'radio':
                    //Remove any current error messages
                    var SPANerrorText = document.getElementById(elm.id + '_errortext');
                    if (SPANerrorText) {
                        SPANerrorText.style.display = "none";
                        SPANerrorText.innerHTML = '';
                    }

                    //Check radio group as a whole then record that we've checked it
                    var strRadioGroup = elm.attr('name');
                    if (!arrRadioGroupsScanned.includes(strRadioGroup)) {
                        var $allRadiosInGroup = $("#" + strContainerID + " input[name='" + strRadioGroup + "']");

                        if ($allRadiosInGroup.filter(":checked").length == 0 &amp;&amp; $allRadiosInGroup.filter("[lang='1']").length &gt; 0) {
                            ActivateError(strRadioGroup, 'is a required field', SPANerrorText);
                        }

                        arrRadioGroupsScanned.push(strRadioGroup);
                    }
                    break;
            }
        }
        var elSubmit = elm.clone();
        elSubmit.val(elm.val()); //Textareas, selects lose value when cloning
        form.appendChild(elSubmit.get(0));
    });

    if (strMandatoryErrorMessage != '') {
        ShowOverlay(strMandatoryErrorMessage + '&lt;br&gt;Please correct your form.' + '&lt;div style="text-align: center; margin-top: 5px;"&gt;&lt;input type="button" class="button" value="OK" onclick="$e(\'#divOverlay\').dialog(\'destroy\');" /&gt;&lt;/div&gt;');
        return false;
    }

    if (bErrorActivated) {
        return false;
    } 
    else {
        document.getElementById(strContainerID).appendChild(form);
        if (typeof Recaptcha !== 'undefined' &amp;&amp; typeof Recaptcha.Lookup[strClientID] !== 'undefined')
            Recaptcha.Execute(strClientID);
        else
            SubmitValidForm(strClientID);
    }
}

function ShowOverlay(strHTML) {
    var divOverlay = $e('&lt;div id="divOverlay" class="form_submission_overlay"&gt;&lt;/div&gt;');
    divOverlay.html(strHTML);
    divOverlay.dialog({
        modal: true,
        resizable: false,
        minHeight: 50,
        dialogClass: 'shadedbox',
        create: function (event, ui) {
            $e(this).closest('.ui-dialog').wrap('&lt;div class="endis-jquery-ui" /&gt;');
        },
        open: function (event, ui) {
            $e('.ui-widget-overlay').wrap('&lt;div class="endis-jquery-ui" /&gt;');
            var dz = $e('.ui-front').css('z-index');
            $e('.ui-widget-overlay').css({ 'z-index': dz - 1 });
            $e('.ui-dialog-titlebar').css({ 'display': 'none' });
            $e(this).dialog('option', 'width', '300');
            $e(this).parent().css({ 'position': 'fixed' });
            $e(this).parent().position({ my: 'center', at: 'center', of: '.ui-widget-overlay:visible' });
        },
        close: function (event, ui) {
            $e('.endis-jquery-ui').filter(function () {
                if ($e(this).text() == "") {
                    return true;
                }
                return false;
            }).remove();
        }
    });
    divOverlay.parent().css({ 'position': 'fixed' });
    divOverlay.parent().position({ my: 'center', at: 'center', of: '.ui-widget-overlay:visible' });

    return divOverlay;
}

function SubmitValidForm(strClientID) {
    var strArticleID = document.getElementById(strClientID + '_FormDocumentID').value;    
    var strRecaptchaResponse = (typeof Recaptcha !== 'undefined') ? Recaptcha.GetResponse(strClientID) : '';
    
    var strContainerID = strClientID + '_elFormContents';
    var form = $e('#' + strContainerID + ' form.form-for-submission').get(0);

    if (intMobileGroupID) {
        form.action = '/Publisher/SubmitForm.aspx?recaptcha_response=' + strRecaptchaResponse + '&amp;article_id=' + strArticleID + '&amp;mobile_group_id=' + intMobileGroupID;
        form.method = 'POST';
        form.style.display = 'none';

        form.submit();
    }
    else {
        var divOverlay = ShowOverlay('&lt;img src="/Admin/Images/throbber.gif" alt="" align="left" style="padding-right: 5px;" /&gt; Submitting....');

        var SubmitFailed = function () {
            divOverlay.html('Submission failed &lt;br /&gt;&lt;div style="text-align: center; margin-top: 5px;"&gt;&lt;input type="button" class="button" value="Continue" onclick="$e(\'#divOverlay\').dialog(\'destroy\');" /&gt;&lt;/div&gt;');
            divOverlay.parent().css({ 'position': 'fixed' });
            divOverlay.parent().position({ my: 'center', at: 'center', of: '.ui-widget-overlay:visible' });
        };

        $e.ajax({
            type: 'POST',
            url: '/Publisher/SubmitForm.aspx?recaptcha_response=' + strRecaptchaResponse + '&amp;article_id=' + strArticleID,
            data: $e(form).serialize(),
            success: function (data) {
                try {
                    var objData = $e.parseJSON(data);
                    if (objData.valid == 'true') {
                        var strOnClick;
                        if (qs.get("WA") == "true" || IsHubbPage()) {
                            strOnClick = (typeof dlg == 'undefined' ? 'window.top.AppNavigate();' : 'InsightAreYouSure.SuspendForPostback(); dlg.Close();');
                        } else {
                            strOnClick = 'document.location.href =\'' + objData.destination + '\'';
                        }
                        divOverlay.html(objData.message + '&lt;br /&gt;' + '&lt;div style="text-align: center; margin-top: 5px;"&gt;&lt;input type="button" class="button" value="Continue" onclick="$e(\'body\').css(\'cursor\', \'wait\'); ' + strOnClick + '" /&gt;&lt;/div&gt;');
                        divOverlay.dialog('option', 'width', 300);
                        divOverlay.dialog('option', 'height', 'auto');
                        divOverlay.parent().css({ 'position': 'fixed' });
                        divOverlay.parent().position({ my: 'center', at: 'center', of: '.ui-widget-overlay:visible' });
                    }
                    else {
                        SubmitFailed();
                    }
                } catch (e) {
                    SubmitFailed();
                }
            },
            error: function (data) {
                SubmitFailed();
            }
        });
    }
}
</pre></body></html>