// MODULE var onlineCampaignApp = angular.module("campaignApp", []); onlineCampaignApp.filter("INR", function () { return function (input) { if (!isNaN(input)) { var currencySymbol = ""; //var output = Number(input).toLocaleString('en-IN'); <-- This method is not working fine in all browsers! var result = input.toString().split("."); var lastThree = result[0].substring(result[0].length - 3); var otherNumbers = result[0].substring(0, result[0].length - 3); if (otherNumbers != "") lastThree = "," + lastThree; var output = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree; /* if (result.length > 1) { output += "." + result[1]; } */ return currencySymbol + output; } }; }); // CONTROLLERS onlineCampaignApp.controller( "campaignCtrl", function ($rootScope, $scope, $http, $sce, $timeout, $filter, $interval) { $scope.pageLoad = function () { $scope.sevaAmountBox = false; $scope.sevaAmountBoxBtn = false; $scope.emailBox = false; $scope.otpBox = false; $scope.sevaAmount = ""; $scope.customAmount = ""; $("#errorMsg").html(""); $scope.emailTB = false; $scope.otpTB = false; $scope.otpVerified = true; $scope.emailId = ""; $scope.otp = ""; $scope.addressBox = false; $scope.addressSection = false; $scope.sevaRashi1 = ""; $scope.processPaymentBtn = false; $scope.sevaDateOption = true; $scope.selectSevaDate = ""; $scope.sevaCustomDate = ""; $scope.sankalpaBtn = false; $scope.finalSevaAmount = ""; // $scope.selectSevaName('1'); $scope.btnText = "Read more"; $scope.dots = true; $scope.more = false; $scope.taxOptionBox = false; $scope.certificateOption = false; $scope.amountOptionBtn = false; $scope.profileAddressSection = false; $scope.provideAddress = false; $scope.addressSection = false; $scope.taxOption = ""; $scope.customLamp = false; $scope.abhishekaSeva = false; $scope.datePickerIcon = true; $scope.datePickerIcon2 = true; $scope.mobileBanner = true; $scope.desktopBanner = true; $scope.certificateOption = true; $scope.donorPAN = ""; }; $scope.readMore = function () { if ($scope.dots === false) { $scope.dots = true; $scope.more = false; $scope.btnText = "Read more"; } else { $scope.dots = false; $scope.more = true; $scope.btnText = "Read less"; } }; $scope.checkboxes = {}; $scope.selectSevaName = function (sevaId) { $(".openDiv" + sevaId).show(); $scope.checkboxes[sevaId] = true; $scope.showSevaAmount(sevaId); }; $scope.selectMobSevaName = function (sevaId) { $("#options" + sevaId).prop("disabled", false); $scope.checkboxes[sevaId] = true; $scope.showSevaAmount(sevaId); }; $(".eightg").hide(); $scope.showSevaAmount = function (event) { $scope.emailBox = false; $scope.showtax = false; $scope.selectSevaDate = ""; var val = event; if (val == "1") { $scope.sevaName = 1; if ($scope.checkboxes[event] == true) { $("#selectedSevaName" + val).val("Anna-Daan Seva"); $("#sevaCode" + val).val("481"); $("#sevaId" + val).val("481"); } $scope.sevaAmountOption1 = [ "1000", "2000", "4000", "11000", "5001", "7501", "10001", "15001", ]; $scope.sevaMinimumAmountOption1 = "1"; } else if (val == "2") { $scope.sevaName = 2; if ($scope.checkboxes[event] == true) { $("#selectedSevaName" + val).val("Gau Poshan Seva"); $("#sevaCode" + val).val("447"); $("#sevaId" + val).val("447"); } $scope.sevaAmountOption2 = [ "500", "1000", "2500", "5000", "5001", "7501", "10001", "15001", ]; $scope.sevaMinimumAmountOption2 = "1"; } else if (val == "3") { $scope.sevaName = 3; if ($scope.checkboxes[event] == true) { $("#selectedSevaName" + val).val("Yagna Seva"); $("#sevaCode" + val).val("448"); $("#sevaId" + val).val("448"); } $scope.sevaAmountOption3 = [ "1001", "2500", "5100", "11000", "7508", "10108", "15108", "25108", ]; $scope.sevaMinimumAmountOption3 = "1"; } else if (val == "4") { $scope.sevaName = 4; if ($scope.checkboxes[event] == true) { $("#selectedSevaName" + val).val("Mandir Nirman Seva"); $("#sevaCode" + val).val("449"); $("#sevaId" + val).val("449"); } $scope.sevaAmountOption4 = [ "2100", "10500", "21000", "52500", "5008", "7508", "10108", "15108", ]; $scope.sevaMinimumAmountOption4 = "1"; } else if (val == "5") { //Laddu Gopal Abhishek Seva $scope.sevaName = 5; if ($scope.checkboxes[event] == true) { $("#selectedSevaName" + val).val("Laddu Gopal Abhishek Seva"); $("#sevaCode" + val).val("450"); $("#sevaId" + val).val("450"); } $scope.sevaAmountOption5 = [ "11000", "5000", "2000", "1008", "501", "250", "10001", "15001", ]; $scope.sevaMinimumAmountOption5 = "1"; } $scope.recurring = "N"; $scope.source = "CAMPAIGN"; $scope.sevaDate = ""; $scope.sevaCustomDate = "Y"; $scope.sevaDateOption = true; $scope.amountOptionBtn = true; //$scope.finalSevaAmount = $scope.sevaAmountOption; if ($scope.sevaName != "") { $scope.sevaAmountBox = true; $scope.sevaAmountBoxBtn = true; } else { $scope.sevaAmountBox = false; $scope.sevaAmountBoxBtn = false; $scope.emailBox = false; } }; $scope.selectedAmount = function (amount, btnOption, seva) { $(".error" + seva).text(""); if (btnOption == "1") { $("#seva" + seva + "-O1").addClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "2") { $("#seva" + seva + "-O2").addClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "3") { $("#seva" + seva + "-O3").addClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "4") { $("#seva" + seva + "-O4").addClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "5") { $("#seva" + seva + "-O5").addClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "6") { $("#seva" + seva + "-O6").addClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "7") { $("#seva" + seva + "-O7").addClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#seva" + seva + "-O8").removeClass("added"); $("#otheramt" + seva).val(""); } else if (btnOption == "8") { $("#seva" + seva + "-O8").addClass("added"); $("#seva" + seva + "-O2").removeClass("added"); $("#seva" + seva + "-O3").removeClass("added"); $("#seva" + seva + "-O1").removeClass("added"); $("#seva" + seva + "-O5").removeClass("added"); $("#seva" + seva + "-O4").removeClass("added"); $("#seva" + seva + "-O7").removeClass("added"); $("#seva" + seva + "-O6").removeClass("added"); $("#otheramt" + seva).val(""); } $("#finalSevaAmount" + seva).val(amount); var hiddenInputs = document.getElementsByName("finalSevaAmount[]"); // Calculate the sum var sum = 0; for (var i = 0; i < hiddenInputs.length; i++) { sum += parseFloat(hiddenInputs[i].value) || 0; // Ensure to parse as float, handle NaN } console.log(sum); if (sum != 0) { $(".dontprice").text("Donate ₹ " + sum); } $("#errorMsg").html(""); }; $scope.verifyForm = function () { $scope.processPayment(); }; $scope.validateAmount = function (event) { var val = event.target.value; var dataId = event.target.getAttribute("data-id"); var sevaMinimumAmountOption = event.target.getAttribute("data-minprice"); $("#finalSevaAmount" + dataId).val(""); $(".dontprice").text("Donate"); var hdintp = document.getElementsByName("finalSevaAmount[]"); var sm = 0; for (var i = 0; i < hdintp.length; i++) { sm += parseFloat(hdintp[i].value) || 0; // Ensure to parse as float, handle NaN } if (sm != 0) { $(".dontprice").text("Donate ₹ " + sum); } $("#seva" + dataId + "-O1").removeClass("added"); $("#seva" + dataId + "-O2").removeClass("added"); $("#seva" + dataId + "-O3").removeClass("added"); $("#seva" + dataId + "-O4").removeClass("added"); $("#seva" + dataId + "-O5").removeClass("added"); $("#seva" + dataId + "-O6").removeClass("added"); $("#seva" + dataId + "-O7").removeClass("added"); $("#seva" + dataId + "-O8").removeClass("added"); if (parseInt(val) < parseInt(sevaMinimumAmountOption)) { $("#errorMsg").html( "Seva Amount should be more than ₹ " + sevaMinimumAmountOption ); $(".error" + dataId).text( "Seva Amount should be more than ₹ " + sevaMinimumAmountOption ); return false; } else { $(".error" + dataId).text(""); $("#finalSevaAmount" + dataId).val(val); var hiddenInputs = document.getElementsByName("finalSevaAmount[]"); // Calculate the sum var sum = 0; for (var i = 0; i < hiddenInputs.length; i++) { sum += parseFloat(hiddenInputs[i].value) || 0; // Ensure to parse as float, handle NaN } console.log(sum); if (sum != 0) { $(".dontprice").text("Donate ₹ " + sum); } $("#errorMsg").html(""); } }; $scope.enableTaxOption = function () { $scope.checkAddressOption = false; if ($scope.taxOption) { $scope.taxOptionBox = true; $scope.indianProfileCountry = "India"; } else { $scope.taxOptionBox = false; document.getElementById("donorPAN").value = ""; document.getElementById("indianProfileDoorNo").value = ""; document.getElementById("indianProfileApartmentName").value = ""; document.getElementById("indianProfileStreetName").value = ""; document.getElementById("indianProfileAreaLocation").value = ""; document.getElementById("indianProfileState").value = ""; document.getElementById("indianProfileCity").value = ""; document.getElementById("indianProfilePincode").value = ""; } }; $scope.processPayment = function () { var checkedCheckboxes = $(".role-checkbox:checked"); var numOfChebox = checkedCheckboxes.length; if (numOfChebox == 0) { $("#errorMsg").html("Please select any seva"); return false; } // Assuming your checkboxes are associated with an array in your model $scope.next = true; angular.forEach($scope.checkboxes, function (value, key) { if (value) { var finalSevaAmountField = angular.element("#finalSevaAmount" + key); if ( finalSevaAmountField.val() == "" || finalSevaAmountField.val() == null ) { $scope.next = false; } } }); // if ($scope.next == false) { // $("#errorMsg").html("Please select the donation amount"); // return false; // } // if ($scope.sevaDate == "") { // if ($scope.selectSevaDate == "" || $scope.selectSevaDate == null) { // $("#errorMsg").html("Please select seva date"); // document.getElementById("selectSevaDate").focus(); // return false; // } else { // $scope.sevaDate = $scope.selectSevaDate; // } // } if ($scope.donorName == null || $scope.donorName == "") { $("#errorMsg").html("Please enter your name"); document.getElementById("donorName").focus(); return false; } else { $("#errorMsg").html(""); } $scope.donorEmailId = document.getElementById("donorEmailId").value; if ($scope.donorEmailId == "") { $("#errorMsg").html("Please enter your email id"); document.getElementById("donorEmailId").focus(); return false; } else if ($scope.donorEmailId != "") { if (!isValidateEmail($scope.donorEmailId)) { $("#errorMsg").html( $scope.donorEmailId + " not a proper Email Address." ); document.getElementById("donorEmailId").focus(); return false; } else { $("#errorMsg").html(""); } } if ($scope.donorMobile == null || $scope.donorMobile == "") { $("#errorMsg").html("Please enter mobile number"); document.getElementById("donorMobile").focus(); return false; } else if (parseInt($scope.donorMobile) <= 0) { $("#errorMsg").html("Invalid mobile number"); document.getElementById("donorMobile").focus(); return false; } else if ($scope.donorMobile != "" || $scope.donorMobile != null) { var result = checkValidMobile($scope.donorMobile); if (result == false) { $("#errorMsg").html("Invalid mobile number"); document.getElementById("donorMobile").focus(); return false; } else { $("#errorMsg").html(""); } } else { $("#errorMsg").html(""); } var regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/; panValue = document.getElementById("donorPAN").value; if ($scope.taxOption) { if ( document.getElementById("donorPAN").value == null || document.getElementById("donorPAN").value == "" ) { $("#errorMsg").html("Please enter PAN number"); return false; } else { if (regpan.test(panValue) == false) { $("#errorMsg").html("Invalid PAN"); document.getElementById("donorPAN").focus(); return false; } } if ( $scope.indianProfileDoorNo == null || $scope.indianProfileDoorNo == "" ) { $("#errorMsg").html("Please enter the door number"); document.getElementById("indianProfileDoorNo").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileApartmentName == null || $scope.indianProfileApartmentName == "" ) { $("#errorMsg").html( "Please enter the house / apartment / building name" ); document.getElementById("indianProfileApartmentName").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileStreetName == null || $scope.indianProfileStreetName == "" ) { $("#errorMsg").html("Please enter the street name"); document.getElementById("indianProfileStreetName").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileAreaLocation == null || $scope.indianProfileAreaLocation == "" ) { $("#errorMsg").html("Please enter the location / area"); document.getElementById("indianProfileAreaLocation").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileCountry == null || $scope.indianProfileCountry == "" ) { $("#errorMsg").html("Please select the country"); document.getElementById("indianProfileCountry").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileState == null || $scope.indianProfileState == "" ) { $("#errorMsg").html("Please select the state"); document.getElementById("indianProfileState").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfileCity == null || $scope.indianProfileCity == "" ) { $("#errorMsg").html("Please enter the city"); document.getElementById("indianProfileCity").focus(); return false; } else { $("#errorMsg").html(""); } if ( $scope.indianProfilePincode == "" || $scope.indianProfilePincode == null ) { $("#errorMsg").html("Please enter your pincode"); document.getElementById("indianProfilePincode").focus(); return false; } else if (parseInt($scope.indianProfilePincode) <= 0) { $("#errorMsg").html("Invalid pincode"); document.getElementById("indianProfilePincode").focus(); return false; } else if ( $scope.indianProfilePincode != "" || $scope.indianProfilePincode != null ) { var result = checkValidPincode($scope.indianProfilePincode); if (result == false) { $("#errorMsg").html("Invalid pincode"); document.getElementById("indianProfilePincode").focus(); return false; } else { $("#errorMsg").html(""); } } else { $("#errorMsg").html(""); } } $scope.donorCount = document.getElementById("noOfDonor").value; $scope.paymentOption = "Domestic"; $scope.donorNationality = "I"; document.campaignForm.paymentOptions.value = $scope.paymentOption; document.campaignForm.recurring.value = $scope.recurring; document.campaignForm.source.value = $scope.source; document.campaignForm.sevaDate.value = $scope.sevaDate; document.campaignForm.name.value = $scope.donorName; document.campaignForm.mobile.value = $scope.donorMobile; document.campaignForm.nationality.value = $scope.donorNationality; document.campaignForm.emailId.value = $scope.donorEmailId; document.campaignForm.pan.value = $scope.donorPAN; $scope.processPaymentBtn = true; document.campaignForm.action = "actions/process-donation"; document.campaignForm.submit(); }; } ); function verifySpecialCharacter(stringValue) { //Regex for Valid Characters i.e. Alphabets, Numbers and Space. var regex = /^[0-9]+$/; //Validate TextBox value against the Regex. var isValid = regex.test(stringValue); if (!isValid) { return false; } else { return true; } }