Connect with us

POLITICA

Ficha limpia: Rovira admitió ante su tropa que el pedido para cambiar el voto de sus senadores se lo hizo directamente Javier Milei

Published

on



Después de la enorme polémica que se generó tras el fracaso del proyecto de ficha limpia, el jefe político de Misiones, Carlos Rovira, admitió, en conversaciones con gente de su confianza, que el cambio de voto de sus senadores, que sellaron la suerte del proyecto, fue un pedido directo que le hizo el presidente, Javier Milei.

Al final de la sesión legislativa, Rovira se quedó saludando allegados. LA NACIÓN le pidió hacer algún comentario, pero declinó

Además, se mostró a favor de hacer caer ficha limpia y de no proscribir a nadie, ni siquiera a Cristina Kirchner, una figura con quien siempre tuvo una relación tirante y por quien no guarda simpatías.

Advertisement

También explicó que el proyecto hubiera favorecido a Silvia Lospennato y a Mauricio Macri en las próximas elecciones en CABA.

Con pocas horas de sueño y la tensión acumulada, Carlos Arce y Sonia Rojas Decut recién se relajaron cuando comprobaron que «el jefe» los felicitó y estaba tranquilo con la polémica decisión tomada. Acá en una foto con Roque Gervasoni, el funcionario del oficialismo más «picante» en redes.

Rovira felicitó y arropó a Sonia Rojas Decut y Carlos Arce, los senadores que torcieron su voto para hacer caer el proyecto, ante una tropa de unos 50 ministros, diputados y funcionarios de alto rango del Frente Renovador, su fuerza política.

Los dos senadores habían tomado el vuelo de Aerolíneas Argentinas en Aeroparque ayer a la mañana y tras reunirse primero a solas con el jefe, fueron felicitados luego públicamente en la reunión que arrancó pasadas las 16 en el Salón de las Dos Constituciones de la Legislatura misionera.

Advertisement

LA NACIÓN pidió permiso para participar de la reunión, pero no se permitía el acceso de periodistas. Tras ese encuentro, arrancó la sesión en la Cámara de Diputados, donde Rovira participó como un legislador raso en la segunda fila.

Se lo vio siempre sonriente y de buen talante, intercambiando algunos comentarios puntuales con algunos de sus diputados y saludando a todo el mundo.

Al término de la jornada legislativa, Rovira se quedó unos 20 minutos sacándose fotos e intercambiando algunas palabras con la gran cantidad de funcionarios y allegados que se le acercan cada vez que aparece en un acto público y LA NACIÓN lo abordó para pedirle un comentario, a pesar de que es un hombre que no suele hacer declaraciones, salvo cuando convoca a una conferencia de prensa especial y habla durante 2 o 3 horas.

Advertisement

Con un gesto pícaro y una sonrisa, el jefe de la Renovación se tapó la cara con una carpeta que llevaba en la mano, como diciendo “ya no quiero salir en más fotos”, declinó hacer declaraciones y se fue, de muy buen semblante.

Al apurar el paso, dejó a varios con el celular en la mano y las ganas de sacarse la foto con el jefe máximo de la política misionera desde hace casi 25 años.

Eduardo «Lule «Menem, Carlos Rovira y Guillermo Francos en la oficina del ex gobernador misionero y actual diputado provincial en la Legislatura; la foto la divulgó Francos con el consentimiento de Rovira, que busca mandar un mensaje político hacia adentro y afuera: un principio de acuerdo para 2025.

LA NACIÓN reconstruyó la reunión a partir del testimonio de media docena de participantes que estuvieron en el Salón de las Dos Constituciones, contiguo al recinto principal, donde se hacen los encuentros que se conocen como “La Previa”.

Advertisement

Rovira les dijo a todos que el pedido para que los dos senadores misioneros por el oficialismo no apoyaran ficha limpia vino del propio presidente Javier Milei, quien lo llamó en persona para efectuarle la solicitud.

Aunque dejó en claro que no lo va a decir públicamente jamás, también quedó en evidencia que tampoco lo va a manejar como un secreto de esos que un personaje político importante se lleva a la tumba.

Reaparecieron Arce y Rojas Decut

