function loadFormAssemblyFormHeadAndBodyContents() {
    var headContent = "<!-- FORM: HEAD SECTION -->\n    <meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\" \/>\n    <meta name=\"referrer\" content=\"no-referrer-when-downgrade\">\n    <!-- THIS SCRIPT NEEDS TO BE LOADED FIRST BEFORE wforms.js -->\n    <script type=\"text\/javascript\" data-for=\"FA__DOMContentLoadedEventDispatch\" src=\"https:\/\/caritasaustralia.tfaforms.net\/js\/FA__DOMContentLoadedEventDispatcher.js\" defer><\/script>\n            <script type=\"text\/javascript\">\n        document.addEventListener(\"FA__DOMContentLoaded\", function(){\n            const FORM_TIME_START = Math.floor((new Date).getTime()\/1000);\n            let formElement = document.getElementById(\"tfa_0\");\n            if (null === formElement) {\n                formElement = document.getElementById(\"0\");\n            }\n            let appendJsTimerElement = function(){\n                let formTimeDiff = Math.floor((new Date).getTime()\/1000) - FORM_TIME_START;\n                let cumulatedTimeElement = document.getElementById(\"tfa_dbCumulatedTime\");\n                if (null !== cumulatedTimeElement) {\n                    let cumulatedTime = parseInt(cumulatedTimeElement.value);\n                    if (null !== cumulatedTime && cumulatedTime > 0) {\n                        formTimeDiff += cumulatedTime;\n                    }\n                }\n                let jsTimeInput = document.createElement(\"input\");\n                jsTimeInput.setAttribute(\"type\", \"hidden\");\n                jsTimeInput.setAttribute(\"value\", formTimeDiff.toString());\n                jsTimeInput.setAttribute(\"name\", \"tfa_dbElapsedJsTime\");\n                jsTimeInput.setAttribute(\"id\", \"tfa_dbElapsedJsTime\");\n                jsTimeInput.setAttribute(\"autocomplete\", \"off\");\n                if (null !== formElement) {\n                    formElement.appendChild(jsTimeInput);\n                }\n            };\n            if (null !== formElement) {\n                if(formElement.addEventListener){\n                    formElement.addEventListener('submit', appendJsTimerElement, false);\n                } else if(formElement.attachEvent){\n                    formElement.attachEvent('onsubmit', appendJsTimerElement);\n                }\n            }\n        });\n    <\/script>\n\n    <link href=\"https:\/\/caritasaustralia.tfaforms.net\/dist\/form-builder\/5.0.0\/wforms-layout.css?v=a855a18f0974a2af4ced04003ab25d1f49ff3bef\" rel=\"stylesheet\" type=\"text\/css\" \/>\n\n    <link href=\"https:\/\/caritasaustralia.tfaforms.net\/uploads\/themes\/theme-11.css\" rel=\"stylesheet\" type=\"text\/css\" \/>\n    <link href=\"https:\/\/caritasaustralia.tfaforms.net\/dist\/form-builder\/5.0.0\/wforms-jsonly.css?v=a855a18f0974a2af4ced04003ab25d1f49ff3bef\" rel=\"alternate stylesheet\" title=\"This stylesheet activated by javascript\" type=\"text\/css\" \/>\n    <script type=\"text\/javascript\" src=\"https:\/\/caritasaustralia.tfaforms.net\/wForms\/3.11\/js\/wforms.js?v=a855a18f0974a2af4ced04003ab25d1f49ff3bef\"><\/script>\n    <script type=\"text\/javascript\">\n        wFORMS.behaviors.prefill.skip = false;\n    <\/script>\n        <script type=\"text\/javascript\" src=\"https:\/\/caritasaustralia.tfaforms.net\/wForms\/3.11\/js\/localization-en_US.js?v=a855a18f0974a2af4ced04003ab25d1f49ff3bef\"><\/script>\n\n";
    var bodyContent = "<!-- FORM: BODY SECTION -->\n<div class=\"wFormContainer\" >\n    <div class=\"wFormHeader\"><\/div>\n    <style type=\"text\/css\">\n                #tfa_9,\n                *[id^=\"tfa_9[\"] {\n                    width: 282px !important;\n                }\n                #tfa_9-D,\n                *[id^=\"tfa_9[\"][class~=\"field-container-D\"] {\n                    width: auto !important;\n                }\n            <\/style><div class=\"\"><div class=\"wForm\" id=\"49-WRPR\" data-language=\"en_US\" dir=\"ltr\">\n<div class=\"codesection\" id=\"code-49\"><script>\n  window.alert = function() {};\n<\/script>\n<style>\nlabel#tfa_18-L {\n    display: none;\n}\n  div#tfa_19 {\n    font-size: 24px !important;\n    margin-top: 24px !important;\n}\n  input#tfa_18 {\n    width: 25px;\n    height: 25px;\n}\n    div#tfa_17-D {\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: center;\n}\n<\/style><\/div>\n<form method=\"post\" action=\"https:\/\/caritasaustralia.tfaforms.net\/api_v2\/workflow\/processor\" class=\"hintsBelow labelsAbove\" id=\"49\">\n<div id=\"tfa_15\" class=\"section column group\"><table class=\"columnLayout\"><tr>\n<td><div class=\"oneField field-container-D    \" id=\"tfa_2-D\">\n<label id=\"tfa_2-L\" class=\"label preField reqMark\" for=\"tfa_2\">First Name<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_2\" name=\"tfa_2\" value=\"\" title=\"First Name\" class=\"required\"><\/div>\n<\/div><\/td>\n<td><div class=\"oneField field-container-D    \" id=\"tfa_3-D\">\n<label id=\"tfa_3-L\" class=\"label preField reqMark\" for=\"tfa_3\">Last Name<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_3\" name=\"tfa_3\" value=\"\" title=\"Last Name\" class=\"required\"><\/div>\n<\/div><\/td>\n<\/tr><\/table><\/div>\n<div class=\"oneField field-container-D    \" id=\"tfa_4-D\">\n<label id=\"tfa_4-L\" class=\"label preField reqMark\" for=\"tfa_4\">Email Address<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_4\" name=\"tfa_4\" value=\"\" title=\"Email Address\" class=\"validate-email required\"><\/div>\n<\/div>\n<div class=\"oneField field-container-D    \" id=\"tfa_13-D\">\n<label id=\"tfa_13-L\" class=\"label preField reqMark\" for=\"tfa_13\">Mobile Number<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_13\" name=\"tfa_13\" value=\"\" placeholder=\"0412345678\" title=\"Mobile Number\" class=\"validate-custom \/^04\\d{8}$\/m required\"><\/div>\n<script type=\"text\/javascript\">\n                        if(typeof wFORMS != 'undefined') {\n                            if(wFORMS.behaviors.validation) {\n                                wFORMS.behaviors.validation.rules['customtfa_13'] =  { selector: '*[id=\"tfa_13\"]', check: 'validateCustom'};\n                                wFORMS.behaviors.validation.messages['customtfa_13'] = \"Please enter a valid mobile number\";\n                            }\n                        }<\/script>\n<\/div>\n<div class=\"oneField field-container-D    \" id=\"tfa_5-D\">\n<label id=\"tfa_5-L\" class=\"label preField reqMark\" for=\"tfa_5\">I would like to join us as<\/label><br><div class=\"inputWrapper\"><select aria-required=\"true\" id=\"tfa_5\" name=\"tfa_5\" title=\"I would like to join us as\" class=\"required\"><option value=\"\">Please select...<\/option>\n<option value=\"tfa_6\" id=\"tfa_6\" class=\"\">School<\/option>\n<option value=\"tfa_7\" id=\"tfa_7\" class=\"\">Parish<\/option>\n<option value=\"tfa_8\" id=\"tfa_8\" class=\"\">Organisation<\/option>\n<option value=\"tfa_14\" id=\"tfa_14\" class=\"\">Household \/ Individual<\/option><\/select><\/div>\n<\/div>\n<div class=\"oneField field-container-D    \" id=\"tfa_9-D\">\n<label id=\"tfa_9-L\" class=\"label preField reqMark\" for=\"tfa_9\">Organisation Name<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_9\" name=\"tfa_9\" value=\"\" placeholder=\"If Household\/Individual write NA\" title=\"Organisation Name\" class=\"required\"><\/div>\n<\/div>\n<div id=\"tfa_16\" class=\"section column group\"><table class=\"columnLayout\"><tr>\n<td><div class=\"oneField field-container-D    \" id=\"tfa_10-D\">\n<label id=\"tfa_10-L\" class=\"label preField \" for=\"tfa_10\">Position Title<\/label><br><div class=\"inputWrapper\"><input type=\"text\" id=\"tfa_10\" name=\"tfa_10\" value=\"\" title=\"Position Title\" class=\"\"><\/div>\n<\/div><\/td>\n<td><div class=\"oneField field-container-D    \" id=\"tfa_11-D\">\n<label id=\"tfa_11-L\" class=\"label preField reqMark\" for=\"tfa_11\">Postcode<\/label><br><div class=\"inputWrapper\"><input aria-required=\"true\" type=\"text\" id=\"tfa_11\" name=\"tfa_11\" value=\"\" title=\"Postcode\" class=\"validate-integer required\"><\/div>\n<\/div><\/td>\n<\/tr><\/table><\/div>\n<div class=\"oneField field-container-D  labelsBelow  \" id=\"tfa_17-D\" role=\"group\" aria-labelledby=\"tfa_17-L\" data-tfa-labelledby=\"-L tfa_17-L\">\n<div class=\"inputWrapper\"><span id=\"tfa_17\" class=\"choices vertical required\"><span class=\"oneChoice\"><input type=\"checkbox\" value=\"tfa_18\" class=\"\" id=\"tfa_18\" name=\"tfa_18\" aria-labelledby=\"tfa_18-L\" data-tfa-labelledby=\"tfa_17-L tfa_18-L\" data-tfa-parent-id=\"tfa_17\"><label class=\"label postField\" id=\"tfa_18-L\" for=\"tfa_18\"><span class=\"input-checkbox-faux\"><\/span>true<\/label><\/span><\/span><\/div>\n<br><label id=\"tfa_17-L\" class=\"label preField reqMark\" data-tfa-check-label-for=\"tfa_17\" aria-label=\" I have read and agree to Caritas Australia's Privacy Policy. \u00a0 required\">&nbsp;I have read and agree to Caritas Australia's <a target=\"_blank\" href=\"https:\/\/www.caritas.org.au\/privacy\/\">Privacy Policy<\/a>.<\/label>\n<\/div>\n<div class=\"oneField field-container-D     wf-acl-hidden\" id=\"tfa_19-D\">\n<label id=\"tfa_19-L\" class=\"label preField \" for=\"tfa_19\">Comm opt<\/label><br><div class=\"inputWrapper\"><select id=\"tfa_19\" multiple name=\"tfa_19[]\" title=\"Comm opt\" class=\"\"><option value=\"\">Please select...<\/option>\n<option value=\"tfa_20\" id=\"tfa_20\" class=\"\" selected data-default-value=\"true\">Advocacy <\/option>\n<option value=\"tfa_21\" id=\"tfa_21\" class=\"\" selected data-default-value=\"true\">Indigenous rights<\/option>\n<option value=\"tfa_22\" id=\"tfa_22\" class=\"\" selected data-default-value=\"true\">Water and sanitation<\/option>\n<option value=\"tfa_23\" id=\"tfa_23\" class=\"\" selected data-default-value=\"true\">Food Security and Sustainable Livelihood<\/option>\n<option value=\"tfa_24\" id=\"tfa_24\" class=\"\" selected data-default-value=\"true\">Emergencies and Disaster prevention<\/option>\n<option value=\"tfa_25\" id=\"tfa_25\" class=\"\" selected data-default-value=\"true\">Care for the earth<\/option><\/select><\/div>\n<\/div>\n<div class=\"actions\" id=\"49-A\" data-contentid=\"submit_button\"><input type=\"submit\" data-label=\"Submit\" class=\"primaryAction\" id=\"submit_button\" value=\"Submit\" data-conditional-mode=\"hidden\"><\/div>\n<div style=\"clear:both\"><\/div>\n<input type=\"hidden\" value=\"49\" name=\"tfa_dbFormId\" id=\"tfa_dbFormId\"><input type=\"hidden\" value=\"\" name=\"tfa_dbResponseId\" id=\"tfa_dbResponseId\"><input type=\"hidden\" value=\"4abb12abc4a798e9c4ad3c4da298dd21\" name=\"tfa_dbControl\" id=\"tfa_dbControl\"><input type=\"hidden\" value=\"\" name=\"tfa_dbWorkflowSessionUuid\" id=\"tfa_dbWorkflowSessionUuid\"><input type=\"hidden\" value=\"3\" name=\"tfa_dbVersionId\" id=\"tfa_dbVersionId\"><input type=\"hidden\" value=\"\" name=\"tfa_switchedoff\" id=\"tfa_switchedoff\">\n<\/form>\n<\/div><\/div><div class=\"wFormFooter\"><p class=\"supportInfo\"><br><\/p><\/div>\n  <p class=\"supportInfo\" >\n      <\/p>\n <\/div>\n\n<script\n    id=\"analytics-collector-script\"\n    type=\"text\/javascript\"\n    src=\"https:\/\/caritasaustralia.tfaforms.net\/dist\/analytics\/data-collector.0c19d5a4f280c8bf8d20.js\"\n    data-customer-id=\"120487\"\n    data-endpoint=\"https:\/\/analytics.formassembly.com\/v1\/traces\"\n><\/script>\n\n<script src=\"https:\/\/caritasaustralia.tfaforms.net\/api_v2\/sst\/quick-publish\"><\/script>";
    var elementID = null;
    var quickPublishScript = document.querySelector('script[data-qp-target-id]');
    if (quickPublishScript) {
        elementID = quickPublishScript.getAttribute('data-qp-target-id');
    }

    // append head content
    var head = document.createElement('head');
    head.innerHTML = headContent;
    var headElements = head.children;

    // filter out the script tags with src from headElements, then recursively apply each script
    var headElementsArray = Array.from(headElements);
    var otherHeadElements = headElementsArray.filter(function (el) {
        return el.nodeName !== 'SCRIPT'
    });
    var headScriptElements = headElementsArray.filter(function (el) {
        return el.nodeName === 'SCRIPT'
    });
    loadOtherHeadElements(otherHeadElements);
    loadHeadScriptElements(headScriptElements);

    // append body content
    var body = document.createElement('body');
    body.innerHTML = bodyContent;
    var bodyElements = body.children;
    var bodyWrapperDiv = document.createElement('div');
    bodyWrapperDiv.id = "FA__QP__BODYWRAPPERDIV";
    Array.from(bodyElements).forEach(function(el) {
        if (!elementID) {
            bodyWrapperDiv.appendChild(el);
            document.body.appendChild(bodyWrapperDiv);
        } else {
            var element = document.getElementById(elementID);
            if (!element) { // insert form at the end of the page
                bodyWrapperDiv.appendChild(el);
                document.body.appendChild(bodyWrapperDiv);
            } else { // insert within element
                bodyWrapperDiv.appendChild(el);
                element.appendChild(bodyWrapperDiv);
            }
        }
    });

    document.addEventListener('FA__DOMContentLoaded', function () {
        var bodyWrapperDivFromDocument = document.getElementById("FA__QP__BODYWRAPPERDIV");
        var scriptTags = bodyWrapperDivFromDocument.querySelectorAll('script');
        Array.from(scriptTags).forEach(function (scriptTag) {
            var script = document.createElement('script');
            if (scriptTag.hasAttribute('src')) {
                script.src = scriptTag.src;
            } else {
                script.innerHTML = scriptTag.innerHTML;
            }
            // copy over other attributes of the script
            Array.from(scriptTag.attributes).forEach(function (attr) {
                if (attr.name !== 'src') {
                    script.setAttribute(attr.name, attr.value);
                }
            });
            scriptTag.replaceWith(script);
        });
    })
}

