Connect with us

POLITICA

Francisco Adorni: “El huracán kirchnerista arrasó todo y la forma de transformarlo es con las ideas de Milei”

Published

on



Es la primera entrevista que concede en su vida. “Me siento como en un examen”, dice Francisco Adorni, primer candidato de La Libertad Avanza a diputado provincial por la Octava Sección Electoral (La Plata), mientras se termina de tomar un cortado en una cafetería de Tribunales a la que él mismo convocó. No quiso hacer un reportaje desde una oficina. Mientras tanto, el fotógrafo comienza a sacarle las primeras fotos en frente de todos. Las personas que están a metros de la mesa miran sin saber quién es la persona que está siendo el foco de atención para el reportaje.

Algunos de sus rasgos permiten adivinar que se trata de una persona parecida a Manuel Adorni. En rigor lo es. “Me lo dicen todo el tiempo”, confirma. Dice que no le preocupa que lo apunten con que es “el hermano de” porque lo considera “un genio”. A lo largo de la entrevista hizo expresiones y ademanes que son muy típicos del vocero presidencial. Se parece físicamente (es tres años más joven), incluso en las más mínimas gestualidades, como cuando hace golpecitos en la mesa mientras espera las preguntas. Se considera más fanático del fútbol y de Boca que su hermano y se destaca como tanguero: se mandó a hacer un mural de Rubén Juárez y su icónico bandeón blanco en un paredón de su casa. “Somos una caja de sorpresa los Adorni”, afirma.

Advertisement

Hasta este reportaje, Adorni había elegido no hablar ante los medios. Solo se le conocían publicaciones suyas en redes, donde poco a poco se lo veía incursionando en la esfera política. En la mesa, una primera declaración de principios: para esta ocasión eligió portar un reloj con la imagen de Carlos Menem que lleva la inscripción “Presidente”. Hasta diciembre del 2023 se consideraba menemista, ahora se denomina soldado de Javier Milei y será candidato en el distrito donde nació y sigue viviendo, La Plata.

El candidato libertario es hijo de la Universidad Nacional de La Plata (UNLP), donde se recibió de Contador Público y en la especialización en Administración Financiera y Control del Sector Público. Trabajó durante veinte años en el Consejo de la Magistratura bonarense para luego pasar a ser Presidente del Instituto de Ayuda Financiera para Pagos de Retiros y Pensiones Militares (IAFPRPM), por lo que tiene un estrecho vínculo con el ministro Luis Petri.

El candidato junto a su hermano, Manuel Adorni

Al momento del cierre de listas se comunicó que Adorni iría tercero en la lista. Pero días después su nombre viró al primer lugar, se presume que por gestión directa de Karina Milei. El hermano del vocero se autopercibe como de “perfil técnico”: aspira a promover reformas en la Legislatura bonaerense en cuestiones administrativas y tributarias. Cuando se le pregunta por si piensa en la intendencia sonríe y dice que debe producirse un cambio de signo político en su distrito, pero que no piensa en ninguna proyección; que él solo irá a donde le pidan sus superiores. “Uno es solo una pieza en todo esto”, será el concepto que más repetirá en el reportaje.

Advertisement

La entrevista a Francisco Adorni

– ¿Cómo se precipitó su candidatura a diputado provincial?

– La verdad es que fue surgiendo solo. Yo me incorporé a la gestión nacional el 11 de diciembre del 2023 en la parte ejecutiva. En paralelo, estaba colaborando con La Libertad Avanza en La Plata. Me incorporó Sebastián Pareja junto a sus dos armadores, Juanes Osaba y Matías de Urraza. Me lo comunicaron hace poco y, bueno, uno es una pieza en la causa y ya no decide uno.

– ¿Quién se lo comunicó?

Advertisement

– Mi hermano. Fue todo bastante sorpresivo para mí. Todavía estoy en la gestión y ahora tocará la parte legislativa, pero va a ser simple.

– El día del cierre de lista trascendió que iba a ser el tercer candidato y días después se definió que iba a encabezar la boleta en la Octava, ¿por qué se dio el cambio?

– No sé a pedido de quién. Yo estaba feliz de la vida el sábado. De hecho, publiqué que en definitiva lo único que importaba es la libertad. Yo podía ir como concejal, como suplente, o no ir. De cualquier forma iba a estar acompañando a la gente en La Plata, a Sebastián y a Karina. No había ninguna preferencia. Yo firmé que iba a ir tercero y días después cambió. Después me enteré del cambio, así como no me imaginaba hace dos años que iba a estar dando una entrevista.

Advertisement

– ¿Pero quién lo solicitó el cambio?