Los participantes de “La Previa”, como le llaman en el oficialismo a esos encuentros que reúnen a ministros, diputados provinciales, concejales, candidatos, funcionarios, para que el líder político les baje línea, ayer tuvo un tema excluyente y dos figuras que concitar casi tanta atención como Rovira: Sonia Rojas Decut y Carlos Arce.

Advertisement

Con evidente cara de cansancio, tras una jornada de pocas horas de sueño y máxima tensión, ambos cambiaron el gesto adusto por la sonrisa al comprobar que el jefe los felicitó en público, se “hizo cargo” de la pirueta política ante la tropa.

Fue como si en ese momento, pasaran de “villanos” a “héroes”, al menos en la consideración del mundillo oficialista, que para un político de Misiones, una provincia dominada por un solo espacio político, es lo único que importa.

Sesión del Senado para tratar el proyecto de ley de Ficha Limpia que finalmente no se aprobó. Di Tullio, Sagasti y Mayans. 07/05/2025Hernan Zenteno –

Para Arce y Rojas Decut fue un verdadero alivio. Unas 20 horas antes, prácticamente huyeron apenas Victoria Villarruel levantó la sesión, aprovechando que se sientan al lado de la puerta de salida, y cuando todavía reinaba la sorpresa y el estupor entre el resto de senadores, de uno y otro lado del proyecto Ficha Limpia.

Advertisement

Ninguno de los cuáles había caído en la cuenta todavía de que los grandes responsables de un nuevo “batacazo político” eran los dos misioneros que hacían “mutis por el foro” rápidamente.

Rovira les dio la orden de no hablar con nadie y regresar inmediatamente a la provincia en el primer avión.

Rojas Decut y Arce tomaron el jueves por la mañana en Aeroparque el vuelo de Aerolíneas Argentinas a Posadas, no sin ciertos temores de sufrir algún escrache o video donde se les recriminara su sorpresivo cambio de actitud, por parte de algún pasajero que los reconociera. Una pieza que hubiera tenido seguro destino de viralización.

Advertisement

Pero nada de eso pasó y pudieron viajar más o menos tranquilos, aunque con la incertidumbre sobre cómo seguiría su futuro político. Una vez que Rovira los arropó recién ahí pudieron respirar tranquilos.

“Banco a los dos, Carlos Arce y Sonia Rojas”, posteó Roque Gervasoni, titular del Instituto de Economía Circular, y el funcionario renovador más picante en redes, tanto defendiendo las acciones oficiales como atacando a los opositores.

Para Gervasoni, que participó también de “La Previa” y no postearía nada que no estuviera alineado con el pensamiento rovirista, votar ficha limpia hubiera sido “a medida de una candidata del Pro que pretende hacer uso de un tema tan delicado con fines electorales, Silvia Lospennato, quien quiere votos, no transparencia”.

Advertisement
Conferencia de prensa de Silvia Lospennato

La conducción del Frente Renovador, jamás proscribiría a nadie o utilizaría la democracia para cercenar derechos”, completó Gervasoni, que se sacó la única foto que hasta ahora apareció de Arce y Rojas Decut.

Gervasoni repitió en las redes, los argumentos que había bajado Rovira. Más allá del pedido presidencial, el jefe del oficialismo misionero no está de acuerdo con lo que consideraba una proscripción a la ex presidenta.

“Remarcó una vez más que no siente ninguna cercanía con Cristina Kirchner, pero sin embargo no estaba de acuerdo con este proyecto particular y prefiere uno superador”, explicó un participante de la reunión, que habló como el resto, en off the record.

Advertisement

Antecedentes

El propio Rovira se considera un proscripto por no haber podido reformar la Constitución provincial en 2006, cuando perdió el histórico plebiscito ante las fuerzas encabezadas por el obispo Joaquín Piña.

El obispo Joaquín PiñaArchivo

Piensa que es mejor que Cristina Kirchner, a quien no quiere y con quien tuvo siempre una relación tensa cuando le tocó ser gobernador y luego jefe del oficialismo desde la Legislatura, debe ser derrotada en las urnas, en caso de que decida presentarse.

También remarcó que hace unos días la Justicia Electoral misionera, donde Rovira tiene gran influencia, no le impidió al exsuboficial Ramón Amarilla, detenido en la Cárcel de Cerro Azul, presentarse como candidato a diputado provincial el 8 de junio en las elecciones donde se renovará la mitad de la Legislatura.

