");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_142_1_2_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1739478989208"]');
el.revertContentOp().remove();})("HEAD")}}, C_722072_142_1_2_1:{ fn:function(log,nonce=''){return (function(x) {})(".w-inline-block,.w-button,input.w-button,.splash,.splash .mw-ol-btn.mw-ol-whitemw-ol-btn, .splash .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.splash .logo-link,.splash .btn,.nav,.mw-ol-btn, .mw-ol-btn:visited,.mw-ol-btn.mw-ol-whitemw-ol-btn, .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.mw-ol-btn.mw-ol-white,.overlay2,.div-block-42,.splash-h1,.div-block-18,.sidephoto,.link-3, .link-3:visited,.stafflink,.w-background-video,.w-background-video > video,.w-background-video > video::-webkit-media-controls-start-playback-button,.background-video,.mw-ol-btn,.mw-ol-btn.mw-ol-whitemw-ol-btn.nav,.w-hidden-small,.link-block,.btn,.w-hidden-tiny,.btn.whitebtn,.btn.whitebtn.onorange,.div-block-42 p,.div-block-17,.dark,.darkpara,.givingtues,.important-text,.heading-5,.btn, .btn:visited,.link-2,.big")}}, R_722072_142_1_2_1:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
})(".w-inline-block,.w-button,input.w-button,.splash,.splash .mw-ol-btn.mw-ol-whitemw-ol-btn, .splash .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.splash .logo-link,.splash .btn,.nav,.mw-ol-btn, .mw-ol-btn:visited,.mw-ol-btn.mw-ol-whitemw-ol-btn, .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.mw-ol-btn.mw-ol-white,.overlay2,.div-block-42,.splash-h1,.div-block-18,.sidephoto,.link-3, .link-3:visited,.stafflink,.w-background-video,.w-background-video > video,.w-background-video > video::-webkit-media-controls-start-playback-button,.background-video,.mw-ol-btn,.mw-ol-btn.mw-ol-whitemw-ol-btn.nav,.w-hidden-small,.link-block,.btn,.w-hidden-tiny,.btn.whitebtn,.btn.whitebtn.onorange,.div-block-42 p,.div-block-17,.dark,.darkpara,.givingtues,.important-text,.heading-5,.btn, .btn:visited,.link-2,.big")}}, C_722072_142_1_3_0:{ fn:function(log,nonce=''){return (function(x) {;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_142_1_3_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1739478989217"]');
el.revertContentOp().remove();})("HEAD")}}, C_722072_142_1_3_1:{ fn:function(log,nonce=''){return (function(x) {})(".w-inline-block,.w-button,input.w-button,.splash,.splash .mw-ol-btn.mw-ol-whitemw-ol-btn, .splash .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.splash .logo-link,.splash .btn,.nav,.mw-ol-btn, .mw-ol-btn:visited,.mw-ol-btn.mw-ol-whitemw-ol-btn, .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.mw-ol-btn.mw-ol-white,.overlay2,.div-block-42,.splash-h1,.div-block-18,.sidephoto,.link-3, .link-3:visited,.stafflink,.w-background-video,.w-background-video > video,.w-background-video > video::-webkit-media-controls-start-playback-button,.background-video,.mw-ol-btn,.mw-ol-btn.mw-ol-whitemw-ol-btn.nav,.w-hidden-small,.link-block,.btn,.w-hidden-tiny,.btn.whitebtn,.btn.whitebtn.onorange,.div-block-42 p,.div-block-17,.dark,.darkpara,.givingtues,.important-text,.heading-5,.btn, .btn:visited,.link-2,.big,.splash .pushdown__col,.splash .pushdown__content,.splash .pushdown-copy > *:last-child,.splash .grid-area,.splash .grid-card,.splash .grid-card div > p,.splash .grid-card div > p > span,.splash .grid-card .flex-col,.splash .grid-card div > p > b,.splash .grid-card button,.splash div div.centered,.splash div a.other-link,.splash .div-block-17,.splash p.dark")}}, R_722072_142_1_3_1:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
})(".w-inline-block,.w-button,input.w-button,.splash,.splash .mw-ol-btn.mw-ol-whitemw-ol-btn, .splash .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.splash .logo-link,.splash .btn,.nav,.mw-ol-btn, .mw-ol-btn:visited,.mw-ol-btn.mw-ol-whitemw-ol-btn, .mw-ol-btn.mw-ol-whitemw-ol-btn:visited,.mw-ol-btn.mw-ol-white,.overlay2,.div-block-42,.splash-h1,.div-block-18,.sidephoto,.link-3, .link-3:visited,.stafflink,.w-background-video,.w-background-video > video,.w-background-video > video::-webkit-media-controls-start-playback-button,.background-video,.mw-ol-btn,.mw-ol-btn.mw-ol-whitemw-ol-btn.nav,.w-hidden-small,.link-block,.btn,.w-hidden-tiny,.btn.whitebtn,.btn.whitebtn.onorange,.div-block-42 p,.div-block-17,.dark,.darkpara,.givingtues,.important-text,.heading-5,.btn, .btn:visited,.link-2,.big,.splash .pushdown__col,.splash .pushdown__content,.splash .pushdown-copy > *:last-child,.splash .grid-area,.splash .grid-card,.splash .grid-card div > p,.splash .grid-card div > p > span,.splash .grid-card .flex-col,.splash .grid-card div > p > b,.splash .grid-card button,.splash div div.centered,.splash div a.other-link,.splash .div-block-17,.splash p.dark")}}, C_722072_141_1_4_1:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("addElement","body"); vwo_debug*/!(el=vwo_$("body")).find('[vwo-op-1739200493830=""]').length&&el.vwoElement({html:'
\n \x3c!--
--\x3e\n
\n
\n × \n
\n
\n
\n
\n
\n \x3c!-- \n If you have a moment...\n --\x3e\n \nYour monthly gift brings disciplemakers to The Great Commission in every walk of life—from America\'s college campuses to military bases, kids camps to inner cities, and provides instant help in times of great crisis or great opportunity. Will you be one of the 50 monthly donors to make a $15 monthly gift, 30 donors to make a $25 monthly gift, or 20 donors to make a $50 monthly gift today? Make your monthly gift today ››\n\n
\n \n
\n
\n
\n
\n
\n \x3c!--
--\x3e\n
',position:"append"});})("body")}}, R_722072_141_1_4_1:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1739200493802"]')).remove();})("body")}}, C_722072_141_1_4_2:{ fn:function(log,nonce=''){return (function(x) {})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, R_722072_141_1_4_2:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, C_722072_141_1_2_0:{ fn:function(log,nonce=''){return (function(x) {;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_141_1_2_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1739200494825"]');
el.revertContentOp().remove();})("HEAD")}}, C_722072_141_1_2_1:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("addElement","body"); vwo_debug*/!(el=vwo_$("body")).find('[vwo-op-1739200478378=""]').length&&el.vwoElement({html:'\n \x3c!--
--\x3e\n
\n
\n × \n
\n
\n
\n
\n
\n \x3c!-- \n If you have a moment...\n --\x3e\n \nYour monthly gift brings disciplemakers to The Great Commission in every walk of life—from America\'s college campuses to military bases, kids camps to inner cities, and provides instant help in times of great crisis or great opportunity. Make your monthly gift today ››\n\n
\n \n
\n
\n
\n
\n
\n \x3c!--
--\x3e\n
',position:"append"});})("body")}}, R_722072_141_1_2_1:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1738958003592"]')).remove();})("body")}}, C_722072_141_1_2_2:{ fn:function(log,nonce=''){return (function(x) {})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, R_722072_141_1_2_2:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, C_722072_141_1_3_0:{ fn:function(log,nonce=''){return (function(x) {;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_141_1_3_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1739200494834"]');
el.revertContentOp().remove();})("HEAD")}}, C_722072_79_1_2_0:{ fn:function(){return (function(x) { try{
var _vwo_sel = vwo_$("");
!vwo_$("head").find("#1734023425003").length && vwo_$('head').append(_vwo_sel);
const DEFAULT_DONATION_FREQUENCY="One-Time";function getQueryParam(e){let t=window.location.search.match(e+"=([^&]*)");return t?t[1]:void 0}function initOnElement(e,t,n){const i=e.getElementsByTagName(t);return i.length?n(i):setTimeout(initOnElement,500,e,t,n)}window.DonationForm=window.DonationForm||{recurring_checkbox:null,submit_button:null,other_amt:null,gift_array_elements:[],onetime_gift_array:[],recurring_gift_array:[10,20,30,40],setRecurring:function(e){console.log("setRecurring",e,this.recurring_checkbox),(!this.recurring_checkbox.checked&&e||this.recurring_checkbox.checked&&!e)&&(console.log("checked",this.recurring_checkbox.checked,"(before click)"),this.recurring_checkbox.click(),console.log("checked",this.recurring_checkbox.checked,"(after click)"))},selectGiftArray:function(e){this.gift_array_elements[e].click()},modifyGiftArray:function(e){this.gift_array_elements.forEach((t,n)=>{t.value=e[n],t.textContent="$"+e[n]})},setOneTimeGiftArrayValues:function(){let e=this;this.gift_array_elements.forEach(t=>{e.onetime_gift_array.push(parseInt(t.value))})},setFirstNamePersonalization:function(e){const t=void 0===getQueryParam("first_name")||""===getQueryParam("first_name")?"Friend":getQueryParam("first_name");for(let n=0;n<=e.length-1;n++)e[n].innerHTML.includes("[Name]")&&(e[n].innerHTML=e[n].innerHTML.replace(/\[[^\]]*]/,t)),e[n].innerHTML.includes("Friend")&&(e[n].innerHTML=e[n].innerHTML.replace("Friend",t))},init:function(){document.querySelectorAll(".tab").forEach(e=>{e.addEventListener("click",(function(e){this.classList.add("selected"),this.classList.contains("recurring")?(document.querySelector(".tab.onetime").classList.remove("selected"),DonationForm.setRecurring(!0)):(document.querySelector(".tab.recurring").classList.remove("selected"),DonationForm.setRecurring(!1))}))}),this.setOneTimeGiftArrayValues(),this.setRecurring(!1),this.selectGiftArray(0)}},initOnElement(document,"c-donate-community-staff-information",(function(e){initOnElement(e[0],"div",(function(e){e[0].querySelectorAll("div.slds-col")[0].classList.add("page-image");const t=e[0].querySelectorAll("div.slds-col")[1];t.classList.add("donation-form-content");const n=t.querySelectorAll("div,lightning-formatted-rich-text");for(let e=0;e<=n.length-1;e++)0==e&&n[e].classList.add("page-title"),1==e&&n[e].classList.add("page-action-text"),2==e&&n[e].classList.add("donation-form"),3==e&&n[e].classList.add("bottom-title"),4==e&&n[e].classList.add("page-text");DonationForm.setFirstNamePersonalization(n[4].shadowRoot.querySelectorAll("div p")),n[1].before(n[4]);const i=document.createElement("div");i.classList.add("tabs"),i.innerHTML='One-Time Gift
Recurring Gift
',n[2].before(i),initOnElement(n[2],"c-donate-community-donate-buttons",(function(e){initOnElement(e[0].shadowRoot.querySelector("div"),"div",(function(e){for(let t=0;t dialog.donation-interrupter {\n --dialog-margin: 2rem;\n --dialog-padding: 3rem;\n position: fixed;\n outline: none;\n border: none;\n padding: 0;\n box-sizing: border-box;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 800px;\n}\ndialog::backdrop { background-color: rgba(0, 0, 0, 0.4); }\ndialog.donation-interrupter > .wrapper {\n position: relative;\n margin: calc(var(--dialog-padding));\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\ndialog.donation-interrupter section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\ndialog.donation-interrupter section > div {\n display: flex;\n flex-direction: row;\n gap: 1rem;\n}\ndialog.donation-interrupter section.donation-interrupter--cta button > * {\n font-family: inherit;\n color: inherit;\n background-color: transparent;\n display: inline;\n padding: 0;\n margin: 0;\n font-size: inherit !important;\n text-transform: inherit;\n}\ndialog.donation-interrupter button[data-action=\"dismiss\"] {\n --scale: 3;\n position: absolute;\n top: -1.5rem;\n right: -1.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n outline: none;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n line-height: 0;\n width: calc(1rem * var(--scale));\n height: calc(1rem * var(--scale));\n font-size: calc(1rem * var(--scale));\n}\ndialog.donation-interrupter > div span[before]::before { content: attr(before); }\ndialog.donation-interrupter button.btn-dismiss {\n color: rgba(0, 0, 0, 0.5);\n background-color: rgba(255, 255, 255, 0.5);\n border-radius: 100%;\n}\ndialog.donation-interrupter button[data-action=\"dismiss\"] + section { max-width: calc(100% - 1rem); } /* clear dismiss button */\n@media only screen and (max-width: 500px) {\n dialog.donation-interrupter section.donation-interrupter--cta > div { flex-direction: column; }\n dialog.donation-interrupter {\n --dialog-margin: 0.5rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: calc(100vh - calc(2 * var(--dialog-margin)));\n height: min-content;\n overflow: hidden;\n }\n dialog.donation-interrupter > .wrapper { padding: .75rem !important; }\n}\n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter {\n --dialog-margin: 0rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: 100vh;\n height: 100vh;\n overflow: hidden;\n border-radius: 0 !important;\n }\n dialog.donation-interrupter > .wrapper {\n padding: .75rem !important;\n height: calc(100% - 2* 0.5rem) !important;\n overflow: hidden;\n justify-content: space-evenly;\n }\n}\n/* NAV THEME ===================================================================================== */\ndialog.donation-interrupter[theme=\"NAV\"] h1,\ndialog.donation-interrupter[theme=\"NAV\"] h2,\ndialog.donation-interrupter[theme=\"NAV\"] h3,\ndialog.donation-interrupter[theme=\"NAV\"] h4,\ndialog.donation-interrupter[theme=\"NAV\"] h5,\ndialog.donation-interrupter[theme=\"NAV\"] h6,\ndialog.donation-interrupter[theme=\"NAV\"] ul,\ndialog.donation-interrupter[theme=\"NAV\"] p {\n margin: 0;\n line-height: 1.5;\n}\ndialog.donation-interrupter[theme=\"NAV\"] {\n --primary-color: #e16b2a;\n --secondary-color: #008C95;\n --dialog-padding: 1.5rem;\n border-radius: 0.5rem;\n font: 16px \"Montserrat\";\n color: #54473f;\n}\ndialog.donation-interrupter[theme=\"NAV\"] button[data-action=\"dismiss\"] {\n --scale: 4;\n top: -2rem;\n right: -2rem;\n display: none;\n}\ndialog.donation-interrupter[theme=\"NAV\"] .wrapper {\n border: 2px solid var(--secondary-color);\n padding: 1.5rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] .wrapper > section {\n gap: 0.5rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n margin: 0;\n color: #303030;\n line-height: 1.3;\n font-size: 2em;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body li,\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n color: #404040;\n line-height: 1.8;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body ul {\n list-style: disc;\n padding-left: 1.15rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n /*font-weight: bold;*/\n margin: 0;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta > div { \n justify-content: flex-start;\n align-items: center;\n align-items: stretch;\n align-content: center;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n width: 100%;\n padding: 0.5rem 1rem;\n /*font-size: 0.9em;*/\n font-weight: 500;\n border-radius: 0;\n box-sizing: border-box;\n /*text-transform: uppercase !important;*/\n letter-spacing: 0.5px;\n line-height: 1.5;\n max-width: unset;\n transition: all 200ms ease;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button b {\n /*font-size: 1.05em !important;*/\n text-transform: uppercase;\n font-weight: 700;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:first-child {\n color: white;\n background: var(--primary-color);\n border: none;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:first-child:hover {\n border-color: color-mix(in srgb, var(--primary-color) 90%, black); /* darken */\n background: color-mix(in srgb, var(--primary-color) 90%, black); /* darken */\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:last-child {\n color: black;\n background: white;\n border: 2px solid var(--secondary-color);\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:last-child:hover {\n color: white;\n border-color: color-mix(in srgb, var(--secondary-color) 90%, black); /* darken */\n background: color-mix(in srgb, var(--secondary-color) 90%, black); /* darken */\n}\n@media only screen and (max-width: 768px) {\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 { font-size: 1.85em; }\n}\n@media only screen and (max-width: 500px) {\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 { font-size: 1.6em; }\n} \n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter {\n --dialog-margin: 0rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: 100vh;\n height: 100vh;\n overflow: hidden;\n border-radius: 0 !important;\n }\n dialog.donation-interrupter > .wrapper {\n border: none;\n padding: .75rem !important;\n height: calc(100% - 2* 0.5rem) !important;\n overflow: hidden;\n overflow-y: scroll;\n justify-content: space-evenly;\n }\n}\n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter[theme=\"NAV\"] > .wrapper {\n border: none;\n padding: 0;\n }\n}\n@media only screen and (max-width: 440px) {\n dialog.donation-interrupter[theme=\"NAV\"] > .wrapper { gap: 0.5rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n font-size: 1.4em;\n line-height: 1.4;\n letter-spacing: -0.25px;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body { gap: 0.35rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body li { line-height: 1.5 }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta > div { gap: 0.75rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n font-size: 0.9em;\n line-height: 1.2;\n letter-spacing: -0.15px;\n }\n}\n@media only screen and (max-width: 280px) { /* Z fold, folded (edge case) */\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n line-height: 1.25;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n font-size: 1.5em;\n line-height: 1.25;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n font-size: 0.8em;\n line-height: 1.15;\n }\n} ");
!vwo_$("head").find("#1734023425028").length && vwo_$('head').append(_vwo_sel);
!vwo_$("body").find('[vwo-op-1734023425027=""]').length && vwo_$("body").vwoElement({ "html": "\n \n \n
\n Before you finalize your gift... would you be willing to chip in an additional $5 per month to help provide for unexpected missionary expenses? \n \n
\n \n\t\tYour small additional monthly gift will help care for thousands of missionaries to give them training, support in the field, and financial support when unexpected challenges arise.\n
\n \n If you are willing to also give a monthly gift, we’d love to send you an incredible book, 31 Days toward Trusting God by Jerry Bridges.\n
\n \n Would you be willing to chip in an additional $5 per month alongside your missionary gift?\n
\n \n
\n \n \n YES! \n \n Please add a 5 monthly gift to my cart. \n \n \n No, thanks. \n \n Just process my original gift. \n \n
\n \n
\n ", "position": "append", "customBodyElement": true, "addElementId": 1734023425027 })
'esversion: 8';
const DONATION_INTERRUPTER_GROUP_NAME = "StaffDP" /* all the popups in this test will share the same group name so that the metrics for them are all counted in the test */;
window.HTMLElement.prototype.getSlot = window.HTMLElement.prototype.getSlot || function () { return this.querySelector('slot') || this.shadowRoot.querySelector('slot'); }
window.HTMLElement.prototype.getSlotNodes = window.HTMLElement.prototype.getSlotNodes || function (n) { return (parseInt(n) !== 'NaN' && n >= 0) ? Array.from(this.getSlot().assignedNodes({ flatten: true })).at(n) : Array.from(this.getSlot().assignedNodes({ flatten: true })); }
window.HTMLElement.prototype.shadowChildren = window.HTMLElement.prototype.shadowChildren || function (n) { return (parseInt(n) !== 'NaN' && n >= 0) ? Array.from(this.shadowRoot.children).at(n) : Array.from(this.shadowRoot.children); }
function waitForElement (el, retry, onSuccess = (el) => {}, delay = 30) {
if ( !el ) return setTimeout(retry, delay);
onSuccess(el);
return true;
}
//
function vwoSendEvent (eventName = "customEvent", object = { label: '' }) {
window.VWO = window.VWO || [];
VWO.event = VWO.event || function () {VWO.push(["event"].concat([].slice.call(arguments)));};
VWO.event(eventName, object);
console.log(eventName, object);
}
const vwoSendEvent_DonationInterrupter = (action, group = undefined) => {
if (action === "Shown")
vwoSendEvent("custom_DonationInterrupter_Shown", { shown: true, group: group });
else if (action === "Yes")
vwoSendEvent("custom_DonationInterrupter_Yes", { yes: true, group: group });
else if (action === "No")
vwoSendEvent("custom_DonationInterrupter_No", { donationInterrupterNoClicked: true, group: group });
};
//
function getBasketId (tokenName = `LSSIndex:LOCAL{"namespace":"c"}`){
const token = localStorage.getItem(tokenName);
if (!token) {
return console.error("getBasketId:", "Failed to get token from localStorage:", tokenName);
} else {
try {
const { basket } = JSON.parse(token); // get basket property from the object
return basket;
} catch (error) {
return console.error("getBasketId:", "Failed to parse JSON:", token);
}
}
}
//
function getBasket (basketId) {
let token = localStorage.getItem(basketId);
if (!token) {
const emptyBasket = {
"Id": "localBasket",
"Basket_Items__r": [],
"Total__c": 0,
"Number_of_Items__c": 0,
"itemMap": {}
};
console.info("getBasket:", "Failed to get token from localStorage:", basketId, "\nAttempting to create a new empty basket and retrying...");
localStorage.setItem(basketId, JSON.stringify(emptyBasket));
token = localStorage.getItem(basketId);
}
if (!token) {
return console.error("getBasket:", "Failed to get token from localStorage:", basketId);
} else {
try {
return JSON.parse(token); // get basket property from the object
} catch (error) {
return console.error("getBasket:", "Failed to parse JSON:", token);
}
}
}
//
function addItemToBasket (item) {
const basketId = getBasketId(),
basket = getBasket(basketId);
if ( basket.Basket_Items__r.find(item => item.id === item.Id) ) { // check if the item Id is already in the cart
const foundItem = basket.Basket_Items__r.find(item => item.Id);
foundItem["Quantity__c"] += 1; // update the quantity of the found item
foundItem["Total_Amount__c"] = foundItem["Amount__c"] * foundItem["Quantity__c"]; // update the quantity of the found item
foundItem["Total_Deductible_Amount__c"] = foundItem["Amount__c"] * foundItem["Quantity__c"]; // update the quantity of the found item
} else {
basket.Basket_Items__r.push(item); // add the item to the array
}
basket.Number_of_Items__c = basket.Basket_Items__r.length; // update item count
basket.Total__c = basket.Basket_Items__r.reduce((total, item) => total + item["Amount__c"], 0); // update total amount
basket.itemMap = Object.fromEntries(basket.Basket_Items__r.map((item, index) => ([item.Id, index]))); // update itemMap
return localStorage.setItem(basketId, JSON.stringify(basket));
}
//
function entangleElements (element1, element2, method = 'innerHTML', options = { attributes: true, childList: true, subtree: true }) {
if (!element1 || !element2)
return console.error(`entangleElements: ${!element1 && "element1"}${!element1 && !element2 ? " and " : " "} ${!element2 && "element2"} ${!element1 && !element2 ? "are" : "is"} undefined.`);
console.log("Entangling:\n", element1, ' ', element2, "\nElement 2 will mirror Element 1's values.");
const handleMutation = (mutationList, observer) => { // Callback function to execute when mutations are observed
let lastAttributeValues = {};
for (const mutation of mutationList) {
switch (mutation.type) {
case "attributes":
const { attributeName, oldValue } = mutation;
if (attributeName !== "style") { // ignore changes to style attribute
const currentValue = element1.getAttribute(attributeName);
if (currentValue === null) {
element2.removeAttribute(attributeName); // mirror element 1 attributes on element 2 by removing null value attribute
} else {
element2.setAttribute(attributeName, currentValue); // mirror element 1 attributes on element 2
}
}
break;
default:
element2[method] = element1[method];
break;
}
}
};
const observer = new MutationObserver(handleMutation);
observer.observe(element1, options); // Start observing the target node for configured mutations
return observer;
}
//
//
//
//
function init () {
try {
customElements.whenDefined("c-donate-community-staff-information").then(() => {
customElements.whenDefined("c-donate-community-donate-buttons").then(() => {
customElements.whenDefined("lightning-input").then(() => {
const wrapperForm = document.querySelector('c-donate-community-staff-information');
const wrapperFormInteractive = wrapperForm.shadowRoot.querySelector('c-donate-community-donate-buttons').shadowChildren(0);
console.log(wrapperFormInteractive);
/// Interface with the giving form and create a window object
const form = {
getGiftArrayButtons: function () {
let w = wrapperFormInteractive;
return Array.from(w.children).slice(0, Array.from(w.children).indexOf(w.querySelector('.slds-form-element'))).map(x => x.querySelector('button'));
},
getAmount: function () {
const sanitizeAmount = a => a.replace(/[^\d\.]/,''); // remove non-digit characters (except for decimals)
let selected = this.getGiftArrayButtons().filter(x => x.classList.contains("donate-selected"))[0];
if (selected) {
return parseFloat(selected.value);
} else {
selected = wrapperFormInteractive.querySelector('lightning-input').shadowChildren(0).shadowChildren(0).querySelector('input');
return parseFloat(sanitizeAmount(selected.value));
}
console.warn("Amount is not defined: no option is selected.")
return undefined;
},
setAmount: function (n) {
let match;
const otherAmount = wrapperFormInteractive.querySelector('lightning-input').shadowChildren(0).shadowChildren(0).querySelector('input');
for (const button of this.getGiftArrayButtons()) { // iterate over gift array buttons
if (parseFloat(button.value) === parseFloat(n) ) { // if matching button found for amount
otherAmount.value = ''; // clear other amount
button.click(); // click the matching button
return this.getAmount() === parseFloat(n); // return true if the getAmount() matches the input value
}
}
otherAmount.value = parseFloat(n); // set the other amount field value to the input value
otherAmount.dispatchEvent(new Event('change', { bubbles: true })); // trigger a change event to cause the input to be formatted
return this.getAmount() === parseFloat(n); // return true if the getAmount() matches the input value
},
getRecurring: function () {
const checkbox = [...wrapperFormInteractive.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]');
return checkbox.checked;
},
setRecurring: function (toRecurring = true) {
const checkbox = [...wrapperFormInteractive.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]');
const isRecurring = this.getRecurring(), isOnetime = !isRecurring, toOnetime = !toRecurring; // semantic booleans
if ( (isOnetime && toRecurring) || (isRecurring && toOnetime)) {
checkbox.click();
}
return this.getRecurring() === toRecurring;
},
submit: function (btn = this.buttons["Donate Now"]) {
return btn.click();
},
};
form.giftArrayButtons = form.getGiftArrayButtons();
window.NA = window.NA || {};
window.NA.MiniDonationForm = form;
waitForElement(wrapperFormInteractive.querySelector('button'), init, (el) => { // wait for form buttons
window.NA.MiniDonationForm.buttons = {
"Donate Now": Array.from(wrapperFormInteractive.children).slice(Array.from(wrapperFormInteractive.children).indexOf(wrapperFormInteractive.querySelector('.slds-form-element'))).map(x => x.querySelector('button')).filter(y => y)[0],
"Add to Basket": Array.from(wrapperFormInteractive.children).slice(Array.from(wrapperFormInteractive.children).indexOf(wrapperFormInteractive.querySelector('.slds-form-element'))).map(x => x.querySelector('button')).filter(y => y)[1],
};
window.NA.MiniDonationForm.cloneSubmitButton = function (originalButton = this.buttons["Donate Now"]) {
const clonedButton = originalButton.cloneNode(true); // clone the button and its children
clonedButton.attributes = originalButton.attributes; // copy attributes
if (clonedButton.style) clonedButton.style = originalButton.style; // copy styles
originalButton.after(clonedButton); // insert the fake button after the original
//entangleElements(originalButton, clonedButton, 'outerHTML'); // quantum entangle the elements via outerHTML -- does not work if the element is fully replaced when state changed
return clonedButton; // return the fake button
};
/// Interface with the Donation Interrupter and create a window object
waitForElement(document.querySelector('dialog.donation-interrupter'), init, (dialog) => { // wait for element
const donationPageType = window.Navigators?.donationPageType?.toLowerCase() ?? undefined;
if (donationPageType !== "staff") {
dialog.style.setProperty("display", "none", "important");
//dialog.remove();
return console.warn(`Donation page type must be "Staff" for this test to run.`), null;
}
if (document.querySelectorAll('dialog.donation-interrupter').length > 1) {
return console.warn(`Multiple donation interrupters found on the page.`), null;
}
console.log("dialog found:", dialog);
try {
const DonationInterrupter = {
dialog: dialog || document.querySelector('dialog.donation-interrupter'),
_tokenName: DONATION_INTERRUPTER_GROUP_NAME ? "NA_DonationInterrupter_" + DONATION_INTERRUPTER_GROUP_NAME : "NA_DonationInterrupter",
_memoryMode: sessionStorage,
status: "ready",
getStatus: function () {
return this._memoryMode.getItem(this._tokenName + "_status") || undefined;
},
setStatus: function (t) {
this._memoryMode.setItem(this._tokenName + "_status", t);
this.status = t;
return this.getStatus();
},
conditions: (function(){return true;})(),
newAmount: function (originalAmount) { return originalAmount / 12; }, // reduced ask amount
onShow: function (e) {},
onHide: function (e) {},
show: function (e = undefined) {
this.dialog.showModal();
this.dialog.addEventListener('keydown', e => { e.key === "Escape" && (e.preventDefault(), e.stopImmediatePropagation()) }); // prevent esc button clicked
this.setStatus("shown");
typeof this.onShow === "function" && this.onShow.call(null, e);
},
hide: function (e = undefined) {
this.setStatus("dismissed");
this.dialog.close();
typeof this.onHide === "function" && this.onHide.call(null, e);
},
updateDialogData: function () {
if (this.dialog) {
let originalAmount = window.NA.MiniDonationForm.getAmount(),
suggestedAmount = this.newAmount(originalAmount);
[...this.dialog.querySelectorAll('span[data="amount_original"]')].forEach(span => span.textContent = originalAmount.toString());
[...this.dialog.querySelectorAll('span[data="amount_suggested"]')].forEach(span => span.textContent = suggestedAmount.toString());
}
},
};
window.NA = window.NA || {};
window.NA.DonationInterrupter = DonationInterrupter ? DonationInterrupter : window.NA.DonationInterrupter;
if (window.NA.MiniDonationForm && window.NA.DonationInterrupter)
main(window.NA.MiniDonationForm, window.NA.DonationInterrupter);
} catch (err) {
console.error("Failed to interface with donation interrupter.");
}
}, 100); // wait for element
}, 100); // wait for form buttons
}); // when "lightning-input" defined
}); // when "c-donate-community-donate-buttons" defined
}); // when "c-donate-community-staff-information" defined
} catch (err) {
console.error("Error when waiting for custom elements:", err);
}
}
//
//
//
//
//
//
//
//
function main (FormInterface, DonationInterrupterInterface, debug_mode = 0) {
if (!FormInterface.buttons)
return setTimeout(init, 100);
if (!DonationInterrupterInterface.buttons) {
DonationInterrupterInterface.buttons = { // finish setting up the reference to the CTA buttons in the
"yes": [...DonationInterrupterInterface.dialog.querySelectorAll('button')][0],
"no": [...DonationInterrupterInterface.dialog.querySelectorAll('button')][1],
};
return main(FormInterface, DonationInterrupterInterface, debug_mode); // and try again
}
window.NA.DonationInterrupter.setStatus(window.NA.DonationInterrupter._memoryMode.getItem(window.NA.DonationInterrupter._tokenName + "_status") || "ready"); // set status to the sessionStorage token (saved state) or ready (first time)
window.NA.DonationInterrupter.newAmount = originalAmount => 5; // set the function that determines the reduced gift amount: constant $10
/// Add click handle to fake submit button to trigger popup
try {
for (const button of Object.values(FormInterface.buttons)) {
const originalButton = button, // get the original button to clone
fakeButton = FormInterface.cloneSubmitButton(originalButton); // clones the element, attributes, and styles
originalButton.style.display = "none"; // hide original button
fakeButton.style.setProperty("margin-left", '0', "important"); // fix positioning
//debug_mode && fakeButton.style.setProperty("border", "3px dashed red", "important"); // highlight the fake button
setInterval(() => fakeButton.disabled = originalButton.disabled, 50); // update disabled state of button every 50ms
fakeButton.addEventListener('click', (e) => { // when the fake button copy is clicked
let amount = FormInterface.getAmount(), // get the amount
isRecurring = FormInterface.getRecurring(), // check if recurring
popupShown = DonationInterrupterInterface.status === "shown" || DonationInterrupterInterface.status === "dismissed"; // check if the popup has been dismissed
if (debug_mode) { // log expression in debug_mode
console.groupCollapsed("Check conditions");
console.info(amount, "< 250", amount < 250);
console.info(isRecurring, "=== false", isRecurring === false);
console.info(popupShown, "=== false", popupShown === false);
console.groupEnd("Check conditions");
}
const conditionsMet = [
//amount >= 5, // greater than $5
amount < 250, // less than $250
isRecurring === false, // not recurring
popupShown === false, // not already seen
].every(condition => condition ? true : false); // reduce the expression evaluations to true or false
debug_mode && console.info("showPopup?", conditionsMet);
// Which button triggered the popup determins which button will be used to submit
if (e.srcElement.textContent === FormInterface.buttons["Add to Basket"].textContent) { // if clicked button text equal to original "Add to Basket" button text
conditionsMet ? DonationInterrupterInterface.show(e) : FormInterface.submit(FormInterface.buttons["Add to Basket"]);
} else {
conditionsMet ? DonationInterrupterInterface.show(e) : FormInterface.submit();
}
});
}
}
catch (err) {
console.error("Failed to clone submit button and add event listener.", err);
}
window.NA.DonationInterrupter.onShow = (e) => { // after the popup has been shown
window.NA.DonationInterrupter.updateDialogData(); // update the values in the dialog
//vwoCustomEvent("DonationInterrupter:Shown", { 'token': window.NA.DonationInterrupter._tokenName }); // trigger VWO event to calculate metric that donation interrupter was shown
vwoSendEvent_DonationInterrupter("Shown", window.NA.DonationInterrupter._tokenName);
/// Add click handlers to dialog buttons
try {
const buttons = window.NA.DonationInterrupter.buttons;
const { yes, no } = buttons; // get the button references from the window object
if (e.srcElement.textContent === FormInterface.buttons["Add to Basket"].textContent) { // if clicked button text equal to original "Add to Basket" button text
yes.addEventListener('click', (e) => { // "Yes" button clicked ("Add to Basket" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"Yes" clicked');
//vwoCustomEvent("DonationInterrupter:Yes", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("Yes", window.NA.DonationInterrupter._tokenName);
const originalAmount = FormInterface.getAmount(),
newAmount = window.NA.DonationInterrupter.newAmount(originalAmount);
debug_mode && console.log(originalAmount, '->', newAmount);
//FormInterface.setRecurring(true); // set to recurring
//FormInterface.setAmount(newAmount); // update amount field
DonationInterrupterInterface.hide(); // close popup
addItemToBasket({
"Id": "a4e1Q000000cwIWQAY",
"Amount__c": 5,
"Total_Amount__c": 5,
"Benefit_Amount__c": 0,
"Total_Benefit_Amount__c": 0,
"Total_Deductible_Amount__c": 5,
"Recurring__c": true,
"Anonymous__c": false,
"Quantity__c": 1,
"Community_Campaign__c": "a4e1Q000000cwIWQAY",
"Community_Campaign__r": { "Name": "Missionary Care" } // #22747091
});
FormInterface.submit(FormInterface.buttons["Add to Basket"]); // submit "Add to Basket"
debug_mode && console.groupEnd('"Yes" clicked');
});
no.addEventListener('click', (e) => { // "No" button clicked ("Add to Basket" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"No" clicked');
//vwoCustomEvent("DonationInterrupter:No", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("No", window.NA.DonationInterrupter._tokenName);
DonationInterrupterInterface.hide(); // close popup
FormInterface.submit(FormInterface.buttons["Add to Basket"]); // submit "Add to Basket"
debug_mode && console.groupEnd('"No" clicked');
});
}
else {
yes.addEventListener('click', (e) => { // "Yes" button clicked ("Donate Now" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"Yes" clicked');
//vwoCustomEvent("DonationInterrupter:Yes", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("Yes", window.NA.DonationInterrupter._tokenName);
const originalAmount = FormInterface.getAmount(),
newAmount = window.NA.DonationInterrupter.newAmount(originalAmount);
debug_mode && console.log(originalAmount, '->', newAmount);
//FormInterface.setRecurring(true); // set to recurring
//FormInterface.setAmount(newAmount); // update amount field
DonationInterrupterInterface.hide(); // close popup
addItemToBasket({
"Id": "a4e1Q000000cwIWQAY",
"Amount__c": 5,
"Total_Amount__c": 5,
"Benefit_Amount__c": 0,
"Total_Benefit_Amount__c": 0,
"Total_Deductible_Amount__c": 5,
"Recurring__c": true,
"Anonymous__c": false,
"Quantity__c": 1,
"Community_Campaign__c": "a4e1Q000000cwIWQAY",
"Community_Campaign__r": { "Name": "Missionary Care" } // #22747091
});
FormInterface.submit(); // submit "Donate Now"
debug_mode && console.groupEnd('"Yes" clicked');
});
no.addEventListener('click', (e) => { // "No" button clicked ("Donate Now" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"No" clicked');
//vwoCustomEvent("DonationInterrupter:No", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("No", window.NA.DonationInterrupter._tokenName);
DonationInterrupterInterface.hide(); // close popup
FormInterface.submit(); // submit "Donate Now"
debug_mode && console.groupEnd('"No" clicked');
});
}
debug_mode && console.log("added handlers to buttons", buttons);
}
catch (err) { // if failed
console.error("Failed to attach event listeners to dialog buttons.", err);
//return setTimeout(()=>window.NA.DonationInterrupter.onShow(e), 500); // try again
}
};
}
//
//
setTimeout(init, 500);
return vwo_$('head')[0] && vwo_$('head')[0].lastChild; } catch(e) {} })("HEAD")}}, R_722072_79_1_2_1:{ fn:function(){return (function(x) { try{
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1734023425027"]')).remove();
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1734023425028"]');
el.revertContentOp().remove();
return vwo_$('head')[0] && vwo_$('head')[0].lastChild; } catch(e) {} })("HEAD")}}, C_722072_79_1_3_0:{ fn:function(){return (function(x) { try{
var _vwo_sel = vwo_$("");
!vwo_$("head").find("#1734023424983").length && vwo_$('head').append(_vwo_sel);
const DEFAULT_DONATION_FREQUENCY="One-Time";function getQueryParam(e){let t=window.location.search.match(e+"=([^&]*)");return t?t[1]:void 0}function initOnElement(e,t,n){const i=e.getElementsByTagName(t);return i.length?n(i):setTimeout(initOnElement,500,e,t,n)}window.DonationForm=window.DonationForm||{recurring_checkbox:null,submit_button:null,other_amt:null,gift_array_elements:[],onetime_gift_array:[],recurring_gift_array:[10,20,30,40],setRecurring:function(e){console.log("setRecurring",e,this.recurring_checkbox),(!this.recurring_checkbox.checked&&e||this.recurring_checkbox.checked&&!e)&&(console.log("checked",this.recurring_checkbox.checked,"(before click)"),this.recurring_checkbox.click(),console.log("checked",this.recurring_checkbox.checked,"(after click)"))},selectGiftArray:function(e){this.gift_array_elements[e].click()},modifyGiftArray:function(e){this.gift_array_elements.forEach((t,n)=>{t.value=e[n],t.textContent="$"+e[n]})},setOneTimeGiftArrayValues:function(){let e=this;this.gift_array_elements.forEach(t=>{e.onetime_gift_array.push(parseInt(t.value))})},setFirstNamePersonalization:function(e){const t=void 0===getQueryParam("first_name")||""===getQueryParam("first_name")?"Friend":getQueryParam("first_name");for(let n=0;n<=e.length-1;n++)e[n].innerHTML.includes("[Name]")&&(e[n].innerHTML=e[n].innerHTML.replace(/\[[^\]]*]/,t)),e[n].innerHTML.includes("Friend")&&(e[n].innerHTML=e[n].innerHTML.replace("Friend",t))},init:function(){document.querySelectorAll(".tab").forEach(e=>{e.addEventListener("click",(function(e){this.classList.add("selected"),this.classList.contains("recurring")?(document.querySelector(".tab.onetime").classList.remove("selected"),DonationForm.setRecurring(!0)):(document.querySelector(".tab.recurring").classList.remove("selected"),DonationForm.setRecurring(!1))}))}),this.setOneTimeGiftArrayValues(),this.setRecurring(!1),this.selectGiftArray(0)}},initOnElement(document,"c-donate-community-staff-information",(function(e){initOnElement(e[0],"div",(function(e){e[0].querySelectorAll("div.slds-col")[0].classList.add("page-image");const t=e[0].querySelectorAll("div.slds-col")[1];t.classList.add("donation-form-content");const n=t.querySelectorAll("div,lightning-formatted-rich-text");for(let e=0;e<=n.length-1;e++)0==e&&n[e].classList.add("page-title"),1==e&&n[e].classList.add("page-action-text"),2==e&&n[e].classList.add("donation-form"),3==e&&n[e].classList.add("bottom-title"),4==e&&n[e].classList.add("page-text");DonationForm.setFirstNamePersonalization(n[4].shadowRoot.querySelectorAll("div p")),n[1].before(n[4]);const i=document.createElement("div");i.classList.add("tabs"),i.innerHTML='One-Time Gift
Recurring Gift
',n[2].before(i),initOnElement(n[2],"c-donate-community-donate-buttons",(function(e){initOnElement(e[0].shadowRoot.querySelector("div"),"div",(function(e){for(let t=0;t dialog.donation-interrupter {\n --dialog-margin: 2rem;\n --dialog-padding: 3rem;\n position: fixed;\n outline: none;\n border: none;\n padding: 0;\n box-sizing: border-box;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 800px;\n}\ndialog::backdrop { background-color: rgba(0, 0, 0, 0.4); }\ndialog.donation-interrupter > .wrapper {\n position: relative;\n margin: calc(var(--dialog-padding));\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\ndialog.donation-interrupter section {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\ndialog.donation-interrupter section > div {\n display: flex;\n flex-direction: row;\n gap: 1rem;\n}\ndialog.donation-interrupter section.donation-interrupter--cta button > * {\n font-family: inherit;\n color: inherit;\n background-color: transparent;\n display: inline;\n padding: 0;\n margin: 0;\n font-size: inherit !important;\n text-transform: inherit;\n}\ndialog.donation-interrupter button[data-action=\"dismiss\"] {\n --scale: 3;\n position: absolute;\n top: -1.5rem;\n right: -1.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n outline: none;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n line-height: 0;\n width: calc(1rem * var(--scale));\n height: calc(1rem * var(--scale));\n font-size: calc(1rem * var(--scale));\n}\ndialog.donation-interrupter > div span[before]::before { content: attr(before); }\ndialog.donation-interrupter button.btn-dismiss {\n color: rgba(0, 0, 0, 0.5);\n background-color: rgba(255, 255, 255, 0.5);\n border-radius: 100%;\n}\ndialog.donation-interrupter button[data-action=\"dismiss\"] + section { max-width: calc(100% - 1rem); } /* clear dismiss button */\n@media only screen and (max-width: 500px) {\n dialog.donation-interrupter section.donation-interrupter--cta > div { flex-direction: column; }\n dialog.donation-interrupter {\n --dialog-margin: 0.5rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: calc(100vh - calc(2 * var(--dialog-margin)));\n height: min-content;\n overflow: hidden;\n }\n dialog.donation-interrupter > .wrapper { padding: .75rem !important; }\n}\n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter {\n --dialog-margin: 0rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: 100vh;\n height: 100vh;\n overflow: hidden;\n border-radius: 0 !important;\n }\n dialog.donation-interrupter > .wrapper {\n padding: .75rem !important;\n height: calc(100% - 2* 0.5rem) !important;\n overflow: hidden;\n justify-content: space-evenly;\n }\n}\n/* NAV THEME ===================================================================================== */\ndialog.donation-interrupter[theme=\"NAV\"] h1,\ndialog.donation-interrupter[theme=\"NAV\"] h2,\ndialog.donation-interrupter[theme=\"NAV\"] h3,\ndialog.donation-interrupter[theme=\"NAV\"] h4,\ndialog.donation-interrupter[theme=\"NAV\"] h5,\ndialog.donation-interrupter[theme=\"NAV\"] h6,\ndialog.donation-interrupter[theme=\"NAV\"] ul,\ndialog.donation-interrupter[theme=\"NAV\"] p {\n margin: 0;\n line-height: 1.5;\n}\ndialog.donation-interrupter[theme=\"NAV\"] {\n --primary-color: #e16b2a;\n --secondary-color: #008C95;\n --dialog-padding: 1.5rem;\n border-radius: 0.5rem;\n font: 16px \"Montserrat\";\n color: #54473f;\n}\ndialog.donation-interrupter[theme=\"NAV\"] button[data-action=\"dismiss\"] {\n --scale: 4;\n top: -2rem;\n right: -2rem;\n display: none;\n}\ndialog.donation-interrupter[theme=\"NAV\"] .wrapper {\n border: 2px solid var(--secondary-color);\n padding: 1.5rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] .wrapper > section {\n gap: 0.5rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n margin: 0;\n color: #303030;\n line-height: 1.3;\n font-size: 2em;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body li,\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n color: #404040;\n line-height: 1.8;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body ul {\n list-style: disc;\n padding-left: 1.15rem;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n /*font-weight: bold;*/\n margin: 0;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta > div { \n justify-content: flex-start;\n align-items: center;\n align-items: stretch;\n align-content: center;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n width: 100%;\n padding: 0.5rem 1rem;\n /*font-size: 0.9em;*/\n font-weight: 500;\n border-radius: 0;\n box-sizing: border-box;\n /*text-transform: uppercase !important;*/\n letter-spacing: 0.5px;\n line-height: 1.5;\n max-width: unset;\n transition: all 200ms ease;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button b {\n /*font-size: 1.05em !important;*/\n text-transform: uppercase;\n font-weight: 700;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:first-child {\n color: white;\n background: var(--primary-color);\n border: none;\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:first-child:hover {\n border-color: color-mix(in srgb, var(--primary-color) 90%, black); /* darken */\n background: color-mix(in srgb, var(--primary-color) 90%, black); /* darken */\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:last-child {\n color: black;\n background: white;\n border: 2px solid var(--secondary-color);\n}\ndialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta div > button:last-child:hover {\n color: white;\n border-color: color-mix(in srgb, var(--secondary-color) 90%, black); /* darken */\n background: color-mix(in srgb, var(--secondary-color) 90%, black); /* darken */\n}\n@media only screen and (max-width: 768px) {\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 { font-size: 1.85em; }\n}\n@media only screen and (max-width: 500px) {\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 { font-size: 1.6em; }\n} \n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter {\n --dialog-margin: 0rem !important;\n --dialog-padding: 0.5rem !important;\n max-width: calc(100% - calc(2 * var(--dialog-margin)));\n width: 100%;\n max-height: 100vh;\n height: 100vh;\n overflow: hidden;\n border-radius: 0 !important;\n }\n dialog.donation-interrupter > .wrapper {\n border: none;\n padding: .75rem !important;\n height: calc(100% - 2* 0.5rem) !important;\n overflow: hidden;\n overflow-y: scroll;\n justify-content: space-evenly;\n }\n}\n@media only screen and (max-width: 375px) {\n dialog.donation-interrupter[theme=\"NAV\"] > .wrapper {\n border: none;\n padding: 0;\n }\n}\n@media only screen and (max-width: 440px) {\n dialog.donation-interrupter[theme=\"NAV\"] > .wrapper { gap: 0.5rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n font-size: 1.4em;\n line-height: 1.4;\n letter-spacing: -0.25px;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body { gap: 0.35rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body li { line-height: 1.5 }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta > div { gap: 0.75rem }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n font-size: 0.9em;\n line-height: 1.2;\n letter-spacing: -0.15px;\n }\n}\n@media only screen and (max-width: 280px) { /* Z fold, folded (edge case) */\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--body p,\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta p {\n line-height: 1.25;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--heading > h2 {\n font-size: 1.5em;\n line-height: 1.25;\n }\n dialog.donation-interrupter[theme=\"NAV\"] section.donation-interrupter--cta button {\n font-size: 0.8em;\n line-height: 1.15;\n }\n} ");
!vwo_$("head").find("#1734023425072").length && vwo_$('head').append(_vwo_sel);
!vwo_$("body").find('[vwo-op-1734023424996=""]').length && vwo_$("body").vwoElement({ "html": "\n \n \n
\n Before you finalize your gift... would you be willing to chip in an additional $10 per month to help provide for unexpected missionary expenses? \n \n
\n \n\t\tYour small additional monthly gift will help care for thousands of missionaries to give them training, support in the field, and financial support when unexpected challenges arise.\n
\n \n If you are willing to also give a monthly gift, we’d love to send you an incredible book, 31 Days toward Trusting God by Jerry Bridges.\n
\n \n Would you be willing to chip in an additional $10 per month alongside your missionary gift?\n
\n \n
\n \n \n YES! \n \n Please add a 5 monthly gift to my cart. \n \n \n No, thanks. \n \n Just process my original gift. \n \n
\n \n
\n ", "position": "append", "customBodyElement": true, "addElementId": 1734023424996 })
'esversion: 8';
const ASK_AMOUNT = 10;
const DONATION_INTERRUPTER_GROUP_NAME = "StaffDP" /* all the popups in this test will share the same group name so that the metrics for them are all counted in the test */;
//
//
//
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//
//
//
window.HTMLElement.prototype.getSlot = window.HTMLElement.prototype.getSlot || function () { return this.querySelector('slot') || this.shadowRoot.querySelector('slot'); }
window.HTMLElement.prototype.getSlotNodes = window.HTMLElement.prototype.getSlotNodes || function (n) { return (parseInt(n) !== 'NaN' && n >= 0) ? Array.from(this.getSlot().assignedNodes({ flatten: true })).at(n) : Array.from(this.getSlot().assignedNodes({ flatten: true })); }
window.HTMLElement.prototype.shadowChildren = window.HTMLElement.prototype.shadowChildren || function (n) { return (parseInt(n) !== 'NaN' && n >= 0) ? Array.from(this.shadowRoot.children).at(n) : Array.from(this.shadowRoot.children); }
function waitForElement (el, retry, onSuccess = (el) => {}, delay = 30) {
if ( !el ) return setTimeout(retry, delay);
onSuccess(el);
return true;
}
//
function vwoSendEvent (eventName = "customEvent", object = { label: '' }) {
window.VWO = window.VWO || [];
VWO.event = VWO.event || function () {VWO.push(["event"].concat([].slice.call(arguments)));};
VWO.event(eventName, object);
console.log(eventName, object);
}
const vwoSendEvent_DonationInterrupter = (action, group = undefined) => {
if (action === "Shown")
vwoSendEvent("custom_DonationInterrupter_Shown", { shown: true, group: group });
else if (action === "Yes")
vwoSendEvent("custom_DonationInterrupter_Yes", { yes: true, group: group });
else if (action === "No")
vwoSendEvent("custom_DonationInterrupter_No", { donationInterrupterNoClicked: true, group: group });
};
//
function getBasketId (tokenName = `LSSIndex:LOCAL{"namespace":"c"}`){
const token = localStorage.getItem(tokenName);
if (!token) {
return console.error("getBasketId:", "Failed to get token from localStorage:", tokenName);
} else {
try {
const { basket } = JSON.parse(token); // get basket property from the object
return basket;
} catch (error) {
return console.error("getBasketId:", "Failed to parse JSON:", token);
}
}
}
function getBasket (basketId) {
let token = localStorage.getItem(basketId);
if (!token) {
const emptyBasket = {
"Id": "localBasket",
"Basket_Items__r": [],
"Total__c": 0,
"Number_of_Items__c": 0,
"itemMap": {}
};
console.info("getBasket:", "Failed to get token from localStorage:", basketId, "\nAttempting to create a new empty basket and retrying...");
localStorage.setItem(basketId, JSON.stringify(emptyBasket));
token = localStorage.getItem(basketId);
}
if (!token) {
return console.error("getBasket:", "Failed to get token from localStorage:", basketId);
} else {
try {
return JSON.parse(token); // get basket property from the object
} catch (error) {
return console.error("getBasket:", "Failed to parse JSON:", token);
}
}
}
function addItemToBasket (item) {
const basketId = getBasketId(),
basket = getBasket(basketId);
if ( basket.Basket_Items__r.find(item => item.id === item.Id) ) { // check if the item Id is already in the cart
const foundItem = basket.Basket_Items__r.find(item => item.Id);
foundItem["Quantity__c"] += 1; // update the quantity of the found item
foundItem["Total_Amount__c"] = foundItem["Amount__c"] * foundItem["Quantity__c"]; // update the quantity of the found item
foundItem["Total_Deductible_Amount__c"] = foundItem["Amount__c"] * foundItem["Quantity__c"]; // update the quantity of the found item
} else {
basket.Basket_Items__r.push(item); // add the item to the array
}
basket.Number_of_Items__c = basket.Basket_Items__r.length; // update item count
basket.Total__c = basket.Basket_Items__r.reduce((total, item) => total + item["Amount__c"], 0); // update total amount
basket.itemMap = Object.fromEntries(basket.Basket_Items__r.map((item, index) => ([item.Id, index]))); // update itemMap
return localStorage.setItem(basketId, JSON.stringify(basket));
}
function setAppealCode (sf_ac) {
let queryString;
let searchParams = window.location.search;
if (searchParams.match('sf_ac')) {
const regex = new RegExp(`(${'sf_ac'}=)([^&]*)`);
queryString = searchParams.replace(regex, `$1${sf_ac}`); // replace existing appeal code value
} else {
queryString = searchParams + '&sf_ac=' + sf_ac; // append appeal code
}
window.history.pushState('', '', '?' + queryString);
}
//
function entangleElements (element1, element2, method = 'innerHTML', options = { attributes: true, childList: true, subtree: true }) {
if (!element1 || !element2)
return console.error(`entangleElements: ${!element1 && "element1"}${!element1 && !element2 ? " and " : " "} ${!element2 && "element2"} ${!element1 && !element2 ? "are" : "is"} undefined.`);
console.log("Entangling:\n", element1, ' ', element2, "\nElement 2 will mirror Element 1's values.");
const handleMutation = (mutationList, observer) => { // Callback function to execute when mutations are observed
let lastAttributeValues = {};
for (const mutation of mutationList) {
switch (mutation.type) {
case "attributes":
const { attributeName, oldValue } = mutation;
if (attributeName !== "style") { // ignore changes to style attribute
const currentValue = element1.getAttribute(attributeName);
if (currentValue === null) {
element2.removeAttribute(attributeName); // mirror element 1 attributes on element 2 by removing null value attribute
} else {
element2.setAttribute(attributeName, currentValue); // mirror element 1 attributes on element 2
}
}
break;
default:
element2[method] = element1[method];
break;
}
}
};
const observer = new MutationObserver(handleMutation);
observer.observe(element1, options); // Start observing the target node for configured mutations
return observer;
}
//
//
//
//
function init () {
if (window.VWOInjected) {
console.warn("Do not preview using the VWO Visual Editor.");
return;
}
if (sessionStorage.getItem("NA_DonationInterrupter_StaffDPv2_status") === "dismissed") {
console.warn("Popup already dismissed.");
return;
}
try {
customElements.whenDefined("c-donate-community-staff-information").then(() => {
customElements.whenDefined("c-donate-community-donate-buttons").then(() => {
customElements.whenDefined("lightning-input").then(() => {
const wrapperForm = document.querySelector('c-donate-community-staff-information');
const wrapperFormInteractive = wrapperForm.shadowRoot.querySelector('c-donate-community-donate-buttons').shadowChildren(0);
console.log(wrapperFormInteractive);
/// Interface with the giving form and create a window object
const form = {
getGiftArrayButtons: function () {
let w = wrapperFormInteractive;
return Array.from(w.children).slice(0, Array.from(w.children).indexOf(w.querySelector('.slds-form-element'))).map(x => x.querySelector('button'));
},
getAmount: function () {
const sanitizeAmount = a => a.replace(/[^\d\.]/,''); // remove non-digit characters (except for decimals)
let selected = this.getGiftArrayButtons().filter(x => x.classList.contains("donate-selected"))[0];
if (selected) {
return parseFloat(selected.value);
} else {
selected = wrapperFormInteractive.querySelector('lightning-input').shadowChildren(0).shadowChildren(0).querySelector('input');
return parseFloat(sanitizeAmount(selected.value));
}
console.warn("Amount is not defined: no option is selected.")
return undefined;
},
setAmount: function (n) {
let match;
const otherAmount = wrapperFormInteractive.querySelector('lightning-input').shadowChildren(0).shadowChildren(0).querySelector('input');
for (const button of this.getGiftArrayButtons()) { // iterate over gift array buttons
if (parseFloat(button.value) === parseFloat(n) ) { // if matching button found for amount
otherAmount.value = ''; // clear other amount
button.click(); // click the matching button
return this.getAmount() === parseFloat(n); // return true if the getAmount() matches the input value
}
}
otherAmount.value = parseFloat(n); // set the other amount field value to the input value
otherAmount.dispatchEvent(new Event('change', { bubbles: true })); // trigger a change event to cause the input to be formatted
return this.getAmount() === parseFloat(n); // return true if the getAmount() matches the input value
},
getRecurring: function () {
const checkbox = [...wrapperFormInteractive.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]');
return checkbox.checked;
},
setRecurring: function (toRecurring = true) {
const checkbox = [...wrapperFormInteractive.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]');
const isRecurring = this.getRecurring(), isOnetime = !isRecurring, toOnetime = !toRecurring; // semantic booleans
if ( (isOnetime && toRecurring) || (isRecurring && toOnetime)) {
checkbox.click();
}
return this.getRecurring() === toRecurring;
},
submit: function (btn = this.buttons["Donate Now"]) {
return btn.click();
},
};
//form.giftArrayButtons = form.getGiftArrayButtons();
window.NA = window.NA || {};
window.NA.MiniDonationForm = form;
waitForElement(wrapperFormInteractive.querySelector('button'), init, (el) => { // wait for form buttons
window.NA.MiniDonationForm.buttons = {
"Donate Now": Array.from(wrapperFormInteractive.children).slice(Array.from(wrapperFormInteractive.children).indexOf(wrapperFormInteractive.querySelector('.slds-form-element'))).map(x => x.querySelector('button')).filter(y => y)[0],
"Add to Basket": Array.from(wrapperFormInteractive.children).slice(Array.from(wrapperFormInteractive.children).indexOf(wrapperFormInteractive.querySelector('.slds-form-element'))).map(x => x.querySelector('button')).filter(y => y)[1],
};
window.NA.MiniDonationForm.cloneSubmitButton = function (originalButton = this.buttons["Donate Now"]) {
const clonedButton = originalButton.cloneNode(true); // clone the button and its children
clonedButton.attributes = originalButton.attributes; // copy attributes
clonedButton.id = clonedButton.textContent.trim().replaceAll(' ', '_') + "_copy";
if (clonedButton.style) clonedButton.style = originalButton.style; // copy styles
originalButton.after(clonedButton); // insert the fake button after the original
//entangleElements(originalButton, clonedButton, 'outerHTML'); // quantum entangle the elements via outerHTML -- does not work if the element is fully replaced when state changed
return clonedButton; // return the fake button
};
/// Interface with the Donation Interrupter and create a window object
waitForElement(document.querySelector('dialog.donation-interrupter'), init, (dialog) => { // wait for element
const donationPageType = window.Navigators?.donationPageType?.toLowerCase() ?? undefined;
if (donationPageType !== "staff") {
dialog.style.setProperty("display", "none", "important");
//dialog.remove();
return console.warn(`Donation page type must be "Staff" for this test to run.`), null;
}
if (document.querySelectorAll('dialog.donation-interrupter').length > 1) {
return console.warn(`Multiple donation interrupters found on the page.`), null;
}
console.log("dialog found:", dialog);
try {
const DonationInterrupter = {
dialog: dialog || document.querySelector('dialog.donation-interrupter'),
_tokenName: DONATION_INTERRUPTER_GROUP_NAME ? "NA_DonationInterrupter_" + DONATION_INTERRUPTER_GROUP_NAME : "NA_DonationInterrupter",
_memoryMode: sessionStorage,
status: "ready",
getStatus: function () {
return this._memoryMode.getItem(this._tokenName + "_status") || undefined;
},
setStatus: function (t) {
this._memoryMode.setItem(this._tokenName + "_status", t);
this.status = t;
return this.getStatus();
},
conditions: (function(){return true;})(),
newAmount: function (originalAmount) { return originalAmount / 12; }, // reduced ask amount
onShow: function (e) {},
onHide: function (e) {},
show: function (e = undefined) {
this.dialog.showModal();
this.dialog.addEventListener('keydown', e => { e.key === "Escape" && (e.preventDefault(), e.stopImmediatePropagation()) }); // prevent esc button clicked
this.setStatus("shown");
typeof this.onShow === "function" && this.onShow.call(null, e);
},
hide: function (e = undefined) {
this.setStatus("dismissed");
this.dialog.close();
typeof this.onHide === "function" && this.onHide.call(null, e);
},
updateDialogData: function () {
if (this.dialog) {
let originalAmount = window.NA.MiniDonationForm.getAmount(),
suggestedAmount = this.newAmount(originalAmount);
[...this.dialog.querySelectorAll('span[data="amount_original"]')].forEach(span => span.textContent = originalAmount.toString());
[...this.dialog.querySelectorAll('span[data="amount_suggested"]')].forEach(span => span.textContent = suggestedAmount.toString());
}
},
};
window.NA = window.NA || {};
window.NA.DonationInterrupter = DonationInterrupter ? DonationInterrupter : window.NA.DonationInterrupter;
if (window.NA.MiniDonationForm && window.NA.DonationInterrupter)
main(window.NA.MiniDonationForm, window.NA.DonationInterrupter);
} catch (err) {
console.error("Failed to interface with donation interrupter.");
}
}, 100); // wait for element
}, 100); // wait for form buttons
}); // when "lightning-input" defined
}); // when "c-donate-community-donate-buttons" defined
}); // when "c-donate-community-staff-information" defined
} catch (err) {
console.error("Error when waiting for custom elements:", err);
}
}
//
//
//
//
//
//
//
//
function main (FormInterface, DonationInterrupterInterface, debug_mode = 0) {
if (!FormInterface.buttons)
return setTimeout(init, 100);
if (!DonationInterrupterInterface.buttons) {
DonationInterrupterInterface.buttons = { // finish setting up the reference to the CTA buttons in the
"yes": [...DonationInterrupterInterface.dialog.querySelectorAll('button')][0],
"no": [...DonationInterrupterInterface.dialog.querySelectorAll('button')][1],
};
return main(FormInterface, DonationInterrupterInterface, debug_mode); // and try again
}
window.NA.DonationInterrupter.setStatus(window.NA.DonationInterrupter._memoryMode.getItem(window.NA.DonationInterrupter._tokenName + "_status") || "ready"); // set status to the sessionStorage token (saved state) or ready (first time)
window.NA.DonationInterrupter.newAmount = originalAmount => ASK_AMOUNT; // set the function that determines the reduced gift amount: constant $10
/// Add click handle to fake submit button to trigger popup
try {
const existingCopiedButtons = [...(window.NA.MiniDonationForm.buttons["Donate Now"]?.parentElement.parentElement).querySelectorAll('button[id$=copy]')];
if (existingCopiedButtons.length > 2)
return;
//
for (const button of Object.values(FormInterface.buttons)) {
const originalButton = button, // get the original button to clone
fakeButton = FormInterface.cloneSubmitButton(originalButton); // clones the element, attributes, and styles
originalButton.style.display = "none"; // hide original button
fakeButton.style.setProperty("margin-left", '0', "important"); // fix positioning
//debug_mode && fakeButton.style.setProperty("border", "3px dashed red", "important"); // highlight the fake button
setInterval(() => fakeButton.disabled = originalButton.disabled, 50); // update disabled state of button every 50ms
fakeButton.addEventListener('click', (e) => { // when the fake button copy is clicked
let amount = FormInterface.getAmount(), // get the amount
isRecurring = FormInterface.getRecurring(), // check if recurring
popupShown = DonationInterrupterInterface.status === "shown" || DonationInterrupterInterface.status === "dismissed"; // check if the popup has been dismissed
if (debug_mode) { // log expression in debug_mode
console.groupCollapsed("Check conditions");
console.info(amount, "< 250", amount < 250);
//console.info(isRecurring, "=== false", isRecurring === false);
console.info(popupShown, "=== false", popupShown === false);
console.groupEnd("Check conditions");
}
const conditionsMet = [
//amount >= 5, // greater than $5
amount < 250, // less than $250
//isRecurring === false, // not recurring
popupShown === false, // not already seen
].every(condition => condition ? true : false); // reduce the expression evaluations to true or false
debug_mode && console.info("showPopup?", conditionsMet);
// Which button triggered the popup determins which button will be used to submit
if (e.srcElement.textContent === FormInterface.buttons["Add to Basket"].textContent) { // if clicked button text equal to original "Add to Basket" button text
conditionsMet ? DonationInterrupterInterface.show(e) : FormInterface.submit(FormInterface.buttons["Add to Basket"]);
} else {
conditionsMet ? DonationInterrupterInterface.show(e) : FormInterface.submit();
}
if (conditionsMet) {
const existingCopiedButtons = [...(window.NA.MiniDonationForm.buttons["Donate Now"]?.parentElement.parentElement).querySelectorAll('button[id$=copy]')];
existingCopiedButtons.forEach(btn => btn.style.setProperty("display", "none"));
}
});
}
}
catch (err) {
console.error("Failed to clone submit button and add event listener.", err);
}
window.NA.DonationInterrupter.onShow = (e) => { // after the popup has been shown
window.NA.DonationInterrupter.updateDialogData(); // update the values in the dialog
//vwoCustomEvent("DonationInterrupter:Shown", { 'token': window.NA.DonationInterrupter._tokenName }); // trigger VWO event to calculate metric that donation interrupter was shown
vwoSendEvent_DonationInterrupter("Shown", window.NA.DonationInterrupter._tokenName);
/// Add click handlers to dialog buttons
try {
const buttons = window.NA.DonationInterrupter.buttons;
const { yes, no } = buttons; // get the button references from the window object
if (e.srcElement.textContent === FormInterface.buttons["Add to Basket"].textContent) { // if clicked button text equal to original "Add to Basket" button text
yes.addEventListener('click', (e) => { // "Yes" button clicked ("Add to Basket" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"Yes" clicked');
//vwoCustomEvent("DonationInterrupter:Yes", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("Yes", window.NA.DonationInterrupter._tokenName);
const originalAmount = FormInterface.getAmount(),
newAmount = window.NA.DonationInterrupter.newAmount(originalAmount);
debug_mode && console.log(originalAmount, '->', newAmount);
//FormInterface.setRecurring(true); // set to recurring
//FormInterface.setAmount(newAmount); // update amount field
DonationInterrupterInterface.hide(); // close popup
setAppealCode("1009710");
addItemToBasket({
"Id": "a4e1Q000000cwIWQAY",
"Amount__c": ASK_AMOUNT,
"Total_Amount__c": ASK_AMOUNT,
"Benefit_Amount__c": 0,
"Total_Benefit_Amount__c": 0,
"Total_Deductible_Amount__c": ASK_AMOUNT,
"Recurring__c": true,
"Anonymous__c": false,
"Quantity__c": 1,
"Community_Campaign__c": "a4e1Q000000cwIWQAY",
"Community_Campaign__r": { "Name": "Missionary Care" } // #22747091
});
FormInterface.submit(FormInterface.buttons["Add to Basket"]); // submit "Add to Basket"
debug_mode && console.groupEnd('"Yes" clicked');
});
no.addEventListener('click', (e) => { // "No" button clicked ("Add to Basket" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"No" clicked');
//vwoCustomEvent("DonationInterrupter:No", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("No", window.NA.DonationInterrupter._tokenName);
DonationInterrupterInterface.hide(); // close popup
FormInterface.submit(FormInterface.buttons["Add to Basket"]); // submit "Add to Basket"
debug_mode && console.groupEnd('"No" clicked');
});
}
else {
yes.addEventListener('click', (e) => { // "Yes" button clicked ("Donate Now" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"Yes" clicked');
//vwoCustomEvent("DonationInterrupter:Yes", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("Yes", window.NA.DonationInterrupter._tokenName);
const originalAmount = FormInterface.getAmount(),
newAmount = window.NA.DonationInterrupter.newAmount(originalAmount);
debug_mode && console.log(originalAmount, '->', newAmount);
//FormInterface.setRecurring(true); // set to recurring
//FormInterface.setAmount(newAmount); // update amount field
DonationInterrupterInterface.hide(); // close popup
setAppealCode("1009710");
addItemToBasket({
"Id": "a4e1Q000000cwIWQAY",
"Amount__c": ASK_AMOUNT,
"Total_Amount__c": ASK_AMOUNT,
"Benefit_Amount__c": 0,
"Total_Benefit_Amount__c": 0,
"Total_Deductible_Amount__c": ASK_AMOUNT,
"Recurring__c": true,
"Anonymous__c": false,
"Quantity__c": 1,
"Community_Campaign__c": "a4e1Q000000cwIWQAY",
"Community_Campaign__r": { "Name": "Missionary Care" } // #22747091
});
FormInterface.submit(); // submit "Donate Now"
debug_mode && console.groupEnd('"Yes" clicked');
});
no.addEventListener('click', (e) => { // "No" button clicked ("Donate Now" triggered popup)
e.preventDefault();
debug_mode && console.groupCollapsed('"No" clicked');
//vwoCustomEvent("DonationInterrupter:No", { 'token': window.NA.DonationInterrupter._tokenName });
vwoSendEvent_DonationInterrupter("No", window.NA.DonationInterrupter._tokenName);
DonationInterrupterInterface.hide(); // close popup
FormInterface.submit(); // submit "Donate Now"
debug_mode && console.groupEnd('"No" clicked');
});
}
debug_mode && console.log("added handlers to buttons", buttons);
}
catch (err) { // if failed
console.error("Failed to attach event listeners to dialog buttons.", err);
//return setTimeout(()=>window.NA.DonationInterrupter.onShow(e), 500); // try again
}
};
}
//
//
setTimeout(init, 500);
return vwo_$('head')[0] && vwo_$('head')[0].lastChild; } catch(e) {} })("HEAD")}}, R_722072_79_1_3_1:{ fn:function(){return (function(x) { try{
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1734023424996"]')).remove();
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1734023425072"]');
el.revertContentOp().remove();
return vwo_$('head')[0] && vwo_$('head')[0].lastChild; } catch(e) {} })("HEAD")}}, ce79_4_1:{ fn:function(executeTrigger, vwo_$) {
(// Example Code: This code will stop polling after 5 sec of dom ready (on calling executeTrigger() method)
function() {
vwo_$(document).ready(function () {
// Waiting for 5 more seconds
setTimeout(function () {
// Call this method to stop the polling
executeTrigger();
}, 5000);
});
}
)()
}}, js_3390e077c52956459a51fd91b769cbc3:{ fn:function() { return window.window.Navigators.donationPageType }}, C_722072_70_1_2_1:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("addElement","body"); vwo_debug*/!(el=vwo_$("body")).find('[vwo-op-1715610703351=""]').length&&el.vwoElement({html:'',position:"append"});})("body")}}, C_722072_70_1_2_0:{ fn:function(log,nonce=''){return (function(x) {try{const MAX_ONETIME_AMOUNT=500,RECURRING_ASK=t=>{let e;return e=t>=400&&t<500?50:t>=300&&t<400?40:t>=200&&t<300?30:t>=100&&t<200?15:10,e};function waitForElement(t,e,o=(t=>{}),n=30){return t?(o(t),!0):setTimeout(e,n)}function vwoCustomEvent(t){window.VWO=window.VWO||[],VWO.event=VWO.event||function(){VWO.push(["event"].concat([].slice.call(arguments)))},VWO.event("customEvent",{label:t.toString()})}function entangleElements(t,e,o="innerHTML",n={attributes:!0,childList:!0,subtree:!0}){if(!t||!e)return console.error(`entangleElements: ${!t&&"element1"}${t||e?" ":" and "} ${!e&&"element2"} ${t||e?"is":"are"} undefined.`);console.log("Entangling:\n",t," ",e,"\nElement 2 will mirror Element 1's values.");const i=new MutationObserver((n,i)=>{for(const i of n)switch(i.type){case"attributes":const{attributeName:n,oldValue:r}=i;if("style"!==n){const o=t.getAttribute(n);null===o?e.removeAttribute(n):e.setAttribute(n,o)}break;default:e[o]=t[o]}});return i.observe(t,n),i}function init(){customElements.whenDefined("c-donate-community-giving-options").then(()=>{customElements.whenDefined("lightning-card").then(()=>{customElements.whenDefined("c-donate-community-donate-buttons").then(()=>{customElements.whenDefined("lightning-input").then(()=>{const t=[...document.querySelector("c-donate-community-giving-options").shadowRoot.querySelectorAll("lightning-card")][1].shadowRoot.querySelector(".slds-card__body").getSlotNodes(1).querySelector("c-donate-community-donate-buttons").shadowChildren(0),e={getGiftArrayButtons:function(){let e=t;return Array.from(e.children).slice(0,Array.from(e.children).indexOf(e.querySelector(".slds-form-element"))).map(t=>t.querySelector("button"))},getAmount:function(){const e=t=>t.replace(/[\$\,]/gm,"");let o=this.getGiftArrayButtons().filter(t=>t.classList.contains("donate-selected"))[0];return o||(o=t.querySelector("lightning-input").shadowChildren(0).shadowChildren(0).querySelector("input")),parseFloat(e(o.value))},setAmount:function(e){const o=t.querySelector("lightning-input").shadowChildren(0).shadowChildren(0).querySelector("input");for(const t of this.getGiftArrayButtons())if(parseFloat(t.value)===parseFloat(e))return o.value="",t.click(),this.getAmount()===parseFloat(e);return o.value=parseFloat(e),o.dispatchEvent(new Event("change",{bubbles:!0})),this.getAmount()===parseFloat(e)},getRecurring:function(){return[...t.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]').checked},setRecurring:function(e=!0){const o=[...t.querySelector(".slds-grid").querySelectorAll("lightning-input")][0].shadowChildren(0).shadowChildren(0).querySelector('input[type="checkbox"]'),n=this.getRecurring();return(!n&&e||n&&!e)&&o.click(),this.getRecurring()===e},submit:function(t=this.buttons["Donate Now"]){return t.click()}};e.giftArrayButtons=e.getGiftArrayButtons(),window.NA=window.NA||{},window.NA.MiniDonationForm=e,waitForElement(t.querySelector("button"),init,e=>{window.NA.MiniDonationForm.buttons={"Donate Now":Array.from(t.children).slice(Array.from(t.children).indexOf(t.querySelector(".slds-form-element"))).map(t=>t.querySelector("button")).filter(t=>t)[0],"Add to Basket":Array.from(t.children).slice(Array.from(t.children).indexOf(t.querySelector(".slds-form-element"))).map(t=>t.querySelector("button")).filter(t=>t)[1]},window.NA.MiniDonationForm.cloneSubmitButton=function(t=this.buttons["Donate Now"]){const e=t.cloneNode(!0);return e.attributes=t.attributes,e.style&&(e.style=t.style),t.after(e),e},waitForElement(document.querySelector("dialog.donation-interrupter"),init,t=>{console.log("dialog found:",t);try{const e={dialog:t||document.querySelector("dialog.donation-interrupter"),_tokenName:"DonationInterrupter_",_memoryMode:sessionStorage,status:"ready",getStatus:function(){return this._memoryMode.getItem(this._tokenName+"_status")||void 0},setStatus:function(t){return this._memoryMode.setItem(this._tokenName+"_status",t),this.status=t,this.getStatus()},conditions:!0,newAmount:function(t){return t/12},onShow:function(t){},onHide:function(t){},show:function(t){this.dialog.showModal(),this.dialog.addEventListener("keydown",t=>{"Escape"===t.key&&(t.preventDefault(),t.stopImmediatePropagation())}),this.setStatus("shown"),"function"==typeof this.onShow&&this.onShow.call(null,t)},hide:function(t){this.setStatus("dismissed"),this.dialog.close(),"function"==typeof this.onHide&&this.onHide.call(null,t)},updateDialogData:function(){if(this.dialog){let t=window.NA.MiniDonationForm.getAmount(),e=this.newAmount(t);[...this.dialog.querySelectorAll('span[data="amount_original"]')].forEach(e=>e.textContent=t.toString()),[...this.dialog.querySelectorAll('span[data="amount_suggested"]')].forEach(t=>t.textContent=e.toString())}}};window.NA=window.NA||{},window.NA.DonationInterrupter=e||window.NA.DonationInterrupter,window.NA.MiniDonationForm&&window.NA.DonationInterrupter&&main(window.NA.MiniDonationForm,window.NA.DonationInterrupter)}catch(t){console.error("Failed to interface with donation interrupter.")}},100)},100)})})})})}function main(t,e,o=0){if(!t.buttons)return setTimeout(init,100);if(!e.buttons)return e.buttons={yes:[...e.dialog.querySelectorAll("button")][0],no:[...e.dialog.querySelectorAll("button")][1]},main(t,e,o);window.NA.DonationInterrupter.setStatus(window.NA.DonationInterrupter._memoryMode.getItem(window.NA.DonationInterrupter._tokenName+"_status")||"ready"),window.NA.DonationInterrupter.newAmount=RECURRING_ASK;try{for(const n of Object.values(t.buttons)){const i=n,r=t.cloneSubmitButton(i);i.style.display="none",r.style.setProperty("margin-left","0","important"),setInterval(()=>r.disabled=i.disabled,50),r.addEventListener("click",n=>{let i=t.getAmount(),r=t.getRecurring(),s="shown"===e.status||"dismissed"===e.status;o&&(console.groupCollapsed("Check conditions"),console.info(i,"< 500",i<500),console.info(r,"=== false",!1===r),console.info(s,"=== false",!1===s),console.groupEnd("Check conditions"));const l=[i<500,!1===r,!1===s].every(t=>!!t);o&&console.info("showPopup?",l),n.srcElement.textContent===t.buttons["Add to Basket"].textContent?l?e.show(n):t.submit(t.buttons["Add to Basket"]):l?e.show(n):t.submit()})}}catch(t){console.error("Failed to clone submit button and add event listener.",t)}window.NA.DonationInterrupter.onShow=n=>{window.NA.DonationInterrupter.updateDialogData(),vwoCustomEvent("donationInterrupterShown");try{const i=window.NA.DonationInterrupter.buttons,{yes:r,no:s}=i;n.srcElement.textContent===t.buttons["Add to Basket"].textContent?(r.addEventListener("click",n=>{o&&console.groupCollapsed('"Yes" clicked'),vwoCustomEvent("yes");const i=t.getAmount(),r=window.NA.DonationInterrupter.newAmount(i);o&&console.log(i,"->",r),t.setRecurring(!0),t.setAmount(r),e.hide(),t.submit(t.buttons["Add to Basket"]),o&&console.groupEnd('"Yes" clicked')}),s.addEventListener("click",n=>{o&&console.groupCollapsed('"No" clicked'),vwoCustomEvent("no"),e.hide(),t.submit(t.buttons["Add to Basket"]),o&&console.groupEnd('"No" clicked')})):(r.addEventListener("click",n=>{o&&console.groupCollapsed('"Yes" clicked'),vwoCustomEvent("yes");const i=t.getAmount(),r=window.NA.DonationInterrupter.newAmount(i);o&&console.log(i,"->",r),t.setRecurring(!0),t.setAmount(r),e.hide(),t.submit(),o&&console.groupEnd('"Yes" clicked')}),s.addEventListener("click",n=>{o&&console.groupCollapsed('"No" clicked'),vwoCustomEvent("no"),e.hide(),t.submit(),o&&console.groupEnd('"No" clicked')})),o&&console.log("added handlers to buttons",i)}catch(t){console.error("Failed to attach event listeners to dialog buttons.",t)}}}window.HTMLElement.prototype.getSlot=window.HTMLElement.prototype.getSlot||function(){return this.querySelector("slot")||this.shadowRoot.querySelector("slot")},window.HTMLElement.prototype.getSlotNodes=window.HTMLElement.prototype.getSlotNodes||function(t){return"NaN"!==parseInt(t)&&t>=0?Array.from(this.getSlot().assignedNodes({flatten:!0})).at(t):Array.from(this.getSlot().assignedNodes({flatten:!0}))},window.HTMLElement.prototype.shadowChildren=window.HTMLElement.prototype.shadowChildren||function(t){return"NaN"!==parseInt(t)&&t>=0?Array.from(this.shadowRoot.children).at(t):Array.from(this.shadowRoot.children)},setTimeout(init,500);}catch(e){} ;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, C_722072_38_1_2_2:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("content","#vwo_margin_bottom_container"); vwo_debug*/(el=vwo_$("#vwo_margin_bottom_container")).replaceWith('
'),el=vwo_$("#vwo_margin_bottom_container");})("#vwo_margin_bottom_container")}}, C_722072_38_1_2_1:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("addElement","body"); vwo_debug*/!(el=vwo_$("body")).find('[vwo-op-1707153617255=""]').length&&el.vwoElement({html:'\n
\n \n Donate \n \n
\n
\n Have The Navigators helped you grow in your faith or equipped you with the tools to disciple others? If so, could you\n take a moment to donate $25 so that we can continue to help others grow in Christ like you did? Your gift helps us\n multiply disciplemakers from every background!\n
\n
\n Yes \n No \n
\n
\n\n
\n \n \n
',position:"append"});})("body")}}, C_722072_140_1_2_0:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("remove",".description-text"); vwo_debug*/(el=vwo_$(".description-text")).vwoCss({display:"none !important"});})(".description-text")}}, R_722072_140_1_2_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","remove",".description-text"); vwo_debug*/(el=vwo_$(".description-text")).vwoRevertCss();})(".description-text")}}, C_722072_38_1_2_0:{ fn:function(log,nonce=''){return (function(x) {try{vwo_$("head").append(' ');const UNIQUE_STICKY_NAME="stickyTabSlideout",COOKIE_NAME=UNIQUE_STICKY_NAME,COOKIE_DURATION=7,SCROLL_TRIGGER_PERCENT=.4,doNotShowAgainAfter="shown";function getCookie(e){const t=document.cookie.match(e+"=([^;]*)");return t?t[1]:void 0}function setCookie(e,t,o=7,n="navigators.org"){n=void 0===n?"":"domain="+n+";";const s=new Date;s.setDate(s.getDate()+o);const i=escape(t)+(null==o?"":"; expires="+s.toUTCString());document.cookie=e+"="+i+";"+n+"path=/"}function scrollTrigger(e=.4){return(window.scrollY||window.pageYOffset)>=(document.documentElement.scrollHeight-window.innerHeight)*e}!function e(){const t=document.querySelector(".slide_donate_btn");if(console.log("checking for code",t),!document.body.contains(t))return setTimeout(e,200);const o=document.querySelector(".slide_btn"),n=(document.querySelector(".slide_btn span"),document.querySelector(".slide_btn_copy"),document.querySelector(".slide-yes"),document.querySelector(".slide-no")),s=document.querySelector(".x-btn"),i=document.querySelector(".slide_donate_btn");function c(e){o.style.height="100%",i.style.transform="translateX(0%)",i.style.webkitBoxShadow="1px 3px 27px -1px rgba(0, 0, 0, 0.79)",i.style.mozBoxShadow="1px 3px 27px -1px rgba(0, 0, 0, 0.79)"}function r(e){o.style.height="auto",i.style.transform="translateX(calc(100% - 61px))",i.style.webkitBoxShadow="",i.style.mozBoxShadow=""}o.addEventListener("click",e=>{c(),setCookie(COOKIE_NAME,"shown")}),n.addEventListener("click",e=>{r(),setCookie(COOKIE_NAME,"dismissed")}),s.addEventListener("click",e=>{r(),setCookie(COOKIE_NAME,"dismissed")}),window.addEventListener("scroll",e=>{if(scrollTrigger(.4)){if("dismissed"===getCookie(COOKIE_NAME))return;if("shown"===getCookie(COOKIE_NAME))return;c(),setCookie(COOKIE_NAME,"shown")}})}();}catch(e){} ;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_141_1_4_0:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1739200494842"]');
el.revertContentOp().remove();})("HEAD")}}, C_722072_141_1_4_0:{ fn:function(log,nonce=''){return (function(x) {;var _vwo_sel=vwo_$("");vwo_$('head').append(_vwo_sel);return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("HEAD")}}, R_722072_141_1_3_2:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, C_722072_141_1_3_2:{ fn:function(log,nonce=''){return (function(x) {})(".na-pushdown-wrapper,.mw-w-button,input.mw-w-button,#page,.pushdownbar,.div-block-16,.pushdownheadline,.pushdown,.div-block-7,.div-block-8,.paragraph-2,.div-block-15,.mw-btn,.mw-btn:visited,.mw-white,.mw-btn.mw-white,.mw-btn.mw-whitemw-btn:link,.na-pushdown-wrapper .close span,.na-pushdown-wrapper .close,.fa-angle-down:before,/*#donate-menu,.close-wrapper,.btn-dismiss,#masthead .close-menu,.pushdown .pushdown__row,.pushdown .pushdown__col,.pushdown .pushdown__content,.pushdown .pushdown-copy > *:last-child,.pushdown .grid-area,.pushdown .grid-card,.pushdown .grid-card div > p,.pushdown .grid-card div > p > span,.pushdown .grid-card .flex-col,.pushdown .grid-card div > p > b,.pushdown .grid-card button,.pushdown div div.centered,.pushdown div a.other-link,.pushdown .pushdown__close,.pushdown .grid-card p > b")}}, R_722072_141_1_3_1:{ fn:function(log,nonce=''){return (function(x) {
if(!vwo_$.fn.vwoRevertHtml){
return;
};
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1738958003602"]')).remove();})("body")}}, C_722072_141_1_3_1:{ fn:function(log,nonce=''){return (function(x) {var el,ctx=vwo_$(x);
/*vwo_debug log("addElement","body"); vwo_debug*/!(el=vwo_$("body")).find('[vwo-op-1739200478431=""]').length&&el.vwoElement({html:'\n \x3c!--
--\x3e\n
\n
\n × \n
\n
\n
\n
\n
\n \x3c!-- \n If you have a moment...\n --\x3e\n \nYour monthly gift brings disciplemakers to The Great Commission in every walk of life—from America\'s college campuses to military bases, kids camps to inner cities, and provides instant help in times of great crisis or great opportunity. Will you be one of the 100 monthly donors needed today? Make your monthly gift today ››\n\n
\n \n
\n
\n
\n
\n
\n \x3c!--
--\x3e\n
',position:"append"});})("body")}}, ce121_4_1:{ fn:function(executeTrigger, vwo_$) {
(// Example Code: This code will stop polling after 5 sec of dom ready (on calling executeTrigger() method)
function() {
vwo_$(document).ready(function () {
// Waiting for 5 more seconds
setTimeout(function () {
// Call this method to stop the polling
executeTrigger();
}, 5000);
});
}
)()
}}},rules:[{"tags":[{"metricId":476312,"id":"metric","data":{"type":"m","campaigns":[{"c":79,"g":1}]}},{"metricId":476312,"id":"metric","data":{"type":"m","campaigns":[{"c":142,"g":3}]}},{"metricId":476312,"id":"metric","data":{"type":"m","campaigns":[{"c":121,"g":1}]}},{"metricId":476312,"id":"metric","data":{"type":"m","campaigns":[{"c":141,"g":3}]}},{"metricId":476312,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":1}]}}],"triggers":["4091672"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":141,"g":5}]}}],"triggers":["11718985"]},{"tags":[{"metricId":165095,"id":"metric","data":{"type":"m","campaigns":[{"c":79,"g":3}]}},{"metricId":165095,"id":"metric","data":{"type":"m","campaigns":[{"c":142,"g":1}]}},{"metricId":165095,"id":"metric","data":{"type":"m","campaigns":[{"c":121,"g":3}]}},{"metricId":165095,"id":"metric","data":{"type":"m","campaigns":[{"c":141,"g":1}]}},{"metricId":165095,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":3}]}}],"triggers":["1740152"]},{"tags":[{"metricId":165092,"id":"metric","data":{"type":"m","campaigns":[{"c":79,"g":4}]}},{"metricId":165092,"id":"metric","data":{"type":"m","campaigns":[{"c":142,"g":2}]}},{"metricId":165092,"id":"metric","data":{"type":"m","campaigns":[{"c":121,"g":4}]}},{"metricId":165092,"id":"metric","data":{"type":"m","campaigns":[{"c":141,"g":2}]}},{"metricId":165092,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":4}]}}],"triggers":["1740149"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":79,"g":5}]}}],"triggers":["10068946"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":79,"g":6}]}}],"triggers":["10068949"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":79,"g":7}]}}],"triggers":["10068952"]},{"tags":[{"priority":4,"id":"runCampaign","data":"campaigns.121"}],"triggers":["10067839"]},{"tags":[{"priority":4,"id":"runCampaign","data":"campaigns.38"}],"triggers":["2246848"]},{"tags":[{"metricId":490097,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":7}]}}],"triggers":["4252295"]},{"tags":[{"metricId":490094,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":6}]}}],"triggers":["4252292"]},{"tags":[{"priority":4,"id":"runCampaign","data":"campaigns.140"},{"priority":4,"id":"runCampaign","data":"campaigns.142"},{"priority":4,"id":"runCampaign","data":"campaigns.141"}],"triggers":["11106442"]},{"tags":[{"metricId":490091,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":5}]}}],"triggers":["4252289"]},{"tags":[{"priority":4,"id":"runCampaign","data":"campaigns.70"}],"triggers":["8881173"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":38,"g":1}]}}],"triggers":["3986273"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":121,"g":5}]}}],"triggers":["11807224"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":121,"g":6}]}}],"triggers":["11807227"]},{"tags":[{"metricId":0,"id":"metric","data":{"type":"g","campaigns":[{"c":121,"g":7}]}}],"triggers":["11807230"]},{"tags":[{"metricId":1224373,"id":"metric","data":{"type":"m","campaigns":[{"c":140,"g":2}]}}],"triggers":["11106448"]},{"tags":[{"priority":4,"id":"runCampaign","data":"campaigns.79"}],"triggers":["10067944"]},{"tags":[{"metricId":476318,"id":"metric","data":{"type":"m","campaigns":[{"c":79,"g":2}]}},{"metricId":476318,"id":"metric","data":{"type":"m","campaigns":[{"c":142,"g":4}]}},{"metricId":476318,"id":"metric","data":{"type":"m","campaigns":[{"c":121,"g":2}]}},{"metricId":476318,"id":"metric","data":{"type":"m","campaigns":[{"c":141,"g":4}]}},{"metricId":476318,"id":"metric","data":{"type":"m","campaigns":[{"c":70,"g":2}]}}],"triggers":["4091675"]},{"tags":[{"metricId":1224367,"id":"metric","data":{"type":"m","campaigns":[{"c":140,"g":1}]}}],"triggers":["11106445"]},{"tags":[{"priority":2,"id":"visibilityService"}],"triggers":["9"]},{"tags":[{"id":"runTestCampaign"}],"triggers":["2"]},{"tags":[{"id":"urlChange"}],"triggers":["75"]},{"tags":[{"id":"checkEnvironment"}],"triggers":["5"]},{"tags":[{"priority":3,"id":"prePostMutation"},{"id":"groupCampaigns","priority":2}],"triggers":["8"]}],pages:{"ec":[{"1551882":{"inc":["o",["url","urlReg","(?i).*"]]}},{"2016046":{"inc":["o",["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org.*"]],"exc":["o",["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?donations\\.navigators\\.org.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?donations\\-prod\\.navigators\\.org.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?donate\\.navigators\\.org.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/disciplemaking.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/about\\\/contact\\-us.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/prayer\\-request.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?forms\\.navigators\\.org.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?joinstaff\\.navigators\\.org.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/mk.*"],["url","urlReg","(?i).*donations.*"],["url","urlReg","(?i).*give.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/ministry\\-partner\\-care.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?dev\\-navigators\\.pantheonsite\\.io.*"]]}},{"678341":{"inc":["o",["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/blog.*"],["url","urlReg","(?i)^https?\\:\\\/\\\/(w{3}\\.)?navigators\\.org\\\/resource.*"]]}}]},pagesEval:{"ec":[1551882,2016046,678341]}}})();
;;var commonWrapper=function(argument){if(!argument){argument={valuesGetter:function(){return{}},valuesSetter:function(){},verifyData:function(){return{}}}}const getVisitorUuid=function(){if(window._vwo_acc_id>=1037725){return window.VWO&&window.VWO.get("visitor.id")}else{return window.VWO._&&window.VWO._.cookies&&window.VWO._.cookies.get("_vwo_uuid")}};var pollInterval=100;var timeout=6e4;return function(){var accountIntegrationSettings={};var _interval=null;function waitForAnalyticsVariables(){try{accountIntegrationSettings=argument.valuesGetter();accountIntegrationSettings.visitorUuid=getVisitorUuid()}catch(error){accountIntegrationSettings=undefined}if(accountIntegrationSettings&&argument.verifyData(accountIntegrationSettings)){argument.valuesSetter(accountIntegrationSettings);return 1}return 0}var currentTime=0;_interval=setInterval((function(){currentTime=currentTime||performance.now();var result=waitForAnalyticsVariables();if(result||performance.now()-currentTime>=timeout){clearInterval(_interval)}}),pollInterval)}};
commonWrapper({valuesGetter:function(){return {"ga4s":0}},valuesSetter:function(data){var singleCall=data["ga4s"]||0;if(singleCall){window.sessionStorage.setItem("vwo-ga4-singlecall",true)}var ga4_device_id="";if(typeof window.VWO._.cookies!=="undefined"){ga4_device_id=window.VWO._.cookies.get("_ga")||""}if(ga4_device_id){window.vwo_ga4_uuid=ga4_device_id.split(".").slice(-2).join(".")}},verifyData:function(data){if(typeof window.VWO._.cookies!=="undefined"){return window.VWO._.cookies.get("_ga")||""}else{return false}}})();
var pushBasedCommonWrapper=function(argument){var firedCamp={};if(!argument){argument={integrationName:"",getExperimentList:function(){},accountSettings:function(){},pushData:function(){}}}return function(){window.VWO=window.VWO||[];const getVisitorUuid=function(){if(window._vwo_acc_id>=1037725){return window.VWO&&window.VWO.get("visitor.id")}else{return window.VWO._&&window.VWO._.cookies&&window.VWO._.cookies.get("_vwo_uuid")}};var sendDebugLogsOld=function(expId,variationId,errorType,user_type,data){try{var errorPayload={f:argument["integrationName"]||"",a:window._vwo_acc_id,url:window.location.href,exp:expId,v:variationId,vwo_uuid:getVisitorUuid(),user_type:user_type};if(errorType=="initIntegrationCallback"){errorPayload["log_type"]="initIntegrationCallback";errorPayload["data"]=JSON.stringify(data||"")}else if(errorType=="timeout"){errorPayload["timeout"]=true}if(window.VWO._.customError){window.VWO._.customError({msg:"integration debug",url:window.location.href,lineno:"",colno:"",source:JSON.stringify(errorPayload)})}}catch(e){window.VWO._.customError&&window.VWO._.customError({msg:"integration debug failed",url:"",lineno:"",colno:"",source:""})}};var sendDebugLogs=function(expId,variationId,errorType,user_type){var eventName="vwo_debugLogs";var eventPayload={};try{eventPayload={intName:argument["integrationName"]||"",varId:variationId,expId:expId,type:errorType,vwo_uuid:getVisitorUuid(),user_type:user_type};if(window.VWO._.event){window.VWO._.event(eventName,eventPayload,{enableLogs:1})}}catch(e){eventPayload={msg:"integration event log failed",url:window.location.href};window.VWO._.event&&window.VWO._.event(eventName,eventPayload)}};const callbackFn=function(data){if(!data)return;var expId=data[1],variationId=data[2],repeated=data[0],singleCall=0,debug=0;var experimentList=argument.getExperimentList();var integrationName=argument["integrationName"]||"vwo";if(typeof argument.accountSettings==="function"){var accountSettings=argument.accountSettings();if(accountSettings){singleCall=accountSettings["singleCall"];debug=accountSettings["debug"]}}if(debug){sendDebugLogs(expId,variationId,"intCallTriggered",repeated)}if(singleCall&&(repeated==="vS"||repeated==="vSS")||firedCamp[expId]){return}window.expList=window.expList||{};var expList=window.expList[integrationName]=window.expList[integrationName]||[];if(expId&&variationId&&["VISUAL_AB","VISUAL","SPLIT_URL"].indexOf(_vwo_exp[expId].type)>-1){if(experimentList.indexOf(+expId)!==-1){firedCamp[expId]=variationId;var visitorUuid=getVisitorUuid();var pollInterval=100;var currentTime=0;var timeout=6e4;var user_type=_vwo_exp[expId].exec?"vwo-retry":"vwo-new";var interval=setInterval((function(){if(expList.indexOf(expId)!==-1){clearInterval(interval);return}currentTime=currentTime||performance.now();var toClearInterval=argument.pushData(expId,variationId,visitorUuid);if(debug&&toClearInterval){sendDebugLogsOld(expId,variationId,"",user_type);sendDebugLogs(expId,variationId,"intDataPushed",user_type)}var isTimeout=performance.now()-currentTime>=timeout;if(isTimeout&&debug){sendDebugLogsOld(expId,variationId,"timeout",user_type);sendDebugLogs(expId,variationId,"intTimeout",user_type)}if(toClearInterval||isTimeout){clearInterval(interval)}if(toClearInterval){window.expList[integrationName].push(expId)}}),pollInterval||100)}}};window.VWO.push(["onVariationApplied",callbackFn]);window.VWO.push(["onVariationShownSent",callbackFn])}};
var surveyDataCommonWrapper=function(argument){if(!argument){argument={getCampaignList:function(){return[]},surveyStatusChange:function(){},answerSubmitted:function(){}}}return function(){window.VWO=window.VWO||[];function getValuesFromAnswers(answers){var values=[];for(var i=0;i=timeout;if(toClearInterval||isTimeout){clearInterval(interval)}}),pollInterval)}}window.VWO.push(["onSurveyShown",function(data){commonSurveyCallback(data,argument.surveyStatusChange,"surveyShown")}]);window.VWO.push(["onSurveyCompleted",function(data){commonSurveyCallback(data,argument.surveyStatusChange,"surveyCompleted")}]);window.VWO.push(["onSurveyAnswerSubmitted",function(data){commonSurveyCallback(data,argument.answerSubmitted,"surveySubmitted")}])}};
(function(){var VWOOmniTemp={};window.VWOOmni=window.VWOOmni||{};for(var key in VWOOmniTemp)Object.prototype.hasOwnProperty.call(VWOOmniTemp,key)&&(window.VWOOmni[key]=VWOOmniTemp[key]);window._vwoIntegrationsLoaded=1;pushBasedCommonWrapper({integrationName:"GA4",getExperimentList:function(){return [70,79,121,140,141,142]},accountSettings:function(){var accountIntegrationSettings={"manualSetup":true,"dataVariable":"dataLayer","setupVia":"gtm"};if(accountIntegrationSettings["debugType"]=="ga4"&&accountIntegrationSettings["debug"]){accountIntegrationSettings["debug"]=1}else{accountIntegrationSettings["debug"]=0}return accountIntegrationSettings},pushData:function(expId,variationId){var accountIntegrationSettings={"manualSetup":true,"dataVariable":"dataLayer","setupVia":"gtm"};var ga4Setup=accountIntegrationSettings["setupVia"]||"gtag";if(typeof window.gtag!=="undefined"&&ga4Setup=="gtag"){window.gtag("event","VWO",{vwo_campaign_name:window._vwo_exp[expId].name+":"+expId,vwo_variation_name:window._vwo_exp[expId].comb_n[variationId]+":"+variationId});window.gtag("event","experience_impression",{exp_variant_string:"VWO-"+expId+"-"+variationId});return true}return false}})();pushBasedCommonWrapper({integrationName:"GA4-GTM",getExperimentList:function(){return [70,79,121,140,141,142]},accountSettings:function(){var accountIntegrationSettings={"manualSetup":true,"dataVariable":"dataLayer","setupVia":"gtm"};if(accountIntegrationSettings["debugType"]=="gtm"&&accountIntegrationSettings["debug"]){accountIntegrationSettings["debug"]=1}else{accountIntegrationSettings["debug"]=0}return accountIntegrationSettings},pushData:function(expId,variationId){var accountIntegrationSettings={"manualSetup":true,"dataVariable":"dataLayer","setupVia":"gtm"};var ga4Setup=accountIntegrationSettings["setupVia"]||"gtm";var dataVariable=accountIntegrationSettings["dataVariable"]||"dataLayer";if(typeof window[dataVariable]!=="undefined"&&ga4Setup=="gtm"){window[dataVariable].push({event:"vwo-data-push-ga4",vwo_exp_variant_string:"VWO-"+expId+"-"+variationId});return true}return false}})();
;})();(function(){window.VWO=window.VWO||[];var pollInterval=100;var _vis_data={};var intervalObj={};var analyticsTimerObj={};var experimentListObj={};window.VWO.push(["onVariationApplied",function(data){if(!data){return}var expId=data[1],variationId=data[2];if(expId&&variationId&&["VISUAL_AB","VISUAL","SPLIT_URL"].indexOf(window._vwo_exp[expId].type)>-1){}}])})();;
;var vD=VWO.data||{};VWO.data={content:{"fns":{"list":{"args":{"1":{}},"vn":1}}},as:"r4.visualwebsiteoptimizer.com",dacdnUrl:"https://dev.visualwebsiteoptimizer.com",accountJSInfo:{"noSS":false,"ts":1740778656,"pvn":0,"pc":{"a":0,"t":0},"rp":30}};for(var k in vD){VWO.data[k]=vD[k]};;var gcpfb=function(a,loadFunc,status,err,success){function vwoErr() {_vwo_err({message:"Google_Cdn failing for " + a + ". Trying Fallback..",code:"cloudcdnerr",status:status});} if(a.indexOf("/cdn/")!==-1){loadFunc(a.replace("cdn/",""),err,success); vwoErr(); return true;} else if(a.indexOf("/dcdn/")!==-1&&a.indexOf("evad.js") !== -1){loadFunc(a.replace("dcdn/",""),err,success); vwoErr(); return true;}};window.VWO=window.VWO || [];window.VWO._= window.VWO._ || {};window.VWO._.gcpfb=gcpfb;;var d={cookie:document.cookie,URL:document.URL,referrer:document.referrer};var w={VWO:{_:{}},location:{href:window.location.href,search:window.location.search},_vwoCc:window._vwoCc};;window._vwo_cdn="https://dev.visualwebsiteoptimizer.com/cdn/";window._vwo_apm_debug_cdn="https://dev.visualwebsiteoptimizer.com/cdn/";window.VWO._.useCdn=true;window.vwo_eT="br";window._VWO=window._VWO||{};window._VWO.fSeg={};window._VWO.dcdnUrl="/dcdn/settings.js";window.VWO.sTs=1740775558;window._VWO._vis_nc_lib=window._vwo_cdn+"edrv/nc-d6ff1022487af1829902efe655b28300br.js";var loadWorker=function(url){_vwo_code.load(url,{dSC: true, onloadCb: function(xhr,a){window._vwo_wt_l=true;if(xhr.status===200 ||xhr.status===304){var code="var window="+JSON.stringify(w)+",document="+JSON.stringify(d)+";window.document=document;"+xhr.responseText;var blob=new Blob([code||"throw new Error('code not found!');"],{type:"application/javascript"}),url=URL.createObjectURL(blob);window.mainThread={webWorker:new Worker(url)};window.vwoChannelFW=new MessageChannel();window.vwoChannelToW=new MessageChannel();window.mainThread.webWorker.postMessage({vwoChannelToW:vwoChannelToW.port1,vwoChannelFW:vwoChannelFW.port2},[vwoChannelToW.port1, vwoChannelFW.port2]);if(!window._vwo_mt_f)return window._vwo_wt_f=true;_vwo_code.addScript({text:window._vwo_mt_f});delete window._vwo_mt_f}else{if(gcpfb(a,loadWorker,xhr.status)){return;}_vwo_code.finish("&e=loading_failure:"+a)}}, onerrorCb: function(a){if(gcpfb(a,loadWorker)){return;}window._vwo_wt_l=true;_vwo_code.finish("&e=loading_failure:"+a);}})};loadWorker("https://dev.visualwebsiteoptimizer.com/cdn/edrv/worker-a0061b8ba28231c30f6d5a9df191b6e3br.js");;var _vis_opt_file;var _vis_opt_lib;if(window.VWO._.allSettings.dataStore.previewExtraSettings!=undefined&&window.VWO._.allSettings.dataStore.previewExtraSettings.isSurveyPreviewMode){var surveyHash=window.VWO._.allSettings.dataStore.plugins.LIBINFO.SURVEY_DEBUG_EVENTS.HASH;var param1="evad.js?va=";var param2="&d=debugger_new";var param3="&sp=1&a=722072&sh="+surveyHash;_vis_opt_file=vwoCode.use_existing_jquery&&typeof vwoCode.use_existing_jquery()!=="undefined"?vwoCode.use_existing_jquery()?param1+"vanj"+param2:param1+"va_gq"+param2:param1+"edrv/va_gq-82ae5b5a18f7d1856a3029ff9c6d26b6br.js"+param2;_vis_opt_file=_vis_opt_file+param3;_vis_opt_lib="https://dev.visualwebsiteoptimizer.com/dcdn/"+_vis_opt_file}else if(window.VWO._.allSettings.dataStore.mode!=undefined&&window.VWO._.allSettings.dataStore.mode=="PREVIEW"){ var path1 = 'edrv/pd_'; var path2 = window.VWO._.allSettings.dataStore.plugins.LIBINFO.EVAD.HASH + ".js"; ;_vis_opt_file=vwoCode.use_existing_jquery&&typeof vwoCode.use_existing_jquery()!=="undefined"?vwoCode.use_existing_jquery()?path1+"vanj"+path2:path1+"va_gq"+path2:path1+"edrv/va_gq-82ae5b5a18f7d1856a3029ff9c6d26b6br.js"+path2;_vis_opt_lib="https://dev.visualwebsiteoptimizer.com/cdn/"+_vis_opt_file}else{_vis_opt_file=vwoCode.use_existing_jquery&&typeof vwoCode.use_existing_jquery()!=="undefined"?vwoCode.use_existing_jquery()?"edrv/vanj-192f82910e37422099f379771c3fbfdfbr.js":"edrv/va_gq-82ae5b5a18f7d1856a3029ff9c6d26b6br.js":"edrv/va_gq-82ae5b5a18f7d1856a3029ff9c6d26b6br.js"}window._vwo_library_timer=setTimeout((function(){vwoCode.removeLoaderAndOverlay&&vwoCode.removeLoaderAndOverlay();vwoCode.finish()}),vwoCode.library_tolerance&&typeof vwoCode.library_tolerance()!=="undefined"?vwoCode.library_tolerance():2500),_vis_opt_lib=typeof _vis_opt_lib=="undefined"?window._vwo_cdn+_vis_opt_file:_vis_opt_lib;var loadLib=function(url){_vwo_code.load(url, {dSC: true, onloadCb:function(xhr,a){window._vwo_mt_l=true;if(xhr.status===200 || xhr.status===304){if(!window._vwo_wt_f)return window._vwo_mt_f=xhr.responseText;_vwo_code.addScript({text:xhr.responseText});delete window._vwo_wt_f;}else{if(gcpfb(a,loadLib,xhr.status)){return;}_vwo_code.finish("&e=loading_failure:"+a);}}, onerrorCb: function(a){if(gcpfb(a,loadLib)){return;}window._vwo_mt_l=true;_vwo_code.finish("&e=loading_failure:"+a);}})};loadLib(_vis_opt_lib);VWO.load_co=function(u,opts){return window._vwo_code.load(u,opts);};;;}}catch(e){_vwo_code.finish();_vwo_code.removeLoaderAndOverlay&&_vwo_code.removeLoaderAndOverlay();_vwo_err(e);window.VWO.caE=1}})();
Skip to content
The Navigators
Veteran Navigator Ron Nikaido passed away on April 29, 2008, following a courageous nine-month battle with cancer.
Ron was born in Toronto, Canada, the son of a Japanese immigrant. He graduated first in his class at the University of Toronto with a Bachelor of Science degree in Physics. Not long after graduation, he accepted Christ as his savior after reading John Stott’s Basic Christianity.
After giving his own life to Christ, Ron began actively sharing his faith and making disciples of others. He joined the staff of The Navigators at Queens University in Kingston, Ontario, for three years of training in campus ministry. One Queens student named Jim, now a Navigator serving in Africa, describes how Ron pursued him during his college years.
“I arrived at Queens in the fall of 1973, a brash 18-year-old wrestler who thought he knew everything,” says Jim. “Ron came knocking on my door in the student residence, but for weeks failed to find me. Fortunately, he persevered and invited me to join a small group studying the Bible. In those days I loved to argue . . . but each time I raised some objection, Ron would simply open the Bible and give me a passage to read.” After a few months, Jim realized Jesus was the Son of God and began a new life in Christ. “Ron began to meet with me every week,” Jim says, “helping me learn to study the Scriptures on my own and to develop my new relationship with Christ through prayer. He invested hundreds of hours in my growth as a follower of Christ. By the time he left Kingston in the summer of 1975, I had a firm foundation of habits and convictions that would carry me through the next 30 years and more of serving God in Canada and Africa.”
Ron returned to Toronto in 1975, to help set up The Navigators’ first Canadian office and serve as office manager. In 1978, he married Marilyn Mimaki, who worked with The Navigators at Glen Eyrie Conference Center in Colorado Springs. In 1989, the couple and their son, Bryan, moved to Colorado Springs, where Ron continued to work with The Navigators, interviewing and training new missionaries. The Navigators’ U.S. Director, Alan Andrews, recalls working with Ron in both the Canadian and U.S. headquarters offices. “This was a man of amazing integrity,” says Alan. “He was a brilliant man of ‘ivy-league’ intelligence, but he would never say so. He was a man of depth and character. We have been privileged to have him walking in our midst.” Five years after their move to Colorado Springs, Ron’s wife Marilyn died of cancer. In 1998, Ron married NavPress Discipleship Journal editor Susan Maycinik. They adopted a daughter, Amy, from Japan in 2003. “When I met Ron,” says Susan, “he had walked with God for 25 years. Nearly every day he spent time reading the Bible and asking God to speak to him through it. He opened his heart to God and gave his life to serve Him. As he did, the Lord slowly transformed him and he became more and more like his beloved Jesus.”
Near the end of his life, Ron “suffered greatly from his cancer and the treatments for it,” says Susan. “He got discouraged and weary, but he never got angry with God. He had a remarkable peace about his cancer journey that seldom waned. He longed to be healed, but he also longed for heaven. He trusted God to make the best choice for him.”
Ron’s supervisor, Rod Beidler, agrees, “Ron was the best—a godly man, and a true professional in every way. He is irreplaceable. Although sad to leave his family, he was eager to see Jesus—without regret.”
Ron is survived by his wife, Susan, children Bryan and Amy, his sister and brother-in-law, Phyllis and John Hamada, and several nieces and nephews. Friends and family gathered to honor Ron at a memorial service on May 10, at Covenant Presbyterian Church in Colorado Springs, Colorado.
Gifts to The Navigators in Ron’s memory will help to fund single women missionaries, for whom raising financial support is often difficult. This was a concern of Ron’s as he sent hundreds of new missionaries to serve around the world. His memorial fund will help them. You can donate online at the Ron Nikaido Memorial Fund, or send memorial contributions to The Nikaido Memorial Fund, Account #168328, The Navigators, P.O. Box 6000, Colorado Springs, CO, 80934
At The Navigators summer program, students stepped out in bold faith, sharing the gospel in Jacksonville. Read their powerful stories and how God is moving in this generation.
Continue Reading
Marc and Yumiko Leis have been sharing the gospel in Japan for 33 years. Learn more about their ministry as they build up Christians in Japan.
Continue Reading
Donate
Have The Navigators helped you grow in your faith or equipped you with the tools to disciple others? If so, could you
take a moment to donate $25 so that we can continue to help others grow in Christ like you did? Your gift helps us
multiply disciplemakers from every background!
Yes
No
×
Your monthly gift brings disciplemakers to The Great Commission in every walk of life—from America's college campuses to military bases, kids camps to inner cities, and provides instant help in times of great crisis or great opportunity. Will you be one of the 50 monthly donors to make a $15 monthly gift, 30 donors to make a $25 monthly gift, or 20 donors to make a $50 monthly gift today? Make your monthly gift today ››