-No tengo ni idea. Solo me llamó Juanes Osaba para felicitarme de que había cambio de planes. Sebastián también lo hizo. Simplemente se tomó otra decisión. Estamos todos en un equipo que tiene una relación excelente. En algún punto, intuía eso que iba a pasar por lo que representa Manuel para el espacio y porque uno es un soldado y está donde le piden que esté. Ahora estoy muy contento de estar trabajando con Luis Petri, que me dio la oportunidad de saltar a la gestión nacional.

– ¿Tuvo la oportunidad de hablar con Milei alguna vez?

Advertisement

– No, muy pocas veces. Antes de que sea Presidente lo vi en una evento por la presentación de un libro suyo en calle Corrientes donde Manuel hizo de conductor [en la presentación de El Fin de la Inflación, en 2022]. Lo veo en los actos.

– ¿Y con Karina?

– Tampoco. Sí la veo en los actos de La Libertad Avanza. Pero el vínculo es 100% a través de Manuel.

Advertisement

– Hace algunos días trascendió que integró la lista de Duhalde en 2005, ¿quiere explicar cómo surgió eso?

– Estaba esperando que me lo pregunten [risas]. Yo tenía 23 años y desde chico que había sido menemista. De hecho, hasta diciembre del 2023 estaba convencido de que Menem había sido lo mejor que vi en mi vida. Obviamente, la presidencia de Milei tapó ese pensamiento. Pero hasta entonces escuchaba los discursos de Menem en esa época y quería que hubiera un cambio de rumbo. En esos años, uno de mis amigos justo estaba en el armado de la interna contra Néstor Kirchner. Yo estaba estudiando el tema de los fondos públicos de Santa Cruz, que fue la génesis del gran robo kirchnerista y me dije ‘bueno, probemos a ver qué pasa’. Igualmente, era consejero suplente escolar… esa fue mi única incursión en la política.

– Hasta diciembre del 2023

Advertisement

– Sí, pero no fue más que eso. Después me desilusioné. Si bien siempre me gustó y uno era un ciudadano independiente, fue una aventura de antikirchnerista. Un visionario…

– Así como miramos el historial… ¿usted piensa en su proyección política de acá en adelante, incluso para la intendencia?

– Me parece muy ambicioso pensar de acá en adelante o si quiero otra postulación. Siempre entiendo que uno es una pieza de las ideas del Presidente y de Karina Milei. No me puedo imaginar otra cosa que estar concentrado en ganar en La Plata en septiembre. Cabe recordar que yo no vengo del mundo de la política, por lo que pienso que tengo que ir para adelante en lo que me pidan. En definitiva, uno es un servidor.

Advertisement

– Si Libertad Avanza vino a renovar la carta de candidatos, ¿por qué cree que en este armado que hubo en la provincia de Buenos Aires hubo tantos dirigentes que vienen de otras fuerzas?

– El Presidente fue muy claro en las definiciones del 2023: tabula rasa. Los que vengan de otros espacios, se abracen las ideas y acompañen el proyecto con convencimiento, bienvenidos. No importa el pasado, sino la construcción del pensamiento. La vida es un poco así, uno puede ir cambiando y está bien así.

El dirigente es candidato en la octava sección electoral

– Hay quienes hablan de nepotismo…

Advertisement

– Es que no lo hay, porque en definitiva yo antes trabajaba en el Estado y sin ser “el hermano de”. Son chicanas lógicas que le hacen a un Gobierno que funciona y a mi hermano, que lo considero un genio en lo que hace. No tienen otra cosa que atacar con eso. Uno es un profesional, me formé en esto y no es que vinimos de Marte. Son críticas lógicas del show, si querés. Allá ellos.

– ¿Qué atributos ofrece como candidato y qué propuestas lleva a la Legislatura?

– Soy de La Plata e hice carrera administrativa ahí. Sé todas las penurias que se vivieron a partir del agrandamiento de estados provinciales los últimos veinte años. Creo que ofrezco ser profesional. Sé un montón de cuestiones por haber pasado por ahí adentro de la administración pública, de gastos desorbitantes, todo lo que se vive y todos los problemas que tiene estructuralmente la provincia de Buenos Aires.

Advertisement

– ¿Cómo ve la performance de La Libertad Avanza en La Plata? ¿Y cómo están viendo la libertad hoy en día en La Plata?

– No tengo medidas, por lo menos a mí no me pasaron. Vamos a salir en primer lugar. No tengo duda.

– ¿Y en la Tercera?

Advertisement

– También.

– ¿Está seguro de eso?

– Estoy convencido porque es una elección que, como dice el Presidente, podría ser el tramo final del kirchnerismo que tan mal le hizo al país y a la Provincia. Vamos a luchar contra un aparato tramposo de unas dimensiones importantes. Nosotros vamos con ideas.

Advertisement

– ¿Por qué no renunció al cargo en el Consejo de la Magistratura?