Advertisement

Arce y Rojas Decut, tras participar de la reunión de apoyo de Rovira, se retiraron y no se quedaron a presenciar la sesión, como sí lo hicieron los diputados nacionales Alberto Arrúa (exsecretario general del peronismo misionero), Yamila Ruiz y Carlos Fernández.

Según comentó uno de esos legisladores, “hasta el martes todos pensábamos que Arce y Rojas Decut votaban a favor de ficha limpia. Después el miércoles empezaron a cruzarse llamados y nos dimos cuenta de que algo se estaba cocinando, pero no sabíamos nada. Recién en la votación nos dimos cuenta del cambio”.

En la votación de ficha limpia en la Cámara de Diputados, los misioneros Yamila Ruiz, Carlos Fernández, Alberto Arrua y Daniel “Colo” Vancsik apoyaron el proyecto igual que los diputados Emanuel Bianchetti (Pro), Florencia Klipauka (Libertaria) y Martin Arjol (radical “peluca”). Ese día Misiones ostentó “voto perfecto” a favor de la Casa Rosada, siendo la única provincia con tal nivel de apoyo a la iniciativa oficial.

Advertisement
El gerente del Canal 12 estatal, Nicolás Llera, también se sacó fotos y las subió a las redes con Arce y Rojas Decut. Los felicitó por no hacerle el juego político a Silvia Lospenatto en CABA.

También ese día la diputada Vanina Biassi (Partido Obrero), salió a criticar a Milei por la situación de los pequeños productores yerbateros en Misiones. Ninguno de los misioneros la respaldó ni alzó la voz por sus comprovincianos de las chacras. No tenían órdenes de hacer lo contrario. Pero el jueves Arce y Rojas Decut recibieron la contraorden.


Advertisement

POLITICA

Ritondo habló sobre la situación de Espert: “La explicación no alcanzó”

Published

on



El diputado nacional Cristian Ritondo de Propuesta Republicana (Pro), y aliado de La Libertad Avanza (LLA), dijo que la explicación de José Luis Espert sobre si recibió o no dinero de un narcotraficante “no alcanzó”. Una investigación de confirmó que el candidato del oficialismo recibió depósitos de empresas relacionadas a Fred Machado por 200.000 dólares y eso consta en un documento del Bank of America.

En este sentido, en diálogo con TN, Ritondo sostuvo que sin esas explicaciones “no se puede hacer campaña”. Sin embargo, apuntó contra el kirchnerismo de estar detrás de “una operación”. “Han logrado romper con un esquema donde no estamos discutiendo la economía y el narcotráfico”, apuntó.

Advertisement

La explicación de Espert no alcanzó. Deja en la nebulosa una pregunta que repiten los periodistas y que tiene que contestar. Hoy Guillermo Francos y Patricia Bullrich le pidieron que aclare un poco más. Es cierto que en un proceso electoral hay muchas operaciones, pero también es cierto que hay momentos en los que hay que dar explicaciones y seguir con la campaña”, afirmó Ritondo.

En tanto, continuó: “En otros momentos podés esperar y dar explicaciones cuando quieras, pero cuando estás en campaña y sos candidato, el reflejo tiene que estar en contestar rápido y salir del problema. Lógicamente, la respuesta más profunda se la das a la Justicia”.

Además declaró que no tiene por qué creer o no en la honestidad de Espert y sostuvo que “la Justicia lo va a determinar”. “Él tiene que demostrarlo. En lo que yo conozco creo que sí lo es”, dijo pero dejó el asunto en manos judiciales.

Advertisement

Por otra parte, Ritondo explicó que la situación de Espert afecta a la alianza entre LLA y Pro en la recta final de cara a las elecciones nacionales de octubre: “No podés hacer campaña. Si no estuviese este tema, estaríamos discutiendo otras cosas, como el nuevo Código Penal. No podemos discutir el compromiso de Pro de acompañar a La Libertad Avanza”.

