Jul 23, 2026
7:00 – 8:00pm EDT

As Plastic Free July comes to a close, we want to remember to be conscientious about plastic use all year long. To spare birds, fish and other wildlife from the harm caused by plastic pollution, we’re raising our voices for a world with less single-use plastic products. How can you be a more sustainable consumer in a world with so much plastic?This webinar will cover how we can buy less plastic, tips on correctly recycling, and how we can move beyond plastic in the future. Participants will receive a Zero Waste Toolkit to put into practice the tips we cover in the webinar.
Sign Up
‘;
markup += ‘
‘;
markup += ‘
‘;
markup += ‘
‘;
var sustainModal = document.createElement(‘div’);
sustainModal.innerHTML = markup;
element.after(sustainModal);
//console.log($(‘#modal1’));
}
/**
* MODIFY WITH CAUTION: new templates depend on method structure
*/
function newAmount(old) {
var newSustainAmount = “”;
switch (true) {
case (old<=7):
newSustainAmount = “5.00”;
break;
case (old<=10):
newSustainAmount = “6.00”;
break;
case (old<=15):
newSustainAmount = “7.00”;
break;
case (old<=20):
newSustainAmount = “8.00”;
break;
case (old<=25):
newSustainAmount = “10.00”;
break;
case (old<=30):
newSustainAmount = “12.00”;
break;
case (old<=35):
newSustainAmount = “13.00”;
break;
case (old<=40):
newSustainAmount = “14.00”;
break;
case (old<=50):
newSustainAmount = “16.00”;
break;
case (old<=60):
newSustainAmount = “19.00”;
break;
case (old<=75):
newSustainAmount = “21.00”;
break;
case (old<=100):
newSustainAmount = “23.00”;
break;
case (old<=130):
newSustainAmount = “28.00”;
break;
case (old<=150):
newSustainAmount = “30.00”;
break;
case (old<=200):
newSustainAmount = “32.00”;
break;
case (old<=300):
newSustainAmount = “39.00”;
break;
case (old<=400):
newSustainAmount = “49.00”;
break;
case (old<=600):
newSustainAmount = “74.00”;
break;
case (old<=800):
newSustainAmount = “99.00”;
break;
default:
newSustainAmount = “100.00”;
break
}
return newSustainAmount
}
/**
* @param name of group
*
* After clicking “donate” on a one time donation, render modal prompting switch to monthly
*/
function renderMonthlyRequestModal(group){
//get one time donation amount
const oneTimeAmount = $(‘.sli-oneTimeAmountRadio:checked’)[0].getAttribute(“data-ignite-amount”) ?? $(‘.sli-oneTimeAmountInput’)[0].value;
//insert amounts into html text and button functions
$(‘.js-original-amt’).text(oneTimeAmount);
$(‘.js-group-name’).text(group);
var sustainAmount = newAmount(oneTimeAmount);
$(‘.js-upsell-amt’).text(sustainAmount);
if (group == “Environment America”){
$(‘.js-help-text’).text(“us sustain our work for a greener, healthier world, with clean air, clean water and clean energy”);
}else if (group == “Environmental Action”){
$(‘.js-help-text’).text(“fuel our work to protect wildlife and the wild places they call home“);
}else {
$(‘.js-help-text’).text(“us champion policies that protect consumers and enable citizens to lead healthier, safer lives”);
}
$(‘#confirmModalB’).attr(“onclick”, “changeToSustain(“+oneTimeAmount+”);”);
$(‘#noModalB’).attr(“onclick”, “closeModal()”);
//show modal
$(‘#modal1’)[0].style.display = “block”;
}
function closeModal(){
showWhichButton(ButtonType.THEIRS);
//submit form and close modal
$(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’)[0].click();
$(‘#modal1’)[0].style.display = “none”;
}
function submitForm() {
$(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’)[0].click();
}
function changeToSustain(old){
//add tag for tracking
if(document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value.includes(“?”)){
$(“textarea[salsa-reference-name=’gen_embed_page_url’]”).val($(“textarea[salsa-reference-name=’gen_embed_page_url’]”).val() + “&tag=lightbox:success”);
}else{
$(“textarea[salsa-reference-name=’gen_embed_page_url’]”).val($(“textarea[salsa-reference-name=’gen_embed_page_url’]”).val() + “?tag=lightbox:success”);
}
//set old value off and hide div
if ($(‘.sli-oneTimeCustomAmount’).is(‘:checked’)){
$(‘.sli-oneTimeAmountInput’)[0].value = “”; // for some reason this sets the checkbox of onTimeCustomAmount back to checked?
$(‘.sli-oneTimeCustomAmount’).click();
}else{
$(‘.sli-oneTimeAmountRadio:checked’).click();
}
$(‘.sli-oneTimeDonation’).attr(“style”, “display:none”);
//get new value and set new checked
var value = newAmount(old);
//set monthly recurring divs to show
$(‘.sli-recurringDonationMonthly’).attr(“style”, “display:block”);
$(‘input[name=”makeRecurring”]’).click();
if ($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)){
$(‘.sli-recurring-interval’).attr(“style”, “display:block”);
}else if ($(‘div[class=”tm-recurring-toggle”]’).length > 0){
$(‘.sli-recurring-interval’).attr(“style”, “display:none”);
$(‘a.sli-button-monthly’)[0].click();
window[$(‘.sli-form’).attr(‘id’).replace(‘form’,”)].data[‘enableRecuring’].value = true;
}
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+value+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+value+'”]’).click();
}else{
$(‘.sli-recurringAmountInput’)[0].value = value;
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].focus();
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
$(‘.sli-recurringDonationMonthly input[type=”radio”]’).prop(‘checked’, false);
//currentBrowserSafari = checkBrowser();
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0];
fakeForSafari(elementToFocus);
}
}
showWhichButton(ButtonType.THEIRS);
$(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’).text(“Donate $”+parseFloat(value)+” Monthly”);
//hide modal and submit form
$(‘#modal1’)[0].style.display = “none”;
$(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’)[0].click();
}
var thisURL = window.location.href;
const currentBrowserSafari = checkBrowser();
// section for hiding sustainer option for already sustainers, including right earmarking disclosures — JMS
var pageInfo = {}
// object to hold donation information for purchase event to fire on successful submit
var donationInfo = {“donationPage”: false}
var submittedalready = false;
// run when widget loads
function salsaWidgetFinished(activityID) {
// dispatch an event other functions can listen for
const event = new CustomEvent(‘TMsalsaWidgetFinished’, { activityID: activityID }); // MODIFY WITH CAUTION: also in TEAL repo
document.dispatchEvent(event);
var activityId = activityID;
// fill in embed page url if field included in widget
try {
$(“textarea[salsa-reference-name=’gen_embed_page_url’]”).val(window.location.href);
} catch(e) {
try {
document.querySelector(“textarea[salsa-reference-name=’gen_embed_page_url’]”).value = window.location.href;
} catch(err) {
console.log(err);
//register an event that catches the error for looking at
gtag(“event”, “embedError”, {
caught_error: err,
});
}
}
var versionKey = localStorage.getItem(“version”);
if (versionKey){
if (versionKey == “Slot 5” || versionKey == “Slot 6” || versionKey == “Slot 7” || versionKey == “Slot 8” || versionKey == “Slot 9”){
console.log(“version: “,versionKey);
if(document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”)){
if(document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value.includes(“?”)){
document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value = document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value + “&variant=1”;
}else{
document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value = document.querySelector(“[salsa-reference-name=’gen_embed_page_url’]”).value + “?variant=1”;
}
}
}
}
const urlParams = new URLSearchParams(window.location.search);
// get brand, group, and tax status from domain
pageInfo.thisBrand = “”;
pageInfo.thisGroupCode = “”;
pageInfo.thisGroup = “”;
pageInfo.thisTax = “”;
var useSuffix = false // true iff it’s a policy/foundation c3 website for a group
switch (true) {
case ((thisURL.includes(“environmental-action.org”)) || (thisURL.includes(“dev.ea-test.com/eac-demo”))):
pageInfo.thisBrand = “Environmental Action”;
pageInfo.thisGroupCode = “EAC”;
pageInfo.thisTax = “c4”;
break;
case (thisURL.includes(“environmentamerica.org”) || thisURL.includes(“dev.ea-test.com”)):
pageInfo.thisBrand = “Enviro”;
pageInfo.thisGroupCode = “AME”;
pageInfo.thisTax = “c4”;
// check if this is a “center” url
if (/environmentamerica.org/[a-z]*/?center/.test(thisURL) || /dev.ea-test.com/[a-z]*/?center/.test(thisURL)) {
pageInfo.thisTax = “c3”;
useSuffix = true;
}
// get group code
if ((thisURL.includes(“environmentamerica.org/arizona”)) || (thisURL.includes(“dev.ea-test.com/arizona”))) {
pageInfo.thisGroupCode = “AZE”;
} else if ((thisURL.includes(“environmentamerica.org/california”)) || (thisURL.includes(“dev.ea-test.com/california”))) {
pageInfo.thisGroupCode = “CAE”;
} else if ((thisURL.includes(“environmentamerica.org/colorado”)) || (thisURL.includes(“dev.ea-test.com/colorado”))) {
pageInfo.thisGroupCode = “COE”;
} else if ((thisURL.includes(“environmentamerica.org/connecticut”)) || (thisURL.includes(“dev.ea-test.com/connecticut”))) {
pageInfo.thisGroupCode = “CTE”;
} else if ((thisURL.includes(“environmentamerica.org/florida”)) || (thisURL.includes(“dev.ea-test.com/florida”))) {
pageInfo.thisGroupCode = “FLE”;
} else if ((thisURL.includes(“environmentamerica.org/georgia”)) || (thisURL.includes(“dev.ea-test.com/georgia”))) {
pageInfo.thisGroupCode = “GAE”;
} else if ((thisURL.includes(“environmentamerica.org/illinois”)) || (thisURL.includes(“dev.ea-test.com/illinois”))) {
pageInfo.thisGroupCode = “ILE”;
} else if ((thisURL.includes(“environmentamerica.org/iowa”)) || (thisURL.includes(“dev.ea-test.com/iowa”))) {
pageInfo.thisGroupCode = “IAE”;
} else if ((thisURL.includes(“environmentamerica.org/maine”)) || (thisURL.includes(“dev.ea-test.com/maine”))) {
pageInfo.thisGroupCode = “MEE”;
} else if ((thisURL.includes(“environmentamerica.org/maryland”)) || (thisURL.includes(“dev.ea-test.com/maryland”))) {
pageInfo.thisGroupCode = “MDE”;
} else if ((thisURL.includes(“environmentamerica.org/massachusetts”)) || (thisURL.includes(“dev.ea-test.com/massachusetts”))) {
pageInfo.thisGroupCode = “MAE”;
} else if ((thisURL.includes(“environmentamerica.org/michigan”)) || (thisURL.includes(“dev.ea-test.com/michigan”))) {
pageInfo.thisGroupCode = “MIE”;
} else if ((thisURL.includes(“environmentamerica.org/minnesota”)) || (thisURL.includes(“dev.ea-test.com/minnesota”))) {
pageInfo.thisGroupCode = “MNE”;
} else if ((thisURL.includes(“environmentamerica.org/missouri”)) || (thisURL.includes(“dev.ea-test.com/missouri”))) {
pageInfo.thisGroupCode = “MOE”;
} else if ((thisURL.includes(“environmentamerica.org/montana”)) || (thisURL.includes(“dev.ea-test.com/montana”))) {
pageInfo.thisGroupCode = “MTE”;
} else if ((thisURL.includes(“environmentamerica.org/nevada”)) || (thisURL.includes(“dev.ea-test.com/nevada”))) {
pageInfo.thisGroupCode = “NVE”;
} else if ((thisURL.includes(“environmentamerica.org/newhampshire”)) || (thisURL.includes(“dev.ea-test.com/newhampshire”))) {
pageInfo.thisGroupCode = “NHE”;
} else if ((thisURL.includes(“environmentamerica.org/newjersey”)) || (thisURL.includes(“dev.ea-test.com/newjersey”))) {
pageInfo.thisGroupCode = “NJE”;
} else if ((thisURL.includes(“environmentamerica.org/newmexico”)) || (thisURL.includes(“dev.ea-test.com/newmexico”))) {
pageInfo.thisGroupCode = “NME”;
} else if ((thisURL.includes(“environmentamerica.org/newyork”)) || (thisURL.includes(“dev.ea-test.com/newyork”))) {
pageInfo.thisGroupCode = “NYE”;
} else if ((thisURL.includes(“environmentamerica.org/northcarolina”)) || (thisURL.includes(“dev.ea-test.com/northcarolina”))) {
pageInfo.thisGroupCode = “NCE”;
} else if ((thisURL.includes(“environmentamerica.org/ohio”)) || (thisURL.includes(“dev.ea-test.com/ohio”))) {
pageInfo.thisGroupCode = “OHE”;
} else if ((thisURL.includes(“environmentamerica.org/oregon”)) || (thisURL.includes(“dev.ea-test.com/oregon”))) {
pageInfo.thisGroupCode = “ORE”;
} else if ((thisURL.includes(“environmentamerica.org/pennsylvania”)) || (thisURL.includes(“dev.ea-test.com/pennsylvania”))) {
pageInfo.thisGroupCode = “PAE”;
} else if ((thisURL.includes(“environmentamerica.org/rhodeisland”)) || (thisURL.includes(“dev.ea-test.com/rhodeisland”))) {
pageInfo.thisGroupCode = “RIE”;
} else if ((thisURL.includes(“environmentamerica.org/texas”)) || (thisURL.includes(“dev.ea-test.com/texas”))) {
pageInfo.thisGroupCode = “TXE”;
} else if ((thisURL.includes(“environmentamerica.org/virginia”)) || (thisURL.includes(“dev.ea-test.com/virginia”))) {
pageInfo.thisGroupCode = “VAE”;
} else if ((thisURL.includes(“environmentamerica.org/washington”)) || (thisURL.includes(“dev.ea-test.com/washington”))) {
pageInfo.thisGroupCode = “WAE”;
} else if ((thisURL.includes(“environmentamerica.org/wisconsin”)) || (thisURL.includes(“dev.ea-test.com/wisconsin”))) {
pageInfo.thisGroupCode = “WIE”;
}
break;
case (thisURL.includes(“pirg.org”) || thisURL.includes(“dev.pirg-test.com”)):
pageInfo.thisBrand = “PIRG”;
pageInfo.thisGroupCode = “USP”;
pageInfo.thisTax = “c4”;
// check if this is a “edfund”, “foundation”, or “/newjersey/center” url
if (/((pirg.org)|(dev.pirg-test.com))(/)?((arizona)|(california)|(connecticut)|(montana)|(florida)|(georgia)|(illinois)|(iowa)|(newhampshire)|(massachusetts)|(northcarolina)|(newmexico)|(ohio)|(pennsylvania)|(mississippi)|(rhodeisland)|(texas))?/edfund/.test(thisURL)
|| /((pirg.org)|(dev.pirg-test.com))(/)((colorado)|(maryland)|(missouri)|(oregon)|(washington)|(wisconsin))/foundation/.test(thisURL)
|| /((pirg.org)|(dev.pirg-test.com))/newjersey/center/.test(thisURL)) {
pageInfo.thisTax = “c3”;
useSuffix = true;
}
// get group code
if ((thisURL.includes(“pirg.org/arizona”)) || (thisURL.includes(“dev.pirg-test.com/arizona”))) {
pageInfo.thisGroupCode = “AZP”;
} else if ((thisURL.includes(“pirg.org/california”)) || (thisURL.includes(“dev.pirg-test.com/california”))) {
pageInfo.thisGroupCode = “CAP”;
} else if ((thisURL.includes(“pirg.org/connecticut”)) || (thisURL.includes(“dev.pirg-test.com/connecticut”))) {
pageInfo.thisGroupCode = “CTP”;
} else if ((thisURL.includes(“pirg.org/colorado”)) || (thisURL.includes(“dev.pirg-test.com/colorado”))) {
pageInfo.thisGroupCode = “COP”;
} else if ((thisURL.includes(“pirg.org/florida”)) || (thisURL.includes(“dev.pirg-test.com/florida”))) {
pageInfo.thisGroupCode = “FLP”;
} else if ((thisURL.includes(“pirg.org/georgia”)) || (thisURL.includes(“dev.pirg-test.com/georgia”))) {
pageInfo.thisGroupCode = “GAP”;
} else if ((thisURL.includes(“pirg.org/illinois”)) || (thisURL.includes(“dev.pirg-test.com/illinois”))) {
pageInfo.thisGroupCode = “ILP”;
} else if ((thisURL.includes(“pirg.org/iowa”)) || (thisURL.includes(“dev.pirg-test.com/iowa”))) {
pageInfo.thisGroupCode = “IAP”;
} else if ((thisURL.includes(“pirg.org/maryland”)) || (thisURL.includes(“dev.pirg-test.com/maryland”))) {
pageInfo.thisGroupCode = “MDP”;
} else if ((thisURL.includes(“pirg.org/massachusetts”)) || (thisURL.includes(“dev.pirg-test.com/massachusetts”))) {
pageInfo.thisGroupCode = “MAP”;
} else if ((thisURL.includes(“pirg.org/montana”)) || (thisURL.includes(“dev.pirg-test.com/montana”))) {
pageInfo.thisGroupCode = “MTP”;
} else if ((thisURL.includes(“pirg.org/missouri”)) || (thisURL.includes(“dev.pirg-test.com/missouri”))) {
pageInfo.thisGroupCode = “MOP”;
} else if ((thisURL.includes(“pirg.org/northcarolina”)) || (thisURL.includes(“dev.pirg-test.com/northcarolina”))) {
pageInfo.thisGroupCode = “NCP”;
} else if ((thisURL.includes(“pirg.org/newhampshire”)) || (thisURL.includes(“dev.pirg-test.com/newhampshire”))) {
pageInfo.thisGroupCode = “NHP”;
} else if ((thisURL.includes(“pirg.org/newjersey”)) || (thisURL.includes(“dev.pirg-test.com/newjersey”))) {
pageInfo.thisGroupCode = “NJP”;
} else if ((thisURL.includes(“pirg.org/newmexico”)) || (thisURL.includes(“dev.pirg-test.com/newmexico”))) {
pageInfo.thisGroupCode = “NMP”;
} else if ((thisURL.includes(“pirg.org/ohio”)) || (thisURL.includes(“dev.pirg-test.com/ohio”))) {
pageInfo.thisGroupCode = “OHP”;
} else if ((thisURL.includes(“pirg.org/oregon”)) || (thisURL.includes(“dev.pirg-test.com/oregon”))) {
pageInfo.thisGroupCode = “ORP”;
} else if ((thisURL.includes(“pirg.org/pennsylvania”)) || (thisURL.includes(“dev.pirg-test.com/pennsylvania”))) {
pageInfo.thisGroupCode = “PAP”;
} else if ((thisURL.includes(“pirg.org/michigan”)) || (thisURL.includes(“dev.pirg-test.com/michigan”))) {
pageInfo.thisGroupCode = “MIP”;
} else if ((thisURL.includes(“pirg.org/rhodeisland”)) || (thisURL.includes(“dev.pirg-test.com/rhodeisland”))) {
pageInfo.thisGroupCode = “RIP”;
} else if ((thisURL.includes(“pirg.org/texas”)) || (thisURL.includes(“dev.pirg-test.com/texas”))) {
pageInfo.thisGroupCode = “TXP”;
} else if ((thisURL.includes(“pirg.org/washington”)) || (thisURL.includes(“dev.pirg-test.com/washington”))) {
pageInfo.thisGroupCode = “WAP”;
} else if ((thisURL.includes(“pirg.org/wisconsin”)) || (thisURL.includes(“dev.pirg-test.com/wisconsin”))) {
pageInfo.thisGroupCode = “WIP”;
}
break;
case ((thisURL.includes(“frontiergroup.org”)) || (thisURL.includes(“dev.fg-test.com”))):
pageInfo.thisBrand = “Frontier Group”;
pageInfo.thisGroupCode = “FRG”;
pageInfo.thisTax = “c3”;
break;
case ((thisURL.includes(“publicinterestnetwork.org”)) || (thisURL.includes(“dev.tpin-test.com”))):
pageInfo.thisBrand = “TPIN”;
pageInfo.thisGroupCode = “TPN”;
pageInfo.thisTax = “c3”;
break;
}
if (pageInfo.thisBrand != “” && pageInfo.thisGroup == “”) {
pageInfo.thisGroup = groupCodeMappings[pageInfo.thisGroupCode].name + (useSuffix ? groupCodeMappings[pageInfo.thisGroupCode].suffix : “”);
}
pageInfo.refName = “”;
var isPACPage = false;
try {
if ($(‘div.split1 > div.split1-side > div.box1’)[0].hasAttribute(“data-internal-id”)){
pageInfo.refName = $(‘div.split1 > div.split1-side > div.box1’).attr(“data-internal-id”);
if (pageInfo.refName[3] == “5”){
isPACPage = true;
var eavaImage = document.createElement(“img”);
eavaImage.setAttribute(“src”, “https://environmentamerica.org/wp-content/uploads/2024/07/EAVA_WEB-LOGO.png”);
eavaImage.setAttribute(“alt”, “Environment America Voter Action”);
var eavaParent = document.createElement(“a”);
eavaParent.setAttribute(“href”, “https://environmentamerica.org/environment-america-voter-action/”);
eavaParent.append(eavaImage);
var eavaFigure = document.createElement(“figure”);
eavaFigure.setAttribute(“style”, “–ofs: 70rem;margin-bottom:0px”);
eavaFigure.setAttribute(“class”, “logo1”);
eavaFigure.append(eavaParent);
var logo = document.querySelector(‘figure.logo1’);
logo.insertBefore(eavaFigure, logo.firstChild);
document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.innerHTML = document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.innerHTML.substring(0, document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.innerHTML.indexOf(“Environment “)) + “Environment America Voter Action, ” + document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.innerHTML.substring(document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.innerHTML.indexOf(“Environment “));
if (document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.nextElementSibling){
document.querySelector(‘.footer2-main’).firstElementChild.firstElementChild.nextElementSibling.innerHTML = “Contributions or gifts to Environment America Voter Action are not deductible as charitable contributions for federal income tax purposes and they are voluntary. The suggested amounts are only suggestions and you may contribute less or not at all without any advantage or disadvantage to you. Your gift will be used for federal elections and is subject to the Federal Election Campaign Act. We can only accept contributions from donors who are U.S. citizens or legal permanent residents, who are making this contribution voluntarily, from their own funds and not from a corporation, union, federal contractor, or in the name of another person. By sending us a contribution you are affirming that you meet these requirements.”;
}else{
var pElement = document.createElement(“p”);
pElement.innerHTML = “Contributions or gifts to Environment America Voter Action are not deductible as charitable contributions for federal income tax purposes and they are voluntary. The suggested amounts are only suggestions and you may contribute less or not at all without any advantage or disadvantage to you. Your gift will be used for federal elections and is subject to the Federal Election Campaign Act. We can only accept contributions from donors who are U.S. citizens or legal permanent residents, who are making this contribution voluntarily, from their own funds and not from a corporation, union, federal contractor, or in the name of another person. By sending us a contribution you are affirming that you meet these requirements.”
document.querySelector(‘.footer2-main’).firstElementChild.append(pElement);
}
}
} else if ($(‘div.split1 > div.split1-side > div.box1 > div.colored1’)[0].hasAttribute(“data-internal-id”)) {
pageInfo.refName = $(‘div.split1 > div.split1-side > div.box1 > div.colored1’).attr(“data-internal-id”);
}
// check for reference name in url params and reset pageInfo.refName if exists
if (urlParams.has(‘reference’)){
pageInfo.refName = urlParams.get(‘reference’);
} else if (urlParams.toString().includes(“tag=reference”)){
var refParam = new URL(thisURL).searchParams.getAll(“tag”);
for (var tagparamValue in refParam){
if (refParam[tagparamValue].includes(“reference”)){
const refParamList = refParam[tagparamValue].split(/:(.*)/);
pageInfo.refName = refParamList[1];
}
}
}
} catch(e) {
console.log(e);
}
pageInfo.arcCode = pageInfo.refName.split(” “)[0];
if (!window.hasOwnProperty(“pageType”)){
if (document.querySelector(“[ignite-activity-type=’Targeted_letter’]”)){
pageInfo.pageType = “targeted”;
} else if (thisURL.includes(“/events/”)){
pageInfo.pageType = “event”;
} else if (document.querySelector(“.sli-tl-msg”)){
pageInfo.pageType = “long_petition”;
} else if (document.querySelector(“[ignite-activity-type=’Fundraise’]”)){
pageInfo.pageType = “donate_page”;
} else {
pageInfo.pageType = “short_petition”;
}
} else {
pageInfo.pageType = window.pageType;
}
if (pageInfo.pageType == “survey”) {
$(‘.sli-tl-letter-box’).attr(“style”, “display:none”);
$(‘div#submit_results_EMAIL_OR_FORM’).attr(“style”, “display:none”);
$(“.sli-orientation-horizontal”).addClass(“sli-orientation-vertical”).removeClass(“sli-orientation-horizontal”);
$(‘.sli-orientation-vertical > label’).attr(“style”, “padding-bottom: 5px”);
$(‘.sli-orientation-vertical’).attr(“style”, “padding-bottom: 10px”);
}
//set some css for the form buttons.
var submitLink = $(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’);
submitLink.css(“font-size”,”1.05em”).css(“padding”,”1.125em 2.25em 1.1875em 2.25em”);
var submitButton = submitLink.parent();
submitButton.attr(“style”, “text-align: center!important“);
// check if we’re on a donation page
if ($(“div[ignite-activity-type=’Fundraise’]”).length > 0) {
donationInfo.donationPage = true;
// see if we have parameters for sustainer type and status. if monthly and active, hide recurring gift options; make sure are set to one time before hiding.
var sustainerStatus = “”;
var sustainerType = “”;
try {
sustainerStatus = $(“input[salsa-reference-name=’membership_status_hh’]”).val().toLowerCase();
sustainerType = $(“input[salsa-reference-name=’membership_type_hh’]”).val().toLowerCase();
} catch(e) {
console.log(e);
}
pageInfo.sustainer = false;
if (window.hasOwnProperty(“sustainer”)) {
pageInfo.sustainer = window.sustainer;
}
if (urlParams.toString().includes(“sustainer”) || (pageInfo.sustainer == true) || (((sustainerStatus == “sustainer”) || (sustainerStatus == “auto_renew”)) && sustainerType == “active”)){
if ($(‘input[salsa-reference-name=”makerecurringcb”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)){
if ($(‘input[salsa-reference-name=”makerecurringcb”]’).prop(‘checked’) == true) {
$(‘input[salsa-reference-name=”makerecurringcb”]’).click();
}
$(‘div[data-ignite-field-id=”MakeRecurring”]’).hide();
$(‘div[data-ignite-field-id=”SelectRecurringInterval”]’).hide();
}else if ($(‘div[class=”tm-recurring-toggle”]’).length > 0){
if ($(‘a.sli-button-monthly’)[0].classList.contains(“selected”)){
$(‘a.sli-button-one-time’)[0].classList.add(“selected”);
$(‘a.sli-button-monthly’)[0].classList.remove(“selected”);
}
$(‘div[class=”tm-recurring-toggle”]’).hide();
$(‘h4[class=”tm-recurring-heading”]’)[0].style = “display: none;”
}
}
//check for custom params to set button amounts – OneTime Donation block. Check they exist, there are 5 and that they’re all numbers
const myOneTimeParamAmounts = urlParams.get(‘oneTimeAmounts’);
var boolForChosen = false;
if (myOneTimeParamAmounts){
var myOneTimeParamAmtList = myOneTimeParamAmounts.split(‘,’);
if (myOneTimeParamAmtList.length == 5){
if (!isNaN(myOneTimeParamAmtList[0]) && !isNaN(myOneTimeParamAmtList[1]) && !isNaN(myOneTimeParamAmtList[2]) && !isNaN(myOneTimeParamAmtList[3]) && !isNaN(myOneTimeParamAmtList[4])){
boolForChosen = true;
for (let index = 0; index < myOneTimeParamAmtList.length; ++index) {
const donationAmountElement = myOneTimeParamAmtList[index];
//console.log($(“.sli-oneTimeAmountLabel”));
$(“.sli-oneTimeAmountRadio”)[index].setAttribute(“data-ignite-amount”, donationAmountElement);
$(“.sli-oneTimeAmountLabel”)[index].innerText = “$”+donationAmountElement;
}
}
}
}
//check for custom params to set button amounts – Monthly Donation block. Check they exist, there are 5 and that they’re all numbers
const myMonthlyParamAmounts = urlParams.get(‘monthlyAmounts’);
if (myMonthlyParamAmounts){
const myMonthlyParamAmtList = myMonthlyParamAmounts.split(‘,’);
if (myMonthlyParamAmtList.length == 5){
if (!isNaN(myMonthlyParamAmtList[0]) && !isNaN(myMonthlyParamAmtList[1]) && !isNaN(myMonthlyParamAmtList[2]) && !isNaN(myMonthlyParamAmtList[3]) && !isNaN(myMonthlyParamAmtList[4])){
for (let index = 0; index < myMonthlyParamAmtList.length; ++index) {
const donationMonthlyAmountElement = myMonthlyParamAmtList[index];
//console.log($(“.sli-oneTimeAmountLabel”));
$(“.sli-recurringDonationMonthly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, donationMonthlyAmountElement);
$(“.sli-recurringDonationMonthly .sli-recurringAmountLabel”)[index].innerText = “$”+donationMonthlyAmountElement;
}
}
}
}
//check for custom params to set button amounts – Annual Donation block. Check they exist, there are 5 and that they’re all numbers
const myAnnualParamAmounts = urlParams.get(‘annualAmounts’);
if (myAnnualParamAmounts){
const myAnnualParamAmtList = myAnnualParamAmounts.split(‘,’);
if (myAnnualParamAmtList.length == 5){
if (!isNaN(myAnnualParamAmtList[0]) && !isNaN(myAnnualParamAmtList[1]) && !isNaN(myAnnualParamAmtList[2]) && !isNaN(myAnnualParamAmtList[3]) && !isNaN(myAnnualParamAmtList[4])){
for (let index = 0; index < myAnnualParamAmtList.length; ++index) {
const donationAnnualAmountElement = myAnnualParamAmtList[index];
//console.log($(“.sli-oneTimeAmountLabel”));
$(“.sli-recurringDonationYearly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, donationAnnualAmountElement);
$(“.sli-recurringDonationYearly .sli-recurringAmountLabel”)[index].innerText = “$”+donationAnnualAmountElement;
}
}
}
}
//classic redirects with levels param
const classicLevelAmounts = urlParams.get(‘levels’);
if (!myOneTimeParamAmounts && !myMonthlyParamAmounts && !myAnnualParamAmounts && classicLevelAmounts){
var myClassicLevelList = classicLevelAmounts.split(‘,’);
boolForChosen = true;
if (!isNaN(myClassicLevelList[0]) && !isNaN(myClassicLevelList[1]) && !isNaN(myClassicLevelList[2]) && !isNaN(myClassicLevelList[3]) && !isNaN(myClassicLevelList[4])){
for (let index = 0; index < 5; ++index) {
const leveldonationAmountElement = myClassicLevelList[index];
//console.log($(“.sli-oneTimeAmountLabel”));
$(“.sli-oneTimeAmountRadio”)[index].setAttribute(“data-ignite-amount”, leveldonationAmountElement);
$(“.sli-oneTimeAmountLabel”)[index].innerText = “$”+leveldonationAmountElement;
if (pageInfo.thisTax == “c4”){
$(“.sli-recurringDonationMonthly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, leveldonationAmountElement);
$(“.sli-recurringDonationMonthly .sli-recurringAmountLabel”)[index].innerText = “$”+leveldonationAmountElement;
$(“.sli-recurringDonationYearly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, leveldonationAmountElement);
$(“.sli-recurringDonationYearly .sli-recurringAmountLabel”)[index].innerText = “$”+leveldonationAmountElement;
}
}
}
}
//set amounts for teams, if amounts not in url and tag=[team] in url OR if widgetAmounts in the widgetcode that gets defined in production
if (!myOneTimeParamAmounts && !myMonthlyParamAmounts && !myAnnualParamAmounts && !classicLevelAmounts){
var whichTeam = “”;
var teamAmounts = []
if (thisURL.includes(“tag=donorteam”)){
whichTeam = “donorTeam”;
teamAmounts = [“500”, “1000”, “5000”, “10000”, “20000”];
}else if (thisURL.includes(“tag=stateteam”)){
whichTeam = “stateTeam”;
teamAmounts = [“25”, “50”, “100”, “250”, “500”];
}else if (thisURL.includes(“tag=virtualcanvass”)){
whichTeam = “virtualTeam”;
teamAmounts = [“100”, “250”, “1000”, “1500”, “2500”];
}else if (thisURL.includes(“tag=development”)){
whichTeam = “devTeam”;
teamAmounts = [“250”, “500”, “1000”, “2500”, “5000”];
}else if (window.hasOwnProperty(“widgetAmounts”)){
whichTeam = “setInCode”;
teamAmounts = window.widgetAmounts;
}
if (whichTeam !== “”){
boolForChosen = true;
for (let index = 0; index < 5; ++index) {
const teamnAmountElement = teamAmounts[index];
$(“.sli-oneTimeAmountRadio”)[index].setAttribute(“data-ignite-amount”, teamnAmountElement);
$(“.sli-oneTimeAmountLabel”)[index].innerText = “$”+teamnAmountElement;
if (pageInfo.thisTax == “c4” || (pageInfo.thisTax == “c4” && whichTeam == “setInCode”)){
$(“.sli-recurringDonationMonthly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, teamnAmountElement);
$(“.sli-recurringDonationMonthly .sli-recurringAmountLabel”)[index].innerText = “$”+teamnAmountElement;
$(“.sli-recurringDonationYearly .sli-recurringAmountRadio”)[index].setAttribute(“data-ignite-amount”, teamnAmountElement);
$(“.sli-recurringDonationYearly .sli-recurringAmountLabel”)[index].innerText = “$”+teamnAmountElement;
}
}
}
}
//check for a set custom amount, if exists and custom one time amounts are set, and button exists, click the button. Else if no custom amount, but custom one time amounts, click the second item.
const myChosenParamAmount = urlParams.get(‘amount’);
if (myChosenParamAmount && boolForChosen){
if ($(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myChosenParamAmount+'”]’).length > 0){
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myChosenParamAmount+'”]’).focus();
$(“.sli-oneTimeAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myChosenParamAmount+'”]’).click();
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myChosenParamAmount+'”]’);
fakeForSafari(elementToFocus);
}
}
} else if (!myChosenParamAmount && boolForChosen) {
if (myOneTimeParamAmounts){
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myOneTimeParamAmtList[2]+'”]’).click();
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myOneTimeParamAmtList[1]+'”]’).click();
}else {
if (classicLevelAmounts){
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myClassicLevelList[2]+'”]’).click();
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+myClassicLevelList[1]+'”]’).click();
}else if (window.hasOwnProperty(“chosenWidgetAmount”)){
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+window.chosenWidgetAmount+'”]’).focus();
$(“.sli-oneTimeAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+window.chosenWidgetAmount+'”]’).click();
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+window.chosenWidgetAmount+'”]’);
fakeForSafari(elementToFocus);
}
}else {
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+teamAmounts[2]+'”]’).click();
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+teamAmounts[1]+'”]’).click();
}
}
}
//register a clickThrough event to measure people coming to donation pages –JM
gtag(“event”, “clickThrough”, {
action_name: pageInfo.refName,
group_name: pageInfo.thisGroup,
pageType: pageInfo.pageType
});
//check if there are small donation buttons, if yes replace with large buttons –JM
if($(“.sli-amount-label.sli-small”).length>0){
//console.log(“small buttons”);
$(“.sli-amount-label, .sli-small”).removeClass(‘sli-small’).addClass(‘sli-large’);
}
// get matching value from internal reference name already saved in pageInfo
pageInfo.matching = false;
if (pageInfo.arcCode.charAt(pageInfo.arcCode.length – 1) == “2”) {
pageInfo.matching = true;
}
// get default recurring value for the page/sustainer status and set in donationInfo object for ga
donationInfo.frequency = DonationFrequency.ONCE;
if ($(‘input[salsa-reference-name=”makerecurringcb”]’).prop(‘checked’) == true) {
if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Monthly”) {
donationInfo.frequency = DonationFrequency.MONTHLY;
} else if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Yearly”) {
donationInfo.frequency = DonationFrequency.ANNUAL;
}
}
// set possible values for disclaimers based on group, tax status for one time, monthly, annual
pageInfo.earmarkingDisc = “”;
pageInfo.monthlyDisc = “”;
pageInfo.annualDisc = “”;
pageInfo.matchingDisc = ” I acknowledge that only the first automatic contribution will be matched.”;
if (pageInfo.thisBrand == “Enviro”) {
if ((pageInfo.thisGroup == “Environment Colorado”) && (pageInfo.thisTax == “c4”)) {
pageInfo.earmarkingDisc = “Your donation will be used to support all of our campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change. Environment Colorado may transfer up to $50 per dues-paying member per year into the Environment Colorado Small Donor Committee.”;
pageInfo.monthlyDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each month, from my checking account/credit card. This donation will be used to support campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change. Environment Colorado may transfer up to $50 per dues-paying member per year into the Environment Colorado Small Donor Committee.’;
pageInfo.annualDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each year, from my checking account/credit card. This donation will be used to support campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change. Environment Colorado may transfer up to $50 per dues-paying member per year into the Environment Colorado Small Donor Committee.’;
} else {
pageInfo.earmarkingDisc = “Your donation will be used to support all of our campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change.”;
pageInfo.monthlyDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each month, from my checking account/credit card. This donation will be used to support campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change.’;
pageInfo.annualDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each year, from my checking account/credit card. This donation will be used to support campaigns to protect the environment, from saving the bees and protecting public lands, to standing up for clean water and fighting climate change.’;
}
} else if (pageInfo.thisBrand == “PIRG”) {
pageInfo.earmarkingDisc = “Your donation will power our dedicated staff of organizers, policy experts and attorneys who drive all of our campaigns — from banning toxic pesticides and moving us beyond plastic, to saving our antibiotics and being a tireless consumer watchdog, to protecting our democracy and our environment.”;
pageInfo.monthlyDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each month, from my checking account/credit card. This contribution will power a dedicated staff of organizers, policy experts and attorneys who drive all of our campaigns — from banning toxic pesticides and moving us beyond plastic, to saving our antibiotics and being a tireless consumer watchdog, to protecting our democracy and our environment.’;
pageInfo.annualDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each year, from my checking account/credit card. This contribution will power a dedicated staff of organizers, policy experts and attorneys who drive all of our campaigns — from banning toxic pesticides and moving us beyond plastic, to saving our antibiotics and being a tireless consumer watchdog, to protecting our democracy and our environment.’;
} else if (pageInfo.thisBrand == “Environmental Action”) {
pageInfo.earmarkingDisc = “Your donation will be used to support all of our campaigns to protect the environment, from defending wolves and saving the bees, to stopping deforestation and harmful drilling in protected areas, to saving vulnerable wildlife from extinction and fighting climate change.”;
pageInfo.monthlyDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each month, from my checking account/credit card. This contribution will power a dedicated staff of organizers, policy experts and attorneys who drive all of our campaigns — from defending wolves and saving the bees, to stopping deforestation and harmful drilling in protected areas, to saving vulnerable wildlife from extinction and fighting climate change.’;
pageInfo.annualDisc = ‘I authorize my bank or credit card to transfer my contribution to ‘ + pageInfo.thisGroup + ‘ or its designated successors and assigns, each year, from my checking account/credit card. This contribution will power a dedicated staff of organizers, policy experts and attorneys who drive all of our campaigns — from defending wolves and saving the bees, to stopping deforestation and harmful drilling in protected areas, to saving vulnerable wildlife from extinction and fighting climate change.’;
}
// if page has vars set to override disclosures around the submit button, use those instead
if (window.hasOwnProperty(“earmarkingDiscOverride”)){
if (window.earmarkingDiscOverride != “”) {
pageInfo.earmarkingDisc = window.earmarkingDiscOverride;
}
}
if (window.hasOwnProperty(“monthlyDiscOverride”)){
if (window.monthlyDiscOverride != “”) {
pageInfo.monthlyDisc = window.monthlyDiscOverride;
}
}
if (window.hasOwnProperty(“annualDiscOverride”)){
if (window.annualDiscOverride != “”) {
pageInfo.annualDisc = window.annualDiscOverride;
}
}
// place the right above the submit button.
// removed the var submitLink and var submitButton out one level to set css for all forms and not just donation forms
if ($(‘div[class=”tm-recurring-toggle”]’).length > 0 || $(‘input[name=”name_on_card”]’).is(“:visible”) == false){
submitButton.append(“”);
}else{
submitButton.prepend(“”);
}
var confDiv = $(‘div[id=”confirmation”]’);
if (donationInfo.frequency == DonationFrequency.ONCE) {
confDiv.html(“
” + pageInfo.earmarkingDisc + “
“);
if (isPACPage){
confDiv.html(‘
Federal law requires us to use our best efforts to collect and report the name, mailing address, occupation and name of employer of individuals whose contributions exceed $200 per calendar year
By clicking “Contribute,” I certify that: (1) I am a U.S. citizen or lawfully admitted permanent resident of the U.S.; (2) I am making this contribution on a personal card with my own personal funds, not those of another person or entity; (3) I am not a federal contractor; and (4) I am at least 18 years old.
‘);
}
} else if (donationInfo.frequency == DonationFrequency.MONTHLY && (pageInfo.matching == false)) {
confDiv.html(“
” + pageInfo.monthlyDisc + “
“);
} else if (donationInfo.frequency == DonationFrequency.ANNUAL && (pageInfo.matching == false)) {
confDiv.html(“
” + pageInfo.annualDisc + “
“);
} else if (donationInfo.frequency == DonationFrequency.MONTHLY && (pageInfo.matching == true)) {
confDiv.html(“
” + pageInfo.monthlyDisc + pageInfo.matchingDisc + “
“);
} else if (donationInfo.frequency == DonationFrequency.ANNUAL && (pageInfo.matching == true)) {
confDiv.html(“
” + pageInfo.annualDisc + pageInfo.matchingDisc + “
“);
}
// section for sustainer lightbox — JM
buildModal(submitLink); // append modal to submit button
//build new button
var buttonClone = submitLink.clone()
buttonClone.attr(“onclick”, “renderMonthlyRequestModal(‘” +pageInfo.thisGroup+ “‘);”);
if (pageInfo.sustainer) {
buttonClone.attr(“onclick”, “submitForm()”);
} else {
buttonClone.attr(“onclick”, “renderMonthlyRequestModal(‘” +pageInfo.thisGroup+ “‘);”);
}
buttonClone.attr(“id”, “buttonClone”);
buttonClone.removeAttr(“data-ignite-submit-button”);
submitLink.after(buttonClone);
//build a second new button for warning text
var buttonWarning = submitLink.clone()
buttonWarning.attr(“id”, “buttonWarning”);
buttonWarning.css(“color”,”white”);
submitLink.after(buttonWarning);
//show right button on load
if ($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)){
if ($(‘input[salsa-reference-name=”makerecurringcb”]’).prop(‘checked’) == true) {
showWhichButton(ButtonType.THEIRS, isFirst=true);
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’).length > 0){
var loadedValue = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
}else{
var loadedValue = $(‘.sli-recurringAmountInput’)[0].value;
}
submitLink.text(“Donate $”+parseFloat(loadedValue)+” Monthly”);
}else{
showWhichButton(ButtonType.OURS, isFirst=true);
}
}else if ($(‘div[class=”tm-recurring-toggle”]’).length > 0){
if ($(‘a.sli-button-one-time’)[0].classList.contains(“selected”)){
showWhichButton(ButtonType.OURS, isFirst=true);
}else{
showWhichButton(ButtonType.THEIRS, isFirst=true);
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’).length > 0){
var loadedValue = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
}else{
var loadedValue = $(‘.sli-recurringAmountInput’)[0].value;
}
submitLink.text(“Donate $”+parseFloat(loadedValue)+” Monthly”);
}
}else{
showWhichButton(ButtonType.THEIRS, isFirst=true);
}
// this is to reset the button if buttonWarning gets triggered, because it’s oneTime we can show our button
$(‘.sli-oneTimeAmountRadio’).on(‘click’, function(){
if (($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)) || $(‘div[class=”tm-recurring-toggle”]’).length > 0 ){
showWhichButton(ButtonType.OURS);
}
});
// section for earmarking. add event listener to makeRecurringCB so that if someone unchecks it we set the disclaimer back to earmarking; if checks, it determine if monthly or annual and adjust disclaimer. also set our donationInfo variables for later ga purchase event — JMS
const makeRecurringCB = $(‘[salsa-reference-name=”makerecurringcb”]’);
makeRecurringCB.on(‘change’, function(e) {
if ($(this).is(“:checked”) == false) {
const event = new CustomEvent(‘TMsalsaRecurringChange’, { detail: { enableRecuring: false } } ); // MODIFY WITH CAUTION: also in TEAL repo
document.dispatchEvent(event);
} else if ($(this).is(“:checked”) == true) {
const event = new CustomEvent(‘TMsalsaRecurringChange’, { detail: { enableRecuring: true } } ); // MODIFY WITH CAUTION: also in TEAL repo
document.dispatchEvent(event);
}
});
document.addEventListener(‘TMsalsaRecurringChange’, function( event ) {
//console.log(“TMsalsaRecurringChange”);
var confDiv = $(‘div[id=”confirmation”]’);
if ($(‘input[salsa-reference-name=”makerecurringcb”]’).prop(‘checked’) == false) {
showWhichButton(ButtonType.OURS); //show our button
if ($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)){
if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Monthly”) {
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’).length >0){
var recurringToSet = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var recurringToSet = $(‘.sli-recurringAmountInput’)[0].value;
}
} else if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Yearly”) {
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”]:checked’).length >0){
var recurringToSet = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”]:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var recurringToSet = $(‘.sli-recurringAmountInput’)[1].value;
}
}
}else if ($(‘div[class=”tm-recurring-toggle”]’).length > 0){
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’).length >0){
var recurringToSet = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var recurringToSet = $(‘.sli-recurringAmountInput’)[0].value;
}
}
if ($(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+recurringToSet+'”]’).length > 0){
$(‘.sli-oneTimeAmountRadio[name=”donationAmtToggle”][data-ignite-amount=”‘+recurringToSet+'”]’).click();
}else{
$(‘.sli-oneTimeAmountLabel.sli-amount-label.sli-customAmount’)[0].focus();
$(‘.sli-oneTimeAmountLabel.sli-amount-label.sli-customAmount’)[0].click();
$(‘.sli-oneTimeAmountInput’)[0].value = recurringToSet;
$(‘.sli-oneTimeAmountLabel.sli-customAmount’).addClass(“sli-custom-amount-label-selected”);
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-oneTimeAmountLabel.sli-amount-label.sli-customAmount’)[0];
fakeForSafari(elementToFocus);
}
}
submitLink.text(“Donate”);
confDiv.html(“
” + pageInfo.earmarkingDisc + “
“);
donationInfo.frequency = DonationFrequency.ONCE;
} else if ($(‘input[salsa-reference-name=”makerecurringcb”]’).prop(‘checked’) == true) {
showWhichButton(ButtonType.THEIRS); //show their button
//set chosen donation amount for other amountblocks
if ( $(‘.sli-oneTimeAmountInput’)[0].value == “”) {
var oneTimeToSet = $(‘.sli-oneTimeAmountRadio:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var oneTimeToSet = $(‘.sli-oneTimeAmountInput’)[0].value;
}
if ($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)){
if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Monthly”) {
submitLink.text(“Donate $”+parseFloat(oneTimeToSet)+” Monthly”);
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
} else {
$(‘.sli-recurringAmountInput’)[0].value = oneTimeToSet;
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].focus();
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0];
fakeForSafari(elementToFocus);
}
}
donationInfo.frequency = DonationFrequency.MONTHLY;
if (pageInfo.matching == false) {
confDiv.html(“
” + pageInfo.monthlyDisc + “
“);
} else if (pageInfo.matching == true) {
confDiv.html(“
” + pageInfo.monthlyDisc + pageInfo.matchingDisc + “
“);
}
} else if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Yearly”) {
submitLink.text(“Donate $”+parseFloat(oneTimeToSet)+” Yearly”)
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
} else {
$(‘.sli-recurringAmountInput’)[1].value = oneTimeToSet;
$(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’).focus();
$(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’);
fakeForSafari(elementToFocus);
}
}
donationInfo.frequency = DonationFrequency.ANNUAL;
if (pageInfo.matching == false) {
confDiv.html(“
” + pageInfo.annualDisc + “
“);
} else if (pageInfo.matching == true) {
confDiv.html(“
” + pageInfo.annualDisc + pageInfo.matchingDisc + “
“);
}
}
} else if ($(‘div[class=”tm-recurring-toggle”]’).length > 0){
submitLink.text(“Donate $”+parseFloat(oneTimeToSet)+” Monthly”);
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+oneTimeToSet+'”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
} else {
$(‘.sli-recurringAmountInput’)[0].value = oneTimeToSet;
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].focus();
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0];
fakeForSafari(elementToFocus);
}
}
donationInfo.frequency = DonationFrequency.MONTHLY;
if (pageInfo.matching == false) {
confDiv.html(“
” + pageInfo.monthlyDisc + “
“);
} else if (pageInfo.matching == true) {
confDiv.html(“
” + pageInfo.monthlyDisc + pageInfo.matchingDisc + “
“);
}
}
}
});
//add and remove styling of $ button label for custom amounts on recurring interval change
$(‘select.sli-recurring-interval-select.sli-input’).on(‘change’, function(){
if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Monthly”) {
if ( $(‘.sli-recurringAmountInput’)[1].value == “”) {
var ToggledToSet = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”]:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var ToggledToSet = $(‘.sli-recurringAmountInput’)[1].value;
}
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+ToggledToSet+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”][data-ignite-amount=”‘+ToggledToSet+'”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
} else {
$(‘.sli-recurringAmountInput’)[0].value = ToggledToSet;
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].focus();
$(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0].click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringAmountLabel.sli-amount-label.sli-customAmount’)[0];
fakeForSafari(elementToFocus);
}
}
submitLink.text(“Donate $”+parseFloat(ToggledToSet)+” Monthly”)
} else if ($(‘select.sli-recurring-interval-select.sli-input :selected’).val() == “Yearly”) {
if ($(‘.sli-recurringAmountInput’)[0].value == “”) {
var ToggledToSet = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
} else {
var ToggledToSet = $(‘.sli-recurringAmountInput’)[0].value;
}
if ($(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”][data-ignite-amount=”‘+ToggledToSet+'”]’).length > 0){
$(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”][data-ignite-amount=”‘+ToggledToSet+'”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
} else {
$(‘.sli-recurringAmountInput’)[1].value = ToggledToSet;
$(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’).focus();
$(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’).click();
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
//$(‘.sli-recurringAmountInput’).click();
if (currentBrowserSafari){
var elementToFocus = $(‘.sli-recurringDonationYearly > ul > li > div[class=”sli-input-group”] > input[name=”customAnnualRecurringAmount”]’);
fakeForSafari(elementToFocus);
}
}
submitLink.text(“Donate $”+parseFloat(ToggledToSet)+” Yearly”)
}
});
//set minimum donation values and message for validator
var amountMin = 5;
if (window.hasOwnProperty(“pageAmountMin”)) {
if (window.pageAmountMin != “”) {
amountMin = window.pageAmountMin;
}
}
var amountErrorMsg = `Please enter a donation amount of at least $${amountMin}`;
if (window.hasOwnProperty(“pageAmountErrorMsg”)) {
if (window.pageAmountErrorMsg != “”) {
amountErrorMsg = window.pageAmountErrorMsg;
}
}
// section for sustainer lightbox — JM add event listener for custom one time amount, this is the min and max values for showing our modal popup
$(‘.sli-oneTimeAmountInput’).on(‘change’, function(){
$(“.sli-oneTimeAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
var oneTimeCustom = this.value
var expiryYear = $(‘[data-fv-field=”expiry_year”] :selected’).text();
if (($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)) || $(‘div[class=”tm-recurring-toggle”]’).length > 0 ){
if (oneTimeCustom===expiryYear ){
showWhichButton(ButtonType.WARNING);
}else if (oneTimeCustom <5 || oneTimeCustom > 800){
showWhichButton(ButtonType.THEIRS);
}else { //do display modal
showWhichButton(ButtonType.OURS);
}
}else{
showWhichButton(ButtonType.THEIRS);
}
// Section for min donation amount — JM. if donation is less than 5 show our validator that doesn’t let them donate
if (oneTimeCustom 0){
if ($(‘#ourErrorValidator’).length > 0){ //if our validator exists show it and set
$(‘#ourErrorValidator’).attr(“style”, “display:block”);
$(‘#ourErrorValidator’).attr(“data-fv-result”, “INVALID”);
}else{ //our validator doesn’t exist. Build it, show it, set it invalid
var valError = $(‘small[data-fv-validator=”greaterThan”][data-fv-for=”customOneTime”]’);
var ourError = valError.clone();
ourError[0].innerHTML=amountErrorMsg;
ourError.attr(“style”, “display:block”);
ourError.attr(“id”, “ourErrorValidator”);
ourError.attr(“data-fv-validator”, “greaterThan5”);
ourError.attr(“data-fv-result”, “INVALID”);
valError.after(ourError)
}
} else { //greater than 5 – if our validator exists, hide it and set valid
if ($(‘#ourErrorValidator’).length > 0){
$(‘#ourErrorValidator’).attr(“style”, “display:none”);
$(‘#ourErrorValidator’).attr(“data-fv-result”, “VALID”);
}
}
});
// add event listener for button amounts to hide our validator on click
$(‘.sli-oneTimeDonationAmounts’).on(‘click’, function(){
$(“.sli-oneTimeAmountLabel.sli-customAmount”).removeClass(‘sli-custom-amount-label-selected’);
if ($(‘#ourErrorValidator’).length > 0){ //if our validator hide
$(‘#ourErrorValidator’).attr(“style”, “display:none”);
$(‘#ourErrorValidator’).attr(“data-fv-result”, “VALID”);
}
if (($(‘div[data-ignite-field-id=”MakeRecurring”]’).length > 0 && $(‘div[data-ignite-field-id=”MakeRecurring”]’).is(“:visible”)) || $(‘div[class=”tm-recurring-toggle”]’).length > 0 ){
showWhichButton(ButtonType.OURS);
}else {
showWhichButton(ButtonType.THEIRS);
}
});
// add event listener for custom monthly amount
if ($(‘.sli-recurringAmountInput[name=”customMnthlyRecurringAmount”]’).length > 0){
$(‘.sli-recurringAmountInput[name=”customMnthlyRecurringAmount”]’).on(‘change’, function(){
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
var recCustom = this.value
submitLink.text(“Donate $”+parseFloat(recCustom)+” Monthly”);
//if donation is less than 5 show our validator that doesn’t let them donate
if (recCustom 0){
if ($(‘#ourMonthlyErrorValidator’).length > 0){ //if our validator exists show it and set
$(‘#ourMonthlyErrorValidator’).attr(“style”, “display:block”);
$(‘#ourMonthlyErrorValidator’).attr(“data-fv-result”, “INVALID”);
}else{ //our validator doesn’t exist. Build it, show it, set it invalid
var valMonthlyError = $(‘small[data-fv-validator=”greaterThan”][data-fv-for=”customMnthlyRecurringAmount”]’);
var ourMonthlyError = valMonthlyError.clone();
ourMonthlyError[0].innerHTML=amountErrorMsg;
ourMonthlyError.attr(“style”, “display:block”);
ourMonthlyError.attr(“id”, “ourMonthlyErrorValidator”);
ourMonthlyError.attr(“data-fv-validator”, “greaterThan5”);
ourMonthlyError.attr(“data-fv-result”, “INVALID”);
valMonthlyError.after(ourMonthlyError)
}
} else { //greater than 5 – if our validator exists, hide it and set valid
if ($(‘#ourMonthlyErrorValidator’).length > 0){
$(‘#ourMonthlyErrorValidator’).attr(“style”, “display:none”);
$(‘#ourMonthlyErrorValidator’).attr(“data-fv-result”, “VALID”);
}
}
});
}
// add event listener for button amounts to hide our validator on click
$(‘.sli-recurringDonationAmounts > li > input[name=”donationAmtToggleMonthly”]’).on(‘click’, function(){
var donateButtonAmount = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleMonthly”]:checked’)[0].getAttribute(“data-ignite-amount”);
submitLink.text(“Donate $”+parseFloat(donateButtonAmount)+” Monthly”);
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
if ($(‘#ourMonthlyErrorValidator’).length > 0){ //if our validator hide
$(‘#ourMonthlyErrorValidator’).attr(“style”, “display:none”);
$(‘#ourMonthlyErrorValidator’).attr(“data-fv-result”, “VALID”);
}
});
// add event listener for custom yearly amount
if ($(‘.sli-recurringAmountInput[name=”customAnnualRecurringAmount”]’).length > 0) {
$(‘.sli-recurringAmountInput[name=”customAnnualRecurringAmount”]’).on(‘change’, function(){
$(“.sli-recurringAmountLabel.sli-customAmount”).addClass(“sli-custom-amount-label-selected”);
var recYearCustom = this.value
submitLink.text(“Donate $”+parseFloat(recYearCustom)+” Yearly”);
//if donation is less than 5 show our validator that doesn’t let them donate
if (recYearCustom 0){
if ($(‘#ourYearlyErrorValidator’).length > 0){ //if our validator exists show it and set
$(‘#ourYearlyErrorValidator’).attr(“style”, “display:block”);
$(‘#ourYearlyErrorValidator’).attr(“data-fv-result”, “INVALID”);
}else{ //our validator doesn’t exist. Build it, show it, set it invalid
var valYearError = $(‘small[data-fv-validator=”greaterThan”][data-fv-for=”customAnnualRecurringAmount”]’);
var ourYearError = valYearError.clone();
ourYearError[0].innerHTML=amountErrorMsg;
ourYearError.attr(“style”, “display:block”);
ourYearError.attr(“id”, “ourYearlyErrorValidator”);
ourYearError.attr(“data-fv-validator”, “greaterThan5”);
ourYearError.attr(“data-fv-result”, “INVALID”);
valYearError.after(ourYearError)
}
} else { //greater than 5 – if our validator exists, hide it and set valid
if ($(‘#ourYearlyErrorValidator’).length > 0){
$(‘#ourYearlyErrorValidator’).attr(“style”, “display:none”);
$(‘#ourYearlyErrorValidator’).attr(“data-fv-result”, “VALID”);
}
}
});
}
// add event listener for button amounts to hide our validator on click
$(‘.sli-recurringDonationAmounts > li > input[name=”donationAmtToggleYearly”]’).on(‘click’, function(){
var donateButtonAmount = $(‘.sli-recurringAmountRadio[name=”donationAmtToggleYearly”]:checked’)[0].getAttribute(“data-ignite-amount”);
submitLink.text(“Donate $”+parseFloat(donateButtonAmount)+” Yearly”);
$(“.sli-recurringAmountLabel.sli-customAmount”).removeClass(“sli-custom-amount-label-selected”);
if ($(‘#ourYearlyErrorValidator’).length > 0){ //if our validator hide
$(‘#ourYearlyErrorValidator’).attr(“style”, “display:none”);
$(‘#ourYearlyErrorValidator’).attr(“data-fv-result”, “VALID”);
}
});
} else {
const showCheckbox = false;
const checkboxStatements = {
“AME”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“AZE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“CAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S SUMMER 2026 DRIVE.”,
“COE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“CTE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“FLE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“GAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“IAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“ILE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MDE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MEE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MIE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MNE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MOE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“MTE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NCE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NHE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NJE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NME”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NYE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“OHE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“ORE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“PAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“RIE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“TXE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“VAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“WAE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“WIE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“NVE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“AKE”: “YES! I PLEDGE TO STAND UP FOR WILD FORESTS, BEES AND PUBLIC LANDS BY DONATING TO “+pageInfo.thisGroup.toUpperCase()+”‘S 2026 FISCAL YEAR-END DRIVE.”,
“EAC”: “I PLEDGE TO DO EVEN MORE TO PROTECT WOLVES, WILDLIFE AND THE WILD PLACES THEY CALL HOME BY DONATING TO ENVIRONMENTAL ACTION’S END OF FISCAL YEAR DRIVE THIS JUNE.”,
“AZP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“CAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR SUMMER 2026 FUNDRAISING DRIVE THIS JUNE.”,
“COP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR SUMMER 2026 FUNDRAISING DRIVE THIS JUNE.”,
“CTP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“FLP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“GAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“IAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“ILP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“MAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“MDP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“MIP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“MOP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“NCP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“NHP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“NJP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR SUMMER 2026 FUNDRAISING DRIVE THIS JUNE.”,
“NMP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“OHP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“ORP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“PAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“RIP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“TXP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“WAP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“WIP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”,
“USP”: “YES! I PLEDGE TO DO EVEN MORE TO SUPPORT PIRG BY DONATING TO THEIR 2026 END OF FISCAL YEAR DRIVE THIS JUNE.”
};
if (!window.hasOwnProperty(“hide_checkbox”)){
var hide_checkbox = false;
} else {
hide_checkbox = window.hide_checkbox;
}
if (pageInfo.thisTax == “c4” && showCheckbox && !thisURL.includes(“/events/”)){
if (!hide_checkbox){
if (pageInfo.thisGroupCode in checkboxStatements){
var buttonParent = $(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’).parent();
var checkboxHTML = `
${checkboxStatements[pageInfo.thisGroupCode]}
`;
buttonParent.prepend(checkboxHTML);
}
}
}
if ($(‘p[class=checkbox_statement]’).length > 0){
$(‘p[class=checkbox_statement]’).insertBefore($(‘a[data-ignite-submit-button=”data-ignite-submit-button”]’)[0]).css(“padding-bottom”,”1.25em”);
}
gtag(“event”, “actionClickThrough”, {
action_name: pageInfo.refName,
group_name: pageInfo.thisGroup,
pageType: pageInfo.pageType
});
// set up the mutation observer
var observer = new MutationObserver(function (mutations, me) {
// `mutations` is an array of mutations that occurred
// `me` is the MutationObserver instance
if ($(‘.sli-end > div > div > div[class=”result”] > ul > li’).length > 0) {
const textCompare = “You’ve already signed this petition. We appreciate the support!”;
let errorText = $(‘.sli-end > div > div > div[class=”result”] > ul > li’)[0].innerText;
if (errorText == textCompare) {
$(‘.sli-end > div > div > div[class=”result”]’).css(“visibility”,”hidden”);
if (!window.hasOwnProperty(“redirectPath”)){
//set a generic redirect for the page if there isn’t one defined, based on tax code and brand
var redirectPath = “”;
if(pageInfo.thisBrand == “PIRG” && pageInfo.thisTax == “c4”){
redirectPath = “/take-action/thank-you-for-taking-action-95/”;
}else if(pageInfo.thisBrand == “PIRG” && pageInfo.thisTax == “c3”){
redirectPath = “/take-action/thank-you-for-taking-action-11/”;
}else if(pageInfo.thisBrand == “Enviro” && pageInfo.thisTax == “c4”){
redirectPath = “/take-action/thank-you-for-taking-action-101/”;
if(thisURL.includes(“/california/”)){
redirectPath = “/take-action/thank-you-for-taking-action-101-2/”;
}
}else if(pageInfo.thisBrand == “Enviro” && pageInfo.thisTax == “c3”){
redirectPath = “/take-action/thank-you-for-taking-action-17/”;
}
var baseURL = “”;
if(thisURL.includes(“/take-action/”)){
baseURL = thisURL.substring(0, thisURL.indexOf(“/take-action/”)).replace(“dev.ea-test.com”,”environmentamerica.org”).replace(“dev.pirg-test.com”,”pirg.org”);
}else if (thisURL.includes(“/events/”)){
baseURL = thisURL.substring(0, thisURL.indexOf(“/events/”)).replace(“dev.ea-test.com”,”environmentamerica.org”).replace(“dev.pirg-test.com”,”pirg.org”);
}
//if both base and redirect, redirect includes base. if either blank, we’re on an undefined page (not PIRG/Enviro or not action/event page) set generic message
if (baseURL !== “” && redirectPath !== “”){
redirectPath = baseURL + redirectPath;
}else{
redirectPath = “Thank you for taking action!”;
}
} else { //the redirect has already been defined, just set it to the variable from the window
redirectPath = window.redirectPath;
}
//console.log(redirectPath);
//determine if redirectpath is a url – if it is handle the params to rename reference and set a redirect tag, if it’s not display message.
if (redirectPath.startsWith(“https://”) || redirectPath.startsWith(“http://”)){
if (urlParams.has(‘reference’)){
urlParams.append(“actionreference”,urlParams.get(‘reference’));
urlParams.delete(‘reference’);
} else if (urlParams.toString().includes(“tag=reference”)){
urlParams.delete(“tag”);
var tagParams = new URL(thisURL).searchParams.getAll(“tag”);
if (tagParams.length > 0){
for (var paramValue in tagParams){
if (tagParams[paramValue].includes(“reference”)){
var indextoSplice = paramValue;
urlParams.append(“tag”,tagParams[paramValue].replace(“reference”,”actionreference”));
} else {
urlParams.append(“tag”,tagParams[paramValue]);
}
}
//tagParams.splice(indextoSplice,1);
}
}
urlParams.append(“tag”, “retake:true”);
me.disconnect();
if (redirectPath.includes(“?”)){
window.location.href = redirectPath + “&” + urlParams;
}else{
window.location.href = redirectPath + “?” + urlParams;
}
} else {
//display a message in the redirectParam in the form
$(‘.split1-side .box1.colored1’)[0].innerHTML = “
“+redirectPath+”
“;
$(‘.split1-side .box1.colored1’)[0].scrollIntoView();
me.disconnect();
}
}
}
});
// start observing
observer.observe(document, {
childList: true,
subtree: true
});
}
}
// Section for earmarking — JMS. run function if recurring value changes (include or remove monthly/annual disclaimer along with earmarking disclaimer; if matching, also include matching sentence if including monthly/annual disclaimer). will already only run if a donation page so no need to check
// function only runs when someone goes from one time to recurring or the interval option is changed, not when someone goes from recurring to one time.
// will already have disclaimers defined from when widget launched
function salsaWidgetRecurringIntervalChange() {
donationInfo.donationPage = true;
var activityId = arguments[0][“activityId”];
var frequency = arguments[0][“frequency”]; // “Monthly” or “Yearly”
var confDiv = $(‘div[id=”confirmation”]’);
if (frequency == “Monthly”) {
donationInfo.frequency = DonationFrequency.MONTHLY;
confDiv.html(“
” + pageInfo.monthlyDisc + (pageInfo.matching ? pageInfo.matchingDisc : “”) + “
“);
} else if (frequency == “Yearly”) {
donationInfo.frequency = DonationFrequency.ANNUAL;
confDiv.html(“
” + pageInfo.annualDisc + (pageInfo.matching ? pageInfo.matchingDisc : “”) + “
“);
}
}
// Section for GA donation info — JMS save donation amount in donationInfo object so that we can fire ga event on successful submit with purchase info
function salsaWidgetDonationAmountChange() {
donationInfo.donationPage = true;
donationInfo.amount = arguments[0].donationAmount;
}
// on successful submit event on a donation page, fire the ga purchase event. on successful non-donation action page submit, fire ga custom event
function salsaWidgetPageSubmit(eventObj) {
// dispatch an event other functions can listen for
const event = new CustomEvent(‘TMsalsaWidgetPageSubmit’, eventObj);
document.dispatchEvent(event);
if (donationInfo.donationPage == true) {
// set up required fields for purchase event
// transaction id group name + time to millisecond
const nowTime = new Date().getTime();
var transID = pageInfo.thisGroup.replaceAll(” “, “_”) + nowTime;
// fire purchase event
gtag(“event”, “salsa_purchase”, {
currency: “USD”,
transaction_id: transID,
value: donationInfo.amount,
purchase_id: pageInfo.refName,
action_name: pageInfo.refName,
purchase_name: donationInfo.frequency,
pageType: pageInfo.pageType
});
} else {
if(!submittedalready){
submittedalready = true;
gtag(“event”, “takeAction”, {
action_name: pageInfo.refName,
group_name: pageInfo.thisGroup,
pageType: pageInfo.pageType,
referrer: document.referrer
});
}
console.log(“post page submit – page submitted: “,submittedalready);
}
}