/**
 * Load other <head> elements like <meta> and <link> etc
 *
 * @param otherHeadElements
 */
function loadOtherHeadElements(otherHeadElements) {
    var element = otherHeadElements.shift();
    document.head.appendChild(element);
    if (otherHeadElements.length) {
        loadOtherHeadElements(otherHeadElements);
    }
}

/**
* Dispatch QuickPublishDone event
*/
function dispatchQuickPublishDone() {
    document.dispatchEvent(new Event('FA__DOMContentLoaded'));
}

/**
 * Sequentially load all <head> script elements.
 *
 * @param headScriptElements
 */
function loadHeadScriptElements(headScriptElements) {
    var faScript = headScriptElements.shift();
    var newScript = document.createElement('script');

    if (faScript.innerHTML) {
        newScript.innerHTML = faScript.innerHTML;
        document.head.appendChild(newScript);

        if (! headScriptElements.length) {
            dispatchQuickPublishDone();
            return;
        }

        return loadHeadScriptElements(headScriptElements);
    }

    document.head.appendChild(newScript);
    newScript.onload = function () {
        if (headScriptElements.length) {
            return loadHeadScriptElements(headScriptElements);
        } else {
            dispatchQuickPublishDone();
        }
    };

    Array.from(faScript.attributes).forEach(function (attr) {
        if (attr.name !== 'src') {
            newScript.setAttributeNode(attr.cloneNode(true));
        }
    });
    newScript.src = faScript.src;
}

window.addEventListener('DOMContentLoaded', loadFormAssemblyFormHeadAndBodyContents);