Este miércoles, Espert dio una entrevista pero se negó en reiteradas ocasiones a contestar si cobró o no US$200.000 de Fred Machado durante la campaña de 2019, en el marco de una denuncia que salió a la luz por una presentación que hizo el dirigente de Patria Grande, Juan Grabois. “No voy a responder, no le voy a dar el gusto a Grabois, le voy a responder en la Justicia”, señaló en A24, durante una tensa entrevista, en la que le preguntaron varias veces lo mismo y evadió la respuesta con la misma frase.

A su vez, el presidente Javier Milei ratificó la candidatura de Espert como diputado nacional por la provincia de Buenos Aires y acusó una “operación berreta” de parte de la oposición. Aseguró que nunca pensó en aparatarlo y consideró: “Es un refrito de algo que pasó hace seis años”.

Advertisement

Noticia en desarrollo.


José Luis Espert,Una investigación de LA NACION confirmó que el candidato del oficialismo recibió depósitos de empresas relacionadas a Fred Machado por 200.000 dólares y eso consta en un documento del Bank of America,, una presentación que hizo el dirigente de Patria Grande, Juan Grabois,Cristian Ritondo,José Luis Espert,Conforme a,Cristian Ritondo,,Tensión. Qué pasó entre Cristian Ritondo y Silvia Lospennato en el Congreso,,»No te voy a permitir». Así fue el cruce entre Cristian Ritondo y Silvia Lospennato en el Congreso,,Alimentos para las cárceles. Sobreseen al exsecretario de Seguridad echado por Bullrich

Advertisement
Continue Reading

POLITICA

La Justicia confirmó que José Luis Espert viajó 35 veces en aviones vinculados al narco “Fred” Machado

Published

on


La justicia federal corroboró que José Luis Espert utilizó hasta 35 vuelos en aviones ligados al empresario Fred Machado, quien está detenido bajo acusaciones de narcotráfico y lavado. El juez Martínez de Giorgi fue el encargado de constatar la operación de esas aeronaves dentro del marco de la investigación.

El hallazgo contradice versiones previas que hablaban de una única utilización de esas aeronaves. Según Clarín, “en principio, se creía que había sido uno solo”, pero la verificación judicial amplió ese número decisivamente. Esa nueva escala alimenta la sospecha de vínculos irregulares entre Espert y Machado, y refuerza la denuncia presentada por Juan Grabois.

Advertisement

La Nación difundió la primera imagen de Espert con Machado. De izquierda a derecha Nazareno Etchepare, José Luis Espert, Iván Sherman y Fred Machado.

Desde su entorno, Espert admitió conocer a Machado y haber viajado en uno de sus aviones, pero relativizó la acusación: “Obviamente le agradecí, si me llevó en su avión”, señaló al referirse a un viaje en 2019. No obstante, esos vuelos múltiples complican su defensa y multiplican los requerimientos de claridad sobre sus lazos financieros y operativos con el empresario investigado.

Advertisement

La causa en curso ya investiga aportes por US$ 200.000 que habrían sido canalizados por Machado en campañas políticas pasadas, como parte de una denuncia por lavado de activos. La confirmación judicial de las múltiples rutas aéreas gravita ahora como un elemento clave para que la justicia defina si procede una imputación formal mayor o incluso medidas cautelares contra Espert.

La entrada La Justicia confirmó que José Luis Espert viajó 35 veces en aviones vinculados al narco “Fred” Machado se publicó primero en Nexofin.

Aviones,Fred Machado,José Luis Espert,Narcotráfico

Advertisement
Continue Reading

POLITICA

Uno por uno, cómo votaron los senadores el veto de Milei a la ley Garrahan

Published

on



Conteo de Votos y Hemiciclo

Uno por uno, así votaron los senadores el rechazo al veto de la Ley Garrahan

Advertisement

Advertisement


`
: `

Advertisement
foto-senador

`
}

${bloque}

`;
targetContainer.appendChild(card);
}

function createHemicicleSmall(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-senadores__hemiciclo.small’);
hemicycle.innerHTML = »; // Clear previous content.

Advertisement

const centerX = 300;
const baseY = 450;
const numberOfRows = 5;
// Array of seats per row (from outer to inner)
const seatsPerRow = [21, 18, 16, 12, 7];
const verticalOffset = 0;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;

