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("28991655-7e5d-4323-8d71-923f25acee8f"), 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":"FormField26_28991655-7e5d-4323-8d71-923f25acee8f","Value":"ACLS Instructor Card"}]\');\ var conditionOperator = \'or\';\ \ 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) {\ $(\'#FormField46_28991655-7e5d-4323-8d71-923f25acee8f\').show();\ } else {\ $(\'#FormField46_28991655-7e5d-4323-8d71-923f25acee8f\').hide();\ }\ \ $("#FormField46_28991655-7e5d-4323-8d71-923f25acee8f .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 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":"FormField26_28991655-7e5d-4323-8d71-923f25acee8f","Value":"BLS Instructor Card"}]\');\ var conditionOperator = \'or\';\ \ 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) {\ $(\'#FormField41_28991655-7e5d-4323-8d71-923f25acee8f\').show();\ } else {\ $(\'#FormField41_28991655-7e5d-4323-8d71-923f25acee8f\').hide();\ }\ \ $("#FormField41_28991655-7e5d-4323-8d71-923f25acee8f .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 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":"FormField26_28991655-7e5d-4323-8d71-923f25acee8f","Value":"PALS Instructor Card"}]\');\ var conditionOperator = \'or\';\ \ 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) {\ $(\'#FormField51_28991655-7e5d-4323-8d71-923f25acee8f\').show();\ } else {\ $(\'#FormField51_28991655-7e5d-4323-8d71-923f25acee8f\').hide();\ }\ \ $("#FormField51_28991655-7e5d-4323-8d71-923f25acee8f .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 totalCostElementJs = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\'], function ($) {\ \ $(\'.paymentTotalCost\').hide();\ \ });\ });\ };\ \ fbRequireJSScript.addEventListener("load", totalCostElementJs);var overridePaymentJS = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\'], function ($) {\ var formId = \'28991655-7e5d-4323-8d71-923f25acee8f\',\ $formElementsContainer = $(\'.fbFormContainer_\' + formId);\ \ $(\'#OverridePaymentCheckbox\').click(function() {\ if ($(this).prop(\'checked\') === true) {\ $formElementsContainer.find(\'div.stripePaymentElement\').hide();\ $formElementsContainer.find(\'div.convergePaymentElement\').hide();\ $formElementsContainer.find(\'div.braintreePaymentElement\').hide();\ $formElementsContainer.find(\'div.braintreePaymentElement\').addClass(\'no-charge\');\ $formElementsContainer.find(\'div.instaMedPaymentElement\').hide();\ $formElementsContainer.find(\'div.authorizeDotNetPaymentElement\').hide();\ }\ else {\ $formElementsContainer.find(\'div.stripePaymentElement\').show();\ $formElementsContainer.find(\'div.convergePaymentElement\').show();\ $formElementsContainer.find(\'div.braintreePaymentElement\').show();\ $formElementsContainer.find(\'div.braintreePaymentElement\').removeClass(\'no-charge\');\ $formElementsContainer.find(\'div.instaMedPaymentElement\').show();\ $formElementsContainer.find(\'div.authorizeDotNetPaymentElement\').show();\ }\ });\ \ /* Hack until some way more concrete to detect whether to show the override payment checkbox. \ * Maybe update renderer? */\ if (window.location.href.indexOf(\'iframe-components/clean/form-renderer.html\') === -1\ && window.location.href.indexOf(\'submittableFormTest\') === -1\ && window.location.href.indexOf(\'registrations/add\') === -1) {\ $(\'.fbFormContainer_\' + formId + \' div.overridePayment\').remove();\ }\ });\ });\ };\ \ fbRequireJSScript.addEventListener(\'load\', overridePaymentJS);var processStripePaymentJs = function () {\ requirejs([window.formHost + \'/Scripts/require/fbRequire.config.js\'], function (fbRequireConfig) {\ var fbRequire = fbRequireConfig.fbRequire;\ \ fbRequire([\'jquery\'], function ($) {\ $(function () {\ var jsElm = document.createElement(\'script\');\ jsElm.type = \'text/javascript\';\ jsElm.src = \'https://js.authorize.net/v1/Accept.js\';\ jsElm.charset = \'utf-8\';\ document.body.appendChild(jsElm);\ });\ \ window.getAuthorizeDotNetToken = function (container, successCallBack, failureCallBack) {\ \ var authData = {\ clientKey: \'35Db2snzZf68PF57ZKLaW6h2TWnBg9UsQkE5gmy94VpXVWsC3pegX6susWbnY54P\',\ apiLoginID: \'4Egu95JL\'\ };\ \ var cardExpiration = container.find(\'.cardExpiration\').val().split("/");\ if (cardExpiration.length !== 2) {\ cardExpiration = [\'\', \'\'];\ }\ \ var cardData = {\ cardNumber: container.find(\'.cardNumber\').val().replace(/ /g, \'\'),\ month: cardExpiration[0].trim(),\ year: cardExpiration[1].trim(),\ cardCode: container.find(\'.cardCvc\').val(),\ zip: container.find(\'.billingZip\').val(),\ fullName: container.find(\'.firstNameCard\').val() + \' \' + container.find(\'.lastNameCard\').val()\ };\ \ var secureData = {\ authData: authData,\ cardData: cardData\ };\ \ Accept.dispatchData(secureData, responseHandler);\ \ function responseHandler(response) {\ \ if (response.messages.resultCode === \'Error\') {\ var errorMessages = [];\ \ for (var i = 0; i < response.messages.message.length; i++) {\ errorMessages.push(response.messages.message[i].text);\ }\ \ failureCallBack(container, errorMessages);\ } else {\ var token = response.opaqueData.dataValue;\ \ var customer = {\ firstName: container.find(\'.firstNameCard\').val(),\ lastName: container.find(\'.lastNameCard\').val(),\ id: container.find(\'.customerId\').val()\ };\ \ var address = {\ streetAddress: container.find(\'.billingStreetAddress\').val(),\ city: container.find(\'.billingCity\').val(),\ state: container.find(\'.billingState\').val(),\ zip: container.find(\'.billingZip\').val()\ };\ \ successCallBack(token, customer, address);\ }\ }\ };\ });\ });\ };\ \ fbRequireJSScript.addEventListener("load", processStripePaymentJs);'; if(fbScriptTag.length === 0) { fbScriptTag = document.querySelector("script[src*='28991655-7e5d-4323-8d71-923f25acee8f']"); } else { fbScriptTag = fbScriptTag[0]; } fbRenderContainer.id = "formRenderContainer"; fbRenderContainer.className = " fbRenderContainer fbRenderContainer_28991655-7e5d-4323-8d71-923f25acee8f"; 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=0&isTestResponse=False&hasGoogleAnalytics=True"; 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 = 0 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.