PageSourceSearch

https://www.hills.sydney/wp-content/plugins/nCrafts-formcraft-payp…c936cf985c62f80e08383/assets/form-paypal.js

js hills.sydney collected 2026-10-04 12:31:56 UTC 6,645 bytes, 126 lines download raw bytes

1jQuery(document).bind('formcraft_math_change', function(event, form){
2	setTimeout(function() {
3		form.find('.paypal-cover table').each(function(){
4			paypal = jQuery(this);
5			symbol = paypal.attr('data-symbol');
6			total = 0;
7			thousand = jQuery(this).parents('.fc-form').attr('data-thousand');
8			jQuery(this).find('.pp-items').each(function(){
9
10				var new_name = jQuery(this).find('.pp-sub-item').text();
11				var new_qty = jQuery(this).find('.pp-sub-qty').text();
12				var new_total = jQuery(this).find('.pp-sub-total').text().replace(thousand, '');
13				var index = jQuery(this).attr('data-index');
14
15				new_total = isNaN(parseFloat(new_total)) ? 0 : new_total;
16				
17				new_qty = isNaN(parseFloat(new_qty)) ? 0 : new_qty;
18				new_total = parseFloat(new_total) / parseFloat(new_qty);
19
20				form.parents('.form-live').find('.paypal-form').find('.pp-final-name-'+index).val(new_name);
21				form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+index).val(new_qty);
22				form.parents('.form-live').find('.paypal-form').find('.pp-final-amount-'+index).val(new_total);
23			});
24			jQuery(this).find('.pp-sub-total').each(function(){
25				number = isNaN(parseFloat(jQuery(this).text().replace(thousand, ''))) ? 0 : parseFloat(jQuery(this).text().replace(thousand, ''));
26				total = (parseFloat(total) + parseFloat(number)).toString().replace(/\B(?=(\d{3})+(?!\d))/g, thousand);
27				paypal.parents('.paypal-cover').find('.pp-total').text(symbol+total);
28			});		
29			setTimeout(function(){
30				form.parents('.form-live').find('.paypal-form').find('[name="a3"]').val(form.find('.pp-subs-price').val());
31			}, 100);
32		});
33	}, 750)
34});
35
36jQuery(document).bind('formcraft_submit_trigger', function(event, form, data, abort){
37	form.attr('paypal-hidden', form.find('.form-element-type-PayPal.state-hidden').length)
38})
39jQuery(document).bind('formcraft_submit_result', function(event, form, response){
40	if ( form.parents('.form-live').find('.paypal-form').length > 0 && form.attr('paypal-hidden') == '0' )
41	{
42		if ( response.redirect )
43		{
44			form.parents('.form-live').find('.paypal-form').append('<input type="hidden" name="return" value="'+response.redirect+'">');
45			delete response.redirect;
46		}
47		form.parents('.form-live').find('.paypal-form').append('<input type="hidden" name="custom" value="'+response.submission_id+'">');
48		var length = form.find('.pp-items').length;
49		form.find('.pp-items').each(function(x){
50			var amount = form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+(x+1)).val();
51			if (amount==0) {
52				form.parents('.form-live').find('.paypal-form').find('[name="'+'item_id_'+(x+1)+'"]').remove();
53				form.parents('.form-live').find('.paypal-form').find('.pp-final-name-'+(x+1)).remove();
54				form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+(x+1)).remove();
55				form.parents('.form-live').find('.paypal-form').find('.pp-final-amount-'+(x+1)).remove();
56				var a = x + 2
57				while (a <= length) {
58					console.log(a);
59					form.parents('.form-live').find('.paypal-form').find('[name="'+'item_id_'+a+'"]').attr('name','item_id_'+(a-1));
60					form.parents('.form-live').find('.paypal-form').find('[name="'+'item_name_'+a+'"]').attr('name','item_name_'+(a-1));
61					form.parents('.form-live').find('.paypal-form').find('[name="'+'quantity_'+a+'"]').attr('name','quantity_'+(a-1));
62					form.parents('.form-live').find('.paypal-form').find('[name="'+'amount_'+a+'"]').attr('name','amount_'+(a-1));
63					a++;
64				}
65			}
66		})
67		form.parents('.form-live').find('.paypal-form').trigger('submit');
68	}
69});
70jQuery(document).ready(function(){
71	jQuery('.fc-form').each(function(){
72		form = jQuery(this);
73		if ( form.find('.paypal-cover').length!=0 ) {
74			table = form.find('.paypal-cover table');
75			cover = form.parents('.form-live');
76			uniq = cover.attr('data-uniq');
77
78			if ( table.attr('data-email').trim()=='' )
79			{
80				if (typeof toastr!='undefined') { toastr["error"]("Error: PayPal Email is Required"); }
81			}
82
83
84			pp_url = table.attr('data-mode')=='sandbox' ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';
85			cover.append('<form class="paypal-form" id="pp-form-'+uniq+'" action="'+pp_url+'"></form>');
86			pp_form = jQuery('#pp-form-'+uniq);
87			pp_form.append('<input type="hidden" name="upload" value="1">');
88			pp_form.append('<input type="hidden" name="business" value="'+table.attr('data-email')+'">');
89			pp_form.append('<input type="hidden" name="button_subtype" value="'+table.attr('data-type')+'">');
90			pp_form.append('<input type="hidden" name="currency_code" value="'+table.attr('data-currency')+'">');
91			pp_form.append('<input type="hidden" name="notify_url" value="'+FCPP.paypal_ipn+'">');
92			if ( table.attr('data-pp-type')=='subscription' )
93			{
94				pp_form.append('<input type="hidden" name="cmd" value="_xclick-subscriptions">');
95				pp_form.append('<input type="hidden" name="src" value="1">');
96				pp_form.append('<input type="hidden" name="item_name" value="'+table.attr('data-s-description')+'">');
97				pp_form.append('<input type="hidden" name="a3" value="'+form.find('.pp-subs-price').val()+'">');
98				pp_form.append('<input type="hidden" name="p3" value="'+table.attr('data-s-every')+'">');
99				pp_form.append('<input type="hidden" name="t3" value="'+table.attr('data-s-period')+'">');
100				var frequency = parseInt(table.attr('data-s-frequency'));
101				if ( frequency!=0 && frequency>=2 && frequency<=52 )
102				{
103					pp_form.append('<input type="hidden" name="srt" value="'+table.attr('data-s-frequency')+'">');
104				}
105			}
106			else
107			{
108				pp_form.append('<input type="hidden" name="cmd" value="_cart">');
109				var items = '';
110				var i = 0;
111				table.find('.pp-items').each(function(){
112					i++;
113					new_total = isNaN(parseFloat(jQuery(this).find('.pp-sub-total').text())) ? 0 : jQuery(this).find('.pp-sub-total').text();
114					new_qty = isNaN(parseFloat(jQuery(this).find('.pp-sub-qty').text())) ? 0 : jQuery(this).find('.pp-sub-qty').text();
115					new_total = parseFloat(new_total) / parseFloat(new_qty);
116					new_total = isNaN(parseFloat(new_total)) ? 0 : new_total;
117					items = items + "<input class='pp-final-name-"+i+"' type='hidden' name='item_name_"+i+"' value='"+jQuery(this).find('.pp-sub-item').text()+"'>";
118					items = items + "<input class='pp-final-qty-"+i+"' type='hidden' name='quantity_"+i+"' value='"+jQuery(this).find('.pp-sub-qty').text()+"'>";
119					items = items + "<input class='pp-final-amount-"+i+"' type='hidden' name='amount_"+i+"' value='"+new_total+"'>";
120					items = items + "<input type='hidden' name='item_id_"+i+"' value='"+i+"'>";
121				});
122				pp_form.append(items);
123			}
124		}
125	});
126});

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.