{"id":15363,"date":"2026-07-28T12:23:28","date_gmt":"2026-07-28T10:23:28","guid":{"rendered":"https:\/\/iridia.cat\/?page_id=15363"},"modified":"2026-09-25T15:19:40","modified_gmt":"2026-09-25T13:19:40","slug":"formacions","status":"publish","type":"page","link":"https:\/\/iridia.cat\/en\/formacions\/","title":{"rendered":"Formacions d&#8217;Ir\u00eddia"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-x-large-font-size\">Formacions d&#8217;Ir\u00eddia<\/h2>\n\n\n\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:50%\">\n<div class=\"wp-block-group is-horizontal is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-4f7a2c62 wp-block-group-is-layout-flex\">\n<div style=\"height:100px;width:606px\" aria-hidden=\"true\" class=\"wp-block-spacer wp-container-content-4e1155bf\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><br><br><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p class=\"wp-block-paragraph\">Durant els deu anys de treball Ir\u00eddia ha adquirit un seguit d\u2019aprenentatges basats en l\u2019estudi, l\u2019experi\u00e8ncia i les necessitats identificades en l\u2019acompanyament i den\u00fancia de situacions de vulneracions de drets humans. Coneixements que ara condensem en formacions espec\u00edfiques impartides pel nostre equip.<\/p>\n<\/div>\n<\/div>\n\n\n\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\">\n<h2 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">El litigi estrat\u00e8gic front vulneracions de drets humans<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"closed\">4 de novembre | 18.30h<\/li>\n\n\n\n<li class=\"closed\">Durada:&nbsp;2,5h<\/li>\n\n\n\n<li class=\"closed\">Preu per persona: 50\u20ac<\/li>\n\n\n\n<li class=\"closed\">Organitzacions: preu i data a convenir<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons alignwide is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#litigi\">M\u00e9s informaci\u00f3<\/a><\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg\" alt=\"Formaci\u00f3 Litigi estrat\u00e8gic\" title=\"Formaci\u00f3 Litigi estrat\u00e8gic\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">Acompanyament a v\u00edctimes de vulneracions de drets des d\u2019una perspectiva psicosocial<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"closed\">11 de novembre | 18.30h<\/li>\n\n\n\n<li class=\"closed\">Durada:&nbsp;2,5h<\/li>\n\n\n\n<li class=\"closed\">Preu per persona: 50\u20ac<\/li>\n\n\n\n<li class=\"closed\">Organitzacions: preu i data a convenir<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#psicosocial\">M\u00e9s informaci\u00f3<\/a><\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioPsico-e1784199449295-1.jpg\" alt=\"Formaci\u00f3 acompanyament psicosocial\" title=\"Formaci\u00f3 acompanyament psicosocial\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\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\">\n<h3 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">Claus per incidir en la pol\u00edtica p\u00fablica des de les organitzacions de la societat civil<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"closed\">18 de novembre | 18.30h<\/li>\n\n\n\n<li class=\"closed\">Durada:&nbsp;2,5h<\/li>\n\n\n\n<li class=\"closed\">Preu per persona: 50\u20ac<\/li>\n\n\n\n<li class=\"closed\">Organitzacions: preu i data a convenir<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons alignwide is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#incidencia\">M\u00e9s informaci\u00f3<\/a><\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-e1784199427188-1.jpg\" alt=\"Formaci\u00f3 Incid\u00e8ncia Pol\u00edtica\" title=\"Formaci\u00f3 Incid\u00e8ncia Pol\u00edtica\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">La comunicaci\u00f3 de vulneracions de drets humans, eina de transformaci\u00f3 i den\u00fancia<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"closed\">25 de novembre | 18.30h<\/li>\n\n\n\n<li class=\"closed\">Durada:&nbsp;2,5h<\/li>\n\n\n\n<li class=\"closed\">Preu per persona: 50\u20ac<\/li>\n\n\n\n<li class=\"closed\">Organitzacions: preu i data a convenir<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#comunicacio\">M\u00e9s informaci\u00f3<\/a><\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioCampanyes-e1784199402888-1.jpg\" alt=\"Formaci\u00f3 Campanyes\" title=\"Formaci\u00f3 Campanyes\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:105px\" aria-hidden=\"true\" id=\"litigi\" class=\"wp-block-spacer\"><\/div>\n\n\n\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\">El litigi estrat\u00e8gic front vulneracions de drets humans<\/h2>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg\" alt=\"Formaci\u00f3 Litigi estrat\u00e8gic\" title=\"Formaci\u00f3 Litigi estrat\u00e8gic\"\/><\/figure>\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<p class=\"wp-block-paragraph\">Litigar significa portar casos als tribunals per\u00f2 la litigaci\u00f3 estrat\u00e8gica davant vulneracions de drets humans va molt m\u00e9s enll\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En aquesta formaci\u00f3 treballarem la&nbsp;<strong>litigaci\u00f3 estrat\u00e8gica davant vulneracions de drets humans<\/strong>, una metodologia que utilitza la den\u00fancia jur\u00eddica per aconseguir canvis socials, legislatius i jurisprudencials m\u00e9s enll\u00e0 del cas concret. Les persones participants aprendran a combinar&nbsp;<strong>l\u2019estrat\u00e8gia jur\u00eddica<\/strong>&nbsp;amb la&nbsp;<strong>incid\u00e8ncia pol\u00edtica, la comunicaci\u00f3 i la perspectiva psicosocial<\/strong>, posant al centre les persones afectades i els seus processos de reparaci\u00f3. S\u2019exploraran els&nbsp;<strong>objectius<\/strong>&nbsp;de la litigaci\u00f3 estrat\u00e8gica \u2014com sensibilitzar, promoure debat p\u00fablic, generar precedents, impulsar reformes, i enfortir la xarxa comunit\u00e0ria i social\u2014, aix\u00ed com els&nbsp;<strong>reptes<\/strong>&nbsp;que planteja, incloent costos, durada, riscos de revictimitzaci\u00f3 i possibles efectes adversos. Tamb\u00e9 es donar\u00e0 una introducci\u00f3 a<strong>&nbsp;l\u2019acompanyament legal amb perspectiva psicosocial<\/strong>, que permet comprendre el context social i emocional de les persones implicades, i s\u2019analitzaran les&nbsp;<strong>vies legals, inst\u00e0ncies nacionals i internacionals<\/strong>&nbsp;per defensar i garantir els drets humans i quines eines hi ha per garantir la prova dels fets denunciats.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalment, tots aquests continguts es posaran en pr\u00e0ctica mitjan\u00e7ant el desenvolupament i an\u00e0lisi d\u2019un&nbsp;<strong>cas pr\u00e0ctic de litigi estrat\u00e8gic<\/strong>, que permetr\u00e0 aplicar de manera transversal les eines i coneixements treballats al llarg del taller.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Continguts:<\/p>\n\n\n\n<ul class=\"wp-block-list pb-4\">\n<li class=\"pb-4\">\n<ul class=\"wp-block-list\">\n<li class=\"closed\">Introducci\u00f3 al litigi estrat\u00e8gic.<\/li>\n\n\n\n<li class=\"closed\">Introducci\u00f3 a la perspectiva psicosocial.<\/li>\n\n\n\n<li class=\"closed\">Vies legals i altres inst\u00e0ncies nacionals.<\/li>\n\n\n\n<li class=\"closed\">Vies legals internacionals.<\/li>\n\n\n\n<li class=\"closed\">Assegurament i pr\u00e0ctica de prova front vulneracions de drets humans.<\/li>\n\n\n\n<li class=\"closed\">Aplicaci\u00f3 pr\u00e0ctica del litigi estrat\u00e8gic.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#formulari\">Accedeix al formulari<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:133px\" aria-hidden=\"true\" id=\"psicosocial\" class=\"wp-block-spacer\"><\/div>\n\n\n\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\">Acompanyament a v\u00edctimes de vulneracions de drets des d\u2019una perspectiva psicosocial<\/h2>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioPsico-e1784199449295-1.jpg\" alt=\"Formaci\u00f3 acompanyament psicosocial\" title=\"Formaci\u00f3 acompanyament psicosocial\"\/><\/figure>\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<p class=\"wp-block-paragraph\">Aquest taller ofereix una formaci\u00f3 especialitzada en l\u2019<strong>acompanyament a v\u00edctimes de vulneracions de drets des d\u2019una perspectiva psicosocial<\/strong>, integradora del trauma i basada en una&nbsp;<strong>mirada interseccional<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La formaci\u00f3 proporciona eines per comprendre com les experi\u00e8ncies de viol\u00e8ncia afecten les persones en les dimensions emocional, social i pol\u00edtica, aix\u00ed com per identificar i abordar els impactes del trauma m\u00e9s enll\u00e0 de la simptomatologia posttraum\u00e0tica, incloent les afectacions sobre la dignitat, les creences i la visi\u00f3 del m\u00f3n. Al llarg del curs es treballaran estrat\u00e8gies d\u2019acompanyament centrades en la reparaci\u00f3, la prevenci\u00f3 de la revictimitzaci\u00f3 i el refor\u00e7 de les capacitats i recursos de les persones afectades, incorporant tamb\u00e9 nocions b\u00e0siques d\u2019<strong>acompanyament psicojur\u00eddic en contextos de den\u00fancia i reclamaci\u00f3 de dret<\/strong>s. La formaci\u00f3 est\u00e0 especialment orientada a professionals de l\u2019\u00e0mbit social, jur\u00eddic, educatiu i comunitari que treballen en l\u2019atenci\u00f3 i defensa de persones v\u00edctimes de vulneracions de drets. Finalment, els continguts treballats s\u2019aplicaran a trav\u00e9s de&nbsp;<strong>casos pr\u00e0ctics i situacions d\u2019intervenci\u00f3<\/strong>, amb l\u2019objectiu de consolidar eines d\u2019acompanyament des d\u2019una perspectiva integral, cr\u00edtica i respectuosa amb els processos de les persones afectades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Continguts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"pb-4\">\n<ul class=\"wp-block-list pb-4\">\n<li class=\"closed\">La perspectiva psicosocial com a eina d\u2019an\u00e0lisi i intervenci\u00f3.<\/li>\n\n\n\n<li class=\"closed\">Viol\u00e8ncia, trauma i vulneracions de drets en el seu context social i pol\u00edtic.<\/li>\n\n\n\n<li class=\"closed\">Comprensi\u00f3 i abordatge de la simptomatologia posttraum\u00e0tica.<\/li>\n\n\n\n<li class=\"closed\">M\u00e9s enll\u00e0 de la simptomatologia posttraum\u00e0tica: impacte en la dignitat, creences i visi\u00f3 del mon.<\/li>\n\n\n\n<li class=\"closed\">Eines d\u2019acompanyament centrades en la reparaci\u00f3 i prevenci\u00f3 de la revictimitzaci\u00f3 de la persona afectada.<\/li>\n\n\n\n<li class=\"closed\">Estrat\u00e8gies de cura per qui acompanya.<\/li>\n\n\n\n<li class=\"closed\">Introducci\u00f3 a l\u2019acompanyament psicojur\u00eddic en processos de den\u00fancia.<\/li>\n\n\n\n<li class=\"closed\">Aplicaci\u00f3 pr\u00e0ctica en situacions d\u2019intervenci\u00f3.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#formulari\">Accedeix al formulari<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:133px\" aria-hidden=\"true\" id=\"incidencia\" class=\"wp-block-spacer\"><\/div>\n\n\n\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\">Claus per incidir en la pol\u00edtica p\u00fablica des de les organitzacions de la societat civil<\/h2>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-e1784199427188-1.jpg\" alt=\"Formaci\u00f3 Incid\u00e8ncia Pol\u00edtica\" title=\"Formaci\u00f3 Incid\u00e8ncia Pol\u00edtica\"\/><\/figure>\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<p class=\"wp-block-paragraph\">Aquest taller ofereix una&nbsp;introducci\u00f3 pr\u00e0ctica i estrat\u00e8gica a la<strong>&nbsp;incid\u00e8ncia pol\u00edtica com a eina de transformaci\u00f3 social i defensa dels drets humans<\/strong>, orientada a convertir reivindicacions i propostes en canvis reals en les pol\u00edtiques p\u00fabliques, les pr\u00e0ctiques institucionals i la legislaci\u00f3. La formaci\u00f3 abordar\u00e0 les diferents fases d\u2019una estrat\u00e8gia d\u2019incid\u00e8ncia pol\u00edtica, des de la definici\u00f3 d\u2019objectius i la&nbsp;<strong>identificaci\u00f3 d\u2019actors clau&nbsp;<\/strong>fins a la construcci\u00f3 d\u2019aliances, la planificaci\u00f3 de campanyes i l\u2019aprofitament de finestres d\u2019oportunitat. Tamb\u00e9 es treballaran eines concretes d\u2019investigaci\u00f3, sistematitzaci\u00f3 i den\u00fancia, aix\u00ed com l\u2019\u00fas del litigi estrat\u00e8gic, les&nbsp;<strong>reunions institucionals i els<\/strong>&nbsp;<strong>mitjans de comunicaci\u00f3 com a mecanismes d\u2019influ\u00e8ncia pol\u00edtica<\/strong>&nbsp;i generaci\u00f3 de debat p\u00fablic. Es posar\u00e0 especial atenci\u00f3 a la incorporaci\u00f3 de&nbsp;<strong>la perspectiva psicosocial en les accions d\u2019incid\u00e8ncia<\/strong>, valorant els impactes que aquestes poden tenir sobre les persones i col\u00b7lectius afectats i desenvolupant estrat\u00e8gies per minimitzar riscos i vulnerabilitats. La formaci\u00f3 est\u00e0 orientada a persones, col\u00b7lectius i professionals vinculats a l\u2019activisme, la defensa de drets i la transformaci\u00f3 social que vulguin refor\u00e7ar les seves eines d\u2019incid\u00e8ncia pol\u00edtica i comunicativa. Finalment, tots els continguts treballats s\u2019aplicaran mitjan\u00e7ant un cas pr\u00e0ctic col\u00b7lectiu, que permetr\u00e0 dissenyar i posar en marxa una estrat\u00e8gia d\u2019incid\u00e8ncia pol\u00edtica davant una situaci\u00f3 concreta de vulneraci\u00f3 de drets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Continguts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"pb-4\">\n<ul class=\"wp-block-list pb-4\">\n<li class=\"closed\">Introducci\u00f3 a la incid\u00e8ncia pol\u00edtica: definici\u00f3 d\u2019objectius i actors clau.<\/li>\n\n\n\n<li class=\"closed\">Eines d\u2019incid\u00e8ncia: investigaci\u00f3, litigi estrat\u00e8gic, reunions i contactes.<\/li>\n\n\n\n<li class=\"closed\">Els mitjans de comunicaci\u00f3.<\/li>\n\n\n\n<li class=\"closed\">La perspectiva psicosocial en la incid\u00e8ncia pol\u00edtica.<\/li>\n\n\n\n<li class=\"closed\">Disseny d\u2019un cas pr\u00e0ctic col\u00b7lectiu<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#formulari\">Accedeix al formulari<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:133px\" aria-hidden=\"true\" id=\"comunicacio\" class=\"wp-block-spacer\"><\/div>\n\n\n\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\">La comunicaci\u00f3 de vulneracions de drets humans, eina de transformaci\u00f3 i den\u00fancia<\/h2>\n\n\n\n<figure class=\"wp-block-image pt-4 pb-4\"><img decoding=\"async\" src=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioCampanyes-e1784199402888-1.jpg\" alt=\"Formaci\u00f3 Campanyes\" title=\"Formaci\u00f3 Campanyes\"\/><\/figure>\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<p class=\"wp-block-paragraph\">Una campanya comunicativa \u00e9s una estrat\u00e8gia per disputar el relat, intervenir en el debat p\u00fablic, denunciar vulneracions de drets i mobilitzar persones i institucions cap al canvi. En aquest curs aprendrem a transformar una causa en una campanya amb direcci\u00f3, missatges potents i accions capaces de generar impacte social i pol\u00edtic, des de la primera idea fins a l\u2019avaluaci\u00f3 dels resultats.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Continguts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"pb-4\">\n<ul class=\"wp-block-list pb-4\">\n<li class=\"closed\">Identificar les fases principals d\u2019una campanya comunicativa.<\/li>\n\n\n\n<li class=\"closed\">Definir objectius comunicatius clars i realistes.<\/li>\n\n\n\n<li class=\"closed\">Construir missatges efectius des d\u2019un enfocament de drets humans.<\/li>\n\n\n\n<li class=\"closed\">Pensar p\u00fablics, canals, aliances i moments d\u2019incid\u00e8ncia.<\/li>\n\n\n\n<li class=\"closed\">Incorporar criteris \u00e8tics i de cura en la comunicaci\u00f3 de casos sensibles.<\/li>\n\n\n\n<li class=\"closed\">Avaluar l\u2019impacte comunicatiu i pol\u00edtic d\u2019una campanya.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 100;\" class=\"wp-block-button button-iridia is-style-fill has-custom-width wp-block-button__width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iridia.cat\/formacions\/#formulari\">Accedeix al formulari<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:133px\" aria-hidden=\"true\" id=\"formulari\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading border-t-2 pt-2 border-secondary text-3xl\">Formulari<\/h3>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div >\n        <div class=\" plethoraplugins-tabs-container plethoraplugins-tabs-container--horizontal plethoraplugins-theme__minimal plethoraplugins-theme__basic \" \n\t\t\tdata-pds-tabs--layout=\"horizontal\"  \n\t\t\tdata-pds-tabs--theme=\"basic\"  \n\t\t\tdata-pds-tabs--mobile-breakpoint-forced=\"\"\n\t\t\t data-pds-tabs--responsive=\"accordion\" \n\t\t\t\t\t data-pds-tabs--responsive-accordion-collapsed-initially=\"false\" data-pds-tabs--accordion-icon-type=\"\" data-pds-tabs--accordion-icon=\"true\"  data-pds-tabs--accordion-icon-size=\"\"  data-pds-tabs--accordion-heading-level=\"h3\" data-pds-tabs--accordion-auto-close=\"true\" >\n            <div class=\"plethoraplugins-tabs\"  >\n              <ul><li>\n                        <a \n                                href=\"#organitzacions\"\n                                class=\" active\" \n                            >\n                            <span>Organitzacions<\/span>\n                        <\/a>\n                    <\/li><li>\n                        <a \n                                href=\"#persones_individuals\"\n                                class=\"\" \n                            >\n                            <span>Persones individuals<\/span>\n                        <\/a>\n                    <\/li><\/ul>\n            <\/div>\n            <div class=\"plethoraplugins-tabs--content\" >\n                \n<div class=\"\"  data-pds-tabs--accordion-initially-open=\"false\" >\n<p><iframe loading=\"lazy\" src=\"https:\/\/sinergia.iridia.cat\/index.php?entryPoint=stic_AWF_renderForm&#038;id=00000d31-f9f6-782e-8b87-6a3d128fdafa\" width=\"100%\" height=\"1300\" frameborder=\"0\" style=\"border:0; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\"><\/iframe><\/p>\n\n<\/div>\n\n<div class=\"\"  data-pds-tabs--accordion-initially-open=\"false\" >\n\n<p class=\"wp-block-paragraph\"><\/p>\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<!-- css -->\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=eh7LfkxwsneNQec1WI_zbA\">\r\n\t\t<!-- \/\/ css -->\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=eh7LfkxwsneNQec1WI_zbA\"><\/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=eh7LfkxwsneNQec1WI_zbA\"><\/script>\r\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/sinergia.iridia.cat\/cache\/include\/javascript\/sugar_grp1.js?v=eh7LfkxwsneNQec1WI_zbA\"><\/script>\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=\"event_id\" name=\"event_id\" value=\"000006f3-b3e8-bc21-241b-6a3d14143fda\" \/>\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___first_name;Contacts___last_name;Contacts___email1;Contacts___stic_identification_number_c;stic_Payment_Commitments___payment_method;\" \/>\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_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=\"stic_Registrations___status\" name=\"stic_Registrations___status\" value=\"confirmed\" \/>\r\n        <input type=\"hidden\" id=\"language\" name=\"language\" value=\"ca_ES\" \/>\r\n        <input type=\"hidden\" id=\"defParams\" name=\"defParams\" value=\"%7B%22include_payment_commitment%22%3A1%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=\"\" \/>\r\n        <input type=\"hidden\" id=\"stic_Payment_Commitments___amount\" name=\"stic_Payment_Commitments___amount\" value=\"50\" \/><\/p>\r\n\r\n        <div><select id=\"stic_Registrations___formacions_c\" name=\"stic_Registrations___formacions_c\" required>\r\n          <option value=\"\" disabled selected>Escull la formaci\u00f3:<\/option>\r\n          <option label=\"Litigi estrat\u00e8gic\" value=\"litigi\">Litigi estrat\u00e8gic<\/option>\r\n          <option label=\"Comunicaci\u00f3\" value=\"comunicacio\">Comunicaci\u00f3<\/option>\r\n          <option label=\"Perspectiva psicosocial\" value=\"psico\">Perspectiva psicosocial<\/option>\r\n          <option label=\"Incid\u00e8ncia\" value=\"incidencia\">Incid\u00e8ncia<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div><input id=\"Contacts___first_name\" name=\"Contacts___first_name\" type=\"text\" placeholder=\"Nom*\" required><\/div>\r\n        <div><input id=\"Contacts___last_name\" name=\"Contacts___last_name\" type=\"text\" placeholder=\"Cognoms*\" required><\/div>\r\n        <div><input id=\"Contacts___email1\" name=\"Contacts___email1\" type=\"text\" placeholder=\"Correu electr\u00f2nic*\" required onchange=\"validateEmailAdd(this);\"><\/div>\r\n        <div><input id=\"Contacts___stic_identification_number_c\" name=\"Contacts___stic_identification_number_c\" type=\"text\" placeholder=\"DNI\/NIE*\" required><\/div>\r\n        <div><input id=\"Contacts___phone_mobile\" name=\"Contacts___phone_mobile\" type=\"text\" placeholder=\"M\u00f2bil\"><\/div>\r\n        <div><input id=\"Contacts___primary_address_postalcode\" name=\"Contacts___primary_address_postalcode\" type=\"text\" placeholder=\"Codi postal\"><\/div>\r\n        <div><label>Data de naixement<\/label><\/div>        \r\n<div><input id=\"Contacts___birthdate\" name=\"Contacts___birthdate\" type=\"date\" placeholder=\"Data de naixement\"><\/div>\r\n        <div><select id=\"Contacts___stic_gender_c\" name=\"Contacts___stic_gender_c\">\r\n          <option value=\"\" disabled selected>Amb quin g\u00e8nere t'identifiques?<\/option>\r\n          <option label=\"Mascul\u00ed\" value=\"male\">Mascul\u00ed<\/option>\r\n          <option label=\"Femen\u00ed\" value=\"female\">Femen\u00ed<\/option>\r\n          <option label=\"No-binari\" value=\"other\">No-binari<\/option>\r\n          <option label=\"Prefereixo no contestar\" value=\"no_contesta\">Prefereixo no contestar<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div><select id=\"stic_Payment_Commitments___payment_method\" name=\"stic_Payment_Commitments___payment_method\" required onchange=\"adaptPaymentMethod(this)\">\r\n          <option value=\"\" disabled selected>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        <\/div>\r\n        <div><input id=\"stic_Payment_Commitments___bank_account\" name=\"stic_Payment_Commitments___bank_account\" type=\"text\" placeholder=\"Compte bancari (IBAN)\" onchange=\"validateIBAN(this)\"><\/div>\r\n        <div><input id=\"stic_Registrations___codi_descompte_c\" name=\"stic_Registrations___codi_descompte_c\" type=\"text\" placeholder=\"Codi de descompte\"><\/div>\r\n        \r\n<div class=\"fila\">\r\n          <div class=\"col\">\r\n            <label style=\"font-size: small;\">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 inscrites amb finalitat de gesti\u00f3 de la petici\u00f3 i l'enviament de comunicacions de l'entitat. 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\" style=\"padding-bottom: 20px;\">\r\n            <div class=\"col\"><input name=\"Contacts___consentiment_c\" id=\"Contacts___consentiment_c\" type=\"checkbox\" required=\"\" style=\"opacity: 1;margin-top:6px;\"\/><label style=\"font-size: medium;padding-left:10px;\">Accepto el tractament<span class=\"required\" >*<\/label><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <input class=\"button\" type=\"button\" onclick=\"submitForm(this.form);\" name=\"Submit\" value=\"Envia\" \/>\r\n\r\n\t\t<\/form>\r\n<script>\r\nfunction actualitzarPreuFinal() {\r\n    var preuBase = 50;\r\n    var descompte = 0;\r\n\r\n    var codiDescompte = document.getElementById(\r\n        \"stic_Registrations___codi_descompte_c\"\r\n    );\r\n\r\n    var amount = document.getElementById(\r\n        \"stic_Payment_Commitments___amount\"\r\n    );\r\n\r\n    if (!amount) {\r\n        return;\r\n    }\r\n\r\n    if (codiDescompte) {\r\n        var codi = codiDescompte.value.trim().toUpperCase();\r\n\r\n        if (codi === \"IRIDIA10\") {\r\n            descompte = 5;\r\n        }\r\n    }\r\n\r\n    amount.value = preuBase - descompte;\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n    var codiDescompte = document.getElementById(\r\n        \"stic_Registrations___codi_descompte_c\"\r\n    );\r\n\r\n    if (codiDescompte) {\r\n        codiDescompte.addEventListener(\"input\", actualitzarPreuFinal);\r\n        codiDescompte.addEventListener(\"change\", actualitzarPreuFinal);\r\n    }\r\n\r\n    actualitzarPreuFinal();\r\n});\r\n<\/script>\t\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 = \"LBL_IBAN_NOT_VALID\";\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    if (!obj) {\r\n        return true;\r\n    }\r\n\r\n    obj.value = obj.value.trim();\r\n\r\n    if (obj.value.length > 0 && !isValidEmail(obj.value)) {\r\n        alert(stic_Web_Forms_LBL_INVALID_FORMAT + \": Correu electr\u00f2nic\");\r\n        obj.focus();\r\n        return false;\r\n    }\r\n\r\n    return true;\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 *\/\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 * Adapt the form based on the value of the payment method\r\n *\/\r\nfunction adaptPaymentMethod(oPaymentMethod) {\r\n    var bankAccount = document.getElementById(\r\n        \"stic_Payment_Commitments___bank_account\"\r\n    );\r\n\r\n    if (!bankAccount) return;\r\n\r\n    \/\/ El contenidor <div> que envolta l'input de l'IBAN\r\n    var bankAccountContainer = bankAccount.parentElement;\r\n\r\n    var vPaymentMethod = oPaymentMethod.value;\r\n\r\n    if (vPaymentMethod === \"direct_debit\") {\r\n\r\n        \/\/ Mostrar IBAN\r\n        bankAccountContainer.style.display = \"\";\r\n\r\n        \/\/ Fer-lo obligatori a nivell HTML\r\n        bankAccount.required = true;\r\n\r\n        \/\/ Fer-lo obligatori tamb\u00e9 per al sistema de validaci\u00f3 de SinergiaCRM\r\n        addRequired(\"stic_Payment_Commitments___bank_account\");\r\n\r\n    } else {\r\n\r\n        \/\/ Amagar IBAN\r\n        bankAccountContainer.style.display = \"none\";\r\n\r\n        \/\/ Deixar de ser obligatori\r\n        bankAccount.required = false;\r\n\r\n        \/\/ Eliminar-lo dels obligatoris de SinergiaCRM\r\n        removeRequired(\"stic_Payment_Commitments___bank_account\");\r\n\r\n        \/\/ Netejar un IBAN que s'hagu\u00e9s introdu\u00eft abans\r\n        bankAccount.value = \"\";\r\n    }\r\n\r\n    oPaymentMethod.prev_value = vPaymentMethod;\r\n}\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n    var paymentMethod = document.getElementById(\r\n        \"stic_Payment_Commitments___payment_method\"\r\n    );\r\n\r\n    if (paymentMethod) {\r\n        adaptPaymentMethod(paymentMethod);\r\n    }\r\n});\r\n\r\n\t\t<\/script>\r\n\t<\/body>\r\n<\/html>\r\n\n\n<\/div>\n\n            <\/div>\n        <\/div>\n        \n    <\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Formacions d&#8217;Ir\u00eddia Durant els deu anys de treball Ir\u00eddia ha adquirit un seguit d\u2019aprenentatges basats en l\u2019estudi, l\u2019experi\u00e8ncia i les necessitats identificades en l\u2019acompanyament i den\u00fancia de situacions de vulneracions de drets humans. Coneixements que ara condensem en formacions espec\u00edfiques impartides pel nostre equip. El litigi estrat\u00e8gic front vulneracions de drets humans Acompanyament a v\u00edctimes<a href=\"https:\/\/iridia.cat\/en\/formacions\/\">Continue reading <span class=\"sr-only\">&#8220;Formacions d&#8217;Ir\u00eddia&#8221;<\/span><\/a><\/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-15363","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Formacions d&#039;Ir\u00eddia - 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\/formacions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Formacions d&#039;Ir\u00eddia - Ir\u00eddia\" \/>\n<meta property=\"og:description\" content=\"Formacions d&#8217;Ir\u00eddia Durant els deu anys de treball Ir\u00eddia ha adquirit un seguit d\u2019aprenentatges basats en l\u2019estudi, l\u2019experi\u00e8ncia i les necessitats identificades en l\u2019acompanyament i den\u00fancia de situacions de vulneracions de drets humans. Coneixements que ara condensem en formacions espec\u00edfiques impartides pel nostre equip. El litigi estrat\u00e8gic front vulneracions de drets humans Acompanyament a v\u00edctimesContinue reading &quot;Formacions d&#8217;Ir\u00eddia&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iridia.cat\/formacions\/\" \/>\n<meta property=\"og:site_name\" content=\"Ir\u00eddia\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T13:19:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg\" \/>\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=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/\",\"url\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/\",\"name\":\"Formacions d'Ir\u00eddia - Ir\u00eddia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iridia.gatxan.in\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/iridia.cat\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FormacioLitigi-1-e1784199476887-1.jpg\",\"datePublished\":\"2026-07-28T10:23:28+00:00\",\"dateModified\":\"2026-09-25T13:19:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iridia.cat\\\/formacions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/iridia.cat\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FormacioLitigi-1-e1784199476887-1.jpg\",\"contentUrl\":\"https:\\\/\\\/iridia.cat\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/FormacioLitigi-1-e1784199476887-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iridia.cat\\\/formacions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inici\",\"item\":\"https:\\\/\\\/iridia.cat\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Formacions d&#8217;Ir\u00eddia\"}]},{\"@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":"Formacions d'Ir\u00eddia - 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\/formacions\/","og_locale":"en_US","og_type":"article","og_title":"Formacions d'Ir\u00eddia - Ir\u00eddia","og_description":"Formacions d&#8217;Ir\u00eddia Durant els deu anys de treball Ir\u00eddia ha adquirit un seguit d\u2019aprenentatges basats en l\u2019estudi, l\u2019experi\u00e8ncia i les necessitats identificades en l\u2019acompanyament i den\u00fancia de situacions de vulneracions de drets humans. Coneixements que ara condensem en formacions espec\u00edfiques impartides pel nostre equip. El litigi estrat\u00e8gic front vulneracions de drets humans Acompanyament a v\u00edctimesContinue reading \"Formacions d&#8217;Ir\u00eddia\"","og_url":"https:\/\/iridia.cat\/formacions\/","og_site_name":"Ir\u00eddia","article_modified_time":"2026-09-25T13:19:40+00:00","og_image":[{"url":"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/iridia.cat\/formacions\/","url":"https:\/\/iridia.cat\/formacions\/","name":"Formacions d'Ir\u00eddia - Ir\u00eddia","isPartOf":{"@id":"https:\/\/iridia.gatxan.in\/#website"},"primaryImageOfPage":{"@id":"https:\/\/iridia.cat\/formacions\/#primaryimage"},"image":{"@id":"https:\/\/iridia.cat\/formacions\/#primaryimage"},"thumbnailUrl":"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg","datePublished":"2026-07-28T10:23:28+00:00","dateModified":"2026-09-25T13:19:40+00:00","breadcrumb":{"@id":"https:\/\/iridia.cat\/formacions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iridia.cat\/formacions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/iridia.cat\/formacions\/#primaryimage","url":"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg","contentUrl":"https:\/\/iridia.cat\/wp-content\/uploads\/2026\/06\/FormacioLitigi-1-e1784199476887-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/iridia.cat\/formacions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inici","item":"https:\/\/iridia.cat\/"},{"@type":"ListItem","position":2,"name":"Formacions d&#8217;Ir\u00eddia"}]},{"@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\/15363","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=15363"}],"version-history":[{"count":24,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/pages\/15363\/revisions"}],"predecessor-version":[{"id":15845,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/pages\/15363\/revisions\/15845"}],"wp:attachment":[{"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/media?parent=15363"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iridia.cat\/en\/wp-json\/wp\/v2\/tags?post=15363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}