PageSourceSearch

https://tcfcanada.org/wp-content/plugins/onx-zakat-shortcode/assets/js/zakat-calculator.js?ver=1.0.0

js tcfcanada.org collected 2026-10-01 05:34:32 UTC 3,142 bytes, 98 lines download raw bytes

1jQuery(document).ready(function($){
2	var total = $('#total');
3	var zakat = $('#zakat');
4	var inputs = $('#zakat-calculator input');
5	var calculate = $('#calculator-calculate');
6	var reset = $('#calculator-reset');
7	var donate = $('#calculator-donate');
8	var zakatForm = $('#give-form-104497-7');
9	var nisab = $('input[name="nisab"]');
10	var nisabCalc = Number($('input[name="nisab"]:checked').val());
11	var zakatCalc = 0;
12	var counter = 0;
13	function parseNum(selector) {
14		let val = $(selector).val();
15		if (typeof val === 'string') {
16			console.log('string');
17			val = val.replace(/,/g, '').trim();
18		}
19		return isNaN(val) || val === '' ? 0 : parseFloat(val);
20	}
21
22	function calculateBtn() {
23		var gold = parseNum('.goldval');
24		var silver = parseNum('#silver');
25		var cashinhand = parseNum('#cashinhand');
26		var cashdeposited = parseNum('#cashdeposited');
27		var cashloans = parseNum('#cashloans');
28		var cashinvestments = parseNum('#cashinvestments');
29		var stock = parseNum('#stock');
30		var credit = parseNum('#credit');
31		var wages = parseNum('#wages');
32		var taxes = parseNum('#taxes');
33
34
35		var totalCalc = (gold+silver+cashinhand+cashdeposited+cashloans+cashinvestments+stock) - (credit+wages+taxes);
36		
37		total.text(totalCalc.toLocaleString('en-US'));
38		if (typeof fbq != 'undefined' && counter < 1) {
39			fbq('track', 'AddToCart');
40			counter++;
41		}
42		if (totalCalc >=  nisabCalc) {
43			zakatCalc = Math.round(totalCalc*0.025);
44			//donate.attr("href", "https://www.tcf.org.pk/zakat/donate-zakat/?de=2&d=" + zakatCalc);
45			zakat.text(zakatCalc.toLocaleString('en-US'));
46		}
47		else {
48			zakat.text("0");
49		}
50	}
51	let inputTimer;
52
53	inputs.on('input', function () {
54		clearTimeout(inputTimer);
55		inputTimer = setTimeout(calculateBtn, 1000);
56	});
57
58	nisab.on('change', function () {
59		nisabCalc = Number($('input[name="nisab"]:checked').val());
60		calculateBtn();
61	});
62
63
64	$('#weightgold').on('input', function() {
65	    var weightgold = parseFloat($(this).val());
66	    var goldValueRaw = $('#prices').data('gold-price');
67	    var goldValue = parseFloat(goldValueRaw.toString().replace(/,/g, ''));
68
69	    console.log("Gold value changed: " + goldValue);
70
71	    if (!isNaN(weightgold) && !isNaN(goldValue)) {
72	        var zakatValue = weightgold * goldValue;
73	        console.log("gold value: " + zakatValue);
74	        $('#gold').val(zakatValue.toFixed(2));
75	    } else {
76	        $('#gold').val('');
77	        console.warn("Invalid input detected: weightgold or goldValue is NaN");
78	    }
79	});
80
81	$('#weightsilver').on('input', function() {
82	    var weightsilver = parseFloat($(this).val());
83	    var silverValueRaw = $('#prices').data('silver-price');
84	    var silverValue = parseFloat(silverValueRaw.toString().replace(/,/g, ''));
85
86	    console.log("Silver value changed: " + silverValue);
87
88	    if (!isNaN(weightsilver) && !isNaN(silverValue)) {
89	        var zakatValue = weightsilver * silverValue;
90	        console.log("silver value: " + zakatValue);
91	        $('#silver').val(zakatValue.toFixed(2));
92	    } else {
93	        $('#silver').val('');
94	        console.warn("Invalid input detected: weightsilver or silverValue is NaN");
95	    }
96	});
97
98});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.