{"id":14815,"date":"2026-04-09T18:50:41","date_gmt":"2026-04-09T16:50:41","guid":{"rendered":"https:\/\/iridia.cat\/?page_id=14815"},"modified":"2026-04-13T18:47:55","modified_gmt":"2026-04-13T16:47:55","slug":"participa-volem-escoltar-te","status":"publish","type":"page","link":"https:\/\/iridia.cat\/es\/participa-volem-escoltar-te\/","title":{"rendered":"Volem escoltar-te"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<h2 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">Volem escoltar-te<\/h2>\n\n\n\n<div style=\"height:36px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A Ir\u00eddia volem continuar millorant amb vosaltres. Per aix\u00f2, et convidem a respondre aquest breu formulari: ens ajudar\u00e0 a con\u00e8ixer millor la comunitat de socis i s\u00f2cies i a saber si t\u2019agradaria implicar-te en algun aspecte del projecte.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1_jquery.js?v=BAVFSmQamCrFj3mlVSqdUQ\"><\/script>\n<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1_yui.js?v=BAVFSmQamCrFj3mlVSqdUQ\"><\/script>\n<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1.js?v=BAVFSmQamCrFj3mlVSqdUQ\"><\/script>\n<script src=\"https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js\" async defer><\/script>\n<html lang='ca_ES'>\r\n\t<head>\r\n\t\t<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=UTF-8\">\r\n\r\n\t\t\t\t\t<link rel=\"stylesheet\" type=\"text\/css\" media=\"all\" href=\"https:\/\/sinergia.iridia.cat\/cache\/themes\/SuiteP\/css\/Stic\/style.css?v=FWxquVGCHF1lBUa8pW7hzA\">\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1_jquery.js?v=FWxquVGCHF1lBUa8pW7hzA\"><\/script>\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1_yui.js?v=FWxquVGCHF1lBUa8pW7hzA\"><\/script>\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1.js?v=FWxquVGCHF1lBUa8pW7hzA\"><\/script>\r\n          <script src=\"https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js\" async defer><\/script>\r\n\t\t\r\n\t<\/head>\r\n\r\n\t<body>\r\n\t\t<form action=\"https:\/\/sinergia.iridia.cat\/index.php?entryPoint=stic_Web_Forms_save\" name=\"WebToLeadForm\" method=\"POST\" id=\"WebToLeadForm\" >\r\n\t\t\t<p><input type=\"hidden\" id=\"event_id\" name=\"event_id\" value=\"4c6d5899-961f-8017-06a9-676305424a16\" \/>\r\n        <input type=\"hidden\" id=\"redirect_url\" name=\"redirect_url\" value=\"https:\/\/iridia.cat\/pagina-dades-correctes\/\" \/> \r\n        <input type=\"hidden\" id=\"redirect_ko_url\" name=\"redirect_ko_url\" value=\"https:\/\/iridia.cat\/error-dades\" \/> \r\n        <input type=\"hidden\" id=\"validate_identification_number\" name=\"validate_identification_number\" value=\"1\" \/> \r\n        <input type=\"hidden\" id=\"assigned_user_id\" name=\"assigned_user_id\" value=\"1\" \/> \r\n        <input type=\"hidden\" id=\"req_id\" name=\"req_id\" value=\"Contacts___email1;\" \/>\r\n        <input type=\"hidden\" id=\"Contacts___first_name\" name=\"Contacts___first_name\" value=\"-\" \/>\r\n        <input type=\"hidden\" id=\"Contacts___last_name\" name=\"Contacts___last_name\" value=\"-\" \/>\r\n        <input type=\"hidden\" id=\"bool_id\" name=\"bool_id\" value=\"Contacts___consentiment_c;\" \/> \r\n        <input type=\"hidden\" id=\"webFormClass\" name=\"webFormClass\" value=\"EventInscription\" \/>\r\n        <input type=\"hidden\" id=\"stic_Registrations___status\" name=\"stic_Registrations___status\" value=\"confirmed\" \/>\r\n        <input type=\"hidden\" id=\"stic_Payment_Commitments___payment_type\" name=\"stic_Payment_Commitments___payment_type\" value=\"\" \/> \r\n        <input type=\"hidden\" id=\"stic_Payment_Commitments___periodicity\" name=\"stic_Payment_Commitments___periodicity\" value=\"punctual\" \/> \r\n        <input type=\"hidden\" id=\"language\" name=\"language\" value=\"ca_ES\" \/> <input type=\"hidden\" id=\"defParams\" name=\"defParams\" value=\"%7B%22include_payment_commitment%22%3A0%2C%22include_organization%22%3A0%2C%22account_code_mandatory%22%3A0%2C%22include_registration%22%3A1%2C%22account_name_optional%22%3A0%2C%22email_template_id%22%3A%22%22%2C%22include_recaptcha%22%3A0%2C%22recaptcha_configKeys%22%3A%5B%22%28General%29%22%5D%2C%22recaptcha_selected%22%3A%22%22%7D\" \/> \r\n        <input type=\"hidden\" id=\"timeZone\" name=\"timeZone\" value=\"\" \/><\/p>\r\n\r\n      <div>\r\n        <div class=\"col\"><label>Indica el teu correu electr\u00f2nic:*<\/label><\/div>\r\n        <div class=\"col\"><input id=\"Contacts___email1\" name=\"Contacts___email1\" type=\"email\" placeholder=\"Correu electr\u00f2nic*\" required><\/div>\r\n\r\n        <div class=\"col\"><label>Quin \u00e9s el teu \u00e0mbit d'inter\u00e8s d'Ir\u00eddia? (selecci\u00f3 m\u00faltiple)<\/label><\/div>\r\n        <select id=\"stic_Registrations___pregunta_multpl_1_c\" name=\"stic_Registrations___pregunta_multpl_1_c[]\" multiple=\"multiple\" style=\"width: 100%;height: 250px;display: none;\">\r\n<option label=\"Control de l'armament policial (vigilar i limitar les armes que utilitza la policia)\" value=\"armament\">Control de l'armament policial (vigilar i limitar les armes que utilitza la policia)<\/option>\r\n<option label=\"Control i transpar\u00e8ncia dels cossos policials\" value=\"cossos\">Control i transpar\u00e8ncia dels cossos policials<\/option>\r\n<option label=\"Acompanyament psicojur\u00eddic a persones afectades per viol\u00e8ncia institucional\" value=\"psicojuridic\">Acompanyament psicojur\u00eddic a persones afectades per viol\u00e8ncia institucional<\/option>\r\n<option label=\"Litigaci\u00f3 estrat\u00e8gica contra la viol\u00e8ncia policial\" value=\"litigi\">Litigaci\u00f3 estrat\u00e8gica contra la viol\u00e8ncia policial<\/option>\r\n<option label=\"Litigaci\u00f3 de casos de tortura durant el franquisme\" value=\"franquisme\">Litigaci\u00f3 de casos de tortura durant el franquisme<\/option>\r\n<option label=\"Monitoratge de vulneracions de drets humans en actuacions policials\" value=\"monitoratge\">Monitoratge de vulneracions de drets humans en actuacions policials<\/option>\r\n<option label=\"Ciberespionatge i drets digitals\" value=\"spyware\">Ciberespionatge i drets digitals<\/option>\r\n<option label=\"Drets humans a les fronteres i migracions\" value=\"fronteres\">Drets humans a les fronteres i migracions<\/option>\r\n<option label=\"Defensa del dret a la protesta i de l'espai de la societat civil\" value=\"protesta\">Defensa del dret a la protesta i de l'espai de la societat civil<\/option>\r\n<option label=\"Incid\u00e8ncia pol\u00edtica en seguretat i drets humans\" value=\"incidencia\">Incid\u00e8ncia pol\u00edtica en seguretat i drets humans<\/option>\r\n<\/select>\r\n\r\n<div id=\"iridia_checkbox_container\" style=\"display: flex; flex-direction: column; gap: 5px; margin-top: 5px;\"><\/div>\r\n\r\n\r\n        <div class=\"col\"><label><br>El butllet\u00ed mensual et serveix per estar informat\/da del que fem?<\/label><\/div>\r\n        <select id=\"stic_Registrations___pregunta_num_1_c\" name=\"stic_Registrations___pregunta_num_1_c\" style=\"width: 100%;\">\r\n        <option label=\"\" value=\"\"><\/option>\r\n        <option label=\"Si\" value=\"1\">Si<\/option>\r\n        <option label=\"No\" value=\"2\">No<\/option>\r\n        <option label=\"No el llegeixo habitualment\" value=\"3\">No el llegeixo habitualment<\/option>\r\n        <\/select>\r\n\r\n        <div class=\"col\"><label>Tens algun suggeriment sobre el butllet\u00ed? (Per exemple, coses que hi afegiries, modificaries o milloraries)<\/label><\/div>\r\n        <textarea id=\"stic_Registrations___pregunta_text_1_c\" name=\"stic_Registrations___pregunta_text_1_c\" type=\"text\"><\/textarea>\r\n\r\n        <div class=\"col\"><label>En quin idioma prefereixes rebre els correus electr\u00f2nics?<\/label><\/div>\r\n        <select id=\"stic_Registrations___idioma_preferent_c\" name=\"stic_Registrations___idioma_preferent_c\">\r\n        <option label=\"\" value=\"\"><\/option>\r\n        <option label=\"Catal\u00e0\" value=\"catalan\">Catal\u00e0<\/option>\r\n        <option label=\"Castell\u00e0\" value=\"spanish\">Castell\u00e0<\/option>\r\n        <\/select>\r\n\r\n        <div class=\"col\"><label>Quina acci\u00f3 t\u2019agradaria que ofer\u00edssim exclusivament per a s\u00f2cies i socis d\u2019Ir\u00eddia? (Per exemple: trobades, actes exclusius, samarretes, bosses, comunicacions especials, etc.) <\/label><\/div>\r\n        <textarea id=\"stic_Registrations___pregunta_text_2_c\" name=\"stic_Registrations___pregunta_text_2_c\" type=\"text\"><\/textarea>\r\n\r\n        <div class=\"col\"><label>T'agradaria participar d'alguna tasca volunt\u00e0ria amb Ir\u00eddia? (selecci\u00f3 m\u00faltiple)<\/label><\/div>\r\n        <select id=\"stic_Registrations___pregunta_multpl_2_c\" name=\"stic_Registrations___pregunta_multpl_2_c[]\" multiple=\"multiple\" style=\"width: 100%;height: 180px;display: none;\">\r\n        <option label=\"Observaci\u00f3 de manifestacions sobre el terreny (amb formaci\u00f3 pr\u00e8via) \" value=\"1\">Observaci\u00f3 de manifestacions sobre el terreny (amb formaci\u00f3 pr\u00e8via) <\/option>\r\n        <option label=\"Seguiment de manifestacions a trav\u00e9s de xarxes socials (amb formaci\u00f3 pr\u00e8via)\" value=\"2\">Seguiment de manifestacions a trav\u00e9s de xarxes socials (amb formaci\u00f3 pr\u00e8via)<\/option>\r\n        <option label=\"Traduccions puntuals (castell\u00e0, angl\u00e8s, \u00e0rab, franc\u00e8s)\" value=\"3\">Traduccions puntuals (castell\u00e0, angl\u00e8s, \u00e0rab, franc\u00e8s)<\/option>\r\n        <option label=\"Fotografia o v\u00eddeo en moments puntuals\" value=\"4\">Fotografia o v\u00eddeo en moments puntuals<\/option>\r\n        <option label=\"Suport log\u00edstic puntual (per exemple, gesti\u00f3 de paquets o suport en esdeveniments)\" value=\"5\">Suport log\u00edstic puntual (per exemple, gesti\u00f3 de paquets o suport en esdeveniments)<\/option>\r\n        <option label=\"Organitzaci\u00f3 puntual d\u2019actes solidaris de captaci\u00f3 de fons\" value=\"6\">Organitzaci\u00f3 puntual d\u2019actes solidaris de captaci\u00f3 de fons<\/option>\r\n        <option label=\"Altres (especifica)\" value=\"7\">Altres (especifica a continuaci\u00f3)<\/option>\r\n        <\/select>\r\n<div id=\"iridia_checkbox_container2\" style=\"display: flex; flex-direction: column; gap: 5px; margin-top: 5px;\"><\/div>\r\n\r\n        <div class=\"col\"><label><br>Si tens qualsevol altra aportaci\u00f3 o proposta, la pots escriure aqu\u00ed:<\/label><\/div>\r\n        <textarea id=\"stic_Registrations___pregunta_text_3_c\" name=\"stic_Registrations___pregunta_text_3_c\" type=\"text\"><\/textarea>\r\n        \r\n \r\n        <div class=\"fila\">\r\n            <div class=\"col\">\r\n            <label>T\u2019informem que l\u2019Associaci\u00f3 Ir\u00eddia, responsable del tractament de les dades que ens facilitis, amb correu info@iridia.cat i tel\u00e8fon 693 563 529, tractem les dades de les persones s\u00f2cies amb la finalitat de l'aportaci\u00f3 i facilitar la seva participaci\u00f3 a Ir\u00eddia. Les dades s\u00f3n tractades sota mesures de seguretat i no seran cedides a tercers. Pots fer \u00fas del teu dret de consulta, cancel\u00b7laci\u00f3, ratificaci\u00f3 o supressi\u00f3 de les teves dades en qualsevol moment, i consultar informaci\u00f3 sobre la nostra <a title=\"pol\u00edtica\" href=\"https:\/\/iridia.cat\/proteccio-dades\/\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de protecci\u00f3<\/a>.<\/label>\r\n            <\/div>\r\n            <div class=\"fila\">\r\n            <div class=\"col\"><input name=\"Contacts___consentiment_c\" id=\"Contacts___consentiment_c\" type=\"checkbox\" required=\"\" style=\"opacity: 1;margin-top:6px;\"\/><\/div>\r\n            <div class=\"col\"><label>Accepto el tractament<span class=\"required\" >*<\/label><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAABAxIUoai_Lb-zfr\" data-callback=\"onTurnstileSuccess\" data-expired-callback=\"onTurnstileExpired\"><\/div>\r\n        <input type=\"hidden\" id=\"cf-turnstile-token\" name=\"cf-turnstile-response\">\r\n        <div><input id=\"submit-button\" class=\"button\" type=\"button\" name=\"Submit\" value=\"Envia\" disabled \/><\/div>\r\n        \r\n\r\n\r\n      <\/div>\r\n\r\n\t\t<\/form>\t\t\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n    var select = document.getElementById('stic_Registrations___pregunta_multpl_1_c');\r\n    var container = document.getElementById('iridia_checkbox_container');\r\n    \r\n    if (select && container) {\r\n        \/\/ 1. Guardem els valors seleccionats inicialment si n'hi ha\r\n        var selectedValues = [];\r\n        for (var i = 0; i < select.options.length; i++) {\r\n            if (select.options[i].selected) {\r\n                selectedValues.push(select.options[i].value);\r\n            }\r\n        }\r\n\r\n        \/\/ 2. Creem els checkboxes\r\n        \/\/ NOTA CLAU: No posem 'name' als checkboxes perqu\u00e8 no s'envi\u00efn directament.\r\n        \/\/ El formulari nom\u00e9s enviar\u00e0 el 'select' amagat.\r\n        for (var i = 0; i < select.options.length; i++) {\r\n            var option = select.options[i];\r\n            var checkbox = document.createElement('input');\r\n            checkbox.type = 'checkbox';\r\n            \/\/ NO posem checkbox.name = select.name;\r\n            checkbox.value = option.value;\r\n            checkbox.id = 'chk_' + option.value;\r\n            \r\n            \/\/ Si estava seleccionat al select, el marquem\r\n            if (selectedValues.indexOf(option.value) !== -1) {\r\n                checkbox.checked = true;\r\n                \/\/ Tamb\u00e9 marquem l'opci\u00f3 al select amagat\r\n                select.options[i].selected = true;\r\n            }\r\n\r\n            var label = document.createElement('label');\r\n            label.htmlFor = checkbox.id;\r\n            label.textContent = option.text;\r\n            label.style.cursor = 'pointer';\r\n            label.style.marginLeft = '5px';\r\n\r\n            var wrapper = document.createElement('div');\r\n            wrapper.appendChild(checkbox);\r\n            wrapper.appendChild(label);\r\n            container.appendChild(wrapper);\r\n        }\r\n\r\n        \/\/ 3. Sincronitzaci\u00f3: Quan es cliqui un checkbox, actualitzem el select amagat\r\n        container.addEventListener('change', function(e) {\r\n            if (e.target.type === 'checkbox') {\r\n                var targetValue = e.target.value;\r\n                var allOptions = select.options;\r\n                \r\n                for (var i = 0; i < allOptions.length; i++) {\r\n                    if (allOptions[i].value === targetValue) {\r\n                        \/\/ Actualitzem el select amagat\r\n                        allOptions[i].selected = e.target.checked;\r\n                        \/\/ Si estem canviant, no cal fer res m\u00e9s, el select ja t\u00e9 les dades correctes\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n});\r\n<\/script>    \r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n    var select = document.getElementById('stic_Registrations___pregunta_multpl_2_c');\r\n    var container = document.getElementById('iridia_checkbox_container2');\r\n    \r\n    if (select && container) {\r\n        \/\/ 1. Guardem els valors seleccionats inicialment si n'hi ha\r\n        var selectedValues = [];\r\n        for (var i = 0; i < select.options.length; i++) {\r\n            if (select.options[i].selected) {\r\n                selectedValues.push(select.options[i].value);\r\n            }\r\n        }\r\n\r\n        \/\/ 2. Creem els checkboxes\r\n        \/\/ NOTA CLAU: No posem 'name' als checkboxes perqu\u00e8 no s'envi\u00efn directament.\r\n        \/\/ El formulari nom\u00e9s enviar\u00e0 el 'select' amagat.\r\n        for (var i = 0; i < select.options.length; i++) {\r\n            var option = select.options[i];\r\n            var checkbox = document.createElement('input');\r\n            checkbox.type = 'checkbox';\r\n            \/\/ NO posem checkbox.name = select.name;\r\n            checkbox.value = option.value;\r\n            checkbox.id = 'chk_' + option.value;\r\n            \r\n            \/\/ Si estava seleccionat al select, el marquem\r\n            if (selectedValues.indexOf(option.value) !== -1) {\r\n                checkbox.checked = true;\r\n                \/\/ Tamb\u00e9 marquem l'opci\u00f3 al select amagat\r\n                select.options[i].selected = true;\r\n            }\r\n\r\n            var label = document.createElement('label');\r\n            label.htmlFor = checkbox.id;\r\n            label.textContent = option.text;\r\n            label.style.cursor = 'pointer';\r\n            label.style.marginLeft = '5px';\r\n\r\n            var wrapper = document.createElement('div');\r\n            wrapper.appendChild(checkbox);\r\n            wrapper.appendChild(label);\r\n            container.appendChild(wrapper);\r\n        }\r\n\r\n        \/\/ 3. Sincronitzaci\u00f3: Quan es cliqui un checkbox, actualitzem el select amagat\r\n        container.addEventListener('change', function(e) {\r\n            if (e.target.type === 'checkbox') {\r\n                var targetValue = e.target.value;\r\n                var allOptions = select.options;\r\n                \r\n                for (var i = 0; i < allOptions.length; i++) {\r\n                    if (allOptions[i].value === targetValue) {\r\n                        \/\/ Actualitzem el select amagat\r\n                        allOptions[i].selected = e.target.checked;\r\n                        \/\/ Si estem canviant, no cal fer res m\u00e9s, el select ja t\u00e9 les dades correctes\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n});\r\n<\/script>\r\n\t\t<script type=\"text\/javascript\">\r\n\t\t\t\t\t\t\tvar stic_Web_Forms_LBL_PROVIDE_WEB_FORM_FIELDS = \"Ompliu els camps obligatoris\";\r\n\t\t\t\t\t\t\tvar stic_Web_Forms_LBL_INVALID_FORMAT = \"Comproveu el format del camp\";\r\n\t\t\t\t\t\t\tvar stic_Web_Forms_LBL_SERVER_CONNECTION_ERROR = \"Ha fallat la connexi\u00f3 amb el servidor\";\r\n\t\t\t\t\t\t\tvar stic_Web_Forms_LBL_SIZE_FILE_EXCEED = \"La mida del fitxer no pot ser superior a \";\r\n\t\t\t\t\t\t\tvar stic_Web_Forms_LBL_SUM_SIZE_FILES_EXCEED = \"La suma de les mides dels fitxers no pot ser superior a \";\r\n\t\t\t\t\t\t\tvar APP_LBL_REQUIRED_SYMBOL = \"*\";\r\n\t\t\t\t\t\t\tvar APP_DATE_FORMAT = \"%d\/%m\/%Y\";\r\n\t\t\t\t\t\t\/**\r\n * This file is part of SinergiaCRM.\r\n * SinergiaCRM is a work developed by SinergiaTIC Association, based on SuiteCRM.\r\n * Copyright (C) 2013 - 2023 SinergiaTIC Association\r\n *\r\n * This program is free software; you can redistribute it and\/or modify it under\r\n * the terms of the GNU Affero General Public License version 3 as published by the\r\n * Free Software Foundation.\r\n *\r\n * This program is distributed in the hope that it will be useful, but WITHOUT\r\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r\n * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\r\n * details.\r\n *\r\n * You should have received a copy of the GNU Affero General Public License along with\r\n * this program; if not, see http:\/\/www.gnu.org\/licenses or write to the Free\r\n * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\r\n * 02110-1301 USA.\r\n *\r\n * You can contact SinergiaTIC Association at email address info@sinergiacrm.org.\r\n *\/\r\n\/**\r\n * Change the visibility of a field\r\n * @param field field to be changed\r\n * @param visibility visibility applied to the field\r\n *\/\r\nwindow.formHasAlreadyBeenSent = false;\r\n\r\nfunction onTurnstileSuccess(token) {\r\n    var tokenInput = document.getElementById(\"cf-turnstile-token\");\r\n    var submitButton = document.getElementById(\"submit-button\");\r\n    if (token && tokenInput && submitButton) {\r\n      tokenInput.value = token;\r\n      submitButton.removeAttribute(\"disabled\");\r\n    }\r\n  }\r\n\r\nfunction isValidEmail(val) {\r\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(val);\r\n  }\r\n\r\nfunction changeVisibility(field, visibility) {\r\n  var o_td = document.getElementById(\"td_\" + field);\r\n  var o_td_lbl = document.getElementById(\"td_lbl_\" + field);\r\n  if (o_td) {\r\n    o_td.style.display = visibility;\r\n  }\r\n\r\n  if (o_td_lbl) {\r\n    o_td_lbl.style.display = visibility;\r\n  }\r\n}\r\n\r\n\/**\r\n * Show a hidden field\r\n * @param field field to be shown\r\n *\/\r\nfunction showField(field) {\r\n  changeVisibility(field, \"table-cell\");\r\n}\r\n\r\n\/**\r\n * Hide a field\r\n * @param field field to be hidden\r\n *\/\r\nfunction hideField(field) {\r\n  changeVisibility(field, \"none\");\r\n}\r\n\r\n\/**\r\n * Add a field as required\r\n * @param field field that will be set as required\r\n *\/\r\nfunction addRequired(field) {\r\n  var reqs = document.getElementById(\"req_id\").value;\r\n  if (-1 == reqs.search(field + \";\")) {\r\n    document.getElementById(\"req_id\").value += field + \";\";\r\n  }\r\n\r\n  var requiredLabel = document.getElementById(\"lbl_\" + field + \"_required\");\r\n  if (!requiredLabel) {\r\n    var rlParent = document.getElementById(\"td_lbl_\" + field);\r\n    if (rlParent) {\r\n      var newLabel = document.createElement(\"span\");\r\n      newLabel.id = \"lbl_\" + field + \"_required\";\r\n      newLabel.class = \"required\";\r\n      newLabel.style = \"color: rgb(255, 0, 0);\";\r\n      newLabel.innerText = APP_LBL_REQUIRED_SYMBOL;\r\n      rlParent.appendChild(newLabel);\r\n    }\r\n  }\r\n}\r\n\r\n\/**\r\n * Delete a field as required\r\n * @param field field that will be set as no required\r\n *\/\r\nfunction removeRequired(field) {\r\n  var reqs = document.getElementById(\"req_id\").value;\r\n  document.getElementById(\"req_id\").value = reqs.replace(field + \";\", \"\");\r\n  var requiredLabel = document.getElementById(\"lbl_\" + field + \"_required\");\r\n  if (requiredLabel) {\r\n    requiredLabel.parentNode.removeChild(requiredLabel);\r\n  }\r\n}\r\n\r\n\/**\r\n * Validate different form fields\r\n * @returns {Boolean}\r\n *\/\r\nfunction checkFields() {\r\n  \/\/ Check the required fields, nif \/ cif fields, mails and date fields\r\n  if (!validateRequired() || !validateNifCif() || !validateMails() || !validateDates()) {\r\n    return false;\r\n  } else {\r\n    \/\/ If everything is correct replace the Boolean fields\r\n    var boolHidden = document.getElementById(\"bool_id\");\r\n    if (boolHidden != null) {\r\n      var reqs = boolHidden.value;\r\n      if (reqs.length) {\r\n        \/\/ If there are Boolean fields, they are treated\r\n        bools = reqs.substring(0, reqs.lastIndexOf(\";\"));\r\n        var boolFields = new Array();\r\n        var boolFields = bools.split(\";\");\r\n        nbrFields = boolFields.length;\r\n        for (var i = 0; i < nbrFields; i++) {\r\n          var element = document.getElementById(boolFields[i]);\r\n          element.value == (element.value == \"on\" ? 1 : 0);\r\n        }\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n}\r\n\r\n\/**\r\n * Check the format of the date fields\r\n * @returns {Boolean}\r\n *\/\r\nfunction validateDates() {\r\n  var elements = jQuery.find(\"input[type=text].date_input\");\r\n  if (elements && elements.length > 0) {\r\n    for (var i = 0; i < elements.length; i++) {\r\n      \/\/ The field may not be mandatory, therefore, it is only validated if the element has any value\r\n      if (elements[i].value && !validateDate(elements[i].value)) {\r\n        var label = document.getElementById(\"lbl_\" + elements[i].id);\r\n        alert(stic_Web_Forms_LBL_INVALID_FORMAT + \": \" + label.textContent.trim().replace(\/:$\/, \"\"));\r\n        selectTextInput(elements[i]);\r\n        return false;\r\n      }\r\n    }\r\n  }\r\n  return true;\r\n}\r\n\r\n\/**\r\n * Validate a date using the format indicated in APP_DATE_FORMAT. Does not take into account if the year is leap year\r\n * @param date\r\n * @returns {Boolean}\r\n *\/\r\nfunction validateDate(date) {\r\n  var number = \/\\d+\/g;\r\n  var numbers = [];\r\n  var match = number.exec(date);\r\n\r\n  while (match != null) {\r\n    numbers.push(match[0]);\r\n    match = number.exec(date);\r\n  }\r\n\r\n  if (numbers.length != 3) {\r\n    \/\/ If we don't have three numeric fields, it sure isn't a date\r\n    return false;\r\n  }\r\n\r\n  var format = \/\\%Y|\\%m|\\%d\/g;\r\n  var fields = [];\r\n  match = format.exec(APP_DATE_FORMAT); \/\/ We separate the fields from the format\r\n  while (match != null) {\r\n    fields.push(match[0]);\r\n    match = format.exec(APP_DATE_FORMAT);\r\n  }\r\n\r\n  var idxFields = []; \/\/ Index the fields to be able to access them directly\r\n  for (var i = 0; i < fields.length; i++) {\r\n    idxFields[fields[i].replace(\"%\", \"\")] = i;\r\n  }\r\n\r\n  \/\/ Retrieve the values ??of each field\r\n  var day = numbers[idxFields.d];\r\n  var month = numbers[idxFields.m];\r\n  var year = numbers[idxFields.Y];\r\n\r\n  \/\/ Check the length of the fields\r\n  if (month.length != 2 || day.length != 2 || year.length != 4) {\r\n    return false;\r\n  }\r\n\r\n  \/\/ Check the format of separators\r\n  if (date.replace(number, \"\") != APP_DATE_FORMAT.replace(format, \"\")) {\r\n    return false;\r\n  }\r\n  day = parseInt(day);\r\n  month = parseInt(month);\r\n  year = parseInt(year);\r\n\r\n  \/\/ Check the value of the month and day\r\n  if (month > 12 || month < 1) {\r\n    return false;\r\n  } else {\r\n    if (day < 1) {\r\n      return false;\r\n    }\r\n\r\n    switch (month) {\r\n      case 1:\r\n      case 3:\r\n      case 5:\r\n      case 7:\r\n      case 8:\r\n      case 10:\r\n      case 12:\r\n        return day <= 31;\r\n      case 2:\r\n        return day <= 29; \/\/ Leap years are not taken into account\r\n      case 4:\r\n      case 6:\r\n      case 9:\r\n      case 11:\r\n        return day <= 30;\r\n    }\r\n  }\r\n}\r\n\r\n\/**\r\n * Check the required fields\r\n * @returns {Boolean}\r\n *\/\r\nfunction validateRequired() {\r\n  \/\/ Check the required fields\r\n  var reqHidden = document.getElementById(\"req_id\");\r\n  if (reqHidden != null) {\r\n    var reqs = reqHidden.value;\r\n    if (reqs.length) {\r\n      \/\/ If there are required fields check them\r\n      reqs = reqs.substring(0, reqs.lastIndexOf(\";\"));\r\n      var reqFields = new Array();\r\n      var reqFields = reqs.split(\";\");\r\n      nbrFields = reqFields.length;\r\n\r\n      for (var i = 0; i < nbrFields; i++) {\r\n        var lbl_element;\r\n        var element = document.getElementById(reqFields[i]);\r\n        var error = 0;\r\n        if (element != null) {\r\n          lbl_element = \"#lbl_\" + element.id;\r\n          jQuery(lbl_element).removeClass(\"current-required-field\");\r\n          switch (element.type) {\r\n            case \"checkbox\":\r\n              if (element.checked == 0) {\r\n                error = 1;\r\n              }\r\n              break;\r\n\r\n            case \"select-one\":\r\n              if (element.selectedIndex <= 0) {\r\n                error = 1;\r\n              }\r\n              break;\r\n\r\n            case \"select-multiple\":\r\n              let numOptionsSelected = jQuery(\"select[id='input_selectmultiple'] option:selected\").length;\r\n              if (element.selectedIndex <= 0 && numOptionsSelected <= 1) {\r\n                error = 1;\r\n              }\r\n              break;\r\n\r\n            default:\r\n              \/\/ Type fields: text, email, password...\r\n              if (element.value.length <= 0) {\r\n                error = 1;\r\n              }\r\n          }\r\n        } else {\r\n          \/\/radio type fields\r\n          error = 1;\r\n          var options = document.getElementsByName(reqFields[i]);\r\n\r\n          lbl_element = \"#lbl_\" + options[0].name;\r\n          jQuery(lbl_element).removeClass(\"current-required-field\");\r\n\r\n          options.forEach(function(option) {\r\n            if (option.checked) {\r\n              error = 0;\r\n            }\r\n          });\r\n        }\r\n\r\n        if (error) {\r\n          alert(stic_Web_Forms_LBL_PROVIDE_WEB_FORM_FIELDS);\r\n          jQuery(lbl_element).addClass(\"current-required-field\");\r\n          selectTextInput(element);\r\n          return false;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  return true;\r\n}\r\n\r\n\/**\r\n * Validate form emails\r\n * @returns {Boolean}\r\n *\/\r\n function validateMails() {\r\n  var fields = [\"Contacts___email1\", \"Contacts___email2\", \"Accounts___email1\", \"Accounts___email2\"];\r\n  var ret = true;\r\n  for (var i = 0; i < fields.length && ret; i++) {\r\n    emailInput=document.getElementById(fields[i])\r\n    if(emailInput != undefined)\r\n    {\r\n      ret = validateEmailAdd(emailInput);\r\n    }\r\n  }\r\n  return ret;\r\n}\r\n\r\n\/**\r\n * Validate an email address\r\n * Regex validation email from https:\/\/html5-tutorial.net\/form-validation\/validating-email\/\r\n * @param obj DOM object of the input containing the mail\r\n * @returns {Boolean}\r\n *\/\r\n\r\nfunction validateEmailAdd(obj) {\r\n  obj.value=obj.value.trim();\r\n  if (obj != null && obj.value.length > 0 && !isValidEmail(obj.value)) {\r\n    var label = document.getElementById(\"lbl_\" + obj.id);\r\n    alert(stic_Web_Forms_LBL_INVALID_FORMAT + \": \" + label.textContent.replace(\/: +$\/, \"\"));\r\n    selectTextInput(obj);\r\n    return false;\r\n  } else {\r\n    return true;\r\n  }\r\n}\r\n\r\n\/**\r\n * Check the identification number fields for contacts and accounts as needed\r\n * @returns {Boolean}\r\n *\/\r\nfunction validateNifCif() {\r\n  var validateIdentificationNumber = document.getElementById(\"validate_identification_number\");\r\n\r\n  \/\/ Return true if identification number validation is not required\r\n  if (validateIdentificationNumber && validateIdentificationNumber.value == \"0\") {\r\n    console.log(\"Identification number validation is not required.\");\r\n    return true;\r\n  }\r\n\r\n  \/\/ NIF validation\r\n  var identificationType = jQuery(\"#Contacts___stic_identification_type_c\").val();\r\n  \/\/ Validate if the stic_identification_type_c field is not defined or is defined as NIF or NIE. \r\n  \/\/ Other values like passports and so on should not be validated as there's no rule to do it.\r\n  if (identificationType == null || identificationType == \"nif\" || identificationType == \"nie\") {\r\n    var nif = document.getElementById(\"Contacts___stic_identification_number_c\");\r\n    \/\/ The nif field may not be required so it can be empty. If so, it is not necessary to validate it\r\n    if (nif && nif.value && !isValidDNI(nif.value)) {\r\n      label = \" \";\r\n      if (nif.labels && nif.labels[0]) {\r\n        label += (nif.labels[0].textContent.slice(-1) == \":\" ? nif.labels[0].textContent.substring(0, nif.labels[0].textContent.length - 1) : nif.labels[0].textContent);\r\n      }\r\n      alert(stic_Web_Forms_LBL_INVALID_FORMAT + label + \".\");\r\n      nif.focus();\r\n      return false;\r\n    }\r\n  }\r\n\r\n  \/\/ CIF validation\r\n  var cif = document.getElementById(\"Accounts___stic_identification_number_c\");\r\n  \/\/ The cif field may not be required so it can be empty. If so, it is not necessary to validate it\r\n  if (cif && cif.value && !isValidCif(cif.value)) {\r\n    label = \" \";\r\n    if (cif.labels && cif.labels[0]) {\r\n      label += (cif.labels[0].textContent.slice(-1) == \":\" ? cif.labels[0].textContent.substring(0, cif.labels[0].textContent.length - 1) : cif.labels[0].textContent);\r\n    }\r\n    alert(stic_Web_Forms_LBL_INVALID_FORMAT + label + \".\");\r\n    cif.focus();\r\n    return false;\r\n  }\r\n\r\n  return true;\r\n}\r\n\r\n\/**\r\n * Check with each change of value in the field that only number and separator are allowed of decimals '.'\r\n * @returns {Boolean}\r\n *\/\r\nfunction isNumberKey(evt) {\r\n  var charCode = evt.which ? evt.which : event.keyCode;\r\n  if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n    return false;\r\n  }\r\n\r\n  if (charCode == 46) {\r\n    var evento = evt || event;\r\n    var dots = evento.currentTarget.value.match(\/\\.\/g); \/\/ If there is already a point, you cannot add another\r\n    if (dots && dots.length > 0) {\r\n      return false;\r\n    }\r\n    if (evento.currentTarget.value.length == 0) {\r\n      \/\/ If the point is at the beginning it includes a 0\r\n      evento.currentTarget.value = \"0\";\r\n    }\r\n  }\r\n\r\n  return true;\r\n}\r\n\r\n\/**\r\n * Format a value in a number with fixed-point notation\r\n * @param input currency type field in which to validate the format\r\n *\/\r\nfunction formatCurrency(input) {\r\n  var value = Number(input.value);\r\n  if (!isNaN(value)) {\r\n    input.value = value.toFixed(2);\r\n  }\r\n}\r\n\r\n\/**\r\n * Valid if a cif is valid\r\n * Adapted to javascript from its original in:\r\n * http:\/\/www.michublog.com\/informatica\/8-funciones-para-la-validacion-de-formularios-con-expresiones-regulares\r\n * @param cif\r\n * @returns {Boolean}\r\n *\/\r\nfunction isValidCif(cif) {\r\n  cif.toUpperCase();\r\n  cifRegEx1 = \/^[ABEH][0-9]{8}\/i;\r\n  cifRegEx2 = \/^[KPQS][0-9]{7}[A-J]\/i;\r\n  cifRegEx3 = \/^[CDFGJLMNRUVW][0-9]{7}[0-9A-J]\/i;\r\n\r\n  if (cif.match(cifRegEx1) || cif.match(cifRegEx2) || cif.match(cifRegEx3)) {\r\n    control = cif.charAt(cif.length - 1);\r\n    sum_A = 0;\r\n    sum_B = 0;\r\n    for (i = 1; i < 8; i++) {\r\n      if (i % 2 == 0) {\r\n        sum_A += parseInt(cif.charAt(i));\r\n      } else {\r\n        t = (parseInt(cif.charAt(i)) * 2).toString();\r\n        p = 0;\r\n        for (j = 0; j < t.length; j++) {\r\n          p += parseInt(t.charAt(j));\r\n        }\r\n        sum_B += p;\r\n      }\r\n    }\r\n\r\n    sum_C = parseInt(sum_A + sum_B) + \"\"; \/\/ As\u00ed se convierte en cadena\r\n    sum_D = (10 - parseInt(sum_C.charAt(sum_C.length - 1))) % 10;\r\n    letters = \"JABCDEFGHI\";\r\n\r\n    if (control >= \"0\" && control <= \"9\") {\r\n      return control == sum_D;\r\n    } else {\r\n      return control.toUpperCase() == letters[sum_D];\r\n    }\r\n  } else {\r\n    return false;\r\n  }\r\n}\r\n\r\n\/**\r\n * Check if it is a correct ID (between 5 and 8 letters followed by the corresponding letter).\r\n * Accept NIEs (Foreigners with X, Y or Z at the beginning)\r\n * http:\/\/trellat.es\/funcion-para-validar-dni-o-nie-en-javascript\/\r\n * @param dni\r\n * @returns {Boolean}\r\n *\/\r\nfunction isValidDNI(dni) {\r\n  var number, lett, letter;\r\n  var regular_expression_dni = \/^[XYZ]?\\d{5,8}[A-Z]$\/;\r\n  dni = dni.toUpperCase();\r\n\r\n  if (regular_expression_dni.test(dni) === true) {\r\n    number = dni.substr(0, dni.length - 1);\r\n    number = number.replace(\"X\", 0);\r\n    number = number.replace(\"Y\", 1);\r\n    number = number.replace(\"Z\", 2);\r\n    lett = dni.substr(dni.length - 1, 1);\r\n    number = number % 23;\r\n\r\n    letter = \"TRWAGMYFPDXBNJZSQVHLCKET\";\r\n    letter = letter.substring(number, number + 1);\r\n\r\n    return letter == lett;\r\n  } else {\r\n    return false;\r\n  }\r\n}\r\n\r\n\/**\r\n * Assign a value to a select field\r\n * @param select form field element\r\n * @param value value that the select option must have to be selected\r\n *\/\r\n\/\/\r\nfunction setSelectValue(select, value) {\r\n  for (var i = 0; i < select.options.length; i++) {\r\n    if (select.options[i].value == value) {\r\n      select.options[i].selected = true;\r\n    } else {\r\n      select.options[i].selected = false;\r\n    }\r\n  }\r\n  \/\/ Save the previous value\r\n  select.prev_value = select.options[select.selectedIndex].value;\r\n}\r\n\r\n\/**\r\n * Select the text of an input text of the form\r\n * @param input Object from which the text will be selected\r\n *\/\r\nfunction selectTextInput(input) {\r\n  if (typeof input.setSelectionRange != \"undefined\") {\r\n    input.setSelectionRange(0, input.value.length);\r\n  }\r\n  input.focus();\r\n}\r\n\r\n\/**\r\n * Verify that the size of the form attachments does not exceed the size defined in the PHP configuration\r\n *\/\r\nvar items;\r\nvar formSizeArray = [];\r\n\r\nvar url =\r\n  jQuery(\"form\")\r\n    .attr(\"action\")\r\n    .split(\"=\")[0] + \"=stic_Web_Forms_attachment_limits_response\";\r\njQuery.ajax({\r\n  url: url,\r\n  dataType: \"jsonp\"\r\n});\r\n\r\n\/**\r\n * Gets values of the PHP configuration in the system\r\n * @param data array from which the values ??are obtained\r\n *\/\r\nfunction getConfigVariables(data) {\r\n  items = data;\r\n  if (!items.uploadMaxFilesize || !items.postMaxSize) {\r\n    alert(stic_Web_Forms_LBL_SERVER_CONNECTION_ERROR);\r\n  }\r\n}\r\n\r\n\/**\r\n * Check if the attachment file size added to the input file is sizer\r\n * to the configuration variable php upload_max_filesize\r\n *\/\r\njQuery(\".document\").change(function() {\r\n  var numInput = this.id.substring(this.id.length - 1, this.id.length);\r\n  var errorZone = \"#error_zone_\" + numInput;\r\n  if (this.files[0]) {\r\n    var fileName = this.files[0].name;\r\n    var fileSize = this.files[0].size;\r\n    if (fileSize > items.uploadMaxFilesizeBytes) {\r\n      jQuery(errorZone).html(\"<span>\" + stic_Web_Forms_LBL_SIZE_FILE_EXCEED + items.uploadMaxFilesize + \"B <\/span>\");\r\n      formSizeArray[numInput - 1] = fileSize;\r\n    } else {\r\n      jQuery(errorZone).html(\"\");\r\n      formSizeArray[numInput - 1] = fileSize;\r\n    }\r\n  } else {\r\n    jQuery(errorZone).html(\"\");\r\n    formSizeArray[numInput - 1] = 0;\r\n  }\r\n});\r\n\r\n\/**\r\n * Check the total size of the files attached to the form\r\n * @returns {Boolean}\r\n *\/\r\nfunction checkFormSize() {\r\n  if (items) {\r\n    var formSize = 0;\r\n    var fileZizeError = 0;\r\n\r\n    formSizeArray.forEach(function(inputSize) {\r\n      if (inputSize) {\r\n        if (inputSize > items.uploadMaxFilesizeBytes) {\r\n          fileZizeError = 1;\r\n        }\r\n        formSize = formSize + inputSize;\r\n      }\r\n    });\r\n\r\n    if (fileZizeError) {\r\n      alert(stic_Web_Forms_LBL_SIZE_FILE_EXCEED + items.uploadMaxFilesize + \"B\");\r\n      return false;\r\n    }\r\n\r\n    if (formSize <= items.postMaxSizeBytes) {\r\n      return true;\r\n    } else {\r\n      alert(stic_Web_Forms_LBL_SUM_SIZE_FILES_EXCEED + items.postMaxSize + \"B\");\r\n      return false;\r\n    }\r\n  } else {\r\n    return true;\r\n  }\r\n}\r\n\r\n\/**\r\n * Fills the timeZone variable on loading.\r\n *\/\r\njQuery('#timeZone').val(Intl.DateTimeFormat().resolvedOptions().timeZone);\r\n\/**\r\n * This file is part of SinergiaCRM.\r\n * SinergiaCRM is a work developed by SinergiaTIC Association, based on SuiteCRM.\r\n * Copyright (C) 2013 - 2023 SinergiaTIC Association\r\n *\r\n * This program is free software; you can redistribute it and\/or modify it under\r\n * the terms of the GNU Affero General Public License version 3 as published by the\r\n * Free Software Foundation.\r\n *\r\n * This program is distributed in the hope that it will be useful, but WITHOUT\r\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r\n * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\r\n * details.\r\n *\r\n * You should have received a copy of the GNU Affero General Public License along with\r\n * this program; if not, see http:\/\/www.gnu.org\/licenses or write to the Free\r\n * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\r\n * 02110-1301 USA.\r\n *\r\n * You can contact SinergiaTIC Association at email address info@sinergiacrm.org.\r\n *\/\r\nfunction submitForm() {\r\n    var form = document.getElementById('WebToLeadForm');\r\n\r\n    \/\/ mant\u00e9 les teves validacions\r\n    if (checkFields() && checkFormSize()) {\r\n      \/\/ sempre existir\u00e0 i cridar\u00e0 la versi\u00f3 Turnstile d'aqu\u00ed dalt\r\n      return validateCaptchaAndSubmit();\r\n    }\r\n    return false;\r\n  }\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", function () {\r\n    var btn = document.getElementById(\"submit-button\");\r\n    if (btn) btn.setAttribute(\"disabled\", \"true\");\r\n  });\r\n\r\n  function onTurnstileExpired() {\r\n    var submitButton = document.getElementById(\"submit-button\");\r\n    var tokenInput = document.getElementById(\"cf-turnstile-token\");\r\n    if (tokenInput) tokenInput.value = \"\";\r\n    if (submitButton) submitButton.setAttribute(\"disabled\", \"true\");\r\n    }\r\n\r\nwindow.validateCaptchaAndSubmit = function () {\r\n  var token = document.getElementById('cf-turnstile-token')?.value || \"\";\r\n  if (!token) {\r\n    alert(\"Si us plau, completa el captcha.\");\r\n    return false;\r\n  }\r\n  var form = document.getElementById('WebToLeadForm');\r\n  if (!form) return false;\r\n\r\n  if (window.formHasAlreadyBeenSent) {\r\n    alert(\"El formulari ja s'ha enviat. Si us plau, espereu.\");\r\n    return false;\r\n  }\r\n  window.formHasAlreadyBeenSent = true;\r\n  form.submit();\r\n  return true;\r\n};\r\n\t\t<\/script>\r\n     <script>\r\n  \/\/ Estat\r\n  window.formHasAlreadyBeenSent = false;\r\n\r\n  \/\/ Turnstile\r\n  function onTurnstileSuccess(token) {\r\n    var tokenInput = document.getElementById(\"cf-turnstile-token\");\r\n    var submitButton = document.getElementById(\"submit-button\");\r\n    if (tokenInput) tokenInput.value = token || \"\";\r\n    if (submitButton) {\r\n      if (token) submitButton.removeAttribute(\"disabled\");\r\n      else submitButton.setAttribute(\"disabled\", \"true\");\r\n    }\r\n  }\r\n  function onTurnstileExpired() {\r\n    var tokenInput = document.getElementById(\"cf-turnstile-token\");\r\n    var submitButton = document.getElementById(\"submit-button\");\r\n    if (tokenInput) tokenInput.value = \"\";\r\n    if (submitButton) submitButton.setAttribute(\"disabled\", \"true\");\r\n  }\r\n\r\n  \/\/ SUBMIT \u201cbo\u201d: NO crida res del tema\r\n  function iridiaSubmit() {\r\n    var form = document.getElementById('WebToLeadForm');\r\n    if (!form) return;\r\n\r\n    \/\/ 1) Validaci\u00f3 HTML5 nativa (required, type=\"email\", etc.)\r\n    if (!form.checkValidity()) { form.reportValidity(); return; }\r\n\r\n    \/\/ 2) Turnstile\r\n    var token = document.getElementById('cf-turnstile-token')?.value || \"\";\r\n    if (!token) { alert(\"Si us plau, completa el captcha.\"); return; }\r\n\r\n    \/\/ 3) Anti-dobles clics\r\n    if (window.formHasAlreadyBeenSent) { alert(\"El formulari ja s'ha enviat. Si us plau, espereu.\"); return; }\r\n    window.formHasAlreadyBeenSent = true;\r\n\r\n    \/\/ Permet el submit nadiu i envia\r\n    window._allowNativeSubmit = true;\r\n    form.submit();\r\n  }\r\n\r\n  \/\/ Neutralitzaci\u00f3 + listeners\r\n  document.addEventListener(\"DOMContentLoaded\", function () {\r\n    var btn  = document.getElementById(\"submit-button\");\r\n    var form = document.getElementById(\"WebToLeadForm\");\r\n\r\n    \/\/ (A) Neutralitza globals del tema que trenquen (fan servir labels inexistents)\r\n    \/\/    Si existeixen, els sobreescrivim; si no, els definim com a no-ops.\r\n    window.validateMails     = function(){ return true; };\r\n    window.validateRequired  = function(){ return true; };\r\n    window.validateDates     = function(){ return true; };\r\n    window.validateNifCif    = function(){ return true; };\r\n    window.checkFields       = function(){ return true; };\r\n    window.submitForm        = function(){ \/* noop: evitem la del tema *\/ };\r\n    \/\/ Tamb\u00e9 reCAPTCHA del tema, per si l\u2019invoca:\r\n    window.grecaptcha = window.grecaptcha || {\r\n      ready: function(cb){ try{ cb&&cb(); }catch(e){} },\r\n      execute: function(){ try{ return Promise.resolve(''); }catch(e){ return Promise.resolve(''); } },\r\n      render: function(){ return null; }, getResponse: function(){ return ''; }, reset: function(){}\r\n    };\r\n\r\n    \/\/ (B) Talla altres manejadors de SUBMIT attachats pel tema\r\n    if (form) {\r\n      form.addEventListener(\"submit\", function(e){\r\n        if (!window._allowNativeSubmit) {\r\n          e.preventDefault();\r\n          e.stopImmediatePropagation();\r\n        }\r\n      }, true); \/\/ capture: s\u2019executa abans que la resta\r\n    }\r\n\r\n    \/\/ (C) Listener del nostre bot\u00f3 (sense onclick inline)\r\n    if (btn) {\r\n      btn.addEventListener(\"click\", function(e){\r\n        e.preventDefault();\r\n        e.stopImmediatePropagation(); \/\/ Evita que altres listeners del tema saltin\r\n        iridiaSubmit();\r\n      });\r\n      \/\/ opcional: assegurar desactivat d\u2019entrada\r\n      btn.setAttribute(\"disabled\", \"true\");\r\n    }\r\n  });\r\n<\/script>\r\n\t<\/body>\r\n<\/html>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n<\/div>\n<div class=\"gsp_post_data\" \r\n\t            data-post_type=\"page\" \r\n\t            data-cat=\"\" \r\n\t            data-modified=\"120\"\r\n\t            data-created=\"1775760641\"\r\n\t            data-title=\"Volem escoltar-te\" \r\n\t            data-home=\"https:\/\/iridia.cat\/es\/\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Volem escoltar-te A Ir\u00eddia volem continuar millorant amb vosaltres. Per aix\u00f2, et convidem a respondre aquest breu formulari: ens ajudar\u00e0 a con\u00e8ixer millor la comunitat de socis i s\u00f2cies i a saber si t\u2019agradaria implicar-te en algun aspecte del projecte.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"tags":[],"class_list":["post-14815","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Volem escoltar-te - Ir\u00eddia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/iridia.cat\/participa-volem-escoltar-te\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Volem escoltar-te - Ir\u00eddia\" \/>\n<meta property=\"og:description\" content=\"Volem escoltar-te A Ir\u00eddia volem continuar millorant amb vosaltres. Per aix\u00f2, et convidem a respondre aquest breu formulari: ens ajudar\u00e0 a con\u00e8ixer millor la comunitat de socis i s\u00f2cies i a saber si t\u2019agradaria implicar-te en algun aspecte del projecte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iridia.cat\/participa-volem-escoltar-te\/\" \/>\n<meta property=\"og:site_name\" content=\"Ir\u00eddia\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-13T16:47:55+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/participa-volem-escoltar-te\\\/\",\"url\":\"https:\\\/\\\/iridia.cat\\\/participa-volem-escoltar-te\\\/\",\"name\":\"Volem escoltar-te - Ir\u00eddia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#website\"},\"datePublished\":\"2026-04-09T16:50:41+00:00\",\"dateModified\":\"2026-04-13T16:47:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iridia.cat\\\/participa-volem-escoltar-te\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iridia.cat\\\/participa-volem-escoltar-te\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/participa-volem-escoltar-te\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inici\",\"item\":\"https:\\\/\\\/iridia.cat\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Volem escoltar-te\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#website\",\"url\":\"https:\\\/\\\/iridia.gatxan.in\\\/\",\"name\":\"Ir\u00eddia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/iridia.gatxan.in\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#organization\",\"name\":\"Ir\u00eddia\",\"url\":\"https:\\\/\\\/iridia.gatxan.in\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":null,\"contentUrl\":null,\"width\":null,\"height\":null,\"caption\":\"Ir\u00eddia\"},\"image\":{\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Volem escoltar-te - Ir\u00eddia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/","og_locale":"es_ES","og_type":"article","og_title":"Volem escoltar-te - Ir\u00eddia","og_description":"Volem escoltar-te A Ir\u00eddia volem continuar millorant amb vosaltres. Per aix\u00f2, et convidem a respondre aquest breu formulari: ens ajudar\u00e0 a con\u00e8ixer millor la comunitat de socis i s\u00f2cies i a saber si t\u2019agradaria implicar-te en algun aspecte del projecte.","og_url":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/","og_site_name":"Ir\u00eddia","article_modified_time":"2026-04-13T16:47:55+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/","url":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/","name":"Volem escoltar-te - Ir\u00eddia","isPartOf":{"@id":"https:\/\/iridia.gatxan.in\/#website"},"datePublished":"2026-04-09T16:50:41+00:00","dateModified":"2026-04-13T16:47:55+00:00","breadcrumb":{"@id":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iridia.cat\/participa-volem-escoltar-te\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iridia.cat\/participa-volem-escoltar-te\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inici","item":"https:\/\/iridia.cat\/"},{"@type":"ListItem","position":2,"name":"Volem escoltar-te"}]},{"@type":"WebSite","@id":"https:\/\/iridia.gatxan.in\/#website","url":"https:\/\/iridia.gatxan.in\/","name":"Ir\u00eddia","description":"","publisher":{"@id":"https:\/\/iridia.gatxan.in\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iridia.gatxan.in\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/iridia.gatxan.in\/#organization","name":"Ir\u00eddia","url":"https:\/\/iridia.gatxan.in\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/iridia.gatxan.in\/#\/schema\/logo\/image\/","url":null,"contentUrl":null,"width":null,"height":null,"caption":"Ir\u00eddia"},"image":{"@id":"https:\/\/iridia.gatxan.in\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/pages\/14815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/comments?post=14815"}],"version-history":[{"count":4,"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/pages\/14815\/revisions"}],"predecessor-version":[{"id":15043,"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/pages\/14815\/revisions\/15043"}],"wp:attachment":[{"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/media?parent=14815"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iridia.cat\/es\/wp-json\/wp\/v2\/tags?post=14815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}