
El que fuera ministro de Transportes y su mano derecha se sientan en el banquillo acusados de formar junto al empresario Víctor de Aldama una organización criminal que se lucró con dinero público
Un ministro, un asesor con poderes y un comisionista sin escrúpulos: la génesis de una alianza que se fraguó a golpe de sobornos
El Tribunal Supremo acoge a partir de este 7 de abril el juicio al mayor caso de corrupción que afecta al actual Gobierno: una presunta organización criminal con origen en el Ministerio de Transportes y que aprovechó la crisis del coronavirus para lucrarse. Casi una década después de conocerse durante las primarias que llevaron a Pedro Sánchez a la dirección del PSOE, el exministro José Luis Ábalos y quien fuera su mano derecha, Koldo García, se sientan en el banquillo junto al empresario Víctor de Aldama, considerado el “nexo corruptor”.
Tres años de investigación han sacado a la luz la existencia de supuestos sobornos sistemáticos, adjudicaciones de contratos de mascarillas por valor de más de 50 millones de euros a cambio de mordidas y un presunto tráfico de influencias para colocar a la pareja de Ábalos en empresas públicas y sufragarle un alquiler de 2.700 euros mensuales. El final de esta etapa de impunidad comenzó a dibujarse en 2022 con una denuncia impulsada por el Partido Popular y que posteriormente dio paso a una investigación de la Fiscalía y la Guardia Civil, culminada con la detención de Koldo García en febrero de 2024.
Las pruebas incautadas y la confesión de Aldama —quien admitió haber pagado 350.000 euros en mordidas a Ábalos y Koldo y otras prebendas— estrecharon el cerco sobre el exministro.
La Fiscalía Anticorrupción solicita penas que alcanzan los 24 años de cárcel para Ábalos por delitos de cohecho, organización criminal, tráfico de influencias y malversación. Para el exasesor, la petición es de 19 años y medio. Ambos están en prisión provisional desde el pasado noviembre e irán cada día a la vista en furgón policial. El juicio se prolongará durante cuatro semanas y comparecerán un centenar de personas entre acusados, testigos y peritos.
.cd-container {
width: 98%;
max-width: 975px;
margin: 0 auto;
font-family: ‘Encode Sans’, sans-serif;
font-size: 100%;
}
.cd-container *,
*:after,
*:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.cd-container a {
color: #acb7c0;
text-decoration: none !important;
border: none !important;
font-family: ‘Encode Sans’, sans-serif;
}
.cd-container a:hover {
opacity: 0.7 !important;
text-decoration: none !important;
}
.cd-container h2 {
margin: 0;
font-family: ‘Encode Sans’, sans-serif;
font-weight: 700;
}
.cd-container::after {
content: ”;
display: table;
clear: both;
}
.cd-date–mobile {
display: block !important;
width: 100%;
text-align: left;
}
.cd-date–desktop {
display: none !important;
}
#cd-timeline {
position: relative;
padding: 2em 0;
margin-top: 2em;
margin-bottom: 2em;
}
#cd-timeline::before {
content: ”;
position: absolute;
top: 0;
left: 18px;
height: 100%;
width: 3px;
background-color: #005695;
}
.cd-timeline-block {
position: relative;
margin: 2em 0;
}
.cd-timeline-block:after {
content: “”;
display: table;
clear: both;
}
.cd-timeline-block:first-child { margin-top: 0; }
.cd-timeline-block:last-child { margin-bottom: 0; }
.cd-timeline-img {
position: absolute;
width: 24px;
height: 24px;
border-radius: 50%;
background-color: #005695;
box-shadow: 0 0 1px 1px rgba(153, 153, 153, 0.3);
border: solid 4px #ffffff;
top: calc(50% – 9px);
left: 8px;
}
.cd-timeline-content {
position: relative;
margin-left: 60px;
background: white;
border-radius: 0.25em;
padding: 1em;
box-shadow: 1px 2px 5px 1px rgba(0, 0, 0, 0.1);
border-radius: 6px;
}
.cd-timeline-content:after {
content: “”;
display: table;
clear: both;
}
.cd-timeline-content h2 {
color: #4a4a4a;
font-size: 22px;
text-align: left;
}
.cd-timeline-content p {
font-size: 16px;
color: #9b9b9b;
margin-bottom: 4px;
margin-top: 0;
line-height: 1.6;
text-align: left;
}
.cd-img {
margin-bottom: 12px;
max-height: 300px;
width: 100%;
object-fit: contain;
border-radius: 4px;
}
.cd-timeline-content .cd-date {
display: inline-block;
font-size: 16px;
color: #9b9b9b;
float: left;
padding: .8em 0;
}
.cd-timeline-content .cd-date-color {
font-weight: 700;
color: #005695;
}
.cd-horizontal-timeline {
position: sticky;
bottom: 0px;
background: rgba(255, 255, 255, 0.35);
backdrop-filter: blur(10px);
box-shadow: 0 3px 20px rgba(0, 0, 0, 0.12);
padding: 30px 30px 12px 30px;
border-radius: 30px;
z-index: 999;
border: 1px solid rgba(0, 86, 149, 0.12);
transition: opacity 0.4s ease, visibility 0.4s ease;
opacity: 0;
visibility: hidden;
width: 100%;
max-width: 100%;
}
.cd-horizontal-timeline.visible {
opacity: 1;
visibility: visible;
}
.cd-timeline-nav {
display: flex;
align-items: center;
position: relative;
gap: 0;
justify-content: space-between;
width: 100%;
padding: 0 40px;
box-sizing: border-box;
}
.cd-timeline-line {
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 2px;
background-color: rgba(0, 86, 149, 0.2);
transform: translateY(-50%);
z-index: 1;
}
.cd-timeline-nav-item {
position: relative;
z-index: 2;
cursor: pointer;
transition: all 0.3s ease;
flex-shrink: 0;
flex-grow: 0;
display: flex;
justify-content: center;
}
.cd-timeline-nav-dot {
width: 12px;
height: 12px;
border-radius: 50%;
background-color: #ffffff;
border: 2.5px solid rgba(0, 86, 149, 0.6);
transition: all 0.3s ease;
}
.cd-timeline-nav-item:hover .cd-timeline-nav-dot {
transform: scale(1.5);
background-color: #005695;
border-color: #005695;
box-shadow: 0 0 0 3px rgba(0, 86, 149, 0.2);
}
.cd-timeline-nav-item.active .cd-timeline-nav-dot {
background-color: #005695;
border-color: #005695;
transform: scale(1.6);
box-shadow: 0 0 0 4px rgba(0, 86, 149, 0.25);
}
.cd-timeline-month-label {
position: absolute;
bottom: calc(100% + 6px);
font-size: 13px;
font-family: ‘Encode Sans’, sans-serif;
font-weight: 600;
color: #005695;
white-space: nowrap;
text-align: center;
opacity: 0.9;
pointer-events: none;
}
.cd-timeline-nav-label {
position: absolute;
bottom: calc(100% + 15px);
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
font-size: 13px;
font-family: ‘Encode Sans’, sans-serif;
font-weight: 600;
color: #005695;
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
background: rgba(255, 255, 255, 0.95);
padding: 10px 24px;
border-radius: 10px;
box-shadow: 0 3px 15px rgba(0, 0, 0, 0.15);
border: 1px solid rgba(0, 86, 149, 0.15);
z-index: 10;
min-width: 80px;
text-align: center;
}
.cd-timeline-nav-label::after {
content: ”;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid rgba(255, 255, 255, 0.95);
}
.cd-timeline-nav-item:hover .cd-timeline-nav-label {
opacity: 1;
}
@media only screen and (max-width: 1100px) {
.cd-horizontal-timeline { display: none !important; }
}
@media only screen and (min-width: 1101px) and (max-width: 1400px) {
.cd-timeline-nav-dot { width: 8px; height: 8px; }
.cd-timeline-nav-item:hover .cd-timeline-nav-dot { transform: scale(1.3); }
.cd-timeline-nav-item.active .cd-timeline-nav-dot { transform: scale(1.4); }
.cd-timeline-month-label { font-size: 10px; }
.cd-timeline-nav-label { font-size: 10px; padding: 6px 12px; }
}
.cd-timeline-nav-item:first-child .cd-timeline-month-label,
.cd-timeline-nav-item:first-child .cd-timeline-nav-label {
left: 0; transform: translateX(0); text-align: left;
}
.cd-timeline-nav-item:first-child .cd-timeline-nav-label::after {
left: 6px; transform: translateX(0);
}
.cd-timeline-nav-item:last-child .cd-timeline-month-label,
.cd-timeline-nav-item:last-child .cd-timeline-nav-label {
left: auto; right: 0; transform: translateX(0); text-align: right;
}
.cd-timeline-nav-item:last-child .cd-timeline-nav-label::after {
left: auto; right: 6px; transform: translateX(0);
}
.cd-time {
display: block;
font-size: 14px;
color: #005695;
font-weight: 600;
margin-bottom: 8px;
}
.cd-video-indicator {
display: block;
font-size: 14px;
color: #D0021B;
font-weight: 400;
margin-bottom: 8px;
text-align: left;
}
.cd-video-container {
position: relative;
padding-bottom: 56.25%;
margin-bottom: 12px;
border-radius: 4px;
overflow: hidden;
background-color: #000;
}
.cd-video-container iframe {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.cd-timeline-content .cd-read-more {
display: inline-block;
float: right;
padding: .8em 0;
color: #005695;
font-weight: 700;
font-size: 16px;
}
.cd-timeline-content .cd-read-more img {
width: 13px;
color: #005695;
vertical-align: middle;
}
.cd-timeline-content::before {
content: ”;
position: absolute;
top: calc(50% – 12px);
right: 100%;
height: 0;
width: 0;
border: 12px solid transparent;
border-right: 7px solid white;
}
@media (min-width: 600px) {
.cd-date–mobile { display: none !important; }
.cd-date–desktop { display: block !important; }
}
@media only screen and (min-width: 975px) {
#cd-timeline { margin-top: 3em; margin-bottom: 3em; }
#cd-timeline::before { left: 50%; margin-left: -2px; }
.cd-timeline-block { margin: 2em 0; }
.cd-timeline-block:first-child { margin-top: 0; }
.cd-timeline-block:last-child { margin-bottom: 0; }
.cd-timeline-img {
width: 24px; height: 24px;
left: calc(50% – 3px); top: calc(50% – 9px);
margin-left: -9px;
-webkit-transform: translateZ(0);
-webkit-backface-visibility: hidden;
}
.cd-timeline-content {
margin-left: 0; padding: 1.6em; width: 46%;
}
.cd-timeline-content::before {
top: calc(50% – 12px); left: 100%;
border-color: transparent; border-left-color: white;
}
.cd-timeline-content .cd-read-more { float: left; }
.cd-timeline-content .cd-date {
position: absolute; width: 100%;
left: 116%; top: calc(50% – 30px);
font-size: 16px; text-align: left;
}
.cd-timeline-block:nth-child(even) .cd-timeline-content { float: right; }
.cd-timeline-block:nth-child(even) .cd-timeline-content h2 { text-align: right !important; }
.cd-timeline-block:nth-child(even) .cd-timeline-content::before {
top: calc(50% – 8px); left: auto; right: 100%;
border-color: transparent; border-right-color: white;
}
.cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more { float: left; }
.cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
left: auto; right: 116%; text-align: right;
}
}
.cssanimations .cd-timeline-img.is-hidden { visibility: hidden; }
.cssanimations .cd-timeline-img.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-1 0.6s;
-moz-animation: cd-bounce-1 0.6s;
animation: cd-bounce-1 0.6s;
}
.cssanimations .cd-timeline-content.is-hidden { visibility: hidden; }
.cssanimations .cd-timeline-content.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-2 0.6s;
-moz-animation: cd-bounce-2 0.6s;
animation: cd-bounce-2 0.6s;
}
.cssanimations .cd-timeline-block:nth-child(even) .cd-timeline-content.bounce-in {
-webkit-animation: cd-bounce-2-inverse 0.6s;
-moz-animation: cd-bounce-2-inverse 0.6s;
animation: cd-bounce-2-inverse 0.6s;
}
@keyframes cd-bounce-1 {
0% { opacity: 0; transform: scale(0.5); }
60% { opacity: 1; transform: scale(1.2); }
100% { transform: scale(1); }
}
@keyframes cd-bounce-2 {
0% { opacity: 0; transform: translateX(-100px); }
60% { opacity: 1; transform: translateX(20px); }
100% { transform: translateX(0); }
}
@keyframes cd-bounce-2-inverse {
0% { opacity: 0; transform: translateX(100px); }
60% { opacity: 1; transform: translateX(-20px); }
100% { transform: translateX(0); }
}
22 de mayo de 2017
Ábalos, clave en las primarias del PSOE
José Luis Ábalos es uno de los coordinadores de las primarias que Pedro Sánchez gana a Susana Díaz y Patxi López.
El nuevo líder del PSOE lo nombra Secretario de Organización, su ‘número dos’. En esa campaña, Ábalos había conocido en Navarra a Koldo García.
22 de mayo de 2017
Ábalos, clave en las primarias del PSOE
25 de octubre de 2017
Ábalos contrata a Koldo García como chófer
VÍDEO
Koldo García se traslada a Madrid para ejercer de chófer de Ábalos en su nueva labor como Secretario de Organización. Es Santos Cerdán, también recién nombrado Secretario de Coordinación Territorial, quien se lo recomienda.
25 de octubre de 2017
Ábalos contrata a Koldo García como chófer
1 de junio de 2018
Ábalos defiende la moción de censura
Ábalos interviene en el Congreso en la moción de censura del PSOE a Mariano Rajoy, con Pedro Sánchez como candidato. “Crearon con su particular uso del poder un verdadero círculo perfecto de corrupción, encubriéndola con tretas y artimañas”, criticó Ábalos.
1 de junio de 2018
Ábalos defiende la moción de censura
7 de junio de 2018
Ábalos es nombrado ministro de Fomento
Pedro Sánchez nombra a Ábalos ministro de Fomento.
Tras haber establecido una relación de confianza durante la etapa en la que Koldo García fue su chófer, Ábalos lo nombra asesor.
7 de junio de 2018
Ábalos es nombrado ministro de Fomento
31 de agosto de 2018
“Lo tienes a huevo para hacer cosas”
La relación que vertebra la trama nace a finales del verano de 2018. El empresario Víctor de Aldama conoce a Ábalos y Koldo García gracias a su hermano Rubén, que ejercía como escolta del ministro. “Lo tienes a huevo para hacer cosas”, le escribe Rubén a Víctor en un mensaje.
31 de agosto de 2018
“Lo tienes a huevo para hacer cosas”
4 de febrero de 2019
Ábalos, Koldo García y Aldama viajan a México
VÍDEO
Anticorrupción considera que este viaje es uno de los episodios que apuntan al grado de influencia de Aldama sobre el exministro y su asesor. El viaje tenía como objetivo promover los intereses de empresas españolas en México.
Ábalos ha defendido que Aldama no formaba parte de la delegación.
4 de febrero de 2019
Ábalos, Koldo García y Aldama viajan a México
1 de marzo de 2019
Ábalos coloca a su pareja en Ineco
Koldo García presiona a la presidenta de ADIF, Isabel Pardo de Vera, para que contrate a Jéssica Rodríguez en la empresa pública Ineco. Le ordena iniciar los trámites y le advierte: “Si no José me corta los huevos”. En su declaración en el Supremo, la mujer admitió que cobró sin ir a trabajar.
1 de marzo de 2019
Ábalos coloca a su pareja en Ineco
28 de marzo de 2019
Aldama empieza a pagar el alquiler de la pareja de Ábalos
La empresa de un socio de Aldama firma el contrato de arrendamiento de un piso en el que residía Jéssica Rodríguez. El alquiler es de 2.700 euros al mes.
El empresario paga esa renta hasta septiembre de 2021. Un total de 82.298,40 euros.
28 de marzo de 2019
Aldama empieza a pagar el alquiler de la pareja de Ábalos
18 de octubre de 2019
La primera mordida: “Grandu 11500”
La capacidad de influencia de Aldama se sustentaba en el pago de sobornos a Koldo, a quien apodaba “Grandullón”. La primera evidencia de esta “nómina” mensual de 10.000 euros en efectivo queda registrada en una nota creada por Aldama en su teléfono móvil, donde incluye el apunte: “Grandu 11500”.
18 de octubre de 2019
La primera mordida: “Grandu 11500”
21 de marzo de 2020
Primer contrato de mascarillas
Al estallar la pandemia, una empresa vinculada a Aldama resulta adjudicataria de cinco contratos de mascarillas por valor de más de 50 millones de euros. Dos de esos contratos los formalizan empresas dependientes del Ministerio de Transportes.
21 de marzo de 2020
Primer contrato de mascarillas
8 de agosto de 2020
La nota de prensa sobre el rescate
El Ministerio de Transportes muestra en una nota de prensa el apoyo del Gobierno al rescate de Air Europa por la pandemia.
Un día antes, Koldo García había enviado ese texto a Aldama, que lo remitió al CEO de la aerolínea para “tranquilizar a sus acreedores”.
8 de agosto de 2020
La nota de prensa sobre el rescate
14 de agosto de 2020
“Esto sale gratis por las molestias generadas”
La Fiscalía sostiene que Aldama pagó durante una semana el alquiler de un chalet en Marbella para Ábalos como contrapartida por la publicación de una nota de prensa apoyando el rescate de Air Europa, donde el empresario era consejero. “Esto sale gratis por las molestias generadas”, le escribió Koldo García a Ábalos junto a una foto del chalé.
14 de agosto de 2020
“Esto sale gratis por las molestias generadas”
10 de junio de 2021
Un socio de Aldama compra el chalé de Cádiz
Aldama recurre a Claudio Rivas y su red de hidrocarburos para comprar el chalet de lujo en La Alcaidesa, en Cádiz. A cambio, ambos pretendían recibir una licencia para la venta de combustible con la empresa Villafuel. La Guardia Civil cree que hay “múltiples evidencias” de que Ábalos hizo un “uso real” de ese chalé.
Koldo García le envía a Ábalos el anuncio del chalé.
10 de junio de 2021
Un socio de Aldama compra el chalé de Cádiz
10 de julio de 2021
Sánchez cesa a Ábalos como ministro
El presidente cesa de manera fulminante a Ábalos. Koldo García sale del Ministerio inmediatamente después. Pedro Sánchez nunca ha explicado los motivos de la destitución. Días después, Ábalos dimite como Secretario de Organización del PSOE y le sustituye Santos Cerdán.
10 de julio de 2021
Sánchez cesa a Ábalos como ministro
9 de diciembre de 2021
Transición Ecológica deniega la licencia a Villafuel
Once meses después de registrar la solicitud, el Ministerio de Transición Ecológica rechaza la licencia de operadora a Villafuel.
En represalia, la sociedad dueña del chalet envía un burofax a Ábalos reclamándole las rentas de alquiler impagadas de agosto a noviembre.
9 de diciembre de 2021
Transición Ecológica deniega la licencia a Villafuel
10 de marzo de 2022
Ayuso lleva a la Fiscalía los contratos de mascarillas
Alfonso Serrano, diputado y portavoz del PP en la Asamblea de Madrid, presenta una denuncia en la Fiscalía Anticorrupción que apunta a posibles irregularidades en doce contratos de material sanitario formalizados por la Administración General del Estado.
10 de marzo de 2022
Ayuso lleva a la Fiscalía los contratos de mascarillas
22 de abril de 2022
La Fiscalía empieza a investigar
La Fiscalía abre diligencias tras la denuncia presentada por el PP de Madrid. Anticorrupción investiga durante más de un año y acaba presentando una denuncia en la Audiencia Nacional el 6 de septiembre de 2023.
22 de abril de 2022
La Fiscalía empieza a investigar
21 de febrero de 2024
La UCO detiene a Koldo García
VÍDEO
La UCO detiene a Aldama, Koldo García y otros implicados. En casa del exasesor, los agentes se incautan de tres móviles y una grabadora que son fundamentales para la investigación porque contienen las grabaciones secretas a Ábalos y Santos Cerdán.
21 de febrero de 2024
La UCO detiene a Koldo García
23 de octubre de 2024
El cerco se estrecha sobre el exministro
El magistrado de la Audiencia Nacional Ismael Moreno pide al Supremo que investigue a Ábalos por su “papel principal” en el caso. Al ser diputado, solo puede ser investigado por el alto tribunal.
23 de octubre de 2024
El cerco se estrecha sobre el exministro
21 de noviembre de 2024
Aldama confiesa y sale de la cárcel
Aldama, que está en prisión provisional por el caso de los hidrocarburos, pide declarar ante el juez de forma voluntaria y afirma que pagó 250.000 euros en comisiones a Ábalos y 100.000 a Koldo García.
La confesión le sirve para salir de prisión.
21 de noviembre de 2024
Aldama confiesa y sale de la cárcel
12 de diciembre de 2024
Ábalos declara por primera vez en el Supremo
VÍDEO
Ábalos se sienta por primera vez delante de un juez para dar explicaciones. Durante tres horas, trata de rebatir los indicios que le acorralan. Afirma que “nunca” cobró comisiones.
12 de diciembre de 2024
Ábalos declara por primera vez en el Supremo
3 de noviembre de 2025
El Supremo manda a Ábalos y Koldo García al banquillo
Tras un año de investigación, el juez cierra la instrucción y propone sentar en el banquillo a Ábalos, Koldo García y Aldama por los contratos de mascarillas. Les atribuye delitos de cohecho, organización criminal, tráfico de influencias y malversación.
3 de noviembre de 2025
El Supremo manda a Ábalos y Koldo García al banquillo
19 de noviembre de 2025
La Fiscalía pide 24 años de cárcel para Ábalos
La Fiscalía Anticorrupción pide 24 años de cárcel para Ábalos y 19 años y medio para Koldo García.
El fiscal Alejandro Luzón valora la “información relevante” aportada por Aldama, para el que rebaja su petición a siete años de prisión. Defiende que los tres formaron una “organización criminal” para lucrarse con contratos públicos.
19 de noviembre de 2025
La Fiscalía pide 24 años de cárcel para Ábalos
27 de noviembre de 2025
Ábalos y Koldo García entran en prisión
El juez envía a prisión provisional a Ábalos y Koldo García dado el “extremo” riesgo de fuga. La Fiscalía lo había solicitado al apreciar la posibilidad de que decidieran escapar a la acción de la Justicia por las elevadas condenas de cárcel a las que se exponen.
27 de noviembre de 2025
Ábalos y Koldo García entran en prisión
7 de abril de 2026
Empieza el juicio en el Tribunal Supremo
El Tribunal Supremo acoge el primer juicio por un caso de corrupción que afecta al Gobierno de Pedro Sánchez. La vista oral se prolongará hasta final de mes y testificarán decenas de testigos.
El 28 de abril declararán Ábalos, Koldo García y Aldama.
7 de abril de 2026
Empieza el juicio en el Tribunal Supremo
$(document).ready(function ($) {
var timelineBlocks = $(‘.cd-timeline-block’),
offset = 0.8;
hideBlocks(timelineBlocks, offset);
showBlocks(timelineBlocks, offset);
$(window).on(‘scroll’, function () {
(!window.requestAnimationFrame) ?
setTimeout(function () { showBlocks(timelineBlocks, offset); }, 100) :
window.requestAnimationFrame(function () { showBlocks(timelineBlocks, offset); });
});
function hideBlocks(blocks, offset) {
blocks.each(function () {
($(window).scrollTop() + $(window).height() * offset) &&
$(this).find(‘.cd-timeline-img, .cd-timeline-content’).addClass(‘is-hidden’);
});
}
function showBlocks(blocks, offset) {
blocks.each(function () {
($(this).offset().top <= $(window).scrollTop() + $(window).height() * offset &&
$(this).find(‘.cd-timeline-img’).hasClass(‘is-hidden’)) &&
$(this).find(‘.cd-timeline-img, .cd-timeline-content’)
.removeClass(‘is-hidden’).addClass(‘bounce-in’);
});
}
});
// Horizontal Timeline Navigation
$(document).ready(function() {
var $horizontalTimeline = $(‘
‘);
var $nav = $horizontalTimeline.find(‘.cd-timeline-nav’);
var dayGroups = {};
var dayOrder = [];
$(‘.cd-timeline-block’).each(function(index) {
var $block = $(this);
$block.attr(‘id’, ‘evento-‘ + (index + 1));
var fullDate = $block.find(‘.cd-date-color’).first().text().trim();
var datePart = fullDate.split(‘ a las ‘)[0];
if (!dayGroups[datePart]) {
dayGroups[datePart] = ‘evento-‘ + (index + 1);
dayOrder.push(datePart);
}
});
var monthNames = {
‘enero’: ‘ene’, ‘febrero’: ‘feb’, ‘marzo’: ‘mar’, ‘abril’: ‘abr’,
‘mayo’: ‘may’, ‘junio’: ‘jun’, ‘julio’: ‘jul’, ‘agosto’: ‘ago’,
‘septiembre’: ‘sep’, ‘octubre’: ‘oct’, ‘noviembre’: ‘nov’, ‘diciembre’: ‘dic’
};
dayOrder.forEach(function(datePart, idx) {
var eventId = dayGroups[datePart];
var parts = datePart.split(‘ de ‘);
var day = parts[0];
var month = parts[1];
var year = parts[2];
var fullLabel = day + ‘ ‘ + (month ? month.substring(0, 3) : ”) + ‘. ‘ + year;
var $navItem = $(‘
‘
‘ +
‘
‘ +
‘
‘);
$nav.append($navItem);
});
$(‘#cd-timeline’).after($horizontalTimeline);
setTimeout(function() {
var totalDots = dayOrder.length;
var positions = [
0,
Math.floor(totalDots / 3),
Math.floor(totalDots * 2 / 3),
totalDots – 1
];
positions.forEach(function(idx) {
var datePart = dayOrder[idx];
var parts = datePart.split(‘ de ‘);
var day = parts[0];
var month = parts[1];
var year = parts[2];
var $dot = $(‘.cd-timeline-nav-item[data-index=”‘ + idx + ‘”]’);
if ($dot.length) {
var dotPos = $dot.position().left + ($dot.width() / 2);
var monthAbbr = monthNames[month ?
month.toLowerCase() : ”] || (month ? month.substring(0, 3) : ”);
var yearShort = year ? year.substring(2) : ”;
var label = day + ‘ ‘ + monthAbbr + ‘-‘ + yearShort;
var $monthLabel = $(‘
‘);
$monthLabel.css({ left: dotPos + ‘px’, transform: ‘translateX(-50%)’ });
$nav.append($monthLabel);
}
});
}, 100);
$(‘.cd-timeline-nav-item’).on(‘click’, function() {
var targetId = $(this).data(‘target’);
var $target = $(‘#’ + targetId);
if ($target.length) {
$(‘html, body’).animate({ scrollTop: $target.offset().top – 100 }, 600);
}
});
function updateTimeline() {
var scrollPos = $(window).scrollTop() + 200;
var $lastBlock = $(‘.cd-timeline-block’).last();
if ($lastBlock.length) {
var lastBlockBottom = $lastBlock.offset().top + $lastBlock.outerHeight();
if (scrollPos >= lastBlockBottom) {
$horizontalTimeline.removeClass(‘visible’);
return;
} else {
$horizontalTimeline.addClass(‘visible’);
}
}
$(‘.cd-timeline-block’).each(function() {
var $block = $(this);
var blockTop = $block.offset().top – 300;
var blockBottom = blockTop + $block.outerHeight() + 600;
var eventId = $block.attr(‘id’);
if (scrollPos >= blockTop && scrollPos = 1; i–) {
var $prevDot = $(‘.cd-timeline-nav-item[data-target=”evento-‘ + i + ‘”]’);
if ($prevDot.length) {
$prevDot.addClass(‘active’);
break;
}
}
}
}
});
}
$(window).on(‘scroll’, updateTimeline);
});
// Prevenir autoplay videos Dailymotion
$(document).ready(function() {
$(‘.cd-video-container’).each(function() {
var $container = $(this);
var $iframe = $container.find(‘iframe’);
if ($iframe.length && $iframe.attr(‘src’).includes(‘dailymotion.com’)) {
var src = $iframe.attr(‘src’);
var title = $iframe.attr(‘title’) || ‘Video’;
var videoIdMatch = src.match(/video=([a-zA-Z0-9]+)/);
var videoId = videoIdMatch ? videoIdMatch[1] : ”;
$container.data(‘video-src’, src);
$container.data(‘video-title’, title);
var thumbnailUrl = ‘https://www.dailymotion.com/thumbnail/video/’ + videoId;
var $placeholder = $(‘
” +
‘
‘ +
‘
‘);
$placeholder.css({ position: ‘absolute’, top: ‘0’, left: ‘0’, width: ‘100%’, height: ‘100%’, cursor: ‘pointer’, overflow: ‘hidden’ });
$placeholder.find(‘img’).css({ width: ‘100%’, height: ‘100%’, ‘object-fit’: ‘cover’, display: ‘block’ });
$placeholder.find(‘.play-btn’).css({ position: ‘absolute’, top: ‘50%’, left: ‘50%’, transform: ‘translate(-50%, -50%)’, width: ’45px’, height: ’45px’, background: ‘rgba(0,0,0,0.5)’, ‘border-radius’: ‘50%’, display: ‘flex’, ‘align-items’: ‘center’, ‘justify-content’: ‘center’, transition: ‘opacity 0.2s ease’ });
$placeholder.find(‘.play-tri’).css({ width: ‘0’, height: ‘0’, ‘border-top’: ‘8px solid transparent’, ‘border-bottom’: ‘8px solid transparent’, ‘border-left’: ’14px solid rgba(255,255,255,0.9)’, ‘margin-left’: ‘3px’ });
$iframe.remove();
$container.append($placeholder);
$placeholder.on(‘mouseenter’, function() {
$(this).find(‘.play-btn’).css(‘background’, ‘rgba(0,0,0,0.7)’);
}).on(‘mouseleave’, function() {
$(this).find(‘.play-btn’).css(‘background’, ‘rgba(0,0,0,0.5)’);
});
$placeholder.on(‘click’, function() {
var videoSrc = $container.data(‘video-src’);
var videoTitle = $container.data(‘video-title’);
videoSrc = videoSrc.replace(/autoplay=[^&]*/g, ‘autoplay=true’);
videoSrc = videoSrc.replace(/mute=[^&]*/g, ‘mute=0’);
var $newIframe = $(”);
$newIframe.attr(‘src’, videoSrc);
$newIframe.attr(‘title’, videoTitle);
$newIframe.css({ width: ‘100%’, height: ‘100%’, position: ‘absolute’, left: ‘0’, top: ‘0’, border: ‘none’ });
$placeholder.remove();
$container.append($newIframe);
});
}
});
});