// Instead of percentage-based rounding, we’ll compute a per-row distribution
// using floor() and then distribute any remaining seats based on the remainders.
let rowSeatCounts = seatsPerRow.map((seatsInRow) => {
// Compute the exact (floating point) allocation for each category.
const exactAfirmativo = (nAfirmativo * seatsInRow) / totalSeats;
const exactNegativo = (nNegativo * seatsInRow) / totalSeats;
const exactAbstencion = (nAbstencion * seatsInRow) / totalSeats;
const exactAusente = (nAusente * seatsInRow) / totalSeats;
// Take floor values.
let rowAfirmativo = Math.floor(exactAfirmativo);
let rowNegativo = Math.floor(exactNegativo);
let rowAbstencion = Math.floor(exactAbstencion);
let rowAusente = Math.floor(exactAusente);
let assigned = rowAfirmativo + rowNegativo + rowAbstencion + rowAusente;
let diff = seatsInRow – assigned;
// Create an array of remainders along with category identifiers.
let remainders = [{
cat: «afirmativo»,
remainder: exactAfirmativo – rowAfirmativo
},
{
cat: «negativo»,
remainder: exactNegativo – rowNegativo
},
{
cat: «abstencion»,
remainder: exactAbstencion – rowAbstencion
},
{
cat: «ausente»,
remainder: exactAusente – rowAusente
}
];
// Sort descending by remainder.
remainders.sort((a, b) => b.remainder – a.remainder);
// Distribute the remaining seats one by one to the categories with the highest remainders.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowAfirmativo++;
break;
case «negativo»:
rowNegativo++;
break;
case «abstencion»:
rowAbstencion++;
break;
case «ausente»:
rowAusente++;
break;
}
diff–;
}
}
return {
afirmativo: rowAfirmativo,
negativo: rowNegativo,
abstencion: rowAbstencion,
ausente: rowAusente
};
});

// Now, using your inverted loop order (columns first, then rows)
const maxSeatsInRow = seatsPerRow[0]; // maximum seats in the outer row

Advertisement

// For each seat position (by column, then row), assign the color based on that row’s distribution.
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // only if this row has a seat at this column
const seatsInThisRow = seatsPerRow[row];
const radius = 170 – row * (30 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);

// For this row, assign colors in order:
// First use available «afirmativo», then «negativo», then «abstencion», then «ausente»
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}
const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}

/* // Set the legend text (sin mostrar Ley Aprobada o no aprobada)
document.querySelector(‘#voto-summary’).innerHTML = `

Advertisement

Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}

Abstención: ${nAbstencion} |
Ausente: ${nAusente}

`; */

/* // — Update Legend —
const leyText = nAfirmativo > nNegativo ? «Ley Aprobada» : «Ley no aprobada»;
const resultsText=»shshs»;
document.querySelector(«#voto-summary»).innerHTML = leyText + resultsText; */

Advertisement

/*
// Set the legend text. Mayoría simple
const leyText = nAfirmativo > nNegativo ? ‘Ley Aprobada’ : ‘Ley no aprobada’;
document.querySelector(‘#voto-summary’).innerHTML = `

Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}

Abstención: ${nAbstencion} |
Ausente: ${nAusente}

` + ‘

Advertisement

‘ + leyText + ‘

‘; */

// Set the legend text. Dos tercios de los presentes (******EDITAR LEYENDA*****)
function votosNecesarios(presentes) {
return Math.ceil((2 / 3) * presentes);
}

Advertisement

const leyText = nAfirmativo >= (votosNecesarios(72 – nAusente)) ? ‘Aprobada’ : ‘Rechazada’;
document.querySelector(‘#voto-summary’).innerHTML = `

Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}

Abstención: ${nAbstencion} |
Ausente: ${nAusente}

