www.givecampus.com
Open in
urlscan Pro
2606:4700:20::6819:690d
Public Scan
Submitted URL: https://supporthoos.com/
Effective URL: https://www.givecampus.com/campaigns/18981/donations/new
Submission: On August 26 via automatic, source certstream-suspicious
Effective URL: https://www.givecampus.com/campaigns/18981/donations/new
Submission: On August 26 via automatic, source certstream-suspicious
Form analysis
1 forms found in the DOMPOST /campaigns/18981/donations
<form class="simple_form new_contribution" id="contribution_form" aria-label="donation form" action="/campaigns/18981/donations" accept-charset="UTF-8" method="post" novalidate="novalidate"><input name="utf8" type="hidden" value="✓"><input
type="hidden" name="authenticity_token" value="0adlyeFxvsbxcFgz4lK3ScjAKZkR4qrT/jaUFd4yAPxaJ8DVXTDL6e0S5b1DVLLenq7AwpLddZtgFbl9ZLCfMw==">
<div class="input hidden contribution_advocate"><input value="4713621" class="hidden form-control" type="hidden" name="contribution[advocate]" id="contribution_advocate"></div>
<div class="row"></div><br>
<div aria-label="Value" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="value text-right required" for="contribution_value" aria-required="true">Amount</label></div>
<div class="col-sm-8">
<script type="text/javascript">
// toggle recurring on browser back
$(document).ready(function() {
var contributionRecurCheckbox = document.getElementById('contribution_recur');
var recurringGiftDiv = document.getElementById('recurringGift');
if (contributionRecurCheckbox.checked) {
recurringGiftDiv.className += "in";
}
var $recurInputsContainer = $("#recur-inputs-container");
var $recurHiddenContainer = $("#recur-hidden-container");
var $recurSelectContainer = $("#recur-select-container");
var recurMax = -1;
var oneYearOnly = recurMax === 1;
var selectedPeriod = $("input[name='contribution[period]']").val();
var selectedRecurLength = 0;
var defaultRecurLengthLabel = $(".recur_length_label").html();
var defaultRecurLengthOptions = $("#contribution_recur_length").html();
var maxRecurringMonths = -12;
var indefiniteEnabled = true
if (indefiniteEnabled) {
maxRecurringMonths = 60;
}
function toggleRecurringOptions(period) {
oneYearOnly ? toggleRecurringOptionsOneYear(period) : toggleRecurringOptionsMultiYear(period);
}
function toggleRecurringOptionsMultiYear(period) {
switch (period) {
case "yearly":
$(".recur_length_label").html(defaultRecurLengthLabel);
$("#contribution_recur_length").html(defaultRecurLengthOptions);
$("#contribution_recur_length option[value='1']").remove();
if (selectedRecurLength > 0) {
$("#contribution_recur_length").val("");
}
break;
case "monthly":
$(".recur_length_label").html(defaultRecurLengthLabel);
$("#contribution_recur_length").html(defaultRecurLengthOptions);
break;
case "limited_months":
$(".recur_length_label").html("For how many months?");
// add select options
$("#contribution_recur_length").html("");
for (var i = maxRecurringMonths; i > 1; i--) {
$("#contribution_recur_length").append("<option value='" + i + "'>" + i + "</option>");
}
break;
default:
$(".recur_length_label").html(defaultRecurLengthLabel);
$("#contribution_recur_length").html(defaultRecurLengthOptions);
break;
}
}
function toggleRecurringOptionsOneYear(period) {
switch (period) {
case "yearly":
$recurInputsContainer.prepend($recurHiddenContainer);
$recurSelectContainer.remove();
break;
case "monthly":
$recurInputsContainer.prepend($recurHiddenContainer);
$recurSelectContainer.remove();
break;
case "limited_months":
$recurHiddenContainer.remove();
$recurInputsContainer.append($recurSelectContainer);
$(".recur_length_label").html("For how many months?");
// add select options
$("#contribution_recur_length").html("");
for (var i = maxRecurringMonths; i > 1; i--) {
$("#contribution_recur_length").append("<option value='" + i + "'>" + i + "</option>");
}
break;
default:
$recurInputsContainer.prepend($recurHiddenContainer);
$recurSelectContainer.hide();
break;
}
}
// load selections on ready
toggleRecurringOptions(selectedPeriod);
// toggle options on change
$("input[name='contribution[period]']").change(function() {
selectedPeriod = $(this).val();
toggleRecurringOptions(selectedPeriod);
});
});
</script>
<div class="row">
<div class="col-md-12 margin-bottom-10"><input aria-label="contribution_value" class="input-lg form-control" id="contribution_value" min="1" name="contribution[value]" placeholder="$" required="required" style=" " type="number" value=""
aria-required="true">
<div class="margin-top-15 text-center"><span
class="vertical-align-middle"><a data-remote="true" data-target="#signupLoginModal" id="loginLink" class="login-link-redesign my-8 block underline" href="/login_modal?l=login&logino=y&school_id=2845&project_id=18981">Sign in or create a donor account <em>(Optional)</em></a></span>
</div>
</div>
<div class="col-sm-12 mobile-margin-top-10">
<div class="margin-top-10">
<div class="text-left" style="margin: -1rem 0 1rem 0;">
<div class="checkbox checkbox-primary"><input data-target="#recurringGift" data-toggle="collapse" id="contribution_recur" name="contribution[recur]" type="checkbox" value="1"><label class="margin-top-10 text-left"
data-target="#recurringGift" data-toggle="collapse" for="contribution_recur" id="recurring-checkbox-label">
<div class="white">Make this an Ongoing Gift</div>
</label></div>
<div class="collapse" id="recurringGift">
<div class="text-left"><label>How often would you like this gift to recur?</label>
<fieldset>
<legend aria-label="Select your recurring donation frequency"></legend>
<div class="radio radio-primary"><input type="radio" id="contribution_period_monthly" value="monthly" name="contribution[period]" checked="" }=""><label for="contribution_period_monthly">monthly</label></div>
<div class="radio radio-primary"><input type="radio" id="contribution_period_limited_months" value="limited_months" name="contribution[period]" }=""><label for="contribution_period_limited_months">custom (monthly)</label></div>
<div class="radio radio-primary"><input type="radio" id="contribution_period_yearly" value="yearly" name="contribution[period]" }=""><label for="contribution_period_yearly">yearly</label></div>
</fieldset>
</div>
<div id="recur-inputs-container">
<div id="recur-hidden-container"></div>
<div id="recur-select-container">
<div class="recurring-divider text-left"><label class="recur_length_label" for="contribution_recur_length">For how many years?</label>
<div class="input select required contribution_recur_length" aria-required="true"><select class="select required form-control black form-control" required="required" aria-required="true" name="contribution[recur_length]"
id="contribution_recur_length">
<option value="indefinitely">indefinitely</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div aria-label="Designation" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="designation text-right required" for="contribution_id_of_designation" aria-required="true">Designation</label></div>
<div class="col-sm-8">
<div class="designations-group">
<style type="text/css">
.select2-results li {
font-size: 16px;
}
.select2-container {
width: 100% !important;
}
span[title="Select a Designation"] {
font-size: 16px;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$(".desigselect").select2();
});
</script>
<div class="form-horizontal">
<div aria-label="select a designation" class="form-group">
<div class="text-left col-sm-12"><select required="required" class="black form-control desigselect select2-hidden-accessible" autocomplete="none" name="contribution[id_of_designation]" id="contribution_id_of_designation"
aria-required="true" tabindex="-1" aria-hidden="true">
<option value="">Select a Designation</option>
<option value="23594">Alumni Association Annual Fund</option>
<option value="23604">Jefferson Trust</option>
<option value="68812">Ridley Scholarship Program General Fund</option>
</select><span class="select2 select2-container select2-container--default" dir="ltr" style="width: 417px;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true"
aria-expanded="false" tabindex="0" aria-labelledby="select2-contribution_id_of_designation-container"><span class="select2-selection__rendered" id="select2-contribution_id_of_designation-container"
title="Select a Designation">Select a Designation</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper"
aria-hidden="true"></span></span>
<div class="multi-split-designations-errors" style="color: white; background-color: red; font-weight: bold; display:none; text-align: center;"></div>
<div id="multiSplitDesignations" style="margin: 1.3rem 0;"></div>
<a class="btn font-16 btn-block darken_hover" id="multi-split-button" onclick="if (!window.__cfRLUnblockHandlers) return false; addMultiSplitDesignation();" style="font-weight: bold; margin-top: 1rem; color: #fff; background-color: #e57200">Add Additional Designation</a>
<div class="help-block white">If you can’t find the area to which you’d like to give, please use the link at the top of the page.</div>
</div>
</div>
</div>
<script type="text/javascript">
// unselect split designation if checkbox is unchecked
$(document).ready(function() {
if (!$("#split_my_desig").is(":checked")) {
$("#contribution_id_of_designation2").val("");
}
});
$("#split_my_desig").change(function() {
if (!$(this).is(":checked")) {
$("#tiered-designation-2-1").val("").trigger('change');
$("#tiered-designation-2-2").val("").trigger('change');
$("#contribution_id_of_designation2").val("").trigger('change');
}
});
// select2 does not add events properly unless the original select2 element
// is passed in as an argument.
var setupWriteinField = function(elemOrId, fieldId, labelId) {
var $elem = typeof(elemOrId) == 'string' ? $(elemOrId) : elemOrId
// toggle other designation based on if designation selected
// is one of the designation write-in options
$elem.on("change", function() {
writeInDesignations = ["1660"];
$("#contribution_designation_other-error").hide();
$("#other_designation2-error").hide();
if (writeInDesignations.indexOf($(this).val()) > -1) {
$(labelId).show();
$(fieldId).show();
$(fieldId).attr("required", "required");
} else if (typeof(elemOrId) != 'string') {
var selects = $('select.multi-desigs-select'),
selectValues = $.map(selects, function(e) {
return $(e).val();
});
// filter detects if any of the elements in the second array are in
// in the first array.
if ($(writeInDesignations).filter(selectValues).length < 1) {
$(labelId).hide();
$(fieldId).hide();
$(fieldId).val("");
$(fieldId).removeAttr("required");
}
} else {
$(labelId).hide();
$(fieldId).hide();
$(fieldId).val("");
$(fieldId).removeAttr("required");
}
});
};
$(function() {
// hide other designation option
var writeinFieldId = "#contribution_designation_other",
writeinLabelId = "#contribution_designation_other_label";
$(writeinLabelId).hide();
$(writeinFieldId).hide();
$(writeinFieldId).removeAttr("required");
setupWriteinField("#contribution_id_of_designation", writeinFieldId, writeinLabelId);
// hide other designation2 option
$("label[for='contribution_other_designation2']").hide();
$('#other_designation2').hide();
$('#other_designation2').removeAttr("required");
setupWriteinField("#contribution_id_of_designation2", "#other_designation2", "label[for='contribution_other_designation2']");
});
</script>
<script type="text/javascript">
// If on giving form post form
var fixedContributionValue = 0;
if (false) {
if (false) {
fixedContributionValue = 0.0.toFixed(2)
} else {
fixedContributionValue = 0.0.toFixed(2)
}
var currency = "$"
$(".designation").append($("<table><tr><td class='text-center'>Total: <div>" + (currency + fixedContributionValue) + "</div></td> <td class='text-center'><span id='sole_designation_on_multi_split'>Undesignated</span>: <div>" +
currency + "<span id='fixed_contribution_amount'>" + fixedContributionValue + "</span></div></td></tr></table>"))
$("#contribution_id_of_designation").change(function(e) {
$("#sole_designation_on_multi_split").html($("select#contribution_id_of_designation option:selected").text() || "Undesignated");
})
}
var designations = [
[23594, "Alumni Association Annual Fund"],
[23604, "Jefferson Trust"],
[68812, "Ridley Scholarship Program General Fund"]
];
var designationPlaceholder = "Select a Designation";
var designationsOptions = ""
designations.forEach(function(designation) {
designationsOptions += ("<option value='" + designation[0] + "'>" + designation[1] + "</option>");
});
var designationSelectRows = [];
var totalContributionValue = 0;
var initialContributionValue = $("#contribution_value").val();
var addDesigCount = 0;
/*
* Add a new designation select and amount input
*/
var addMultiSplitDesignation = function() {
$("#contribution_id_of_designation-error").hide();
$("#contribution_id_of_designation").removeAttr("required");
if ((false) && ($("#directed_designation_same").length > 0)) {
if ($("#directed_designation_same").prop("checked")) {
$("#contribution_directed_emails").prop("disabled", false);
$("#contribution_directed_years").prop("disabled", false);
$("#contribution_directed_affiliations").prop("disabled", false);
}
$("#directed_designation_same").prop("checked", false);
$("#directed_designation_same").prop("disabled", "disabled");
}
// show validation error if trying to add more than 5 designations
if (designationSelectRows.length == 5) {
$(".multi-split-designations-errors").html("You can only add up to 5 designations per gift.");
$(".multi-split-designations-errors").show();
$('html,body').animate({
scrollTop: $(".multi-split-designations-errors").offset().top
});
return;
} else {
$(".multi-split-designations-errors").hide();
addDesigCount += 1;
}
if (designationSelectRows.length == 4) {
$("#multi-split-button").hide();
} else {
$("#multi-split-button").show();
}
// disable suggested giving amounts
$(".suggested-giving-amounts button").prop("disabled", true)
// layout elements
var row = $("<div class='row'></div>");
var selectColumn = $("<div class='col-md-7'></div>");
var inputColumn = $("<div class='col-md-4'></div>");
var removeColumn = $("<div class='col-md-1'></div>");
// designation select
var selectId = "contribution_designation_data_" + addDesigCount;
var select = $("<select class='form-control multi-desigs-select' autocomplete='none' id='" + selectId + "' name='contribution_designation_data[][id]'></select>");
// placeholder
var placeholderOption = $("<option value=''>" + designationPlaceholder + "</option>");
select.append(placeholderOption);
// append designations to select
select.append(designationsOptions);
// append select
selectColumn.append(select); // add select
var $selectedDesignationInput = $("#contribution_id_of_designation")
if (designationSelectRows.length == 0) {
// check for new value
initialContributionValue = $("#contribution_value").val();
// append value of id_of_designation
select.val($selectedDesignationInput.val());
// clear original select after insertion
$selectedDesignationInput.val("");
$("#s2id_contribution_id_of_designation .select2-chosen").html(designationPlaceholder);
// change span contents on post-form
$("#sole_designation_on_multi_split").html("Undesignated");
// hide the id_of_designation select
$("#select2-contribution_id_of_designation-container").parent().hide(); // Fixes spec
$("#s2id_contribution_id_of_designation").hide();
}
select.select2(); // initialize select2 plugin
setupWriteinField(select, "#contribution_designation_other", "#contribution_designation_other_label");
// amount input
var input = $(
"<div class='left-inner-addon-newdonation'><span style='padding: 4px 10px; font-size: 1.5rem;'>$</span><input step='0.01' type='number' onkeyup='computeTotalContributionValue()' class='amount-input form-control text-center' style='max-height: 28px;' name='contribution_designation_data[][amount]' value='" +
(initialContributionValue || 0) + "' min='0.01' required/></div>");
inputColumn.append(input);
// remove designation
var removeLink = $(
"<a class='remove-desig' style='cursor: pointer; display: block; vertical-align: middle; padding: 1rem; text-align: center' onclick='removeDesignationRow($(this));'><i class='fa fa-remove white'></i> <span class='hidden-md hidden-lg white remove-designation-link-text'>Remove designation</div></a>"
);
removeColumn.append(removeLink);
row.append(selectColumn);
row.append(inputColumn);
row.append(removeColumn);
// append to array
designationSelectRows.push(row);
$("#multiSplitDesignations").append(row);
// if first run
if (designationSelectRows.length == 1) {
// add a second designation select
addMultiSplitDesignation();
// make value readonly and remove its validations
if ($("#contribution_value").length > 0) {
$("#contribution_value").prop("readonly", true);
$("#contribution_value").attr("readonly", "true");
$("#contribution_value").removeAttr("min");
$("#contribution_value").removeAttr("required");
$("#contribution_value").valid();
}
}
// sum values
computeTotalContributionValue();
};
var removeDesignationRow = function(element) {
element.parent().parent().remove();
computeTotalContributionValue();
designationSelectRows.pop();
$("#multi-split-button").show();
// target & remove write-in designations if element is write-in
var writeInIds = [];
writeInIds.push("1660"); // Other designation option
var selectedIds = [];
$("#multiSplitDesignations").children(".row").each(function() {
selectedIds.push($(this).children().first().children().first().val());
})
var noWriteInsSelected = selectedIds.filter(function(id) {
return writeInIds.indexOf(id) == -1
}).length == selectedIds.length
if (noWriteInsSelected) {
$("#contribution_designation_other_label").hide()
$("#contribution_designation_other").hide()
}
if (designationSelectRows.length < 1) {
if ((false) && ($("#directed_designation_same").length > 0)) {
var affiliation = $("#contribution_directed_affiliations").val();
var affiliationNotSelected = (affiliation === undefined || affiliation === "");
var classYear = $("#contribution_directed_years").val();
var classYearNotSelected = (classYear === undefined || classYear === "");
var email = $("#contribution_directed_emails").val();
var emailNotSelected = (email == undefined || email === "");
if (affiliationNotSelected && classYearNotSelected && emailNotSelected) {
$("#directed_designation_same").prop("disabled", false);
}
}
if (true) {
$("#contribution_id_of_designation").attr("required", "required");
}
// enable suggested giving amounts
if ($(".suggested-giving-amounts button").length > 0) {
$(".suggested-giving-amounts button").prop("disabled", false)
}
// reset amount field
if ($("#contribution_value").length > 0) {
$("#contribution_value").val("")
$("#contribution_value").prop("readonly", false);
$("#contribution_value").attr("min", "1");
$("#contribution_value").attr("required", "required");
}
var designationPlaceholder = "Select a Designation"
$("#contribution_id_of_designation").val("")
$("#select2-contribution_id_of_designation-container").prop('title', designationPlaceholder)
$("#select2-contribution_id_of_designation-container").text(designationPlaceholder)
$("#select2-contribution_id_of_designation-container").parent().show();
$("#s2id_contribution_id_of_designation").show();
}
};
$("form").submit(function(event) {
computeTotalContributionValue();
if ($("#fixed_contribution_amount").html() < 0) {
$(".multi-split-designations-errors").show();
$(".multi-split-designations-errors").html("You cannot designate more funds than your original donation");
event.preventDefault();
} else {
return true; // continue submit
}
});
function computeTotalContributionValue() {
$(".multi-split-designations-errors").hide();
totalContributionValue = $("#contribution_value").val();
var multiSum = 0;
if ($("#multiSplitDesignations input").length > 0) {
$("#multiSplitDesignations input").each(function(input) {
multiSum += Number($(this).val());
});
if (isNaN(multiSum)) {
$("#contribution_value").val(totalContributionValue);
} else {
// Only on post form
$("#fixed_contribution_amount").html((Number(fixedContributionValue) - multiSum).toFixed(2))
$("#contribution_value").val(Number(multiSum).toFixed(2));
}
} else {
// Only on post form
$("#fixed_contribution_amount").html(Number(fixedContributionValue).toFixed(2));
$("#contribution_value").val(Number(totalContributionValue).toFixed(2));
}
}
</script>
<script type="text/javascript">
window.addEventListener("pageshow", function(event) {
var historyTraversal = event.persisted || (typeof window.performance != "undefined" && window.performance.navigation.type === 2);
if (historyTraversal) {
// Handle page restore.
window.location.reload();
}
});
</script>
</div>
</div>
</div>
</div>
<div aria-label="Existing pledge" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"></div>
<div class="col-sm-8">
<style type="text/css">
.checkbox-primary input[type="checkbox"]:checked+label::before,
.checkbox-primary input[type="radio"]:checked+label::before {
background-color: #e57200;
border-color: #e57200;
}
</style><input name="contribution[addtnl_fields][existing_pledge]" type="hidden" value="false">
<div class="checkbox checkbox-primary" style="margin-top: 0; margin-bottom: 0;"><input id="existing_pledge" name="contribution[addtnl_fields][existing_pledge]" placeholder="" type="checkbox" value="0"><label class="checkbox_label51589"
for="existing_pledge" style="display: inline-block;">This is a payment on an existing pledge.</label></div>
<style type="text/css">
.error-text {
color: #fff !important;
background-color: #e01e28 !important;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
var thisCheckbox = document.getElementById("existing_pledge");
// setup checkbox onchange event
var thisCheckboxChangeEvent = function(event) {
if (thisCheckbox.checked == true) {
thisCheckbox.value = "true";
} else {
thisCheckbox.value = "false";
}
};
thisCheckbox.onchange = thisCheckboxChangeEvent;
// check for checkbox selected on submit
$("#contribution_form").submit(function(event) {
var box = $("#existing_pledge");
if (box.val() == 0 && "false" == "true") {
$(".checkbox_label51589").addClass("input-invalid error-text");
box.focus();
$(".checkbox_label51589").fadeTo(100, 1.0, function() {
$(".checkbox_label51589").fadeTo(100, 0.3);
});
$(".checkbox_label51589").fadeTo(100, 0.3, function() {
$(".checkbox_label51589").fadeTo(100, 1.0);
});
return false;
} else {
$(".checkbox_label51589").removeClass("input-invalid error-text");
return true;
}
});
});
</script>
</div>
</div>
</div>
<div aria-label="First name" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="first_name text-right required" for="first_name" aria-required="true">First name</label></div>
<div class="col-sm-8"><input aria-label="first_name" class="input-lg form-control" id="first_name" name="contribution[addtnl_fields][first_name]" placeholder="First name" required="required" type="text" aria-required="true"></div>
</div>
</div>
<div aria-label="Last name" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="last_name text-right required" for="last_name" aria-required="true">Last name</label></div>
<div class="col-sm-8"><input aria-label="last_name" class="input-lg form-control" id="last_name" name="contribution[addtnl_fields][last_name]" placeholder="Last name" required="required" type="text" aria-required="true"></div>
</div>
</div>
<div aria-label="Payer email" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="payer_email text-right required" for="contribution_payer_email" aria-required="true">Email</label></div>
<div class="col-sm-8"><input aria-label="contribution_payer_email" class="input-lg form-control" id="contribution_payer_email" name="contribution[payer_email]" placeholder="Email" required="required" type="email" aria-required="true"></div>
</div>
</div>
<div aria-label="Addr country" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="addr_country text-right required" for="contribution_addr_country" aria-required="true">Country</label></div>
<div class="col-sm-8"><select aria-label="address country" class="form-control country-select" id="contribution_addr_country" name="contribution[addr_country]">
<option data-zip-required="true" value="Canada">Canada</option>
<option data-zip-required="true" value="United Kingdom">United Kingdom</option>
<option data-zip-required="true" selected="selected" value="United States">United States</option>
<option disabled="disabled">---------------------------------------------------------------------------------</option>
<option data-zip-required="true" value="Afghanistan">Afghanistan</option>
<option data-zip-required="true" value="Albania">Albania</option>
<option data-zip-required="true" value="Algeria">Algeria</option>
<option data-zip-required="true" value="American Samoa">American Samoa</option>
<option data-zip-required="true" value="Andorra">Andorra</option>
<option data-zip-required="false" value="Angola">Angola</option>
<option data-zip-required="true" value="Anguilla">Anguilla</option>
<option data-zip-required="false" value="Antigua and Barbuda">Antigua and Barbuda</option>
<option data-zip-required="true" value="Argentina">Argentina</option>
<option data-zip-required="true" value="Armenia">Armenia</option>
<option data-zip-required="false" value="Aruba">Aruba</option>
<option data-zip-required="true" value="Australia">Australia</option>
<option data-zip-required="true" value="Austria">Austria</option>
<option data-zip-required="true" value="Azerbaijan">Azerbaijan</option>
<option data-zip-required="false" value="Bahamas">Bahamas</option>
<option data-zip-required="true" value="Bahrain">Bahrain</option>
<option data-zip-required="true" value="Bangladesh">Bangladesh</option>
<option data-zip-required="true" value="Barbados">Barbados</option>
<option data-zip-required="true" value="Belarus">Belarus</option>
<option data-zip-required="true" value="Belgium">Belgium</option>
<option data-zip-required="false" value="Belize">Belize</option>
<option data-zip-required="false" value="Benin">Benin</option>
<option data-zip-required="true" value="Bermuda">Bermuda</option>
<option data-zip-required="true" value="Bhutan">Bhutan</option>
<option data-zip-required="true" value="Bolivia">Bolivia</option>
<option data-zip-required="true" value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option data-zip-required="false" value="Botswana">Botswana</option>
<option data-zip-required="true" value="Brazil">Brazil</option>
<option data-zip-required="true" value="Brunei Darussalam">Brunei Darussalam</option>
<option data-zip-required="true" value="Bulgaria">Bulgaria</option>
<option data-zip-required="false" value="Burkina Faso">Burkina Faso</option>
<option data-zip-required="false" value="Burundi">Burundi</option>
<option data-zip-required="true" value="Cambodia">Cambodia</option>
<option data-zip-required="false" value="Cameroon">Cameroon</option>
<option data-zip-required="true" value="Canada">Canada</option>
<option data-zip-required="true" value="Cape Verde">Cape Verde</option>
<option data-zip-required="true" value="Cayman Islands">Cayman Islands</option>
<option data-zip-required="false" value="Central African Republic">Central African Republic</option>
<option data-zip-required="true" value="Chad">Chad</option>
<option data-zip-required="true" value="Chile">Chile</option>
<option data-zip-required="true" value="China">China</option>
<option data-zip-required="true" value="Colombia">Colombia</option>
<option data-zip-required="false" value="Comoros">Comoros</option>
<option data-zip-required="false" value="Congo">Congo</option>
<option data-zip-required="false" value="Cook Islands">Cook Islands</option>
<option data-zip-required="true" value="Costa Rica">Costa Rica</option>
<option data-zip-required="false" value="Cote D'Ivoire">Cote D'Ivoire</option>
<option data-zip-required="true" value="Croatia">Croatia</option>
<option data-zip-required="true" value="Cuba">Cuba</option>
<option data-zip-required="true" value="Cyprus">Cyprus</option>
<option data-zip-required="true" value="Czech Republic">Czech Republic</option>
<option data-zip-required="false" value="Democratic Republic of the Congo">Democratic Republic of the Congo</option>
<option data-zip-required="true" value="Denmark">Denmark</option>
<option data-zip-required="false" value="Djibouti">Djibouti</option>
<option data-zip-required="false" value="Dominica">Dominica</option>
<option data-zip-required="true" value="Dominican Republic">Dominican Republic</option>
<option data-zip-required="true" value="Ecuador">Ecuador</option>
<option data-zip-required="true" value="Egypt">Egypt</option>
<option data-zip-required="true" value="El Salvador">El Salvador</option>
<option data-zip-required="false" value="Equatorial Guinea">Equatorial Guinea</option>
<option data-zip-required="false" value="Eritrea">Eritrea</option>
<option data-zip-required="true" value="Estonia">Estonia</option>
<option data-zip-required="true" value="Ethiopia">Ethiopia</option>
<option data-zip-required="true" value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option data-zip-required="true" value="Faroe Islands">Faroe Islands</option>
<option data-zip-required="false" value="Fiji">Fiji</option>
<option data-zip-required="true" value="Finland">Finland</option>
<option data-zip-required="true" value="France">France</option>
<option data-zip-required="true" value="French Guiana">French Guiana</option>
<option data-zip-required="true" value="French Polynesia">French Polynesia</option>
<option data-zip-required="true" value="Gabon">Gabon</option>
<option data-zip-required="false" value="Gambia">Gambia</option>
<option data-zip-required="true" value="Georgia">Georgia</option>
<option data-zip-required="true" value="Germany">Germany</option>
<option data-zip-required="false" value="Ghana">Ghana</option>
<option data-zip-required="true" value="Gibraltar">Gibraltar</option>
<option data-zip-required="true" value="Greece">Greece</option>
<option data-zip-required="true" value="Greenland">Greenland</option>
<option data-zip-required="false" value="Grenada">Grenada</option>
<option data-zip-required="true" value="Guadeloupe">Guadeloupe</option>
<option data-zip-required="true" value="Guam">Guam</option>
<option data-zip-required="true" value="Guatemala">Guatemala</option>
<option data-zip-required="false" value="Guinea">Guinea</option>
<option data-zip-required="true" value="Guinea-Bissau">Guinea-Bissau</option>
<option data-zip-required="false" value="Guyana">Guyana</option>
<option data-zip-required="true" value="Haiti">Haiti</option>
<option data-zip-required="true" value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option data-zip-required="true" value="Honduras">Honduras</option>
<option data-zip-required="false" value="Hong Kong">Hong Kong</option>
<option data-zip-required="true" value="Hungary">Hungary</option>
<option data-zip-required="true" value="Iceland">Iceland</option>
<option data-zip-required="true" value="India">India</option>
<option data-zip-required="true" value="Indonesia">Indonesia</option>
<option data-zip-required="true" value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option data-zip-required="true" value="Iraq">Iraq</option>
<option data-zip-required="false" value="Ireland">Ireland</option>
<option data-zip-required="true" value="Israel">Israel</option>
<option data-zip-required="true" value="Italy">Italy</option>
<option data-zip-required="false" value="Jamaica">Jamaica</option>
<option data-zip-required="true" value="Japan">Japan</option>
<option data-zip-required="true" value="Jordan">Jordan</option>
<option data-zip-required="true" value="Kazakhstan">Kazakhstan</option>
<option data-zip-required="false" value="Kenya">Kenya</option>
<option data-zip-required="false" value="Kiribati">Kiribati</option>
<option data-zip-required="false" value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option data-zip-required="true" value="Kuwait">Kuwait</option>
<option data-zip-required="true" value="Kyrgyzstan">Kyrgyzstan</option>
<option data-zip-required="true" value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option data-zip-required="true" value="Latvia">Latvia</option>
<option data-zip-required="false" value="Lebanon">Lebanon</option>
<option data-zip-required="true" value="Lesotho">Lesotho</option>
<option data-zip-required="true" value="Liberia">Liberia</option>
<option data-zip-required="true" value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>
<option data-zip-required="true" value="Liechtenstein">Liechtenstein</option>
<option data-zip-required="true" value="Lithuania">Lithuania</option>
<option data-zip-required="true" value="Luxembourg">Luxembourg</option>
<option data-zip-required="false" value="Macao">Macao</option>
<option data-zip-required="true" value="Macedonia, the Former Yugoslav Republic of">Macedonia, the Former Yugoslav Republic of</option>
<option data-zip-required="true" value="Madagascar">Madagascar</option>
<option data-zip-required="false" value="Malawi">Malawi</option>
<option data-zip-required="true" value="Malaysia">Malaysia</option>
<option data-zip-required="true" value="Maldives">Maldives</option>
<option data-zip-required="false" value="Mali">Mali</option>
<option data-zip-required="true" value="Malta">Malta</option>
<option data-zip-required="true" value="Marshall Islands">Marshall Islands</option>
<option data-zip-required="true" value="Martinique">Martinique</option>
<option data-zip-required="false" value="Mauritania">Mauritania</option>
<option data-zip-required="false" value="Mauritius">Mauritius</option>
<option data-zip-required="true" value="Mexico">Mexico</option>
<option data-zip-required="true" value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option data-zip-required="true" value="Moldova, Republic of">Moldova, Republic of</option>
<option data-zip-required="true" value="Monaco">Monaco</option>
<option data-zip-required="true" value="Mongolia">Mongolia</option>
<option data-zip-required="false" value="Montserrat">Montserrat</option>
<option data-zip-required="true" value="Morocco">Morocco</option>
<option data-zip-required="true" value="Mozambique">Mozambique</option>
<option data-zip-required="true" value="Myanmar">Myanmar</option>
<option data-zip-required="true" value="Namibia">Namibia</option>
<option data-zip-required="false" value="Nauru">Nauru</option>
<option data-zip-required="true" value="Nepal">Nepal</option>
<option data-zip-required="true" value="Netherlands">Netherlands</option>
<option data-zip-required="false" value="Netherlands Antilles">Netherlands Antilles</option>
<option data-zip-required="true" value="New Caledonia">New Caledonia</option>
<option data-zip-required="true" value="New Zealand">New Zealand</option>
<option data-zip-required="true" value="Nicaragua">Nicaragua</option>
<option data-zip-required="true" value="Niger">Niger</option>
<option data-zip-required="true" value="Nigeria">Nigeria</option>
<option data-zip-required="false" value="Niue">Niue</option>
<option data-zip-required="true" value="Norfolk Island">Norfolk Island</option>
<option data-zip-required="true" value="Northern Mariana Islands">Northern Mariana Islands</option>
<option data-zip-required="true" value="Norway">Norway</option>
<option data-zip-required="true" value="Oman">Oman</option>
<option data-zip-required="true" value="Pakistan">Pakistan</option>
<option data-zip-required="true" value="Palau">Palau</option>
<option data-zip-required="true" value="Palestine">Palestine</option>
<option data-zip-required="false" value="Panama">Panama</option>
<option data-zip-required="true" value="Papua New Guinea">Papua New Guinea</option>
<option data-zip-required="true" value="Paraguay">Paraguay</option>
<option data-zip-required="true" value="Peru">Peru</option>
<option data-zip-required="true" value="Philippines">Philippines</option>
<option data-zip-required="true" value="Pitcairn">Pitcairn</option>
<option data-zip-required="true" value="Poland">Poland</option>
<option data-zip-required="true" value="Portugal">Portugal</option>
<option data-zip-required="true" value="Puerto Rico">Puerto Rico</option>
<option data-zip-required="false" value="Qatar">Qatar</option>
<option data-zip-required="true" value="Reunion">Reunion</option>
<option data-zip-required="true" value="Romania">Romania</option>
<option data-zip-required="true" value="Russia">Russia</option>
<option data-zip-required="false" value="Rwanda">Rwanda</option>
<option data-zip-required="true" value="Saint Helena">Saint Helena</option>
<option data-zip-required="false" value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option data-zip-required="false" value="Saint Lucia">Saint Lucia</option>
<option data-zip-required="true" value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option data-zip-required="true" value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option>
<option data-zip-required="true" value="Samoa">Samoa</option>
<option data-zip-required="true" value="San Marino">San Marino</option>
<option data-zip-required="false" value="Sao Tome and Principe">Sao Tome and Principe</option>
<option data-zip-required="false" value="Saudi Arabia">Saudi Arabia</option>
<option data-zip-required="true" value="Senegal">Senegal</option>
<option data-zip-required="true" value="Serbia">Serbia</option>
<option data-zip-required="false" value="Seychelles">Seychelles</option>
<option data-zip-required="false" value="Sierra Leone">Sierra Leone</option>
<option data-zip-required="true" value="Singapore">Singapore</option>
<option data-zip-required="true" value="Slovakia">Slovakia</option>
<option data-zip-required="true" value="Slovenia">Slovenia</option>
<option data-zip-required="false" value="Solomon Islands">Solomon Islands</option>
<option data-zip-required="false" value="Somalia">Somalia</option>
<option data-zip-required="false" value="South Africa">South Africa</option>
<option data-zip-required="true" value="South Korea">South Korea</option>
<option data-zip-required="true" value="Spain">Spain</option>
<option data-zip-required="true" value="Sri Lanka">Sri Lanka</option>
<option data-zip-required="true" value="Sudan">Sudan</option>
<option data-zip-required="false" value="Suriname">Suriname</option>
<option data-zip-required="true" value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option data-zip-required="true" value="Swaziland">Swaziland</option>
<option data-zip-required="true" value="Sweden">Sweden</option>
<option data-zip-required="true" value="Switzerland">Switzerland</option>
<option data-zip-required="false" value="Syrian Arab Republic">Syrian Arab Republic</option>
<option data-zip-required="true" value="Taiwan">Taiwan</option>
<option data-zip-required="true" value="Tajikistan">Tajikistan</option>
<option data-zip-required="false" value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option data-zip-required="true" value="Thailand">Thailand</option>
<option data-zip-required="true" value="Togo">Togo</option>
<option data-zip-required="false" value="Tokelau">Tokelau</option>
<option data-zip-required="false" value="Tonga">Tonga</option>
<option data-zip-required="false" value="Trinidad and Tobago">Trinidad and Tobago</option>
<option data-zip-required="true" value="Tunisia">Tunisia</option>
<option data-zip-required="true" value="Turkey">Turkey</option>
<option data-zip-required="true" value="Turkmenistan">Turkmenistan</option>
<option data-zip-required="true" value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option data-zip-required="false" value="Tuvalu">Tuvalu</option>
<option data-zip-required="false" value="Uganda">Uganda</option>
<option data-zip-required="true" value="Ukraine">Ukraine</option>
<option data-zip-required="false" value="United Arab Emirates">United Arab Emirates</option>
<option data-zip-required="true" value="United Kingdom">United Kingdom</option>
<option data-zip-required="true" value="United States">United States</option>
<option data-zip-required="true" value="Uruguay">Uruguay</option>
<option data-zip-required="true" value="Uzbekistan">Uzbekistan</option>
<option data-zip-required="false" value="Vanuatu">Vanuatu</option>
<option data-zip-required="true" value="Venezuela">Venezuela</option>
<option data-zip-required="true" value="Vietnam">Vietnam</option>
<option data-zip-required="true" value="Virgin Islands, British">Virgin Islands, British</option>
<option data-zip-required="true" value="Virgin Islands, U.s.">Virgin Islands, U.s.</option>
<option data-zip-required="true" value="Wallis and Futuna">Wallis and Futuna</option>
<option data-zip-required="true" value="Western Sahara">Western Sahara</option>
<option data-zip-required="false" value="Yemen">Yemen</option>
<option data-zip-required="true" value="Zambia">Zambia</option>
<option data-zip-required="false" value="Zimbabwe">Zimbabwe</option>
</select>
<script type="text/javascript">
var zipcodeRequired = true;
var defaultCountry = "United States";
// If an autofill token or autofill param is set then the country may be autofilled after we already autofilled state.
// This would trigger a wipe of the state without this conditional
var autofill_state_set = "false"
$("#contribution_addr_country").change(function() {
var country = {
name: $(this).val(),
reqZip: $(this).children('option:selected').data('zip-required')
};
if ($("#addr_state").length > 0) {
if (country.name !== "United States") {
$("label.addr_state").slideUp();
$("#addr_state").slideUp();
$("#addr_state").val("");
} else {
$("label.addr_state").slideDown();
$("#addr_state").slideDown();
if (autofill_state_set !== "true") {
$("#addr_state").val("");
}
}
}
if ($("#contribution_mail_address").length > 0) {
if (country.name !== "United States") {
$("#contribution_mail_address").attr("placeholder", 'Street, City, State')
} else {
$("#contribution_mail_address").attr("placeholder", 'Street')
}
}
if (country.reqZip) {
zipcodeRequired = true;
$("#contribution_zipcode").slideDown();
$("label.zipcode").slideDown();
} else {
zipcodeRequired = false;
$("label.zipcode").slideUp();
$("#contribution_zipcode").slideUp();
$("#contribution_zipcode").val("");
}
});
$(function() {
if ("false" !== 'true') {
$("#contribution_addr_country").val(defaultCountry);
$("#contribution_addr_country").trigger("change");
}
});
</script>
</div>
</div>
</div>
<div aria-label="Street address" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="street_address text-right required" for="street_address" aria-required="true">Street address</label></div>
<div class="col-sm-8"><input aria-label="street_address" class="input-lg form-control" id="street_address" name="contribution[addtnl_fields][street_address]" placeholder="Street address" required="required" type="text" aria-required="true">
</div>
</div>
</div>
<div aria-label="Zipcode" class="row" style="padding: 0.5em 0">
<div class="form-group">
<div class="col-sm-3"><label class="zipcode text-right required" for="contribution_zipcode" aria-required="true" style="">ZIP code</label></div>
<div class="col-sm-8"><input aria-label="contribution_zipcode" class="input-lg form-control" id="contribution_zipcode" name="contribution[zipcode]" placeholder="ZIP or postal code" required="required" type="text" aria-required="true" style="">
<div class="help-block zipcode"></div>
</div>
</div>
</div>
<div class="form-horizontal">
<div class="form-group"><label class="string optional control-label col-sm-3 control-label text-left" for="dd-input">Company</label>
<div class="col-md-8">
<div id="dd-company-name-input" data-doublethedonation-widget-id="G__2">
<div class="dtd-streamlined-plugin"><input type="hidden" name="doubledonation_status" value="no_interaction"><input type="hidden" name="doublethedonation_status" value="no_interaction"><input type="hidden"
name="doublethedonation_entered_text"><input type="hidden" name="doubledonation_company_id"><input type="hidden" name="doublethedonation_company_id"><input type="hidden" name="doubledonation_company_name"><input type="hidden"
name="doublethedonation_company_name">
<div class="dtd-search-box" style="width: 100%; margin-bottom: 0px;">
<div aria-live="assertive" style="display: block; font-size: 0px; color: rgb(255, 255, 255); opacity: 0; position: absolute; height: 0px; margin: 0px; z-index: -99999;"></div>
<div aria-live="polite" style="display: block; font-size: 0px; color: rgb(255, 255, 255); opacity: 0; position: absolute; height: 0px; margin: 0px; z-index: -99999;"></div><input role="listbox" aria-expanded="false"
name="doublethedonation_company_name_input" type="text" id="dd-input" class="dtd-search-input form-control" autocomplete="off" aria-label="Search company" style="width: 100%;" placeholder="See if your company will match your gift">
</div>
</div>
</div>
<div class="input hidden contribution_company_matching_name"><input class="hidden form-control" type="hidden" value="" name="contribution[company_matching_name]" id="contribution_company_matching_name"></div>
<div class="input hidden contribution_company_matching_selected_company_id"><input class="hidden form-control" type="hidden" name="contribution[company_matching_selected_company_id]" id="contribution_company_matching_selected_company_id">
</div>
<div class="input hidden contribution_company_matching_search_text"><input class="hidden form-control" type="hidden" value="" name="contribution[company_matching_search_text]" id="contribution_company_matching_search_text"></div>
<div class="input hidden contribution_company_matching_search_status"><input class="hidden form-control" type="hidden" value="" name="contribution[company_matching_search_status]" id="contribution_company_matching_search_status"></div>
</div>
</div>
</div>
<script src="https://doublethedonation.com/api/js/ddplugin.js" type="text/javascript"></script>
<link href="https://doublethedonation.com/api/css/ddplugin.css" rel="stylesheet">
<style type="text/css">
/* double the donation field styles */
.dtd-company-selected-name {
font-size: 18px;
text-align: left;
}
.Select-menu {
text-align: left;
}
.dtd-search-box {
background: transparent !important;
}
span.wrongcompany a {
color: white !important;
text-decoration: underline;
}
</style>
<script type="text/javascript">
var dtdLabelTimeoutCount = 0;
function updateDDInputField() {
if ($("#dd-input").attr("placeholder") === "Search company name...") {
// Style the double the donation field
$('.dd-company-selected').addClass('font-16 margin-top-10');
$('#dd-input').addClass('form-control');
$('#dd-input').attr('placeholder', 'See if your company will match your gift');
} else if (dtdLabelTimeoutCount < 150) {
dtdLabelTimeoutCount++;
setTimeout(updateDDInputField, 100);
}
}
$(function() {
var form = $('#contribution_form');
form.submit(function(e) {
var dtdCompanyName = $('.dtd-company-selected-name').text();
var dtdCompanyId = $('input[name="doublethedonation_company_id"]').val();
var dtdEnteredText = $('input[name="doublethedonation_entered_text"]').val();
var dtdStatus = $('input[name="doublethedonation_status"]').val();
$('#contribution_company_matching_name').val(dtdCompanyName);
$('#contribution_company_matching_selected_company_id').val(dtdCompanyId);
$('#contribution_company_matching_search_text').val(dtdEnteredText);
$('#contribution_company_matching_search_status').val(dtdStatus);
})
updateDDInputField();
});
</script>
<style type="text/css">
.checkbox-primary input[type="checkbox"]:checked+label::before,
.checkbox-primary input[type="radio"]:checked+label::before {
background-color: #e57200;
border-color: #e57200;
}
.g-recaptcha {
display: inline-block;
margin-bottom: 10px;
}
</style><input aria-hidden="true" aria-label="Country" autocomplete="false" class="contribution-a-zipcode" id="contribution_a_country" name="contribution[a_country]" style="display:none !important" tabindex="-1" type="text" value="">
<div aria-label="terms of service" class="text-left">
<hr class="margin-top-20 margin-bottom-30 visible-sm visible-xs hidden-md hidden-lg">
<div class="checkbox checkbox-primary margin-top-30 margin-bottom-20" id="tos-checkbox"><input class="checkbox" id="contribution_accept_tos" name="contribution[accept_tos]" style="display:inline-block;margin-right: 1em;width:15px;height:15px;"
type="checkbox" value="0"><label class="tos_label" for="contribution_accept_tos" style="text-align: left;">I have read and agree to the <a target="_blank" class="white" href="/terms">terms of service</a> and the
<a target="_blank" class="white" href="/privacy">privacy policy.</a>*</label></div>
<style type="text/css">
.error-text {
color: #fff !important;
background-color: #e01e28 !important;
}
</style>
<div aria-label="checkout button" class="col-md-10 col-md-offset-1">
<script type="text/javascript">
var productType = false ? "SFP Campaign" : "Giving Form"
var canRenderPayPalBtns = false;
var canRenderStripeSdkBtns = false;
function checkAndRenderOrDivider() {
if (canRenderPayPalBtns || canRenderStripeSdkBtns) {
$("#or-divider").show()
}
}
</script><input type="submit" name="commit" value="Go to Checkout" id="payment_button" class="btn-checkout btn-block btn depth-2 darken_hover" style="font-weight: bold; background-color: #e57200; color: #fff; ;" aria-label="Go to Checkout"
data-disable-with="Go to Checkout">
</div>
</div>
<div class="clearfix"></div>
<div class="margin-top-20 text-center required-fields-message bold">* Indicates required field</div>
<script type="text/javascript">
$(document).ready(function() {
trackHeapEvent(2845, 18981, "Form", "View - New donation form for " + productType, {
group: "",
exclude_from_experiments: "false",
tos_control_group: "true",
in_active_tos_consent_jurisdiction: "true"
})
if (false) {
$("#contribution_phantom").on("change", function() {
if ($(this).is(':checked')) {
$("#payment_button").removeClass("hidden");
$("#preview_pay_button").addClass("hidden");
} else {
$("#preview_pay_button").removeClass("hidden");
$("#payment_button").addClass("hidden");
}
});
}
// disabled button and un-check tos on load
var submit = document.querySelector("input[type=submit]");
if (submit !== null) {
submit.removeAttribute("disabled");
}
var tosCheckbox = document.querySelector("#contribution_accept_tos");
if (tosCheckbox) {
tosCheckbox.removeAttribute("checked");
// setup tos onchange event
var tosCheckboxChangeEvent = function(event) {
if (tosCheckbox.checked == true) {
tosCheckbox.value = 1;
} else {
tosCheckbox.value = 0;
}
};
tosCheckbox.onchange = tosCheckboxChangeEvent;
tosCheckboxChangeEvent();
}
// check for tos selected on submit
$("#contribution_form").submit(function(event) {
return checkFormValidity()
});
});
var userNotYetNotifiedAboutMisspelledEmail = true
function checkFormValidity() {
var formIsValid = true;
// verify designation was selected and amount was entered
var allowMultiSplitDesigs = true;
if (allowMultiSplitDesigs) {
$("#multiSplitDesignations select, #multiSplitDesignations input").each(function(select) {
var designationIsInvalid = true && $(this).hasClass("multi-desigs-select") && $(this).val() == "";
var amountIsBlank = $(this).hasClass("amount-input") && ($(this).val() == "" || $(this).val() == 0);
if (designationIsInvalid || amountIsBlank) {
$(this).addClass("input-invalid");
} else {
$(this).removeClass("input-invalid");
$(this).parent(".select2-focusser").removeClass("input-invalid");
}
});
if (hasMultiSplitDesignationValidationErrors()) {
showMultiSplitDesignationError();
formIsValid = false;
} else {
$(".multi-split-designations-errors").hide();
}
if (hasMatchValueError()) {
showMaxMatchValueWarning();
formIsValid = false;
} else {
$(".match-contribution-value-errors").hide();
}
}
// verify that checked affiliations have class years attached to them
var givingFormAffiliationFieldRequired = false
if (false || givingFormAffiliationFieldRequired) {
var checked_affiliations = $("[name^='contribution[selected_affiliations]']:checked");
$("#affiliation-errors").hide();
for (var i = 0; i < checked_affiliations.length; i++) {
var affiliation = checked_affiliations[i];
var affiliation_col_name = affiliation.id.replace("_checked", "");
var affiliation_year_select = $("select[id=selected_affiliations_" + affiliation_col_name + "_0]")[0]
if (affiliation_year_select !== undefined) {
var affiliation_year = affiliation_year_select.value;
if (affiliation_year === "") {
formIsValid = false;
$("#affiliation-errors").html("Please make a selection down below.").show();
}
}
}
}
// verify tos was accepted
var tos = $("#contribution_accept_tos");
if (tos.val() == 0) {
$(".tos_label").addClass("input-invalid error-text");
tos.focus();
$(".tos_label").fadeTo(100, 1.0, function() {
$(".tos_label").fadeTo(100, 0.3);
});
$(".tos_label").fadeTo(100, 0.3, function() {
$(".tos_label").fadeTo(100, 1.0);
});
formIsValid = false;
} else {
$(".tos_label").removeClass("input-invalid error-text");
}
if (false) {
var contribution_value = parseInt($("#contribution_value").val());
if (true) {
if (contribution_value < 5000) {
swal("What a generous gift!", "Please email support@givecampus.com to discuss options for adding matches and challenges under $5,000");
formIsValid = false;
}
}
$('input[type="datetime-local"]').each(function() {
var dateString = this.value;
var year = dateString.split("-")[0];
if (this.validity.badInput) {
swal("Check your start or end date", "Please fill out date AND time information if you choose to enter a start or end date", "error")
formIsValid = false;
} else if (year && year < 2000) {
swal("Date too far back in the past", "You've entered a date too far in the past, please enter a date after the year 2000", "error");
formIsValid = false;
}
})
}
if (false && $("#contribution_phantom").val() !== "true") {
if (false && ("" !== $('#contribution_payer_email').val().toLowerCase()) && false) {
swal({
title: "Warning",
text: "You are logged into your administrator account, and the email address you entered does not match your profile.\n\n" +
"If you are making a gift on behalf of one of your constituents, please logout before returning to this page. " + "That way, the donation will not be tied to your GiveCampus account."
});
formIsValid = false;
}
}
if ($("input.error:visible, label.error:visible, .input-invalid.error-text:visible").length) {
swal({
title: "Error",
text: "One or more required fields are missing/invalid. Please correct them and try again.",
type: "error"
});
var errors = [];
$("label.error:visible, .input-invalid.error-text:visible").each(function() {
errors.push(`${this.htmlFor}: ${this.innerText}`)
})
event.preventDefault();
trackHeapEvent(2845, 18981, "Form", "Click - User attempts to submit pre-form with errors", {
errors: errors.join("; ")
})
}
var submittedEmail = $("#contribution_payer_email").val()
if (userNotYetNotifiedAboutMisspelledEmail && emailHasCommonMisspelling(submittedEmail)) {
formIsValid = false
userNotYetNotifiedAboutMisspelledEmail = false
var submittedEmailDomain = submittedEmail.split("@").pop()
swal({
title: 'Is "' + submittedEmailDomain + '" correct?',
text: "We noticed there might be a typo in your email. If it is correct, please close this window and re-submit!",
type: "warning",
})
}
return formIsValid;
}
function hasMultiSplitDesignationValidationErrors() {
return $('#multiSplitDesignations .input-invalid').length > 0
}
function showMultiSplitDesignationError() {
if (true) {
$(".multi-split-designations-errors").html("You must select a designation and enter an amount or remove the designation.");
} else {
$(".multi-split-designations-errors").html("You must enter an amount or remove the designation.");
}
$(".multi-split-designations-errors").show();
$('html,body').animate({
scrollTop: $(".multi-split-designations-errors").offset().top
});
}
function hasMatchValueError() {
if ($('#contribution_per_unit').length && $('#contribution_per_unit').val().length) {
return parseFloat($('#contribution_per_unit').val()) > parseFloat($($('input#contribution_value')[1]).val())
} else {
return false
}
}
function showMaxMatchValueWarning() {
$(".match-contribution-value-errors").html("You must enter a value less than your maximum value");
$(".match-contribution-value-errors").show();
$('html,body').animate({
scrollTop: $(".match-contribution-value-errors").offset().top
});
}
function emailHasCommonMisspelling(email) {
var commonlyMisspelledGmailServers = "gnail,gmali,gmai,gmal,gmil,gamil".split(",") || []
var commonlyMisspelledYahooServers = "yhoo,yaho".split(",") || []
var commonlyMisspelledMiscEmailServers = "".split(",") || []
var commonlyMisspelledComEmailTLDs = "cm,ocm,om,coom,comm,con,vom".split(",") || []
var commonlyMisspelledNetEmailTLDs = "ne,nt,et".split(",") || []
var commonlyMisspelledMiscEmailTLDs = "co,ed".split(",") || []
// match(/(.*)\.(.*)/) will split the domain at the last occurrence of '.' in case the domain has multiple '.'s
var emailDomain = email.split("@").pop()
var emailServer = emailDomain.match(/(.*)\.(.*)/)?.[1]
var emailTLD = emailDomain.match(/(.*)\.(.*)/)?.[2]
if (commonlyMisspelledGmailServers.includes(emailServer)) {
$("#contribution_payer_email").val(email.replace(emailDomain, "gmail.com"))
return false
} else if (commonlyMisspelledYahooServers.includes(emailServer)) {
$("#contribution_payer_email").val(email.replace(emailDomain, "yahoo.com"))
return false
} else if (commonlyMisspelledMiscEmailServers.includes(emailServer)) {
appendMisspellingParamsToPostRequest(email, "server")
return true
} else if (commonlyMisspelledNetEmailTLDs.includes(emailTLD)) {
$("#contribution_payer_email").val(email.replace(emailTLD, "net"))
return false
} else if (commonlyMisspelledComEmailTLDs.includes(emailTLD)) {
$("#contribution_payer_email").val(email.replace(emailTLD, "com"))
return false
} else if (commonlyMisspelledMiscEmailTLDs.includes(emailTLD)) {
appendMisspellingParamsToPostRequest(email, "TLD")
return true
} else {
return false
}
}
function appendMisspellingParamsToPostRequest(misspelled_email, misspelled_part) {
var emailDetails = {
misspelled_email,
misspelled_part
}
$.each(Object.keys(emailDetails), function(i, key) {
$('<input />').attr('type', 'hidden').attr('name', key).attr('value', emailDetails[key]).appendTo('#contribution_form')
})
}
$(function() {
checkAndRenderOrDivider()
$("#contribution_id_of_designation2").removeAttr("required");
$("#split_my_desig").click(function() {
if ($(this).is(":checked")) {
$("#contribution_id_of_designation2").attr("required", "required");
} else {
$("#contribution_id_of_designation2").removeAttr("required");
}
});
});
</script><br>
</form>
Text Content
* DONATE TO THE UVA ALUMNI ASSOCIATION Your gift to the Alumni Association supports our mission of connecting alumni with each other and the University, while also representing the independent voice and perspectives of alumni. State Fundraising Disclosures If you can’t find the area to which you’d like to give, please visit at.virginia.edu/find. Amount Sign in or create a donor account (Optional) Make this an Ongoing Gift How often would you like this gift to recur? monthly custom (monthly) yearly For how many years? indefinitely 5 4 3 2 1 Designation Select a Designation Alumni Association Annual Fund Jefferson Trust Ridley Scholarship Program General FundSelect a Designation Add Additional Designation If you can’t find the area to which you’d like to give, please use the link at the top of the page. This is a payment on an existing pledge. First name Last name Email Country CanadaUnited KingdomUnited States---------------------------------------------------------------------------------AfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntigua and BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia and HerzegovinaBotswanaBrazilBrunei DarussalamBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCayman IslandsCentral African RepublicChadChileChinaColombiaComorosCongoCook IslandsCosta RicaCote D'IvoireCroatiaCubaCyprusCzech RepublicDemocratic Republic of the CongoDenmarkDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEthiopiaFalkland Islands (Malvinas)Faroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuineaGuinea-BissauGuyanaHaitiHoly See (Vatican City State)HondurasHong KongHungaryIcelandIndiaIndonesiaIran, Islamic Republic ofIraqIrelandIsraelItalyJamaicaJapanJordanKazakhstanKenyaKiribatiKorea, Democratic People's Republic ofKuwaitKyrgyzstanLao People's Democratic RepublicLatviaLebanonLesothoLiberiaLibyan Arab JamahiriyaLiechtensteinLithuaniaLuxembourgMacaoMacedonia, the Former Yugoslav Republic ofMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMexicoMicronesia, Federated States ofMoldova, Republic ofMonacoMongoliaMontserratMoroccoMozambiqueMyanmarNamibiaNauruNepalNetherlandsNetherlands AntillesNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorthern Mariana IslandsNorwayOmanPakistanPalauPalestinePanamaPapua New GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto RicoQatarReunionRomaniaRussiaRwandaSaint HelenaSaint Kitts and NevisSaint LuciaSaint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth KoreaSpainSri LankaSudanSurinameSvalbard and Jan MayenSwazilandSwedenSwitzerlandSyrian Arab RepublicTaiwanTajikistanTanzania, United Republic ofThailandTogoTokelauTongaTrinidad and TobagoTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluUgandaUkraineUnited Arab EmiratesUnited KingdomUnited StatesUruguayUzbekistanVanuatuVenezuelaVietnamVirgin Islands, BritishVirgin Islands, U.s.Wallis and FutunaWestern SaharaYemenZambiaZimbabwe Street address ZIP code Company -------------------------------------------------------------------------------- I have read and agree to the terms of service and the privacy policy.* * Indicates required field * Terms * Privacy * Questions? Email uas@virginia.edu *