// 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.sevaDate = "04-Sep-2026"; $scope.selectSevaDate = ""; $scope.sevaCustomDate = ""; $scope.sankalpaBtn = false; $scope.finalSevaAmount = ""; $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.selectdefaultSevaName(); } $scope.selectdefaultSevaName = function() { $scope.sevaAmountOption1 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption1 = '501'; $scope.sevaAmountOption2 = ["501"]; $scope.sevaMinimumAmountOption2 = '501'; $scope.sevaAmountOption3 = ["5100","3100","2100","1100"]; $scope.sevaMinimumAmountOption3 = '1100'; $scope.sevaAmountOption4 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption4 = '501'; $scope.sevaAmountOption5 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption5 = '501'; $scope.sevaAmountOption6 = ["108"]; $scope.sevaMinimumAmountOption6 = '108'; $scope.sevaAmountOption7 = ["108"]; $scope.sevaMinimumAmountOption7 = '108'; $scope.sevaAmountOption8 = ["250"]; $scope.sevaMinimumAmountOption8 = '250'; $scope.sevaAmountOption9 = ["501"]; $scope.sevaMinimumAmountOption9 = '501'; $scope.sevaAmountOption10 = ["5100","11100"]; $scope.sevaMinimumAmountOption10 = '5100'; } $scope.dateicon = function() { if($scope.dateOfBirth != "") { $scope.datePickerIcon = false; } else { $scope.datePickerIcon = true; } } $scope.dateicon2 = function() { if($scope.selectSevaDate != "") { $scope.datePickerIcon2 = false; } else { $scope.datePickerIcon2 = true; } } $scope.clearDOB = function() { $scope.dateOfBirth = ""; $scope.dateicon(); } $scope.clearSevaDate = function() { $scope.selectSevaDate = ""; $scope.dateicon2(); } $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.checkCitizen = function() { if(($scope.showtax == true) || ($scope.checkboxes[1] == true)) { $scope.certificateOption = true; $scope.taxOptionBox = false; $scope.taxCheckboxOption = false; $("#taxOption").prop("checked", false); $('.eightg').show(); } else { $('.eightg').hide(); $scope.certificateOption = false; $scope.taxOptionBox = false; $scope.taxCheckboxOption = false; $("#taxOption").prop("checked", 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.profileAddressSection = false; $scope.profileDoorNo = ""; $scope.profileApartmentName = ""; $scope.profileStreetName = ""; $scope.profileAreaLocation = ""; $scope.profileState = ""; $scope.profileCity = ""; $scope.profilePincode = ""; } $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 = "04-Sep-2026"; var val = event; if(val == '1') { $scope.sevaName = 1; if($scope.checkboxes[event] == true) { $scope.showtax = true; $('#selectedSevaName'+val).val("Annadhana Seva"); $('#sevaCode'+val).val("9010"); $('#sevaId'+val).val("9010"); } $scope.sevaAmountOption1 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption1 = '501'; $scope.checkCitizen(); }else if(val == '2') { $scope.sevaName = 2; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Nithya Archana Seva"); $('#sevaCode'+val).val("9001"); $('#sevaId'+val).val("9001"); } $scope.sevaAmountOption2 = ["501"]; $scope.sevaMinimumAmountOption2 = '501'; }else if(val == '3') { $scope.sevaName = 3; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Vishesha Naivedya Seva"); $('#sevaCode'+val).val("9002"); $('#sevaId'+val).val("9002"); } $scope.sevaAmountOption3 = ["5100","3100","2100","1100"]; $scope.sevaMinimumAmountOption3 = '1100'; }else if(val == '4') { $scope.sevaName = 4; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Dhoona Prasad Distribution"); $('#sevaCode'+val).val("9003"); $('#sevaId'+val).val("9003"); } $scope.sevaAmountOption4 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption4 = '501'; }else if(val == '5') { $scope.sevaName = 5; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Vaishnava Bhojana Seva"); $('#sevaCode'+val).val("9004"); $('#sevaId'+val).val("9004"); } $scope.sevaAmountOption5 = ["10000","5100","3100","2100","1100","501"]; $scope.sevaMinimumAmountOption5 = '501'; }else if(val == '6') { $scope.sevaName = 6; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Tulasi Archana Seva"); $('#sevaCode'+val).val("9005"); $('#sevaId'+val).val("9005"); } $scope.sevaAmountOption6 = ["108"]; $scope.sevaMinimumAmountOption6 = '108'; }else if(val == '7') { $scope.sevaName = 7; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Pushpanjali Seva"); $('#sevaCode'+val).val("9006"); $('#sevaId'+val).val("9006"); } $scope.sevaAmountOption7 = ["108"]; $scope.sevaMinimumAmountOption7 = '108'; }else if(val == '8') { $scope.sevaName = 8; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Laddu Gopal Jhulan Seva"); $('#sevaCode'+val).val("9007"); $('#sevaId'+val).val("9007"); } $scope.sevaAmountOption8 = ["250"]; $scope.sevaMinimumAmountOption8 = '250'; }else if(val == '9') { $scope.sevaName = 9; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Makhan Mishri Seva"); $('#sevaCode'+val).val("9008"); $('#sevaId'+val).val("9008"); } $scope.sevaAmountOption9 = ["501"]; $scope.sevaMinimumAmountOption9 = '501'; }else if(val == '10') { $scope.sevaName = 10; if($scope.checkboxes[event] == true) { $scope.showtax = false; $('#selectedSevaName'+val).val("Vastrabharana Seva"); $('#sevaCode'+val).val("9009"); $('#sevaId'+val).val("9009"); } $scope.sevaAmountOption10 = ["5100","11100"]; $scope.sevaMinimumAmountOption10 = '5100'; } $scope.recurring = 'N'; $scope.source = 'CAMPAIGN'; $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(""); $('#seva'+seva+'-O1').removeClass('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+'-O'+btnOption).addClass('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() { // if($scope.finalSevaAmount == '') { // $scope.validateAmount('verifyCustomAmount'); // } else { $scope.processPayment(); // } } // $scope.validateAmount = function(parameter) { // $('.btn').removeClass('added'); // $('#O5').removeClass('added'); // if($scope.sevaName == '' || $scope.sevaName == null) { // $("#errorMsg").html("Please select seva name"); // document.getElementById("sevaName").focus(); // return false; // } else { // $("#errorMsg").html(""); // } // $scope.sevaAmount = ''; // $scope.finalSevaAmount = ''; // $scope.sevaAmountBoxBtn = true; // $("#errorMsg").html(""); // $scope.emailBox = false; // if($scope.sevaAmount == '' && $scope.customAmount == '') { // $("#errorMsg").html("Please choose or enter seva amount"); // document.getElementById("customAmount").focus(); // return false; // } else if($scope.customAmount != ""){ // $('.btn').removeClass('added'); // // $('#O5').addClass('added'); // if (parseInt($scope.customAmount) < parseInt($scope.sevaMinimumAmountOption)) { // $("#errorMsg").html("Seva Amount should be more than ₹. "+$scope.sevaMinimumAmountOption); // document.getElementById("customAmount").focus(); // return false; // } else { // $('.btn').removeClass('added'); // // $('#O5').addClass('added'); // $scope.finalSevaAmount = $scope.customAmount; // $("#errorMsg").html(""); // if(parameter == 'verifyCustomAmount') { // $scope.processPayment(); // } else { // $scope.finalSevaAmount = ""; // } // } // } else if($scope.sevaAmount !="" && $scope.customAmount == ""){ // $scope.finalSevaAmount = $scope.sevaAmount; // $("#errorMsg").html(""); // $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'); if (parseInt(val) < parseInt(sevaMinimumAmountOption)) { $("#errorMsg").html("Minimum Seva Amount ₹"+sevaMinimumAmountOption); $(".error"+dataId).text("Minimum Seva Amount ₹"+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.enableAddress = function() { $scope.checkAddressOption = false; if($scope.bahumana) { if($scope.taxOption) { $scope.addressSection = true; $scope.provideAddress = false; } else { $scope.addressSection = false; $scope.provideAddress = true; } $scope.country = "India"; } else { $scope.addressSection = false; $scope.provideAddress = false; } } $scope.enableTaxOption = function() { $scope.checkAddressOption = false; if($scope.taxOption) { $scope.taxOptionBox = true; $scope.indianProfileCountry = "India"; $scope.addressSection = true; $scope.provideAddress = false; document.getElementById('doorNo').value = ""; document.getElementById('apartmentName').value = ""; document.getElementById('streetName').value = ""; document.getElementById('areaLocation').value = ""; document.getElementById('state').value = ""; document.getElementById('city').value = ""; document.getElementById('pincode').value = ""; } 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.addressSection = false; if($scope.bahumana) { $scope.provideAddress = true; }else{ $scope.provideAddress = false; } } } $scope.provideAddressOption = function() { if($scope.checkAddressOption == 'SAME') { $scope.provideAddress = false; document.getElementById('doorNo').value = ""; document.getElementById('apartmentName').value = ""; document.getElementById('streetName').value = ""; document.getElementById('areaLocation').value = ""; document.getElementById('state').value = ""; document.getElementById('city').value = ""; document.getElementById('pincode').value = ""; } else { $scope.provideAddress = true; } } //Rashi, Nakshatra list var rashi_arr = new Array("I do not know", "Mesha", "Rishaba", "Mithuna", "Karka", "Simha", "Kanya", "Thula", "Vrishchika", "Dhanu", "Makara", "Kumbha", "Meena"); var nakshatra_arr = new Array(); nakshatra_arr[0] = "I do not know|Aswini (Ashwati)|Bharani|Krittika (Karthigai)|Rohini|Mrigasira (Mrigaseersham)|Ardra (Thiruvadhirai)|Punarvasu (Punarpoosam)|Pushyami (Poosam / Pubba)|Aslesha (Ayilyam)|Makha (Magham)|Poorva Phalguni (Pooram)|Uttara Phalguni (Uttaram)|Hasta (Hastham)|Chitra (Chitta / Chittirai)|Swati|Visakha (Visakham)|Anuradha (Anusham)|Jyeshta (Kettai)|Moola (Moolam)|Poorvashada (Pooradam)|Uttarashada (Uttiradam)|Sravana (Thiruvonam)|Dhanishta (Avittam)|Satabhishak (Sadhayam)|Poorvabhadra (Pooratadhi)|Uttarabhadra (Uttiratadhi)|Revati"; nakshatra_arr[1] = "I do not know|Aswini (Ashwati)|Bharani|Krittika (Karthigai)|Rohini|Mrigasira (Mrigaseersham)|Ardra (Thiruvadhirai)|Punarvasu (Punarpoosam)|Pushyami (Poosam / Pubba)|Aslesha (Ayilyam)|Makha (Magham)|Poorva Phalguni (Pooram)|Uttara Phalguni (Uttaram)|Hasta (Hastham)|Chitra (Chitta / Chittirai)|Swati|Visakha (Visakham)|Anuradha (Anusham)|Jyeshta (Kettai)|Moola (Moolam)|Poorvashada (Pooradam)|Uttarashada (Uttiradam)|Sravana (Thiruvonam)|Dhanishta (Avittam)|Satabhishak (Sadhayam)|Poorvabhadra (Pooratadhi)|Uttarabhadra (Uttiratadhi)|Revati"; nakshatra_arr[2] = "Aswini (Ashwati)|Bharani|Krittika (Karthigai)|I do not know"; nakshatra_arr[3] = "Krittika (Karthigai)|Rohini|Mrigasira (Mrigaseersham)|I do not know"; nakshatra_arr[4] = "Mrigasira (Mrigaseersham)|Ardra (Thiruvadhirai)|Punarvasu (Punarpoosam)|I do not know"; nakshatra_arr[5] = "Punarvasu (Punarpoosam)|Pushyami (Poosam / Pubba)|Aslesha (Ayilyam)|I do not know"; nakshatra_arr[6] = "Makha (Magham)|Poorva Phalguni (Pooram)|Uttara Phalguni (Uttaram)|I do not know"; nakshatra_arr[7] = "Uttara Phalguni (Uttaram)|Hasta (Hastham)|Chitra (Chitta / Chittirai)|I do not know"; nakshatra_arr[8] = "Chitra (Chitta / Chittirai)|Swati|Visakha (Visakham)|I do not know"; nakshatra_arr[9] = "Visakha (Visakham)|Anuradha (Anusham)|Jyeshta (Kettai)|I do not know"; nakshatra_arr[10] = "Moola (Moolam)|Poorvashada (Pooradam)|Uttarashada (Uttiradam)|I do not know"; nakshatra_arr[11] = "Uttarashada (Uttiradam)|Sravana (Thiruvonam)|Dhanishta (Avittam)|I do not know"; nakshatra_arr[12] = "Dhanishta (Avittam)|Satabhishak (Sadhayam)|Poorvabhadra (Pooratadhi)|I do not know"; nakshatra_arr[13] = "Poorvabhadra (Pooratadhi)|Uttarabhadra (Uttiratadhi)|Revati|I do not know"; $scope.populateNakshatra = function(rashiID, nakshatraID) { var rashiIndex = document.getElementById(rashiID).selectedIndex; var nakshatraElement = document.getElementById(nakshatraID); nakshatraElement.length = 0; // Fixed by Julian Woods nakshatraElement.options[0] = new Option('Nakshatra', ''); nakshatraElement.selectedIndex = 0; var nakshatra = nakshatra_arr[rashiIndex].split("|"); for (var i = 0; i < nakshatra.length; i++) { nakshatraElement.options[nakshatraElement.length] = new Option(nakshatra[i], nakshatra[i]); } } $scope.populateRashi = function(rashiID, nakshatraID) { // given the id of the