{"id":2877,"date":"2025-03-16T13:49:33","date_gmt":"2025-03-16T11:49:33","guid":{"rendered":"https:\/\/sustin.org\/?page_id=2877"},"modified":"2026-01-09T15:19:26","modified_gmt":"2026-01-09T13:19:26","slug":"formular-3punct5","status":"publish","type":"page","link":"https:\/\/sustin.org\/en\/formular-3punct5\/","title":{"rendered":"3.5% Form"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2877\" class=\"elementor elementor-2877\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dcba001 e-flex e-con-boxed e-con e-parent\" data-id=\"dcba001\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b728f9 elementor-widget elementor-widget-ns_pdf_form\" data-id=\"6b728f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ns_pdf_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<form class=\"ns-vc-pdf-form\"><div style=\"margin-bottom:20px\"><small>C\u00e2mpurile marcate cu * sunt obligatorii.<\/small><\/div><div class=\"field\"><label for=\"cnp\">Cod numeric personal (CNP)*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"cnp\" id=\"cnp\"  \/><\/div><div class=\"field\"><label for=\"dob\">Data nasterii (zz\/ll\/aaaa)*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"dob\" id=\"dob\"  \/><\/div><div class=\"flex\"><div class=\"field\"><label for=\"nume\">Nume*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"nume\" id=\"nume\"  \/><\/div><div class=\"field\"><label for=\"initiala\">Ini\u0163iala tat\u0103lui*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"initiala\" id=\"initiala\"  \/><\/div><div class=\"field\"><label for=\"prenume\">Prenume*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"prenume\" id=\"prenume\"  \/><\/div><\/div><div class=\"flex\"><div class=\"field\"><label for=\"strada\">Strada*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"strada\" id=\"strada\"  \/><\/div><div class=\"field\"><label for=\"numar\">Numar*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"numar\" id=\"numar\"  \/><\/div><\/div><div class=\"flex\"><div class=\"field\"><label for=\"bloc\">Bloc<\/label><input type=\"text\" class=\"pdf-filler\"  name=\"bloc\" id=\"bloc\"  \/><\/div><div class=\"field\"><label for=\"scara\">Scara<\/label><input type=\"text\" class=\"pdf-filler\"  name=\"scara\" id=\"scara\"  \/><\/div><div class=\"field\"><label for=\"etaj\">Etaj<\/label><input type=\"text\" class=\"pdf-filler\"  name=\"etaj\" id=\"etaj\"  \/><\/div><div class=\"field\"><label for=\"apartament\">Apartament<\/label><input type=\"text\" class=\"pdf-filler\"  name=\"apartament\" id=\"apartament\"  \/><\/div><\/div><div class=\"flex\"><div class=\"field\"><label for=\"judet\">Jude\u0163*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"judet\" id=\"judet\"  \/><\/div><div class=\"field\"><label for=\"localitate\">Localitate*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"localitate\" id=\"localitate\"  \/><\/div><div class=\"field\"><label for=\"codpostal\">Cod Po\u0219tal*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"codpostal\" id=\"codpostal\"  \/><\/div><\/div><hr \/><div class=\"field\"><label for=\"email\">E-mail*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"email\" id=\"email\"  \/><\/div><div class=\"field\"><label for=\"telefon\">Telefon*<\/label><input type=\"text\" class=\"pdf-filler\" required name=\"telefon\" id=\"telefon\"  \/><\/div><div class=\"field\"><label for=\"fax\">Fax<\/label><input type=\"text\" class=\"pdf-filler\"  name=\"fax\" id=\"fax\"  \/><\/div><hr \/><div class=\"field\"><input type=\"checkbox\" class=\"pdf-filler\" name=\"doiani\" id=\"doiani\" \/><label for=\"doiani\">Distribuirea sumei timp de 2 ani<\/label><\/div><hr \/><div style=\"margin-bottom: 20px;\"><div><label>Semn\u0103tur\u0103 *<\/label><\/div><div style=\"height:0;overflow:hidden\"><input id=\"signature-valid\" autocomplete=\"off\" type=\"text\" name=\"signature\" required value=\"\" \/><\/div><canvas id=\"form-signature\" style=\"background:#fff\" width=\"400\" height=\"200\"><\/canvas><div><span id=\"clear-signature\" class=\"btn secondary\" style=\"padding:5px 10px;\"><i class=\"fa fa-trash-o\"><\/i> Semneaz\u0103 din nou<\/span><\/div><div><small>NOTA: Semna\u0163i cu mouse-ul (sau prin atingere pe dispozitive cu touchscreen) \u00een zona alb\u0103 de deasupra.<\/small><\/div><\/div><hr \/><span class=\"checkbox-group\"><span class=\"checkbox\"><input type=\"checkbox\" name=\"read-terms\" required \/> <span class=\"label\">* Am citit \u0219i sunt de acord cu <a href=\"https:\/\/sustin.org\/termene_si_conditii\/\" target=\"_blank\">Termenii \u0219i condi\u0163iile<\/a> site-ului.<\/span><\/span><\/span><span class=\"checkbox-group\"><span class=\"checkbox\"><input type=\"checkbox\" name=\"agree-send\" required \/> <span class=\"label\">* Sunt de acord ca Asociatia Sustin.org s\u0103 depun\u0103 \u00een numele meu \u0219i pentru mine Declara\u021bia 230 la ANAF.<\/span><\/span><\/span><span class=\"checkbox-group\"><span class=\"checkbox\"><input type=\"checkbox\" name=\"agree-consent\" required \/> <span class=\"label\">* Sunt de acord ca Asociatia Sustin.org s\u0103 prelucreze datele mele de identificare \u015fi de contact \u00een scopul derul\u0103rii campaniei de redirec\u021bionare a 3,5% din impozitul datorat pentru sprijinirea Asocia\u0163iei.<\/span><\/span><\/span><input type=\"submit\" class=\"btn large white\" value=\"Genereaz\u0103 PDF\" style=\"margin-top:20px;\" \/><div class=\"notification success\" style=\"display:none\">Formularul a fost completat cu succes. Vei primi pe adresa ta de e-mail un mesaj de confirmare. \u00ce\u021bi multumim!<\/div><\/form>\r\n<script src=\"https:\/\/sustin.org\/wp-content\/plugins\/ns-3punct5\/\/static\/pdfform-1.0.14-1.js\"><\/script>\r\n<script src=\"https:\/\/sustin.org\/wp-content\/plugins\/ns-3punct5\/\/static\/pdf-lib-2.2.4.js\"><\/script>\r\n<script src=\"https:\/\/sustin.org\/wp-content\/plugins\/ns-3punct5\/\/static\/downloadjs-1.4.7.js\"><\/script>\r\n<script src=\"https:\/\/sustin.org\/wp-content\/plugins\/ns-3punct5\/\/static\/signature-pad.umd.js\"><\/script>\r\n<link rel=\"stylesheet\" href=\"https:\/\/sustin.org\/wp-content\/plugins\/ns-3punct5\/\/static\/3punct5.css\" \/>\r\n<script>\r\n(function ($, root, undefined) {\r\n\t$(function () {\r\n\t    const { PDFDocument } = PDFLib\r\n\t    \r\n        var current_buffer = false;\r\n        const fieldLinks = {\"cnp\":[\"cnp\"],\"nume\":[\"nume\",\"consent_last_name\"],\"prenume\":[\"prenume\",\"consent_first_name\"],\"initiala\":[\"initiala\"],\"strada\":[\"strada\"],\"numar\":[\"numar\"],\"bloc\":[\"bloc\"],\"scara\":[\"scara\"],\"etaj\":[\"etaj\"],\"apartament\":[\"apartament\"],\"judet\":[\"judet\"],\"localitate\":[\"localitate\"],\"codpostal\":[\"codpostal\"],\"email\":[\"email\"],\"telefon\":[\"telefon\",\"consent_phone\"],\"fax\":[\"fax\"],\"dob\":[\"consent_dob\"],\"DATE\":[\"date\"],\"doiani\":[\"doiani\"]};\r\n        \r\n        \/\/load PDF \r\n        var xhr = new XMLHttpRequest();\r\n        xhr.open(\"GET\", \"https:\/\/sustin.org\/wp-content\/uploads\/2026\/01\/sustin_org-230-2026.pdf\", true);\r\n        xhr.responseType = \"arraybuffer\";\r\n        xhr.onload = function() {\r\n            current_buffer = this.response;\r\n        };\r\n        xhr.send();\r\n        \r\n        \/\/signature field\r\n        var signatureCanvas = document.querySelector(\"#form-signature\");\r\n        var signaturePad = new SignaturePad(signatureCanvas, {\r\n            minWidth: 1,\r\n            maxWidth: 3,\r\n            penColor: \"rgb(3,102,214)\"\r\n        });\r\n        \r\n        $(\"#clear-signature\").click(function(e) {\r\n           signaturePad.clear();\r\n           $(\"#signature-valid\").val(\"\"); \r\n        });\r\n\r\n        signaturePad.addEventListener(\"endStroke\", function() {\r\n           $(\"#signature-valid\").val(\"signed\");\r\n        });\r\n        \r\n        \/\/on submit\r\n        $(\".ns-vc-pdf-form\").submit(function(e){\r\n            e.preventDefault();\r\n            \r\n            var formData = $(this).serialize();\r\n            $(\".ns-vc-pdf-form .success\").show();\r\n            \/\/form submit event for google analytics\r\n            if(typeof(ga) !== \"undefined\") {\r\n               ga(\"send\",\"event\",\"formular\",\"3punct5\",\"submit\");\r\n            }\r\n            \/\/conversion tracking\r\n            if(typeof(gtag) != \"undefined\") {\r\n               gtag_report_conversion();\r\n            }            \r\n            \r\n            \/\/ Always show loading indicator\r\n            $(\".ns-vc-pdf-form\").append('<div class=\"ns_loading\" style=\"height:50px;\"><\/div>');\r\n            \r\n            \/\/ Always process the PDF and send to server\r\n            processPDF(current_buffer, formData);\r\n        });\r\n\r\n\t    $(\".ns-vc-pdf-form\").click(function(){\r\n\t       $(this).addClass(\"open\"); \r\n\t    });\r\n\t    \r\n\t    $(\".open-ns-vc-pdf-form\").click(function(){\r\n\t        $(\".ns-vc-pdf-form\").addClass(\"open\");\r\n\t    });\r\n\r\n\t    function processPDF(current_buffer, formData){\r\n\t        var inputs = $(\".pdf-filler\");\r\n            var fields = {};\r\n\r\n            for (const [index, el] of Object.entries(fieldLinks) ) {\r\n                if(index == \"DATE\") {\r\n                    let today = new Date();\r\n                    today = today.toLocaleDateString(\"en-GB\").split(\"\/\").reverse().join(\"-\");\r\n                    el.forEach(function(pdfField) {\r\n                        fields[pdfField] = [ today ]; \r\n                    });\r\n                } else {\r\n                    let inputElement = $(\"input.pdf-filler[name=\\\"\"+index+\"\\\"]\");\r\n                    if(inputElement.length > 0) {\r\n                        \/\/input with this name exists\r\n                        el.forEach(function(pdfField) {\r\n                            if(inputElement.attr(\"type\") == \"checkbox\") {\r\n                                if(inputElement.is(\":checked\")) {\r\n                                    fields[pdfField] = [ \"on\" ];\r\n                                } else {\r\n                                    fields[pdfField] = [ \"\" ];\r\n                                }\r\n                            } else {\r\n                                fields[pdfField] = [inputElement.val()]; \r\n                            }\r\n                        });\r\n                    } else {\r\n                        console.log(\"[PDF_Filler] Input not found \"+index,el);\r\n                    }\r\n                }\r\n            };\r\n            var out_buf = pdfform().transform(current_buffer, fields);\r\n            \r\n            PDFDocument.load(out_buf).then(function(pdfDoc) {\r\n                const pages = pdfDoc.getPages();\r\n                const firstPage = pages[0];\r\n                const secondPage = pages[1];\r\n\r\n                \/\/get image from drawing pad\r\n                signatureCanvas.toBlob(function(result) {\r\n                    let signatureDataURL = signaturePad.toDataURL(\"image\/png\");\r\n                    pdfDoc.embedPng( signatureDataURL ).then(function(signatureImage) {\r\n                        \/\/add image to pdf\r\n                        firstPage.drawImage(signatureImage, {\r\n                            x: 150,\r\n                            y: 80,\r\n                            width: 100,\r\n                            height: 50,\r\n                        });\r\n                        \r\n                        secondPage.drawImage(signatureImage, {\r\n                            x: 80,\r\n                            y: 30,\r\n                            width: 100,\r\n                            height: 50,\r\n                        });\r\n                        \r\n                        \/\/add checkbox for 2 years\r\n                        if(fields.doiani && fields.doiani[0] == \"on\") {\r\n                            firstPage.drawText(\"X\",{x: 325, y: 416, size:12 });                            \r\n                        }\r\n\r\n                        \/\/add checkbox for data sharing consent (mandatory field so always checked)\r\n                        firstPage.drawText(\"X\",{x: 31, y: 307, size:12 });                            \r\n\r\n                        \/\/add checkbox for marketing\r\n                        secondPage.drawText(\"X\",{x: 118, y: 156, size:12 }); \r\n                        secondPage.drawText(\"X\",{x: 118, y: 210, size:12 });    \r\n                        if($(\"input[name=\\\"contact-campaigns\\\"]\").is(\":checked\")) {\r\n                            secondPage.drawText(\"X\",{x: 118, y: 115, size:12 });                            \r\n                        }\r\n\r\n                        \/\/save new PDF and send to server\r\n                        pdfDoc.save().then(function(pdfBytes) {\r\n                            \/\/ Convert PDF bytes to base64\r\n                            const pdfBase64 = arrayBufferToBase64(pdfBytes);\r\n                            \r\n                            \/\/ Send to server\r\n                            $.ajax({\r\n                                url: \"https:\/\/sustin.org\/wp-admin\/admin-ajax.php\",\r\n                                type: 'POST',\r\n                                data: {\r\n                                    action: \"ns_vc_pdf_filler\",\r\n                                    formData: formData,\r\n                                    pdfData: pdfBase64\r\n                                },\r\n                                success: function(response) {\r\n                                    $(\".ns-vc-pdf-form .ns_loading\").remove();\r\n       \r\n                                    if (response.success && response.file_url) {\r\n                                        \/\/ Open the PDF in a new window\r\n                                        window.open(response.file_url, '_blank');\r\n                                    } else {\r\n                                        console.error(\"Error saving PDF:\", response.message);\r\n                                        alert(\"A ap\u0103rut o eroare la salvarea PDF-ului. V\u0103 rug\u0103m s\u0103 \u00eencerca\u021bi din nou.\");\r\n                                    }\r\n                                   \r\n                                },\r\n                                error: function(xhr, status, error) {\r\n                                    $(\".ns-vc-pdf-form .ns_loading\").remove();\r\n                                    console.error(\"AJAX error:\", error);\r\n                                    alert(\"A ap\u0103rut o eroare la comunicarea cu serverul. V\u0103 rug\u0103m s\u0103 \u00eencerca\u021bi din nou.\");\r\n                                }\r\n                            });\r\n                        });\r\n                    });\r\n                });\r\n            });\r\n\t    }\r\n\t    \r\n\t    \/\/ Helper function to convert ArrayBuffer to base64\r\n\t    function arrayBufferToBase64(buffer) {\r\n            var binary = '';\r\n            var bytes = new Uint8Array(buffer);\r\n            var len = bytes.byteLength;\r\n            for (var i = 0; i < len; i++) {\r\n                binary += String.fromCharCode(bytes[i]);\r\n            }\r\n            return window.btoa(binary);\r\n        }\r\n        \r\n\t});\r\n})(jQuery, this);\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>C\u00e2mpurile marcate cu * sunt obligatorii.Cod numeric personal (CNP)*Data nasterii (zz\/ll\/aaaa)*Nume*Ini\u0163iala tat\u0103lui*Prenume*Strada*Numar*BlocScaraEtajApartamentJude\u0163*Localitate*Cod Po\u0219tal* E-mail*Telefon*Fax Distribuirea sumei timp de 2 ani Semn\u0103tur\u0103 * Semneaz\u0103 din nouNOTA: Semna\u0163i cu mouse-ul (sau prin atingere pe dispozitive cu touchscreen) \u00een zona alb\u0103 de deasupra. * Am citit \u0219i sunt de acord cu Termenii \u0219i condi\u0163iile site-ului. * Sunt de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2877","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/pages\/2877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/comments?post=2877"}],"version-history":[{"count":8,"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/pages\/2877\/revisions"}],"predecessor-version":[{"id":3934,"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/pages\/2877\/revisions\/3934"}],"wp:attachment":[{"href":"https:\/\/sustin.org\/en\/wp-json\/wp\/v2\/media?parent=2877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}