PageSourceSearch

https://dona.padrepio.foundation//assets/lugada/js/custom/modal-donation.js?v=1.3

js padrepio.foundation collected 2026-10-03 01:49:56 UTC 18,438 bytes, 437 lines download raw bytes

1;(function($){
2$(document).ready(function(){
3	//CAMBIO tipo di donazione
4	$('.btn-group-tipodonazione .btn').on('click',function(){
5			$(this).parent().parent().find('.btn-group').each(function(){
6        $(this).find('.btn').removeClass('active');
7			});
8			$(this).addClass('active');
9			$('.titolo-dati > div').hide();
10			//scrivi nella dicitura il tipo di donazione
11			$('.importo_descrizione span.testo_tipo_donazione').html($(this).html()).find('span, i, .tooltip').remove();
12			//se è periodica
13			if ($(this).hasClass('btn-periodica')) {
14				$('#modalDonation').find('.frequenza__container').show(); // nuovi btn-group-radio introdotti per OSF – 23/07/2018
15				// $('#modalDonation').find('.frequenza__container').find('.btn').removeClass('active');
16				// $('#modalDonation').find('.frequenza__container').find('.btn').first().click();
17				if ($('#modalDonation').find('input[name="frequenza"]').val()=='' || $('#modalDonation').find('input[name="frequenza"]').val()=='0') {
18					var testo_freq = 'al mese';
19					//se ho salvato la frequenza precedente la uso
20					if($('#modalDonation').find('input[name="frequenza"]').attr('rel-old-frequenza')!=''){
21						var old_frequenza = $('#modalDonation').find('input[name="frequenza"]').attr('rel-old-frequenza');
22						$('#modalDonation').find('input[name="frequenza"]').val(old_frequenza);
23						$('#modalDonation').find('.frequenza__container .btn-group').find('.btn').each(function(){
24							if(parseInt($(this).attr('rel-periodicita'))==old_frequenza){
25								testo_freq = $(this).attr('rel-testo');
26							}
27						});
28						$('#modalDonation .importo_descrizione .well-lg span.periodicita').html(testo_freq);
29						$('#modalDonation').find('input[name="frequenza"]').attr('rel-old-frequenza','');
30					}
31					else{
32						testo_freq = $('#modalDonation').find('.frequenza__container .btn-group').find('.btn').first().attr('rel-testo');
33						$('#modalDonation .importo_descrizione .well-lg span.periodicita').html(testo_freq);
34						$('#modalDonation').find('input[name="frequenza"]').val(1);
35					}
36				}
37
38				$('#modalDonation').find('input[name="tipoDonazione"]').val('P');
39				$('#modalDonation input[name="tipoPagamento"]').val('CC');
40				$('#modalDonation .btn-group-tipoPagamento').hide();
41				if($('#modalDonation .btn-group-tipoPagamentoR').length > 0){
42					$('#modalDonation .btn-group-tipoPagamentoR').show();
43					$('.datiSDD').hide();
44
45					svuotaCampiSDD($('#modalDonation'));
46					$('#modalDonation .btn-group-tipoPagamentoR .btn-cc').addClass('active');
47					$('#modalDonation .btn-group-tipoPagamentoR .btn-sdd').removeClass('active');
48				}
49				$('.titolo-dati-carta').show();
50				$('#modalDonation .btn-group-tipoPagamento .btn-cc').addClass('active');
51				$('.datiCartadiCredito').show();
52				$('#modalDonation .btn-group-tipoPagamento .btn-paypal').removeClass('active');
53				svuotaCampiCC($('#modalDonation'));
54
55				if(modalDonation.tipoPagamento!='CC'){
56					if($(modalDonation.modalName).find('.btn-group-tipoPagamentoR').find(modalDonation.btnPredef).length > 0){
57						$(modalDonation.modalName).find('.btn-group-tipoPagamentoR').find(modalDonation.btnPredef).trigger('click');
58					}
59					else{
60						$(modalDonation.modalName).find('.btn-group-tipoPagamentoR').find('.btn-group').first().find('.btn').trigger('click');
61					}
62				}
63			}
64			else{
65          $('#modalDonation').find('.frequenza__container').hide(); // nuovi btn-group-radio introdotti per OSF – 23/07/2018
66					$('.btn-group-tipoPagamento .btn').removeClass('active');
67					//TODO: abilita paypal
68					$('#modalDonation').find('input[name="tipoDonazione"]').val('S');
69					$('#modalDonation .importo_descrizione .well-lg span.periodicita').html('');
70					var frequenza = $('#modalDonation').find('input[name="frequenza"]').val();
71					$('#modalDonation').find('input[name="frequenza"]').attr('rel-old-frequenza',frequenza);
72					$('#modalDonation').find('input[name="frequenza"]').val('');
73					$('#modalDonation .btn-group-tipoPagamento').show();
74					if($('#modalDonation .btn-group-tipoPagamentoR').length > 0){
75							$('#modalDonation .btn-group-tipoPagamentoR').hide();
76							$('.datiSDD').hide();
77
78							svuotaCampiSDD($('#modalDonation'));
79					}
80					$('.titolo-dati-carta').show();
81					$('#modalDonation input[name="tipoPagamento"]').val('CC');
82					$('#modalDonation .btn-group-tipoPagamento').show();
83					$('#modalDonation .btn-group-tipoPagamento .btn-cc').addClass('active');
84					$('.datiCartadiCredito').show();
85					$('#modalDonation .btn-group-tipoPagamento .btn-paypal').removeClass('active');
86					svuotaCampiCC($('#modalDonation'));
87
88					if(modalDonation.tipoPagamento!='CC'){
89						if($(modalDonation.modalName).find('.btn-group-tipoPagamento').find(modalDonation.btnPredef).length > 0){
90							$(modalDonation.modalName).find('.btn-group-tipoPagamento').find(modalDonation.btnPredef).trigger('click');
91						}
92						else{
93							$(modalDonation.modalName).find('.btn-group-tipoPagamento').find('.btn-group').first().find('.btn').trigger('click');
94						}
95					}
96
97			}
98			//return false;
99	});
100	//CAMBIO tipo di pagamento
101	$('.btn-group-tipoPagamento .btn').on('click',function(){
102			$(this).parent().parent().find('.btn-group').each(function(){
103					$(this).find('.btn').removeClass('active');
104			});
105			$(this).addClass('active');
106			$('.titolo-dati > div').hide();
107			if ($(this).hasClass('btn-cc')) {       //Carta di credito
108				$('#modalDonation input[name="tipoPagamento"]').val('CC');
109				var altezza = parseInt($('.datiCartadiCredito').css('height'));
110				$('.datiCartadiCredito').css('height',0);
111				$('.datiCartadiCredito').show();
112				$('.titolo-dati-carta').show();
113				$('.datiCartadiCredito').stop().animate({'height':altezza},500,'easeInOutQuad',function(){
114						$('.datiCartadiCredito').css('height','auto');
115				});
116
117				$('#form_paypal').hide();
118				svuotaCampiCC($('#modalDonation'));
119				$('#modalDonation .modal-footer > button.btn-dona').show();
120			}
121			else if($(this).hasClass('btn-paypal')){       //Paypal
122				$('#modalDonation input[name="tipoPagamento"]').val('Paypal');
123				$('.titolo-dati-paypal').show();
124				$('.datiCartadiCredito').stop().animate({'height':0},500,'easeInOutQuad',function(){
125						$('.datiCartadiCredito').hide();
126						$('.datiCartadiCredito').css('height','auto');
127				});
128
129				$('#form_paypal').css('display','inline');
130				$('#modalDonation .modal-footer > button.btn-dona').hide();
131				svuotaCampiCC($('#modalDonation'));
132			}
133			else if($(this).hasClass('btn-bonifico')){
134				$('#modalDonation input[name="tipoPagamento"]').val('Bonifico');
135				$('.titolo-dati-banca').show();
136				$('.datiCartadiCredito').stop().animate({'height':0},500,'easeInOutQuad',function(){
137						$('.datiCartadiCredito').hide();
138						$('.datiCartadiCredito').css('height','auto');
139				});
140
141				$('#form_paypal').hide();
142				$('#modalDonation .modal-footer > button.btn-dona').show();
143				svuotaCampiCC($('#modalDonation'));
144			}
145	});
146	if($('.btn-group-tipoPagamentoR').length > 0){
147
148			$('.btn-group-tipoPagamentoR button').on('click',function(){
149				if ($(this).hasClass('active')) return; // previene il doppio select dei pulsanti
150
151				$(this).parent().parent().find('.btn-group').each(function(){
152					$(this).find('button').removeClass('active');
153				});
154				$(this).addClass('active');
155				$('.titolo-dati > div').hide();
156				if ($(this).hasClass('btn-cc')) {       //Carta di credito
157					$('#modalDonation input[name="tipoPagamento"]').val('CC');
158					var altezza = parseInt($('.datiCartadiCredito').css('height'));
159					$('.datiCartadiCredito').css('height',0);
160					$('.datiCartadiCredito').show();
161					$('.titolo-dati-carta').show();
162					$('.datiCartadiCredito').stop().animate({'height':altezza},500,'easeInOutQuad',function(){
163							$('.datiCartadiCredito').css('height','auto');
164					});
165					$('.datiSDD').animate({'height':0},500,'easeInOutQuad',function(){
166							$('.datiSDD').hide();
167							$('.datiSDD').css('height','auto');
168					});
169					svuotaCampiCC($('#modalDonation'));
170					svuotaCampiSDD($('#modalDonation'));
171				}
172				else{       //SDD
173					$('.titolo-dati-carta').hide();
174					$('.titolo-dati-sdd').show();
175					$('#modalDonation input[name="tipoPagamento"]').val('SDD');
176					$('.datiCartadiCredito').stop().animate({'height':0},500,'easeInOutQuad',function(){
177							$('.datiCartadiCredito').hide();
178
179							$('.datiCartadiCredito').css('height','auto');
180					});
181					$('.titolo-dati-sdd').show();
182					var altezza = parseInt($('.datiSDD').css('height'));
183					$('.datiSDD').css('height',0);
184					$('.datiSDD').show();
185					$('.datiSDD').animate({'height':altezza},500,'easeInOutQuad',function(){
186							$('.datiSDD').css('height','auto');
187					});
188					//re-inizializza il suggest
189					elemTownRic = "citta";
190					elemTown = "cittaOut";
191					elemProv = "provincia";
192					elemZip = "cap";
193					elemAddress = "indirizzo";  // oggetto input\output indirizzo
194
195					window.init();
196					svuotaCampiCC($('#modalDonation'));
197					svuotaCampiSDD($('#modalDonation'));
198				}
199			});
200	}
201
202	$('#modalDonation input[name="cf_input"]').on('blur',function(){
203			var valore_cf = $(this).val();
204			$('#modalDonation input[name="cf_input"]').val(valore_cf);
205			var questo = $(this);
206			if(valore_cf!=''){
207				var url = WS_DECODIFICA_CF + 'Webservices/CFdecode/'+valore_cf;
208				$.ajax({
209					method: "POST",
210					url: url,
211					dataType: 'json',
212					success: function(result){
213						if(result.error == 0){
214							var giorno = result.response.giorno;
215							var mese = result.response.mese;
216							var anno = result.response.anno;
217							var comune = result.response.comune[0].comune;
218							$('#modalDonation').find('.comune_nascita span').html(comune);
219							$('#modalDonation').find('.data_nascita span').html(giorno+'/'+mese+'/'+anno);
220							$('#modalDonation').find('.comune_nascita').removeClass('text-danger border-danger');
221							$('#modalDonation').find('.data_nascita').removeClass('text-danger border-danger');
222							$('#modalDonation').find('.comune_nascita').addClass('text-success');
223							$('#modalDonation').find('.data_nascita').addClass('text-success');
224							questo.addClass('cf_valido');
225							$('#modalDonation').find('input[name="cf"]').val(valore_cf);
226						}
227						else{
228							$('#modalDonation').find('.comune_nascita span').html('');
229							$('#modalDonation').find('.data_nascita span').html('');
230							$('#modalDonation').find('.comune_nascita').removeClass('text-success');
231							$('#modalDonation').find('.data_nascita').removeClass('text-success');
232							$('#modalDonation').find('.comune_nascita').addClass('text-danger border-danger');
233							$('#modalDonation').find('.data_nascita').addClass('text-danger border-danger');
234							questo.removeClass('cf_valido');
235							$('#modalDonation').find('input[name="cf"]').val("");
236						}
237					}
238				});
239			}
240			else{
241				$('#modalDonation').find('input[name="cf"]').val("");
242				$('#modalDonation').find('.comune_nascita span').html('');
243				$('#modalDonation').find('.data_nascita span').html('');
244				$('#modalDonation').find('.comune_nascita').removeClass('text-success');
245				$('#modalDonation').find('.data_nascita').removeClass('text-success');
246				$('#modalDonation').find('.comune_nascita').removeClass('text-danger border-danger');
247				$('#modalDonation').find('.data_nascita').removeClass('text-danger border-danger');
248				
249			}
250	});
251
252	$('#modalDonation input[name="nif_input"]').on('blur',function(){
253			var codice_nif = $(this).val();
254			$('#modalDonation input[name="nif_input"]').val(codice_nif);
255			var questo = $(this);
256			if(codice_nif!=''){
257				var url = $('body').attr('rel-baseurl') + 'Webservices/NifValidate/'+codice_nif;
258				$.ajax({
259					method: "POST",
260					url: url,
261					dataType: 'json',
262					success: function(result){
263						if(result.error == 0){
264							questo.addClass('cf_valido');
265							questo.addClass('border-success text-success');
266							questo.removeClass('border-danger text-danger');
267
268							$('#modalDonation .group-cf i').removeClass('fa-times fa-spinner text-danger');
269							$('#modalDonation .group-cf i').addClass('fa-check text-success');
270
271							$('#modalDonation').find('input[name="cf"]').val(codice_nif);
272							$('#modalDonation').find('input[name="cf"]').parent().prepend('<input type="hidden" name="nif_valido" value="OK">');
273							$('.provinciaCF').show();
274							
275						}
276						else{
277							questo.removeClass('cf_valido');
278							questo.removeClass('border-success text-success');
279							questo.addClass('border-danger text-danger');
280							$('#modalDonation .group-cf i').removeClass('fa-check fa-spinner text-success');
281							$('#modalDonation .group-cf i').addClass('fa-times text-danger');
282							$('#modalDonation').find('input[name="cf"]').val(codice_nif);
283							$('.provinciaCF').hide();
284							$('#modalDonation').find('input[name="nif_valido"]').remove();
285						}
286					}
287				});
288			}
289			else{
290				questo.removeClass('border-success text-success');
291				questo.addClass('border-danger text-danger');
292				$('#modalDonation .group-cf i').removeClass('fa-check fa-spinner text-success');
293				$('#modalDonation .group-cf i').addClass('fa-times text-danger');
294				$('#modalDonation').find('input[name="cf"]').val(codice_nif);
295				$('.provinciaCF').hide();
296				$('#modalDonation').find('input[name="nif_valido"]').remove();
297			}
298	});
299
300	$('#modalDonation input[name="provinciaCF"]').on('change',function(){
301		var provincia = $(this).val();
302		$('#modalDonation #provincia').val(provincia);
303	});
304
305
306
307  //SCELTA periodicità
308	$('.btn-group-periodicita .btn-radio-button').on('click',function(){
309    $('.btn-group-periodicita .btn-radio-button').removeClass('active');
310    $(this).addClass('active');
311
312    var testo = $(this).attr('rel-testo');
313    var periodicita = parseInt($(this).attr('rel-periodicita'));
314
315    $('#modalDonation .importo_descrizione .well-lg span.periodicita').html(testo);
316    $('#modalDonation input[name="frequenza"]').val(periodicita);
317  });
318
319  /**
320   **** OLD – dropdown ****
321    * $('.btn-group-tipodonazione .dropdown-menu li a').on('click',function(){
322    * 		var testo = $(this).attr('rel-testo');
323    * 		var periodicita = parseInt($(this).attr('rel-periodicita'));
324    * 		$('#modalDonation .importo_descrizione .well-lg span.periodicita').html(testo);
325    * 		$('#modalDonation input[name="frequenza"]').val(periodicita);
326    *
327    * });
328  */
329	//CAMBIO importo in modal
330	$('#modalDonation .importo_personalizzato').on('blur',function(){
331			var importo = $(this).val();
332			var min_importo = parseInt($('body').attr('rel-minimporto'));
333			if (parseInt(importo)<min_importo){
334					valore = min_importo;
335					alert('Importo min '+simbolo_valuta+min_importo);
336					importo = valore;
337			}
338
339			if ($.isNumeric(importo)) {
340					$('#modalDonation .importo_descrizione .well-lg span.valore').html(simbolo_valuta+' '+importo);
341					$('#modalDonation').find('input[name="importo"]').val(importo);
342			}
343			else{
344					alert('Non è un numero"');
345					$(this).val($('#modalDonation').find('input[name="importo"]').val());
346			}
347
348			return false;
349	});
350
351	//tolgo spazi aggiuntivi nel numero carta
352	$('#modalDonation #nCarta').on('focus',function(){
353			$("#nCarta").val($("#nCarta").val().replace(/\s/g, ""));
354	});
355	//controlla tipo di carta
356	$('#modalDonation #nCarta').on('blur',function(){
357			$('#modalDonation').find('.circuito-non-abilitato').addClass('hidden');
358			$('#modalDonation').find('.btn-dona').removeAttr('disabled');
359			$('.img-cc').hide();
360			var cc = $(this).val();
361			switch ( detectCardType( cc.replace(/\s/g, "") ) ) {
362					case 'ELECTRON':
363							$('.img-cc-electron').show();
364							$('#modalDonation').find('input[name="tipologiaCarta"]').val('VISA');
365							break;
366					case 'MAESTRO':
367							$('.img-cc-maestro').show();
368							$('#modalDonation').find('input[name="tipologiaCarta"]').val('MasterCard');
369							break;
370					case 'VISA':
371							$('.img-cc-visa').show();
372							$('#modalDonation').find('input[name="tipologiaCarta"]').val('VISA');
373							break;
374					case 'MASTERCARD':
375							$('.img-cc-mastercard').show();
376							$('#modalDonation').find('input[name="tipologiaCarta"]').val('MasterCard');
377							break;
378					case 'AMEX':
379							$('.img-cc-amex').show();
380							$('#modalDonation').find('input[name="tipologiaCarta"]').val('Amex');
381							if($('#modalDonation').find('.circuito-non-abilitato').length > 0){
382								$('#modalDonation').find('.circuito-non-abilitato').removeClass('hidden');
383								$('#modalDonation').find('.btn-dona').attr('disabled',true);
384							}
385							break;
386					case 'DINERS':
387							$('.img-cc-diners').show();
388							$('#modalDonation').find('input[name="tipologiaCarta"]').val('Diners');
389							break;
390					case 'JCB':
391							$('.img-cc-jcb').show();
392							$('#modalDonation').find('input[name="tipologiaCarta"]').val('Jcb');
393							break;
394					default:
395							$('.img-cc-generica').show();
396			}
397			$("#nCarta").val(cc_format($("#nCarta").val()));
398			return false;
399
400	});
401
402	//seleziona importi predefiniti anche in modal
403	$('#modalDonation .btn-scelta-importi-personalizzati li a').on('click',function(e){
404			var importo = $(this).attr('rel-valore');
405			$('#modalDonation .importo_personalizzato').val(importo);
406			$('#modalDonation .importo_personalizzato').trigger('blur');
407			return true;
408	});
409
410	//all'apertura della modal
411	$('#modalDonation').on('show.bs.modal', function (e) {
412		//sistema larghezza box importo (solo se > 768)
413		if (window.innerWidth > 768) {
414			setTimeout(function(){
415					var larghezza_col = parseInt($('#modalDonation').find('.input-group-importo-personalizzato').parent().width());
416					var larghezza_importo = parseInt($('#modalDonation').find('.input-group-importo-personalizzato').width());
417					var margine_importo = larghezza_col - larghezza_importo;
418					$('#modalDonation').find('.input-group-importo-personalizzato').css('margin-left',margine_importo);
419			}, 250);
420    }
421
422    $('#modalDonation [data-toggle="tooltip"]').tooltip();
423    $('.importo_descrizione .testo_nome_donatore').html( $('#modalDonation input[name="nome"]').val() );
424	});
425	//Alla chiusura della modal
426	$('#modalDonation').on('hidden.bs.modal', function (e) {
427		modalDonation.clear();
428  });
429
430  //Cambia dicitura tipo di donazione al change del campo nome
431  $('#modalDonation input[name="nome"]').on('blur', function(e){
432    var nome = $(this).val().length > 0 ? $(this).val() : '';
433    $('.importo_descrizione .testo_nome_donatore').html( nome );
434  });
435
436});
437})(jQuery);

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.