– Renuncié.

– No lo comunicó nunca

Advertisement

– Pero lo hice, fue hace veinte días

– ¿Y por qué lo hizo?

– Lo motivó una cuestión de procedimiento administrativo. Tenía una reserva de cargo, pero el espíritu de la norma es que como al organismo público le cuesta formarte, y si te vas tiene que ir a buscar otro recurso humano, prefiere que vos vuelvas en el corto plazo. Entendí que el espíritu de la norma no tiene que transformarse en abuso. En definitiva, uno tiene predicar un poco lo que piensa. Hay gente en la administración bonaerense que debe estar hace veinte años en reserva de cargo. Está mal. Pero bueno, para algunos veinte años no es nada, como diría Gardel.

Advertisement

– ¿Cómo reaccionó ante la noticia de que su hermano iba a ser el vocero presidencial?

– Me puse a llorar como un niño. Soy muy sensible. También cuando me ofrecieron la candidatura. Yo lo veía batallar con Milei en la televisión en el plano de las ideas y me convencieron de que hay que ejercer el poder para practicarlo. Y fue así, lo que era impracticable se hizo realidad. Sacamos los piquetes, por ejemplo.

El reloj que se puso Francisco Adorni para esta entrevista, con la imagen de Carlos Menem

– ¿Le ve solución a los problemas estructurales de la Provincia?

Advertisement

– Por supuesto. Tenés que hacer el mismo esquema que hizo el gobierno nacional, que es cuidar el gasto. Eso es lo que nunca se pregonó en la administración pública bonaerense, que cuando vos cuidás el gasto, cuidás la plata de la gente. ¿Sabés cuál fue el concepto más espectacular que me apareció a mí de Milei hace unos años? Nada es gratis. Eso lo dice todo. Nada es gratis porque sale de la gente. Un presupuesto no se arma con la plata que se tiene, sino con los recursos que vos esperás pagar. Entonces, aplicando el modelo nacional a la provincia de Buenos Aires, con un gobierno que siga las ideas del presidente Milei. Todo se puede transformar. Tenés pibes de veinte años que no saben lo que es vivir sin inflación en un país estable y ahora… por eso mi admiración por Menem [se señala el reloj de su mano izquierda] estuvo en el tema de la estabilidad. Creo que aplicando un gobierno alineado con las políticas nacionales, la provincia de Buenos Aires va a volver a ser un motor productivo.

– ¿Y con qué lógica van a funcionar en la Legislatura bonaerense?

– Uno, es liberal y tenemos la mente abierta. No vamos a avalar ningún proyecto que sea en perjuicio de la gente y les quiera sacar plata. Con un equipo de profesionales queremos trabajar en una reforma impositiva para atacar las alícuotas, porque le tenés que devolver la plata a la gente y el Gobierno tiene que dejar de gastar en los despilfarros que hace Kicillof. Se puede impulsar nuevamente la intervención de IOMA, que es un desastre y lo padecemos los bonaerenses. También la reforma electoral para evitar las trampas con el tema de la boleta única. Para eso es sumamente importante tener una Legislatura afín, con ideas de libertad y de cuidarle el bolsillo a la gente.

Advertisement

– ¿Cómo imagina la dinámica de la campaña? ¿Con más alcance en las redes o yendo a recorrer a La Plata?

– Amo a mi ciudad. Nací y vivo ahí. La puedo recorrer de punta a punta. Los tiempos cambiaron en la política. Voy a tener una campaña digital, por los medios y con entrevistas. Pero todo se va a consensuar con el jefe de campaña, que es Sebastián Pareja. Acá lo único que hay que preocuparse es ganar el 7 de septiembre en las ocho sesiones electorales. Queremos trabajar, ser profesionales y ser serios. Que la gente vea lo que sos, un servidor público. La gente nos paga y hay que servir a la gente, que es lo lindo de hacer una carrera administrativa.

– ¿Planea llevar una agenda en materia de seguridad?

Advertisement

– No es mi fuerte. Soy un perfil técnico vinculado a temas de cuentas públicas. Eso sí, la inseguridad en la provincia es un desastre. Yo siempre hago el mismo ejemplo. Yo vivía en 46 entre 5 y 6 con mi hermano y mi vieja, en el centro de la Ciudad. A la tarde jugamos a la pelota con mi hermano, aunque se imaginarán que nunca fue muy bueno para el fútbol [risas]. Pero ahora mis nenes no pueden jugar. [Julio] Alak arrancó como intendente en 1991 y al día de hoy lo sigue siendo. Tuvo un impasse, pero la mayoría de las gestiones fueron kirchneristas. El huracán kirchnerista que arrasó con todo en La Plata y en la Provincia y la única forma de transformarlo es con las ideas de Milei.

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