` + ‘

Advertisement

‘ + leyText + ‘

‘;

}

Advertisement

// Creates the big hemiciclo visualization.
function createHemicicleBig(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-senadores__hemiciclo.big’);
hemicycle.innerHTML = »; // Clear previous content.

const centerX = 300;
const baseY = 450;
const numberOfRows = 5;
// Array of seats per row (outer to inner; total should be 257)
const seatsPerRow = [21, 18, 16, 11, 6];
const verticalOffset = 2;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);

// Raw vote counts must sum to totalSeats (257)
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;
if (totalVotes !== totalSeats) {
console.warn(«Total votes (» + totalVotes + «) do not equal total seats (» + totalSeats + «).»);
}

Advertisement

console.log(nAfirmativo, nNegativo, nAbstencion, nAusente, totalSeats, totalVotes);

// — Per-Row Distribution Using Absolute Counts —
// For each row, compute the exact allocation for each vote category based on its fraction of the total seats.
let rowSeatCounts = seatsPerRow.map(seatsInRow => {
const exactA = (nAfirmativo / totalSeats) * seatsInRow;
const exactN = (nNegativo / totalSeats) * seatsInRow;
const exactAb = (nAbstencion / totalSeats) * seatsInRow;
const exactAu = (nAusente / totalSeats) * seatsInRow;

let rowA = Math.floor(exactA);
let rowN = Math.floor(exactN);
let rowAb = Math.floor(exactAb);
let rowAu = Math.floor(exactAu);

Advertisement

let assigned = rowA + rowN + rowAb + rowAu;
let diff = seatsInRow – assigned;

// Create an array of remainders for each category.
let remainders = [{
cat: «afirmativo»,
rem: exactA – rowA
},
{
cat: «negativo»,
rem: exactN – rowN
},
{
cat: «abstencion»,
rem: exactAb – rowAb
},
{
cat: «ausente»,
rem: exactAu – rowAu
}
];
// Sort the remainders in descending order.
remainders.sort((a, b) => b.rem – a.rem);

// Distribute any leftover seats one by one.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowA++;
break;
case «negativo»:
rowN++;
break;
case «abstencion»:
rowAb++;
break;
case «ausente»:
rowAu++;
break;
}
diff–;
}
}
return {
afirmativo: rowA,
negativo: rowN,
abstencion: rowAb,
ausente: rowAu
};
});

Advertisement

// — Global Correction —
// Sum the allocated seats for each category across all rows.
let globalA = rowSeatCounts.reduce((sum, row) => sum + row.afirmativo, 0);
let globalN = rowSeatCounts.reduce((sum, row) => sum + row.negativo, 0);
let globalAb = rowSeatCounts.reduce((sum, row) => sum + row.abstencion, 0);
let globalAu = rowSeatCounts.reduce((sum, row) => sum + row.ausente, 0);

// For each category, if the global total is less than the raw count, add the missing seats to the outer row (row 0).
if (globalA < nAfirmativo) {
rowSeatCounts[0].afirmativo += (nAfirmativo – globalA);
}
if (globalN < nNegativo) {
rowSeatCounts[0].negativo += (nNegativo – globalN);
}
if (globalAb < nAbstencion) {
rowSeatCounts[0].abstencion += (nAbstencion – globalAb);
}
if (globalAu < nAusente) {
rowSeatCounts[0].ausente += (nAusente – globalAu);
}

// — Seat Placement Using Inverted Loop Order —
const maxSeatsInRow = seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // Only process if this row has a seat at the current column.
const seatsInThisRow = seatsPerRow[row];
const radius = 300 – row * (55 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);

Advertisement

// For the current row, assign the color in order: afirmativo, then negativo, then abstencion, then ausente.
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}

const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}

}

Advertisement

// Go-to-top button functionality.
document.addEventListener(‘DOMContentLoaded’, function() {
const goToTopButton = document.querySelector(‘.votos-senadores__go-to-top’);
const targetElement = document.querySelector(‘.votos-senadores’);

goToTopButton.addEventListener(‘click’, function() {
targetElement.scrollIntoView({
behavior: ‘smooth’
});
});
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
goToTopButton.style.display = entry.isIntersecting ? ‘block’ : ‘none’;
});
}, {
root: null,
rootMargin: ‘0px’,
threshold: 0.1
});
observer.observe(targetElement);

// Attach the toggle listener to each vote button.
const toggleBtns = document.getElementsByClassName(‘votos-senadores__voto-btn’);
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].addEventListener(‘click’, function() {
this.classList.toggle(‘active’);
const panel = this.nextElementSibling;
panel.style.maxHeight = panel.style.maxHeight ? null : ‘14000px’;
});
}

Advertisement

// Now simulate a click on each button from within DOMContentLoaded.
// This will trigger the listener and expand each panel on load.
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].click();
}

});

Advertisement
Continue Reading

Tendencias