if (window.location.protocol != "https:" && window.location.href.indexOf("formulate") == -1 && "False" === "True") { window.location.href = "https:" + window.location.href.substring(window.location.protocol.length); } var fbScriptTag = document.getElementsByClassName("2314e9d7-f9e2-4d6a-8e0e-77afafdef5e2"), fbBodyTag = document.body, fbHeadTag = document.head, fbIsTestResponse = 'False', fbEnableInstaMedScript = 'False', fbRenderContainer = document.createElement("div"), fbRenderedCssContainer = document.createElement("div"), fbConfigScript = document.createElement("script"), fbRequireJSScript = document.createElement("script"), fbInstaMedJSScript = document.createElement("script"), fbGeoCaptchaCallback = document.createElement("script"), fbGeoReCaptchaCallback = document.createElement("script"), fbFormulateRenderer = document.createElement("script"), fbRenderedIntegrations = document.createElement("script"), fbRenderedScripts = document.createElement("script"), fbAutoPopulateFromQueryString = document.createElement("script"), fbEmbeddedCss = "", renderedScripts = 'var conditionalSectionJs = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\', \'he\'], function ($, he) {\ he.encode.options.decimal = true;\ he.encode.options.allowUnsafeSymbols = true;\ \ var sectionConditions = JSON.parse(\'[{"ElementName":"FormField13_17f64b51-00e5-4eec-b6e3-f70e9b44674e","Value":"Yes"}]\');\ var conditionOperator = \'and\';\ \ sectionConditions.forEach(function (sectionCondition) {\ $("select[id=" + sectionCondition.ElementName + "]").addClass(\'conditionalSectionListSelection\');\ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']").addClass(\'conditionalSectionListSelection\');\ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']").addClass(\'conditionalSectionListSelection\');\ \ $("select[id=" + sectionCondition.ElementName + "]").on(\'change\', function () {\ checkShowHide();\ });\ \ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']").on(\'change\', function () {\ checkShowHide();\ });\ \ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']").on(\'change\', function () {\ checkShowHide();\ });\ });\ \ function checkShowHide() {\ var shouldShowSection = conditionOperator === \'and\'; /* set default to true for AND operation and false for OR operation */\ \ sectionConditions.forEach(function (sectionCondition) {\ checkSelect(sectionCondition); \ checkCheckbox(sectionCondition); \ checkRadio(sectionCondition); \ });\ \ showHideSection(shouldShowSection);\ \ function checkSelect(sectionCondition) {\ var matchingSelect = $("select[id=" + sectionCondition.ElementName + "]")[0];\ \ if (!matchingSelect) {\ return;\ }\ \ if (matchingSelect.type === \'select-multiple\') {\ var hasOneMatchingValue = false;\ \ for (var i = 0; i < matchingSelect.selectedOptions.length; i++) {\ if (encode(matchingSelect.selectedOptions[i].value) === sectionCondition.Value) {\ hasOneMatchingValue = true;\ }\ }\ \ shouldShowSection = mergeCondition(shouldShowSection, hasOneMatchingValue, matchingSelect);\ } else {\ shouldShowSection = mergeCondition(shouldShowSection, encode(matchingSelect.value) === sectionCondition.Value, matchingSelect);\ }\ }\ \ function checkCheckbox(sectionCondition) {\ var matchingCheckboxes = $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']");\ \ for (var i = 0; i < matchingCheckboxes.length; i++) {\ if (encode(matchingCheckboxes[i].value) === sectionCondition.Value) {\ shouldShowSection = mergeCondition(shouldShowSection, matchingCheckboxes[i].checked, matchingCheckboxes[i]);\ }\ }\ }\ \ function checkRadio(sectionCondition) {\ var matchingRadios = $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']");\ \ for (var i = 0; i < matchingRadios.length; i++) {\ if (encode(matchingRadios[i].value) === sectionCondition.Value) {\ shouldShowSection = mergeCondition(shouldShowSection, matchingRadios[i].checked, matchingRadios[i]);\ }\ }\ }\ }\ \ function mergeCondition(overallResult, newResult, element) {\ newResult = newResult && isParentVisible(element);\ \ if (conditionOperator === \'and\') {\ return overallResult && newResult;\ } else {\ return overallResult || newResult;\ }\ }\ \ function isParentVisible(element) {\ var parentSectionDiv = $(\'#\' + element.id).closest(".fb-section");\ return parentSectionDiv && !parentSectionDiv.is(":hidden");\ }\ \ function encode(myString) {\ myString = he.encode(he.escape(myString));\ \ /* Fixes issues with single quote and backtick encoding */\ var i,\ entities = [\ [\''\', \''\'],\ [\'`\', \'`\']\ ];\ \ for (i = 0; i < entities.length; i++) {\ myString = String(myString).replace(new RegExp(entities[i][0], \'g\'), entities[i][1]);\ }\ \ return myString;\ }\ \ function showHideSection(showSection) {\ if (showSection) {\ $(\'#FormField14_17f64b51-00e5-4eec-b6e3-f70e9b44674e\').show();\ } else {\ $(\'#FormField14_17f64b51-00e5-4eec-b6e3-f70e9b44674e\').hide();\ }\ \ $("#FormField14_17f64b51-00e5-4eec-b6e3-f70e9b44674e .conditionalSectionListSelection").each(function (i, obj) {\ if (obj.type === \'radio\' || obj.type === \'checkbox\') {\ if (obj.checked) {\ $(\'#\' + obj.id).change();\ }\ } else {\ $(\'#\' + obj.id).change();\ }\ });\ }\ });\ });\ };\ \ fbRequireJSScript.addEventListener("load", conditionalSectionJs);var optionRateCostJs = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\', \'AutoNumeric\', \'cost\', \'he\'], function ($, AutoNumeric, cost, he) {\ var options = JSON.parse(\'[{"name":"$100","amount":100.0},{"name":"$200","amount":200.0},{"name":"$500","amount":500.0}]\'),\ formId = \'2314e9d7-f9e2-4d6a-8e0e-77afafdef5e2\',\ $formElementsContainer = $(\'.fbFormContainer_\' + formId),\ selectionType = \'Radio\',\ elementName = \'FormField20_17f64b51-00e5-4eec-b6e3-f70e9b44674e\',\ $selectedItem = $formElementsContainer.find(\'[name="\' + elementName + \'_selected_item"]\'),\ $amount = $formElementsContainer.find(\'[name="\' + elementName + \'_amount"]\'),\ otherOptionMin = \'1\',\ otherOptionMax = \'5000\',\ requiredMessage = \'Donation Amount Required\';\ \ function removeOtherInput() {\ $formElementsContainer.find(\'#\' + elementName + \'_other_item_input_container\').remove();\ }\ \ $selectedItem.on(\'change\', function () {\ var selectedOptionId;\ if (selectionType === \'Dropdown\') {\ selectedOptionId = $(this).children(\':selected\').attr(\'id\');\ } else {\ selectedOptionId = $(this).attr(\'id\');\ }\ \ var selectedOptionValue = $(this).val();\ \ removeOtherInput();\ \ updateAmount(selectedOptionId, selectedOptionValue);\ \ cost.setTotalCost($formElementsContainer);\ });\ \ function addOtherInput() {\ var $otherInputContainer = $(\'
\');\ \ var $otherInputLabel = $(\'\');\ $otherInputLabel.text(\'Min: $\' + otherOptionMin + \' Max: $\' + otherOptionMax);\ $otherInputLabel.appendTo($otherInputContainer);\ \ var $otherInput = $(\'\');\ $otherInput.on(\'input\', function () {\ var amountString = $(this).val();\ amountString = amountString.replace(/[,$]/g, \'\');\ \ $amount.val(amountString);\ \ cost.setTotalCost($formElementsContainer);\ });\ $otherInput.trigger(\'input\');\ $otherInput.appendTo($otherInputContainer);\ \ if (selectionType === \'Dropdown\') {\ $otherInputContainer.insertAfter($selectedItem);\ } else {\ $otherInputContainer.insertAfter($selectedItem.closest(\'.fb-radio-group\'));\ }\ \ var otherInputAutoNumeric = new AutoNumeric(\'#\' + elementName + \'_other_item_input\', [\'dollarPos\', {\ emptyInputBehavior: \'zero\'\ }]);\ \ $(\'#\' + elementName + \'_other_item_input\').rules(\'add\', {\ required: true,\ range: [otherOptionMin,otherOptionMax],\ normalizer: function (value) {\ return $.trim(value).replace(/[,$]/g, \'\');\ },\ messages: {\ required: requiredMessage\ }\ });\ }\ \ function resetAmount() {\ $amount.val(0);\ }\ \ function updateAmount(optionId, optionValue) {\ resetAmount();\ \ if (typeof optionId !== \'undefined\' && optionId.indexOf(\'_other_selected_item\')) {\ addOtherInput();\ } else {\ for (var i = 0; i < options.length; i++) {\ if (he.decode(options[i].name) === optionValue) {\ $amount.val(options[i].amount);\ }\ }\ }\ }\ });\ });\ };\ \ fbRequireJSScript.addEventListener("load", optionRateCostJs);var conditionalSectionJs = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\', \'he\'], function ($, he) {\ he.encode.options.decimal = true;\ he.encode.options.allowUnsafeSymbols = true;\ \ var sectionConditions = JSON.parse(\'[{"ElementName":"FormField21_17f64b51-00e5-4eec-b6e3-f70e9b44674e","Value":"Yes"}]\');\ var conditionOperator = \'and\';\ \ sectionConditions.forEach(function (sectionCondition) {\ $("select[id=" + sectionCondition.ElementName + "]").addClass(\'conditionalSectionListSelection\');\ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']").addClass(\'conditionalSectionListSelection\');\ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']").addClass(\'conditionalSectionListSelection\');\ \ $("select[id=" + sectionCondition.ElementName + "]").on(\'change\', function () {\ checkShowHide();\ });\ \ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']").on(\'change\', function () {\ checkShowHide();\ });\ \ $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']").on(\'change\', function () {\ checkShowHide();\ });\ });\ \ function checkShowHide() {\ var shouldShowSection = conditionOperator === \'and\'; /* set default to true for AND operation and false for OR operation */\ \ sectionConditions.forEach(function (sectionCondition) {\ checkSelect(sectionCondition); \ checkCheckbox(sectionCondition); \ checkRadio(sectionCondition); \ });\ \ showHideSection(shouldShowSection);\ \ function checkSelect(sectionCondition) {\ var matchingSelect = $("select[id=" + sectionCondition.ElementName + "]")[0];\ \ if (!matchingSelect) {\ return;\ }\ \ if (matchingSelect.type === \'select-multiple\') {\ var hasOneMatchingValue = false;\ \ for (var i = 0; i < matchingSelect.selectedOptions.length; i++) {\ if (encode(matchingSelect.selectedOptions[i].value) === sectionCondition.Value) {\ hasOneMatchingValue = true;\ }\ }\ \ shouldShowSection = mergeCondition(shouldShowSection, hasOneMatchingValue, matchingSelect);\ } else {\ shouldShowSection = mergeCondition(shouldShowSection, encode(matchingSelect.value) === sectionCondition.Value, matchingSelect);\ }\ }\ \ function checkCheckbox(sectionCondition) {\ var matchingCheckboxes = $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'checkbox\']");\ \ for (var i = 0; i < matchingCheckboxes.length; i++) {\ if (encode(matchingCheckboxes[i].value) === sectionCondition.Value) {\ shouldShowSection = mergeCondition(shouldShowSection, matchingCheckboxes[i].checked, matchingCheckboxes[i]);\ }\ }\ }\ \ function checkRadio(sectionCondition) {\ var matchingRadios = $("input[id^=\'" + sectionCondition.ElementName + "\'][type=\'radio\']");\ \ for (var i = 0; i < matchingRadios.length; i++) {\ if (encode(matchingRadios[i].value) === sectionCondition.Value) {\ shouldShowSection = mergeCondition(shouldShowSection, matchingRadios[i].checked, matchingRadios[i]);\ }\ }\ }\ }\ \ function mergeCondition(overallResult, newResult, element) {\ newResult = newResult && isParentVisible(element);\ \ if (conditionOperator === \'and\') {\ return overallResult && newResult;\ } else {\ return overallResult || newResult;\ }\ }\ \ function isParentVisible(element) {\ var parentSectionDiv = $(\'#\' + element.id).closest(".fb-section");\ return parentSectionDiv && !parentSectionDiv.is(":hidden");\ }\ \ function encode(myString) {\ myString = he.encode(he.escape(myString));\ \ /* Fixes issues with single quote and backtick encoding */\ var i,\ entities = [\ [\''\', \''\'],\ [\'`\', \'`\']\ ];\ \ for (i = 0; i < entities.length; i++) {\ myString = String(myString).replace(new RegExp(entities[i][0], \'g\'), entities[i][1]);\ }\ \ return myString;\ }\ \ function showHideSection(showSection) {\ if (showSection) {\ $(\'#FormField22_17f64b51-00e5-4eec-b6e3-f70e9b44674e\').show();\ } else {\ $(\'#FormField22_17f64b51-00e5-4eec-b6e3-f70e9b44674e\').hide();\ }\ \ $("#FormField22_17f64b51-00e5-4eec-b6e3-f70e9b44674e .conditionalSectionListSelection").each(function (i, obj) {\ if (obj.type === \'radio\' || obj.type === \'checkbox\') {\ if (obj.checked) {\ $(\'#\' + obj.id).change();\ }\ } else {\ $(\'#\' + obj.id).change();\ }\ });\ }\ });\ });\ };\ \ fbRequireJSScript.addEventListener("load", conditionalSectionJs);'; if(fbScriptTag.length === 0) { fbScriptTag = document.querySelector("script[src*='2314e9d7-f9e2-4d6a-8e0e-77afafdef5e2']"); } else { fbScriptTag = fbScriptTag[0]; } fbRenderContainer.id = "formRenderContainer"; fbRenderContainer.className = " fbRenderContainer fbRenderContainer_2314e9d7-f9e2-4d6a-8e0e-77afafdef5e2"; fbRenderedCssContainer.id = "fbRenderedCssContainer"; fbConfigScript.type = "text/javascript"; fbRequireJSScript.type = "text/javascript"; fbInstaMedJSScript.type = "text/javascript"; fbGeoCaptchaCallback.type = "text/javascript"; fbGeoReCaptchaCallback.type = "text/javascript"; fbFormulateRenderer.type = "text/javascript"; fbRenderedIntegrations.type = "text/javascript"; fbRenderedScripts.type = "text/javascript"; fbAutoPopulateFromQueryString.type = "text/javascript"; fbRequireJSScript.src = "https://formulate.geonetric.com/Scripts/require.min.js"; fbInstaMedJSScript.src = "https://formulate.geonetric.com/Scripts/vendor/instamed/token.js"; fbInstaMedJSScript.id = "instamed-sdk"; fbGeoCaptchaCallback.src = "https://formulate.geonetric.com/Scripts/geo-captcha-callback.js"; fbGeoReCaptchaCallback.src = "https://www.google.com/recaptcha/api.js?onload=geoFbCaptchaCallback&render=6LdxkTEpAAAAAMKbkhz8-INpQis_mvSaIXnoyC2V"; fbFormulateRenderer.src = "https://formulate.geonetric.com/Scripts/require/formulate-renderer.js?embeddedCssType=2&isTestResponse=False&hasGoogleAnalytics=False"; fbFormulateRenderer.id = "formulateRendererScript"; fbAutoPopulateFromQueryString.src = "https://formulate.geonetric.com/Scripts/auto-populate-from-query-string.js"; if (fbEnableInstaMedScript === 'True') { fbInstaMedJSScript.setAttribute("data-displaymode", "embedded"); fbInstaMedJSScript.setAttribute("data-environment", "UAT"); fbInstaMedJSScript.setAttribute("data-mobiledisplaymode", "embedded"); } fbGeoCaptchaCallback.onload = function() { if(document.querySelectorAll('.geo-fb-recaptcha').length > 0) { fbBodyTag.appendChild(fbGeoReCaptchaCallback); } } fbRequireJSScript.addEventListener("load", function() { fbBodyTag.appendChild(fbFormulateRenderer); fbBodyTag.appendChild(fbAutoPopulateFromQueryString); }); fbFormulateRenderer.addEventListener("load", function () { initFormBuilderForm(); }); var embeddedCssType = 2 switch (embeddedCssType) { case 1: fbEmbeddedCss = ''; break; case 2: fbEmbeddedCss = ''; break; default: fbEmbeddedCss = ''; } if (fbIsTestResponse === 'True') { fbRenderContainer.setAttribute('data-test-mode', 'true'); } else { fbRenderContainer.setAttribute('data-test-mode', 'false'); } fbRenderContainer.innerHTML = "Required fields are marked with *
\ \ \ \ \ \ \ \ \The following fields are required or invalid.
This form was created to display the current fields for design to style.