removeLoader();
let localeDescope = ["eude", "euit"];
let eMailPattern = /^[\w]{1,}[\w.+-]{0,}@[\w-]{2,}([.][a-zA-Z]{2,}|[.][\w-]{2,}[.][a-zA-Z]{2,})$/;
function initializeMap() {
setMapObjects({addressObject: document.getElementById("donator_address"), cityObject: document.getElementById("donator_city_name"), stateObject: document.getElementById("donator_state_name")});
setMapObjects({cityObject: document.getElementById("cum_city_name"), stateObject: document.getElementById("cum_state_name"), countryObject: document.getElementById("cum_country_name")});
}
setMandatoryPAN();
getDonationParameters();
let pgKey = "";
let unit = "KTSWT";
if ((jump = getUrlParameter("leap")) != "") {
purposeList = $("#" + jump + "-button").attr("data-id");
controlDonationScopeDropdown(purposeList);
$("#" + jump + "-button").click();
}
function getDonationParameters() {
try {
showLoader();
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
removeLoader();
if (this.responseText == "")
Swal.fire({ html: gets("A1007"), icon: "error" });
else {
donationParameters = JSON.parse(this.responseText);
pgKey = donationParameters.payment_gateway_key;
document.getElementById("disclaimer_text").innerHTML = gets("A1015");
consentTextControl();
}
}
}
var frmData = new FormData();
xhr.open("POST", getPathName() + "services/donation_parameters.uget.php");
xhr.send(frmData);
if (typeof(event) !== "undefined") event.preventDefault();
} catch (error) {
Swal.fire({ html: "Exception: " + error.message + ", " + arguments.callee.name, icon: "error" });
} finally {
// Do nothing
}
}
function controlDonationScopeDropdown(dataId) {
var element = document.getElementById('donator_scope');
var values = dataId.split(",");
for (ctr = 0; ctr < element.options.length; ctr++) {
element[ctr].selected = values.includes(element[ctr].value);
element[ctr].style.display = (values.includes(element[ctr].value) ? "block" : "none");
}
checkOpenOptions = 0;
for (ctr = 0; ctr < element.options.length; ctr++) {
if (element[ctr].style.display != "none") checkOpenOptions++;
}
if (checkOpenOptions == 0)
for (ctr = 0; ctr < element.options.length; ctr++)
element[ctr].style.display = "block";
$('#donator_scope').val(values[0]);
refreshSelectPicker($('#donator_scope'));
consentTextControl();
}
function controlSubmit() {
document.getElementById("donate_now").disabled = true;
if (document.getElementById("consent").value == "YES") document.getElementById("donate_now").disabled = false;
}
function consentTextControl() {
clearError("donator_scope");
document.getElementById("consent_text").innerHTML = "";
if (document.getElementById("donator_scope").value != "") {
document.getElementById("consent_text").innerHTML = gets("A1016").replace("{{scope}}", document.getElementById("donator_scope").value);
}
}
function setMandatoryPAN() {
document.getElementById("donator_pan_information").required = false;
if (document.getElementById("donation_amount").value >= 1)
document.getElementById("donator_pan_information").required = true;
}
function formDonationValidate() {
rValue = true;
eMailPattern = /^[\w]{1,}[\w.+-]{0,}@[\w-]{2,}([.][a-zA-Z]{2,}|[.][\w-]{2,}[.][a-zA-Z]{2,})$/;
validationFailedFields = "
Check the following fields:
";
if (document.getElementById("donation_amount").value == 0) {
setError("donation_amount");
validationFailedFields += getLabel(document.getElementById("donation_amount"));
rValue = false;
}
if (document.getElementById("donator_scope").value == "") {
setError("donator_scope");
validationFailedFields += getLabel(document.getElementById("donator_scope"));
rValue = false;
}
if (document.getElementById("donation_amount").value >= 1 && (document.getElementById("donator_pan_information").value.trim() == "" || !validatePANFormat(document.getElementById("donator_pan_information").value))) {
setError("donator_pan_information");
validationFailedFields += getLabel(document.getElementById("donator_pan_information"));
Swal.fire({ html: gets("A1008"), icon: "error" });
rValue = false;
}
if (document.getElementById("donator_name").value == "") {
setError("donator_name");
validationFailedFields += getLabel(document.getElementById("donator_name"));
rValue = false;
}
if (document.getElementById("donator_address").value == "") {
setError("donator_address");
validationFailedFields += getLabel(document.getElementById("donator_address"));
rValue = false;
}
if (!validatePhoneNumber(document.getElementById("donator_mobile_number").value) || document.getElementById("donator_mobile_number").value == "") {
setError("donator_mobile_number");
validationFailedFields += getLabel(document.getElementById("donator_mobile_number"));
rValue = false;
}
if (!emailPattern.test(document.getElementById("donator_email_id").value)) {
setError("donator_email_id");
validationFailedFields += getLabel(document.getElementById("donator_email_id"));
rValue = false;
}
if (document.getElementById("donator_city_name").value.trim() == "") {
setError("donator_city_name");
validationFailedFields += getLabel(document.getElementById("donator_city_name"));
rValue = false;
}
if (document.getElementById("donator_state_name").value.trim() == "") {
setError("donator_state_name");
validationFailedFields += getLabel(document.getElementById("donator_state_name"));
rValue = false;
}
if (rValue == false) {
Swal.fire({
html: gets("A1017") + "
" + validationFailedFields,
icon: "error"
});
}
return rValue;
}
function proceedWithDonation(event) {
if (formDonationValidate()) {
try {
showLoader();
orderId = "";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
removeLoader();
orderId = this.responseText;
if (this.responseText == "PAN_CHECK_SYSTEM_ERROR") {
Swal.fire({
html: gets("A1009"),
icon: "error"
});
} else if (this.responseText == "PAN_CHECK_FAILED") {
setError("donator_pan_information");
Swal.fire({
html: gets("A1010"),
icon: "error"
});
} else if (this.responseText == "INVALID_MAIL_ID") {
setError("donator_email_id");
Swal.fire({
html: gets("A1018"),
icon: "error"
});
} else if (this.responseText == "FAILED") {
Swal.fire({
html: gets("A1011"),
icon: "error"
});
} else if (pgKey != "") {
var options = {
"key": pgKey,
"amount": document.getElementById("donation_amount").value * 100,
"name": "Donations",
"description": "Kalki Tejomaya Social Welfare Trust",
"order_id": (orderId.substring(0, 4) == "TEST" ? "" : orderId),
"modal": {
"ondismiss": function() {
Swal.fire({
html: gets("A1012"),
icon: "error"
});
}
},
"image": "https://maitribodh.org/datta/images/logo_ktswt.png",
"handler": function(response) {
updateDonation(response.razorpay_payment_id, orderId);
},
"prefill": {
"name": document.getElementById("donator_name").value,
"email": document.getElementById("donator_email_id").value,
"contact": document.getElementById("donator_mobile_number").value
},
"notes": {
"address": "KTSWT"
},
"theme": {
"color": "#F37254"
}
};
var pgModal = new Razorpay(options);
pgModal.open();
}
}
}
var frmData = new FormData();
frmData.set("caller_name", "Donations");
frmData.set("form_data", getFormValues("frmDonations"));
frmData.set("unit", unit);
frmData.set("program_type", "donations");
frmData.set("fee", document.getElementById("donation_amount").value);
frmData.set("email_id_for_validation", document.getElementById("donator_email_id").value);
frmData.set("pan", document.getElementById("donator_pan_information").value);
frmData.set("full_name_entered", document.getElementById("donator_name").value);
xhr.open("POST", getPathName() + "services/form_data.log.php");
xhr.send(frmData);
if (typeof(event) !== "undefined") event.preventDefault();
} catch (error) {
Swal.fire({ html: gets("E9999", error.message, arguments.callee.name), icon: "error" });
} finally {
// Do nothing
}
}
}
function updateDonation(pgResponse, orderId) {
try {
showLoader();
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
removeLoader();
if (this.responseText == "FAILED")
Swal.fire({ html: gets("A1013"), icon: "error" });
else {
Swal.fire({
html: gets("A1014"),
icon: "info"
}).then(() => {
receiptWindow = window.open("", "_blank");
receiptWindow.document.write(this.responseText);
receiptWindow.focus();
});
}
}
}
var frmData = new FormData();
frmData.set("donation_amount", document.getElementById("donation_amount").value);
frmData.set("scope", document.getElementById("donator_scope").value);
frmData.set("pan_information", document.getElementById("donator_pan_information").value);
frmData.set("name", document.getElementById("donator_name").value);
frmData.set("mobile_number", document.getElementById("donator_mobile_number").value);
frmData.set("gender", document.getElementById("donator_gender").value);
frmData.set("address", document.getElementById("donator_address").value);
frmData.set("city_name", document.getElementById("donator_city_name").value);
frmData.set("state_name", document.getElementById("donator_state_name").value);
frmData.set("email_id", document.getElementById("donator_email_id").value);
frmData.set("order_id", orderId);
frmData.set("payment_reference", pgResponse);
xhr.open("POST", getPathName() + "services/donations.maintain.php");
xhr.send(frmData);
if (typeof(event) !== "undefined") event.preventDefault();
} catch (error) {
Swal.fire({ html: "Exception: " + error.message + ", " + arguments.callee.name, icon: "error" });
} finally {
// Do nothing
}
}
$("input[name='donation_amount']").TouchSpin({
min: 1,
max: 2500000,
step: 1,
decimals: 0,
postfix: 'INR'
});