1!function (e) { 2 "use strict"; 3 e(document).ready(function () { 4 e(".donation-form").each(function () { 5 var t = e(this), // le formulaire 6 n = t.find(".amount-button"), // conteneur des boutons de montant 7 a = t.find(".custom-amount-input"), // conteneur du champ montant libre 8 i = t.find('input[name="custom_amount"]'), // champ montant libre 9 o = t.find('input[name="email"]'), // champ email 10 s = t.find('input[name="is_company"]'), // CB entreprise 11 r = t.find(".tax-deduction-info"), // conteneur du message deduction 12 dr = t.find(".don-resultat"), // resultat 13 d = t.find(".final-cost"), // montant restant 14 c = t.find(".tax-rate-info"), // texte explication pourcentage 15 l = t.find(".donation-submit"), // bouton d'envoi 16 p = "10", 17 pcent = nc_form_don_pourcentage_ent, // pourcentage de déduction pour les entreprises 18 pcpart = nc_form_don_pourcentage_part // pourcentage de déduction pour les particuliers 19 ; 20 21 // Met a jour les infos de montants dans le texte 22 function m() { 23 var e; 24 e = "custom" === p ? (parseFloat(i.val()) || 0) : (parseFloat(p) || 0); // recupere le montant du bouton ou du champ custom 25 var t = s.is(":checked"), // si la CB entreprise est cochee 26 n = e * (t ? pcent : pcpart) / 100, // calcul de la déduction 27 a = e - n; // calcul du reste à charge 28 if (e > 0) { 29 d.text(a.toFixed(2) + "â¬"); 30 var o = t ? "(" + pcent + "% de déduction fiscale pour les entreprises)" : "(" + pcpart + "% de déduction fiscale pour les particuliers)"; 31 c.text(o); 32 r.show(); 33 } else r.hide() 34 } 35 36 // affiche un message d'erreur 37 function f(n) { 38 var a = e("<div>", {class: "error-message", text: n}); 39 t.append(a) 40 } 41 42 // event click sur bouton montant + switch vers champs perso 43 n.on("click", function (t) { 44 t.preventDefault(); 45 n.removeClass("selected"); 46 e(this).addClass("selected"); 47 var i = e(this).data("amount"); 48 "custom" === i ? (p = "custom", a.slideDown(300)) : (p = i.toString(), a.slideUp(300)); 49 m(); 50 }); 51 52 // saisie dans le champ perso 53 i.on("input", function () { 54 m() 55 }); 56 57 // event switch type de donateur 58 s.on("change", function () { 59 m() 60 }); 61 62 // event envoi du formulaire 63 t.on("submit", function (n) { 64 n.preventDefault(); 65 t.find(".error-message").remove(); 66 67 var a = "custom" === p ? (parseFloat(i.val()) || 0) : (parseFloat(p) || 0); // recupere le montant bouton ou custom 68 var r = o.val().trim(), // email 69 u = s.is(":checked"); // CB entreprise 70 71 // test le formulaire 72 // le montant a doit etre > 0 73 // l'email doit etre specifie et valide 74 a <= 0 ? f("Veuillez sélectionner un montant valide") : r && function (e) { 75 return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e) 76 }(r) ? (l.prop("disabled", !0).text("Traitement en cours..."), e.ajax({ 77 url: donationData.ajaxUrl, 78 type: "POST", 79 data: {action: "submit_donation", nonce: donationData.nonce, amount: a, email: r, is_company: u, current_page: nc_form_don_current_url, resultat: dr.val().trim()}, 80 success: function (n) { 81 if (n.success) { 82 var a = e("<form>", {method: "POST", action: n.data.redirect_url}); 83 e.each(n.data.params, function (t, n) { 84 a.append(e("<input>", {type: "hidden", name: t, value: n})) 85 }), e("body").append(a), a.submit(), l.prop("disabled", !1).text("Procéder au paiement"), i = e("<div>", { 86 class: "success-message", 87 text: "Redirection vers la page de paiement dans un nouvel onglet. Si la page ne s'ouvre pas, vérifiez que les pop-ups ne sont pas bloquées." 88 }), t.append(i) 89 } else f(n.data.message || "Une erreur est survenue"), l.prop("disabled", !1).text("Procéder au paiement"); 90 }, 91 error: function () { 92 f("Erreur de connexion. Veuillez réessayer."), l.prop("disabled", !1).text("Procéder au paiement") 93 } 94 })) : f("Veuillez saisir une adresse email valide") 95 }); 96 97 m(); 98 }) 99 }) 100}(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.