{"id":10680,"date":"2026-03-14T13:43:29","date_gmt":"2026-03-14T12:43:29","guid":{"rendered":"https:\/\/iridia.cat\/?page_id=10680"},"modified":"2026-04-13T18:35:41","modified_gmt":"2026-04-13T16:35:41","slug":"donacions-organtizacions-2","status":"publish","type":"page","link":"https:\/\/iridia.cat\/en\/donacions-organtizacions-2\/","title":{"rendered":"Fes una donaci\u00f3 com a organtizaci\u00f3"},"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:33.33%\">\n<h2 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">Fes una donaci\u00f3!<\/h2>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><em>A Ir\u00eddia defensem els drets civils i pol\u00edtics. Denunciem la viol\u00e8ncia institucional i promovem canvis en les pol\u00edtiques p\u00fabliques. Ajuda&#8217;ns a fer-ho possible<\/em><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-secondary-color has-foreground-background-color has-text-color has-background has-link-color has-medium-font-size wp-elements-1\">La teva aportaci\u00f3 desgrava<\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\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\t\t\r\n\t\t<!-- js scripts -->\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1_jquery.js?v=Fod0QsloiiVBDAylDfyRCg\"><\/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=Fod0QsloiiVBDAylDfyRCg\"><\/script>\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1.js?v=Fod0QsloiiVBDAylDfyRCg\"><\/script>\r\n          <script src=\"https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js\" async defer><\/script>\r\n\r\n\t\t\t\t\t\t<!-- \/\/ js scripts -->\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=\"campaign_id\" name=\"campaign_id\" value=\"299cb6bb-dca3-c18f-6869-67990036723f\" \/>\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=\"allow_card_recurring_payments\" name=\"allow_card_recurring_payments\" value=\"0\" \/>\r\n            <input type=\"hidden\" id=\"allow_paypal_recurring_payments\" name=\"allow_paypal_recurring_payments\" value=\"0\" \/>\r\n            <input type=\"hidden\" id=\"allow_stripe_recurring_payments\" name=\"allow_stripe_recurring_payments\" value=\"1\" \/>\r\n            <input type=\"hidden\" id=\"stripe_payment_method_types\" name=\"stripe_payment_method_types\" value=\"card,sepa_debit\" \/>\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=\"Accounts___name;Accounts___email1;stic_Payment_Commitments___amount;Accounts___phone_office;Accounts___billing_address_postalcode;stic_Payment_Commitments___payment_method;stic_Payment_Commitments___periodicity;\" \/>\r\n            <input type=\"hidden\" id=\"bool_id\" name=\"bool_id\" value=\"\" \/>\r\n            <input type=\"hidden\" id=\"webFormClass\" name=\"webFormClass\" value=\"Donation\" \/>\r\n            <input type=\"hidden\" id=\"stic_Payment_Commitments___payment_type\" name=\"stic_Payment_Commitments___payment_type\" value=\"donation\" \/>\r\n            <input type=\"hidden\" id=\"stic_Payment_Commitments___periodicity\" name=\"stic_Payment_Commitments___periodicity\" value=\"punctual\" \/>\r\n            <input type=\"hidden\" id=\"web_module\" name=\"web_module\" value=\"Accounts\" \/> <input type=\"hidden\" id=\"language\" name=\"language\" value=\"ca_ES\" \/>\r\n            <input type=\"hidden\" id=\"defParams\" name=\"defParams\" value=\"%7B%22version%22%3A%222%22%2C%22email_template_id%22%3A%2200000e25-5fd4-0ad5-2798-6888a6abe2c5%22%2C%22relation_type%22%3A%22donor%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<table class=\"tableForm\">\r\n<input id=\"Accounts___name\" name=\"Accounts___name\" type=\"text\" span=\"\" sugar=\"slot\" placeholder=\"Nom fiscal de l'organitzaci\u00f3 *\" required>\r\n<input id=\"Accounts___email1\" name=\"Accounts___email1\" type=\"text\" onchange=\"validateEmailAdd(this);\" span=\"\" sugar=\"slot\" placeholder=\"Correu electr\u00f2nic *\" required>\r\n<input id=\"Accounts___stic_identification_number_c\" name=\"Accounts___stic_identification_number_c\" type=\"text\" span=\"\" sugar=\"slot\" placeholder=\"NIF *\" required>\r\n<input id=\"Accounts___phone_office\" name=\"Accounts___phone_office\" type=\"text\" span=\"\" sugar=\"slot\" placeholder=\"Tel\u00e8fon de contacte *\">\r\n<input id=\"Accounts___billing_address_postalcode\" name=\"Accounts___billing_address_postalcode\" type=\"text\" span=\"\" sugar=\"slot\" placeholder=\"Codi postal *\" required>\r\n\r\n\r\n<input id=\"stic_Payment_Commitments___amount\" name=\"stic_Payment_Commitments___amount\" type=\"number\" min=\"0\" step=\"0.01\" onkeypress=\"return isNumberKey(event)\" onchange=\"formatCurrency(this)\" placeholder=\"Quina quantitat vols aportar? (m\u00ednim 50)\" required>\r\n<select id=\"stic_Payment_Commitments___payment_method\" name=\"stic_Payment_Commitments___payment_method\" onchange=\"adaptPaymentMethod(this)\" style=\"width: 100%;color:#999;\">\r\n<option label=\"\" value=\"\">Selecciona el m\u00e8tode de pagament *<\/option>\r\n<option label=\"Domiciliaci\u00f3\" value=\"direct_debit\">Domiciliaci\u00f3<\/option>\r\n<option label=\"Targeta\" value=\"stripe_donacions\">Targeta<\/option>\r\n<\/select>\r\n\r\n<div id=\"ibanContainer\" style=\"display: none;\">\r\n  <input id=\"stic_Payment_Commitments___bank_account\" name=\"stic_Payment_Commitments___bank_account\"\r\n    type=\"text\" placeholder=\"IBAN\"\r\n    onchange=\"validateIBAN(this)\" span=\"\" sugar=\"slot\">\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAABAxIUoai_Lb-zfr\"><\/div>\r\n<input type=\"hidden\" id=\"cf-turnstile-token\" name=\"cf-turnstile-response\">\r\n<input class=\"button\" type=\"button\" onclick=\"submitForm(this.form);\" name=\"Submit\" value=\"Envia\" \/>\r\n\r\n\r\n<\/table>\r\n\t\t<\/form>\t\r\n    <script>\r\n  window.addEventListener('DOMContentLoaded', () => {\r\n    const input = document.getElementById('stic_Payment_Commitments___amount');\r\n    if (input) {\r\n      input.value = '';\r\n      input.placeholder = 'Quina quantitat vols aportar? *';\r\n    }\r\n  });\r\n<\/script>\t\r\n\r\n<script>\r\n  document.getElementById('stic_Payment_Commitments___payment_method').addEventListener('change', function () {\r\n    const ibanContainer = document.getElementById('ibanContainer');\r\n    if (this.value === 'direct_debit') {\r\n      ibanContainer.style.display = 'block';\r\n    } else {\r\n      ibanContainer.style.display = 'none';\r\n    }\r\n  });\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", function() {\r\n  let submitButton = document.getElementById(\"submit-button\");\r\n  let turnstileTokenInput = document.getElementById(\"cf-turnstile-token\");\r\n\r\n  \/\/ Funci\u00f3 per activar\/desactivar el bot\u00f3 d'enviar\r\n  function toggleSubmitButton(enable) {\r\n      if (enable) {\r\n          submitButton.removeAttribute(\"disabled\");\r\n      } else {\r\n          submitButton.setAttribute(\"disabled\", \"true\");\r\n      }\r\n  }\r\n\r\n  \/\/ Desactivar el bot\u00f3 per defecte\r\n  toggleSubmitButton(false);\r\n\r\n  \/\/ Listener per quan Cloudflare Turnstile generi un token\r\n  window.onloadTurnstileCallback = function() {\r\n      turnstile.render('.cf-turnstile', {\r\n          sitekey: \"LA_TEVA_SITE_KEY\",\r\n          callback: function(token) {\r\n              if (token) {\r\n                  turnstileTokenInput.value = token; \/\/ Guardar el token al input hidden\r\n                  toggleSubmitButton(true); \/\/ Activar el bot\u00f3 d'enviar\r\n              } else {\r\n                  toggleSubmitButton(false); \/\/ Desactivar el bot\u00f3 si no hi ha token\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\tvar stic_Payment_Commitments_LBL_IBAN_NOT_VALID = \"El compte bancari no \u00e9s correcte.\";\r\n\t\t\t\t\t\t\tvar stic_Payment_Commitments_LBL_PERIODICITY_PUNCTUAL = \"Aquest mitj\u00e0 de pagament nom\u00e9s opera amb pagaments \u00fanics. Segur que voleu canviar la periodicitat?\";\r\n\t\t\t\t\t\t\tvar stic_Payment_Commitments_LBL_PAYMENT_TYPE_PUNCTUAL = \"Aquest mitj\u00e0 de pagament nom\u00e9s opera amb pagaments \u00fanics. Segur que voleu canviar el mitj\u00e0 de pagament?\";\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\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\nvar formHasAlreadyBeenSent = false;\r\n\/**\r\n * Form submission function\r\n * @param form form to be sent\r\n *\/\r\nfunction submitForm(form) {\r\n  if (checkFields() && checkFormSize()) {\r\n    if (typeof validateCaptchaAndSubmit != \"undefined\") {\r\n      validateCaptchaAndSubmit();\r\n    } else {\r\n        if (formHasAlreadyBeenSent != true) {\r\n            formHasAlreadyBeenSent = true;\r\n            form.submit();\r\n        } else {\r\n            console.log(\"Form is locked because it has already been sent.\");\r\n        }\r\n    }\r\n  }\r\n  return false;\r\n}\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\n\/**\r\n * Library Code https:\/\/github.com\/arhs\/iban.js\r\n *\/\r\n(function(root, factory) {\r\n  if (typeof define === \"function\" && define.amd) {\r\n    \/\/ AMD. Register as an anonymous module.\r\n    define([\"exports\"], factory);\r\n  } else if (typeof exports === \"object\" && typeof exports.nodeName !== \"string\") {\r\n    \/\/ CommonJS\r\n    factory(exports);\r\n  } else {\r\n    \/\/ Browser globals\r\n    factory((root.IBAN = {}));\r\n  }\r\n})(this, function(exports) {\r\n  \/\/ Array.prototype.map polyfill\r\n  \/\/ Code from https:\/\/developer.mozilla.org\/en-US\/docs\/JavaScript\/Reference\/Global_Objects\/Array\/map\r\n  if (!Array.prototype.map) {\r\n    Array.prototype.map = function(fun \/*, thisArg *\/) {\r\n      \"use strict\";\r\n      if (this === void 0 || this === null) {\r\n        throw new TypeError();\r\n      }\r\n\r\n      var t = Object(this);\r\n      var len = t.length >>> 0;\r\n      if (typeof fun !== \"function\") {\r\n        throw new TypeError();\r\n      }\r\n\r\n      var res = new Array(len);\r\n      var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\r\n      for (var i = 0; i < len; i++) {\r\n        \/* \r\n          STIC NOTE: Absolute correctness would demand Object.defineProperty be used.  But this method is fairly new, and failure is possible only \r\n          if Object.prototype or Array.prototype has a property |i| (very unlikely), so use a less-correct but more portable alternative.\r\n        *\/\r\n        if (i in t) {\r\n          res[i] = fun.call(thisArg, t[i], i, t);\r\n        }\r\n      }\r\n      return res;\r\n    };\r\n  }\r\n\r\n  var A = \"A\".charCodeAt(0),\r\n    Z = \"Z\".charCodeAt(0);\r\n\r\n  \/**\r\n   * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to numbers (A = 10, B = 11,   .., Z = 35), as specified in ISO13616.\r\n   *\r\n   * @param {string} iban the IBAN\r\n   * @returns {string} the prepared IBAN\r\n   *\/\r\n  function iso13616Prepare(iban) {\r\n    iban = iban.toUpperCase();\r\n    iban = iban.substr(4) + iban.substr(0, 4);\r\n    return iban\r\n      .split(\"\")\r\n      .map(function(n) {\r\n        var code = n.charCodeAt(0);\r\n        if (code >= A && code <= Z) {\r\n          \/\/ A = 10, B = 11, ... Z = 35\r\n          return code - A + 10;\r\n        } else {\r\n          return n;\r\n        }\r\n      })\r\n      .join(\"\");\r\n  }\r\n\r\n  \/**\r\n   * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\r\n   *\r\n   * @param iban\r\n   * @returns {number}\r\n   *\/\r\n  function iso7064Mod97_10(iban) {\r\n    var remainder = iban,\r\n      block;\r\n\r\n    while (remainder.length > 2) {\r\n      block = remainder.slice(0, 9);\r\n      remainder = (parseInt(block, 10) % 97) + remainder.slice(block.length);\r\n    }\r\n\r\n    return parseInt(remainder, 10) % 97;\r\n  }\r\n\r\n  \/**\r\n   * Parse the BBAN structure used to configure each IBAN Specification and returns a matching regular expression.\r\n   * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\r\n   * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\r\n   * are allowed in this group and the following 2-digits number tells the length of the group.\r\n   *\r\n   * @param {string} structure the structure to parse\r\n   * @returns {RegExp}\r\n   *\/\r\n  function parseStructure(structure) {\r\n    \/\/ split in blocks of 3 chars\r\n    var regex = structure.match(\/(.{3})\/g).map(function(block) {\r\n      \/\/ parse each structure block (1-char + 2-digits)\r\n      var format,\r\n        pattern = block.slice(0, 1),\r\n        repeats = parseInt(block.slice(1), 10);\r\n\r\n      switch (pattern) {\r\n        case \"A\":\r\n          format = \"0-9A-Za-z\";\r\n          break;\r\n        case \"B\":\r\n          format = \"0-9A-Z\";\r\n          break;\r\n        case \"C\":\r\n          format = \"A-Za-z\";\r\n          break;\r\n        case \"F\":\r\n          format = \"0-9\";\r\n          break;\r\n        case \"L\":\r\n          format = \"a-z\";\r\n          break;\r\n        case \"U\":\r\n          format = \"A-Z\";\r\n          break;\r\n        case \"W\":\r\n          format = \"0-9a-z\";\r\n          break;\r\n      }\r\n      return \"([\" + format + \"]{\" + repeats + \"})\";\r\n    });\r\n    return new RegExp(\"^\" + regex.join(\"\") + \"$\");\r\n  }\r\n\r\n  \/**\r\n   * @param iban\r\n   * @returns {string}\r\n   *\/\r\n  function electronicFormat(iban) {\r\n    return iban.replace(NON_ALPHANUM, \"\").toUpperCase();\r\n  }\r\n\r\n  \/**\r\n   * Create a new Specification for a valid IBAN number.\r\n   *\r\n   * @param countryCode the code of the country\r\n   * @param length the length of the IBAN\r\n   * @param structure the structure of the underlying BBAN (for validation and formatting)\r\n   * @param example an example valid IBAN\r\n   * @constructor\r\n   *\/\r\n  function Specification(countryCode, length, structure, example) {\r\n    this.countryCode = countryCode;\r\n    this.length = length;\r\n    this.structure = structure;\r\n    this.example = example;\r\n  }\r\n\r\n  \/**\r\n   * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\r\n   *\/\r\n  Specification.prototype._regex = function() {\r\n    return this._cachedRegex || (this._cachedRegex = parseStructure(this.structure));\r\n  };\r\n\r\n  \/**\r\n   * Check if the passed iban is valid according to this specification.\r\n   *\r\n   * @param {String} iban the iban to validate\r\n   * @returns {boolean} true if valid, false otherwise\r\n   *\/\r\n  Specification.prototype.isValid = function(iban) {\r\n    return this.length == iban.length && this.countryCode === iban.slice(0, 2) && this._regex().test(iban.slice(4)) && iso7064Mod97_10(iso13616Prepare(iban)) == 1;\r\n  };\r\n\r\n  \/**\r\n   * Convert the passed IBAN to a country-specific BBAN.\r\n   *\r\n   * @param iban the IBAN to convert\r\n   * @param separator the separator to use between BBAN blocks\r\n   * @returns {string} the BBAN\r\n   *\/\r\n  Specification.prototype.toBBAN = function(iban, separator) {\r\n    return this._regex()\r\n      .exec(iban.slice(4))\r\n      .slice(1)\r\n      .join(separator);\r\n  };\r\n\r\n  \/**\r\n   * Convert the passed BBAN to an IBAN for this country specification.\r\n   * Please note that <i>\"generation of the IBAN shall be the exclusive responsibility of the bank\/branch servicing the account\"<\/i>.\r\n   * This method implements the preferred algorithm described in http:\/\/en.wikipedia.org\/wiki\/International_Bank_Account_Number#Generating_IBAN_check_digits\r\n   *\r\n   * @param bban the BBAN to convert to IBAN\r\n   * @returns {string} the IBAN\r\n   *\/\r\n  Specification.prototype.fromBBAN = function(bban) {\r\n    if (!this.isValidBBAN(bban)) {\r\n      throw new Error(\"Invalid BBAN\");\r\n    }\r\n    var remainder = iso7064Mod97_10(iso13616Prepare(this.countryCode + \"00\" + bban)),\r\n      checkDigit = (\"0\" + (98 - remainder)).slice(-2);\r\n\r\n    return this.countryCode + checkDigit + bban;\r\n  };\r\n\r\n  \/**\r\n   * Check of the passed BBAN is valid.\r\n   * This function only checks the format of the BBAN (length and matching the letetr\/number specs) but does not\r\n   * verify the check digit.\r\n   *\r\n   * @param bban the BBAN to validate\r\n   * @returns {boolean} true if the passed bban is a valid BBAN according to this specification, false otherwise\r\n   *\/\r\n  Specification.prototype.isValidBBAN = function(bban) {\r\n    return this.length - 4 == bban.length && this._regex().test(bban);\r\n  };\r\n\r\n  var countries = {};\r\n  function addSpecification(IBAN) {\r\n    countries[IBAN.countryCode] = IBAN;\r\n  }\r\n\r\n  addSpecification(new Specification(\"AD\", 24, \"F04F04A12\", \"AD1200012030200359100100\"));\r\n  addSpecification(new Specification(\"AE\", 23, \"F03F16\", \"AE070331234567890123456\"));\r\n  addSpecification(new Specification(\"AL\", 28, \"F08A16\", \"AL47212110090000000235698741\"));\r\n  addSpecification(new Specification(\"AT\", 20, \"F05F11\", \"AT611904300234573201\"));\r\n  addSpecification(new Specification(\"AZ\", 28, \"U04A20\", \"AZ21NABZ00000000137010001944\"));\r\n  addSpecification(new Specification(\"BA\", 20, \"F03F03F08F02\", \"BA391290079401028494\"));\r\n  addSpecification(new Specification(\"BE\", 16, \"F03F07F02\", \"BE68539007547034\"));\r\n  addSpecification(new Specification(\"BG\", 22, \"U04F04F02A08\", \"BG80BNBG96611020345678\"));\r\n  addSpecification(new Specification(\"BH\", 22, \"U04A14\", \"BH67BMAG00001299123456\"));\r\n  addSpecification(new Specification(\"BR\", 29, \"F08F05F10U01A01\", \"BR9700360305000010009795493P1\"));\r\n  addSpecification(new Specification(\"BY\", 28, \"A04F04A16\", \"BY13NBRB3600900000002Z00AB00\"));\r\n  addSpecification(new Specification(\"CH\", 21, \"F05A12\", \"CH9300762011623852957\"));\r\n  addSpecification(new Specification(\"CR\", 22, \"F04F14\", \"CR72012300000171549015\"));\r\n  addSpecification(new Specification(\"CY\", 28, \"F03F05A16\", \"CY17002001280000001200527600\"));\r\n  addSpecification(new Specification(\"CZ\", 24, \"F04F06F10\", \"CZ6508000000192000145399\"));\r\n  addSpecification(new Specification(\"DE\", 22, \"F08F10\", \"DE89370400440532013000\"));\r\n  addSpecification(new Specification(\"DK\", 18, \"F04F09F01\", \"DK5000400440116243\"));\r\n  addSpecification(new Specification(\"DO\", 28, \"U04F20\", \"DO28BAGR00000001212453611324\"));\r\n  addSpecification(new Specification(\"EE\", 20, \"F02F02F11F01\", \"EE382200221020145685\"));\r\n  addSpecification(new Specification(\"ES\", 24, \"F04F04F01F01F10\", \"ES9121000418450200051332\"));\r\n  addSpecification(new Specification(\"FI\", 18, \"F06F07F01\", \"FI2112345600000785\"));\r\n  addSpecification(new Specification(\"FO\", 18, \"F04F09F01\", \"FO6264600001631634\"));\r\n  addSpecification(new Specification(\"FR\", 27, \"F05F05A11F02\", \"FR1420041010050500013M02606\"));\r\n  addSpecification(new Specification(\"GB\", 22, \"U04F06F08\", \"GB29NWBK60161331926819\"));\r\n  addSpecification(new Specification(\"GE\", 22, \"U02F16\", \"GE29NB0000000101904917\"));\r\n  addSpecification(new Specification(\"GI\", 23, \"U04A15\", \"GI75NWBK000000007099453\"));\r\n  addSpecification(new Specification(\"GL\", 18, \"F04F09F01\", \"GL8964710001000206\"));\r\n  addSpecification(new Specification(\"GR\", 27, \"F03F04A16\", \"GR1601101250000000012300695\"));\r\n  addSpecification(new Specification(\"GT\", 28, \"A04A20\", \"GT82TRAJ01020000001210029690\"));\r\n  addSpecification(new Specification(\"HR\", 21, \"F07F10\", \"HR1210010051863000160\"));\r\n  addSpecification(new Specification(\"HU\", 28, \"F03F04F01F15F01\", \"HU42117730161111101800000000\"));\r\n  addSpecification(new Specification(\"IE\", 22, \"U04F06F08\", \"IE29AIBK93115212345678\"));\r\n  addSpecification(new Specification(\"IL\", 23, \"F03F03F13\", \"IL620108000000099999999\"));\r\n  addSpecification(new Specification(\"IS\", 26, \"F04F02F06F10\", \"IS140159260076545510730339\"));\r\n  addSpecification(new Specification(\"IT\", 27, \"U01F05F05A12\", \"IT60X0542811101000000123456\"));\r\n  addSpecification(new Specification(\"IQ\", 23, \"U04F03A12\", \"IQ98NBIQ850123456789012\"));\r\n  addSpecification(new Specification(\"JO\", 30, \"A04F22\", \"JO15AAAA1234567890123456789012\"));\r\n  addSpecification(new Specification(\"KW\", 30, \"U04A22\", \"KW81CBKU0000000000001234560101\"));\r\n  addSpecification(new Specification(\"KZ\", 20, \"F03A13\", \"KZ86125KZT5004100100\"));\r\n  addSpecification(new Specification(\"LB\", 28, \"F04A20\", \"LB62099900000001001901229114\"));\r\n  addSpecification(new Specification(\"LC\", 32, \"U04F24\", \"LC07HEMM000100010012001200013015\"));\r\n  addSpecification(new Specification(\"LI\", 21, \"F05A12\", \"LI21088100002324013AA\"));\r\n  addSpecification(new Specification(\"LT\", 20, \"F05F11\", \"LT121000011101001000\"));\r\n  addSpecification(new Specification(\"LU\", 20, \"F03A13\", \"LU280019400644750000\"));\r\n  addSpecification(new Specification(\"LV\", 21, \"U04A13\", \"LV80BANK0000435195001\"));\r\n  addSpecification(new Specification(\"MC\", 27, \"F05F05A11F02\", \"MC5811222000010123456789030\"));\r\n  addSpecification(new Specification(\"MD\", 24, \"U02A18\", \"MD24AG000225100013104168\"));\r\n  addSpecification(new Specification(\"ME\", 22, \"F03F13F02\", \"ME25505000012345678951\"));\r\n  addSpecification(new Specification(\"MK\", 19, \"F03A10F02\", \"MK07250120000058984\"));\r\n  addSpecification(new Specification(\"MR\", 27, \"F05F05F11F02\", \"MR1300020001010000123456753\"));\r\n  addSpecification(new Specification(\"MT\", 31, \"U04F05A18\", \"MT84MALT011000012345MTLCAST001S\"));\r\n  addSpecification(new Specification(\"MU\", 30, \"U04F02F02F12F03U03\", \"MU17BOMM0101101030300200000MUR\"));\r\n  addSpecification(new Specification(\"NL\", 18, \"U04F10\", \"NL91ABNA0417164300\"));\r\n  addSpecification(new Specification(\"NO\", 15, \"F04F06F01\", \"NO9386011117947\"));\r\n  addSpecification(new Specification(\"PK\", 24, \"U04A16\", \"PK36SCBL0000001123456702\"));\r\n  addSpecification(new Specification(\"PL\", 28, \"F08F16\", \"PL61109010140000071219812874\"));\r\n  addSpecification(new Specification(\"PS\", 29, \"U04A21\", \"PS92PALS000000000400123456702\"));\r\n  addSpecification(new Specification(\"PT\", 25, \"F04F04F11F02\", \"PT50000201231234567890154\"));\r\n  addSpecification(new Specification(\"QA\", 29, \"U04A21\", \"QA30AAAA123456789012345678901\"));\r\n  addSpecification(new Specification(\"RO\", 24, \"U04A16\", \"RO49AAAA1B31007593840000\"));\r\n  addSpecification(new Specification(\"RS\", 22, \"F03F13F02\", \"RS35260005601001611379\"));\r\n  addSpecification(new Specification(\"SA\", 24, \"F02A18\", \"SA0380000000608010167519\"));\r\n  addSpecification(new Specification(\"SC\", 31, \"U04F04F16U03\", \"SC18SSCB11010000000000001497USD\"));\r\n  addSpecification(new Specification(\"SE\", 24, \"F03F16F01\", \"SE4550000000058398257466\"));\r\n  addSpecification(new Specification(\"SI\", 19, \"F05F08F02\", \"SI56263300012039086\"));\r\n  addSpecification(new Specification(\"SK\", 24, \"F04F06F10\", \"SK3112000000198742637541\"));\r\n  addSpecification(new Specification(\"SM\", 27, \"U01F05F05A12\", \"SM86U0322509800000000270100\"));\r\n  addSpecification(new Specification(\"ST\", 25, \"F08F11F02\", \"ST68000100010051845310112\"));\r\n  addSpecification(new Specification(\"SV\", 28, \"U04F20\", \"SV62CENR00000000000000700025\"));\r\n  addSpecification(new Specification(\"TL\", 23, \"F03F14F02\", \"TL380080012345678910157\"));\r\n  addSpecification(new Specification(\"TN\", 24, \"F02F03F13F02\", \"TN5910006035183598478831\"));\r\n  addSpecification(new Specification(\"TR\", 26, \"F05F01A16\", \"TR330006100519786457841326\"));\r\n  addSpecification(new Specification(\"UA\", 29, \"F25\", \"UA511234567890123456789012345\"));\r\n  addSpecification(new Specification(\"VG\", 24, \"U04F16\", \"VG96VPVG0000012345678901\"));\r\n  addSpecification(new Specification(\"XK\", 20, \"F04F10F02\", \"XK051212012345678906\"));\r\n  \/\/ The following countries are not included in the official IBAN registry but use the IBAN specification\r\n  \/\/ Angola\r\n  addSpecification(new Specification(\"AO\", 25, \"F21\", \"AO69123456789012345678901\"));\r\n  \/\/ Burkina\r\n  addSpecification(new Specification(\"BF\", 27, \"F23\", \"BF2312345678901234567890123\"));\r\n  \/\/ Burundi\r\n  addSpecification(new Specification(\"BI\", 16, \"F12\", \"BI41123456789012\"));\r\n  \/\/ Benin\r\n  addSpecification(new Specification(\"BJ\", 28, \"F24\", \"BJ39123456789012345678901234\"));\r\n  \/\/ Ivory\r\n  addSpecification(new Specification(\"CI\", 28, \"U01F23\", \"CI17A12345678901234567890123\"));\r\n  \/\/ Cameron\r\n  addSpecification(new Specification(\"CM\", 27, \"F23\", \"CM9012345678901234567890123\"));\r\n  \/\/ Cape Verde\r\n  addSpecification(new Specification(\"CV\", 25, \"F21\", \"CV30123456789012345678901\"));\r\n  \/\/ Algeria\r\n  addSpecification(new Specification(\"DZ\", 24, \"F20\", \"DZ8612345678901234567890\"));\r\n  \/\/ Iran\r\n  addSpecification(new Specification(\"IR\", 26, \"F22\", \"IR861234568790123456789012\"));\r\n  \/\/ Madagascar\r\n  addSpecification(new Specification(\"MG\", 27, \"F23\", \"MG1812345678901234567890123\"));\r\n  \/\/ Mali\r\n  addSpecification(new Specification(\"ML\", 28, \"U01F23\", \"ML15A12345678901234567890123\"));\r\n  \/\/ Mozambique\r\n  addSpecification(new Specification(\"MZ\", 25, \"F21\", \"MZ25123456789012345678901\"));\r\n  \/\/ Senegal\r\n  addSpecification(new Specification(\"SN\", 28, \"U01F23\", \"SN52A12345678901234567890123\"));\r\n\r\n  var NON_ALPHANUM = \/[^a-zA-Z0-9]\/g,\r\n    EVERY_FOUR_CHARS = \/(.{4})(?!$)\/g;\r\n\r\n  \/**\r\n   * Utility function to check if a variable is a String.\r\n   *\r\n   * @param v\r\n   * @returns {boolean} true if the passed variable is a String, false otherwise.\r\n   *\/\r\n  function isString(v) {\r\n    return typeof v == \"string\" || v instanceof String;\r\n  }\r\n\r\n  \/**\r\n   * Check if an IBAN is valid.\r\n   *\r\n   * @param {String} iban the IBAN to validate.\r\n   * @returns {boolean} true if the passed IBAN is valid, false otherwise\r\n   *\/\r\n  exports.isValid = function(iban) {\r\n    if (!isString(iban)) {\r\n      return false;\r\n    }\r\n    iban = electronicFormat(iban);\r\n    var countryStructure = countries[iban.slice(0, 2)];\r\n    return !!countryStructure && countryStructure.isValid(iban);\r\n  };\r\n\r\n  \/**\r\n   * Convert an IBAN to a BBAN.\r\n   *\r\n   * @param iban\r\n   * @param {String} [separator] the separator to use between the blocks of the BBAN, defaults to ' '\r\n   * @returns {string|*}\r\n   *\/\r\n  exports.toBBAN = function(iban, separator) {\r\n    if (typeof separator == \"undefined\") {\r\n      separator = \" \";\r\n    }\r\n\r\n    iban = electronicFormat(iban);\r\n    var countryStructure = countries[iban.slice(0, 2)];\r\n    if (!countryStructure) {\r\n      throw new Error(\"No country with code \" + iban.slice(0, 2));\r\n    }\r\n\r\n    return countryStructure.toBBAN(iban, separator);\r\n  };\r\n\r\n  \/**\r\n   * Convert the passed BBAN to an IBAN for this country specification.\r\n   * Please note that <i>\"generation of the IBAN shall be the exclusive responsibility of the bank\/branch servicing the account\"<\/i>.\r\n   * This method implements the preferred algorithm described in http:\/\/en.wikipedia.org\/wiki\/International_Bank_Account_Number#Generating_IBAN_check_digits\r\n   *\r\n   * @param countryCode the country of the BBAN\r\n   * @param bban the BBAN to convert to IBAN\r\n   * @returns {string} the IBAN\r\n   *\/\r\n  exports.fromBBAN = function(countryCode, bban) {\r\n    var countryStructure = countries[countryCode];\r\n    if (!countryStructure) {\r\n      throw new Error(\"No country with code \" + countryCode);\r\n    }\r\n    return countryStructure.fromBBAN(electronicFormat(bban));\r\n  };\r\n\r\n  \/**\r\n   * Check the validity of the passed BBAN.\r\n   *\r\n   * @param countryCode the country of the BBAN\r\n   * @param bban the BBAN to check the validity of\r\n   *\/\r\n  exports.isValidBBAN = function(countryCode, bban) {\r\n    if (!isString(bban)) {\r\n      return false;\r\n    }\r\n    var countryStructure = countries[countryCode];\r\n    return countryStructure && countryStructure.isValidBBAN(electronicFormat(bban));\r\n  };\r\n\r\n  \/**\r\n   *\r\n   * @param iban\r\n   * @param separator\r\n   * @returns {string}\r\n   *\/\r\n  exports.printFormat = function(iban, separator) {\r\n    if (typeof separator == \"undefined\") {\r\n      separator = \" \";\r\n    }\r\n    return electronicFormat(iban).replace(EVERY_FOUR_CHARS, \"$1\" + separator);\r\n  };\r\n  exports.electronicFormat = electronicFormat;\r\n\r\n  \/**\r\n   * An object containing all the known IBAN specifications.\r\n   *\/\r\n  exports.countries = countries;\r\n});\r\n\r\n\/**\r\n * Validate IBAN\r\n * @returns {Boolean}\r\n *\/\r\nfunction validateIBAN() {\r\n  \/\/ v2018\r\n  \/\/ If the payment method is not direct debit, the IBAN must not be validated\r\n  if (document.getElementById(\"stic_Payment_Commitments___payment_method\").value == \"direct_debit\") {\r\n    var bankAccount = document.getElementById(\"stic_Payment_Commitments___bank_account\");\r\n    bankAccount.value = bankAccount.value.toUpperCase();\r\n    if (bankAccount == null) {\r\n      \/\/ If there is no account number it will give error\r\n      return false;\r\n    } else {\r\n      if (!IBAN.isValid(bankAccount.value)) {\r\n        alert(stic_Payment_Commitments_LBL_IBAN_NOT_VALID);\r\n        selectTextInput(bankAccount);\r\n        return false;\r\n      }\r\n    }\r\n  }\r\n  return true;\r\n}\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\n\/**\r\n * Overload the data validation function to include the validation of the payment methods fields\r\n * @returns {String}\r\n *\/\r\n(function () {\r\n  var tmpCheckFields = checkFields;\r\n  checkFields = function () {\r\n    if (tmpCheckFields) {\r\n      return tmpCheckFields() && validateIBAN();\r\n    }\r\n    return validateIBAN();\r\n  };\r\n})();\r\n\r\n\r\n\/\/ Set variables for manage recurring payment validations\r\nvar oP = document.getElementById('allow_paypal_recurring_payments');\r\nvar allowPaypalRecurringPayments = oP && oP.value == 1 ? 1 : 0;\r\nvar oC = document.getElementById('allow_card_recurring_payments');\r\nvar allowCardRecurringPayments = oC && oC.value == 1 ? 1 : 0;\r\nvar oS = document.getElementById('allow_stripe_recurring_payments');\r\nvar allowStripeRecurringPayments = oS && oS.value == 1 ? 1 : 0;\r\n\r\n\/**\r\n * Adapt the form based on the periodicity value\r\n *\/\r\nfunction adaptPeriodicity() {\r\n  var oPeriodicity = document.getElementById(\"stic_Payment_Commitments___periodicity\"); \/\/ Retrieve the html element from periodicity\r\n  var vPeriodicity = oPeriodicity.options[oPeriodicity.selectedIndex].value;\r\n  var oPaymentMethod = document.getElementById(\"stic_Payment_Commitments___payment_method\"); \/\/ Retrieve the html element of payment method\r\n  var vPaymentMethod = oPaymentMethod.options[oPaymentMethod.selectedIndex].value;\r\n\r\n  \/\/ If the periodicity has a value and is not punctual mark the means of payment as 'Direct debit'\r\n  if (vPeriodicity && vPeriodicity != \"punctual\" && (\r\n      (vPaymentMethod == \"card\" && allowCardRecurringPayments == 0) || \r\n      (vPaymentMethod == \"ceca_card\" && allowCardRecurringPayments == 0) || \r\n      (vPaymentMethod == \"paypal\" && allowPaypalRecurringPayments == 0) || \r\n      (vPaymentMethod == \"stripe\" && allowStripeRecurringPayments == 0) || \r\n       vPaymentMethod == \"bizum\")) {\r\n    if (confirm(stic_Payment_Commitments_LBL_PAYMENT_TYPE_PUNCTUAL)) {\r\n      setSelectValue(oPaymentMethod, \"direct_debit\");\r\n      adaptPaymentMethod();\r\n    } else {\r\n      setSelectValue(oPeriodicity, oPeriodicity.prev_value);\r\n      return false;\r\n    }\r\n  }\r\n  oPeriodicity.prev_value = vPeriodicity;\r\n}\r\n\r\n\/**\r\n* Adapt the form based on the value of the payment method\r\n*\/\r\n\r\nfunction adaptPaymentMethod() {\r\n\r\n  var oPaymentMethod = document.getElementById(\"stic_Payment_Commitments___payment_method\"); \/\/ Retrieve the html element of payment method\r\n  var vPaymentMethod = oPaymentMethod.options[oPaymentMethod.selectedIndex].value;\r\n  var oPeriodicity = document.getElementById(\"stic_Payment_Commitments___periodicity\"); \/\/ Retrieve the html element of periodicity\r\n  var vPeriodicity = oPeriodicity.options[oPeriodicity.selectedIndex].value;\r\n\r\n  \/\/ If the payment method has changed to card or bizum, check the periodicity\r\n  if (((vPaymentMethod == \"card\" && allowCardRecurringPayments == 0)\r\n    || (vPaymentMethod == \"ceca_card\" && allowPaypalRecurringPayments == 0)\r\n    || (vPaymentMethod == \"paypal\" && allowPaypalRecurringPayments == 0)\r\n    || (vPaymentMethod == \"stripe\" && allowStripeRecurringPayments == 0)\r\n    || vPaymentMethod == \"bizum\")\r\n    && vPeriodicity && vPeriodicity != \"punctual\") {\r\n    if (confirm(stic_Payment_Commitments_LBL_PERIODICITY_PUNCTUAL)) {\r\n      \/\/ If you want to continue, punctual periodicity is indicated\r\n      setSelectValue(oPeriodicity, \"punctual\");\r\n    } else {\r\n      setSelectValue(oPaymentMethod, oPaymentMethod.prev_value);\r\n      return false;\r\n    }\r\n  }\r\n\r\n  \/\/ If the payment method is a direct debit, it shows the account number field and marks it as required.\r\n  if (vPaymentMethod == \"direct_debit\") {\r\n    showField(\"stic_Payment_Commitments___bank_account\");\r\n    addRequired(\"stic_Payment_Commitments___bank_account\");\r\n  } else {\r\n    hideField(\"stic_Payment_Commitments___bank_account\");\r\n    removeRequired(\"stic_Payment_Commitments___bank_account\");\r\n  }\r\n  oPaymentMethod.prev_value = vPaymentMethod;\r\n}\r\n\r\n\t\t<\/script>\r\n\t<\/body>\r\n<\/html>\n<\/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=\"1773495809\"\r\n\t            data-title=\"Fes una donaci\u00f3 com a organtizaci\u00f3\" \r\n\t            data-home=\"https:\/\/iridia.cat\/en\/\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Fes una donaci\u00f3! A Ir\u00eddia defensem els drets civils i pol\u00edtics. Denunciem la viol\u00e8ncia institucional i promovem canvis en les pol\u00edtiques p\u00fabliques. Ajuda&#8217;ns a fer-ho possible La teva aportaci\u00f3 desgrava<\/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-10680","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>Fes una donaci\u00f3 com a organtizaci\u00f3 - 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\/donacions-organtizacions-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fes una donaci\u00f3 com a organtizaci\u00f3 - Ir\u00eddia\" \/>\n<meta property=\"og:description\" content=\"Fes una donaci\u00f3! A Ir\u00eddia defensem els drets civils i pol\u00edtics. Denunciem la viol\u00e8ncia institucional i promovem canvis en les pol\u00edtiques p\u00fabliques. Ajuda&#8217;ns a fer-ho possible La teva aportaci\u00f3 desgrava\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iridia.cat\/donacions-organtizacions-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Ir\u00eddia\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-13T16:35:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/donacions-organtizacions-2\\\/\",\"url\":\"https:\\\/\\\/iridia.cat\\\/donacions-organtizacions-2\\\/\",\"name\":\"Fes una donaci\u00f3 com a organtizaci\u00f3 - Ir\u00eddia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#website\"},\"datePublished\":\"2026-03-14T12:43:29+00:00\",\"dateModified\":\"2026-04-13T16:35:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iridia.cat\\\/donacions-organtizacions-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iridia.cat\\\/donacions-organtizacions-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/donacions-organtizacions-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inici\",\"item\":\"https:\\\/\\\/iridia.cat\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fes una donaci\u00f3 com a organtizaci\u00f3\"}]},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#organization\",\"name\":\"Ir\u00eddia\",\"url\":\"https:\\\/\\\/iridia.gatxan.in\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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":"Fes una donaci\u00f3 com a organtizaci\u00f3 - 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\/donacions-organtizacions-2\/","og_locale":"en_US","og_type":"article","og_title":"Fes una donaci\u00f3 com a organtizaci\u00f3 - Ir\u00eddia","og_description":"Fes una donaci\u00f3! A Ir\u00eddia defensem els drets civils i pol\u00edtics. Denunciem la viol\u00e8ncia institucional i promovem canvis en les pol\u00edtiques p\u00fabliques. Ajuda&#8217;ns a fer-ho possible La teva aportaci\u00f3 desgrava","og_url":"https:\/\/iridia.cat\/donacions-organtizacions-2\/","og_site_name":"Ir\u00eddia","article_modified_time":"2026-04-13T16:35:41+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/iridia.cat\/donacions-organtizacions-2\/","url":"https:\/\/iridia.cat\/donacions-organtizacions-2\/","name":"Fes una donaci\u00f3 com a organtizaci\u00f3 - Ir\u00eddia","isPartOf":{"@id":"https:\/\/iridia.gatxan.in\/#website"},"datePublished":"2026-03-14T12:43:29+00:00","dateModified":"2026-04-13T16:35:41+00:00","breadcrumb":{"@id":"https:\/\/iridia.cat\/donacions-organtizacions-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iridia.cat\/donacions-organtizacions-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iridia.cat\/donacions-organtizacions-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inici","item":"https:\/\/iridia.cat\/"},{"@type":"ListItem","position":2,"name":"Fes una donaci\u00f3 com a organtizaci\u00f3"}]},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/iridia.gatxan.in\/#organization","name":"Ir\u00eddia","url":"https:\/\/iridia.gatxan.in\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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\/en\/wp-json\/wp\/v2\/pages\/10680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/comments?post=10680"}],"version-history":[{"count":28,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/pages\/10680\/revisions"}],"predecessor-version":[{"id":15019,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/pages\/10680\/revisions\/15019"}],"wp:attachment":[{"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/media?parent=10680"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/tags?post=10680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}