Connect with us

POLITICA

La Justicia federal frenó el decreto del Gobierno que disolvía Vialidad Nacional

Published

on


El Juzgado Federal en lo Civil, Comercial Contencioso Administrativo N° 2 de San Martín, a cargo de Martina Forns, dictó una medida cautelar que suspende por seis meses el decreto con el que el Gobierno dispuso el cierre de Vialidad.

El fallo, al que tuvo acceso TN, ordenó al gobierno abstenerse de ejecutar cualquier acto administrativo, que derive del decreto 461/2025, incluyendo reubicaciones, traslados, cesantías, suspensiones, pases a disponibilidad de personal o supresión de estructuras vinculadas a la Dirección Nacional de Vialidad.

Advertisement

Leé también: El Gobierno le expresó a Israel su “seria preocupación” por el ataque a la única iglesia católica en Gaza

La jueza remarcó que Vialidad “es una entidad autárquica de derecho público, con personalidad para actuar privada y públicamente conforme a las disposiciones del decreto ley 505/1958″, y que la relación laboral del personal se rige por la Ley de Contrato de Trabajo.

Además, “la Constitución Nacional como los convenios de la Organización Internacional del Trabajo (OIT) con jerarquía constitucional -en particular los Convenios N.º 87, 98 y 151- impiden al Estado, en su rol concurrente de empleador y regulador, alterar de manera unilateral condiciones de trabajo que han sido establecidas por norma colectiva con plena vigencia”.

Advertisement

Por lo tanto, el decreto emitido por el gobierno “vulnera de forma manifiesta el principio de estabilidad, así como los derechos laborales y sindicales reconocidos a los trabajadores estatales, al sustraerlos del ámbito de protección de las Convenciones Colectivas de Trabajo vigentes y al interferir arbitrariamente en cuestiones que, por su naturaleza, deben resolverse en el marco de la negociación colectiva y de los regímenes estatutarios respectivos”, aseguró Forns.

Milei con Sturzenegger en las oficinas del Ministerio de Desregulación. Fuente: @fedesturze.

La jueza tuvo en cuenta también la posible vulneración de derechos de naturaleza alimentaria, derivados de eventuales despidos masivos o modificaciones unilaterales en las condiciones laborales.

“En esta etapa preliminar del proceso, donde se verifican circunstancias graves y objetivas, permite justificar el dictado de una medida cautelar de no innovar, a fin de evitar perjuicios irreparables y preservar el statu quo hasta tanto se resuelva la cuestión de fondo”, concluyó la titular del juzgado.

Advertisement

La demanda fue presentada por el Sindicato de Empleados de Vialidad Nacional (SEVINA), que aseguró que entre los alcances de las facultades delegadas otorgadas al gobierno no se encontraba la potestad de avanzar con el cierre del organismo.

Se trata del Decreto 480/2025, que establece la disolución de la Agencia Nacional de Seguridad Vial (ANSV), la Dirección Nacional de Vialidad (DNV) y la Comisión Nacional del Tránsito y la Seguridad Vial.

Según el texto publicado en el Boletín Oficial con las firmas del presidente Javier Milei, el ministro de Economía Luis Caputo, el jefe de Gabinete Guillermo Francos y la ministra de Seguridad Patricia Bullrich, el objetivo es centralizar competencias, reducir estructuras y redefinir responsabilidades, bajo la órbita del Ministerio de Economía.

Advertisement

El cierre de Vialidad

El pasado 7 de julio, el vocero presidencial, Manuel Adorni, anunció que el presidente Javier Milei firmó un decreto que elimina la Dirección Nacional de Vialidad y otros organismos del área.

Este organismo se creó para simplificar la corrupción”, dijo Adorni en una conferencia de prensa en Casa de Gobierno.

El decreto firmado busca que el Ministerio de Economía sea el nuevo el responsable directo del sistema troncal de caminos nacionales, en reemplazo de la Dirección Nacional de Vialidad.

Advertisement

Sus fondos, activos y personal serán transferidos a la cartera económica, que también podrá delegar funciones en otras jurisdicciones.

Tras su disolución, la Dirección Nacional de Vialidad (DNV) distribuirá sus funciones entre la nueva agencia y dos unidades organizativas dentro del Ministerio de Economía, una en la órbita de la Secretaría de Transporte y otra en la Secretaría de Obras Públicas.

Vialidad Nacional, Justicia, Gobierno

Advertisement

POLITICA

Cierre de alianzas en Córdoba: el PJ pone a prueba el acuerdo de gobernadores y LLA busca hacer pie con la UCR y el PRO

Published

on



A horas del fin del plazo para la presentación de alianzas, Córdoba vive intensas negociaciones. En el oficialismo ya se descuenta la candidatura de Juan Schiaretti, movimiento que servirá para darle volumen político a la flamante alianza Provincias Unidas, pero con el desafío que implicará competir con Natalia De La Sota. Del otro lado, La Libertad Avanza tiene la compleja tarea de acordar con el PRO y la UCR, que, a su vez, enfrentan fuertes internas que llegaron a la Justicia.

La provincia renueva un total de nueve bancas en la Cámara de Diputados y, pese a no haber escaños en el Senado en juego, el armado en Córdoba toma relevancia por su preponderancia en el padrón electoral y por el perfil antikirchnerista que históricamente mantuvo, lo que ayudó, por ejemplo, a que Mauricio Macri llegue a la Presidencia en el 2015.

Advertisement

Justamente, el PRO cordobés vive hace más de un año un desmembramiento: gran parte de los dirigentes se sumaron al Gabinete de Martín Llaryora y otros, como por ejemplo Oscar Agost Carreño, se aliaron con peronistas de centro en la Cámara de Diputados. Ese movimiento impulsó la intervención del partido, que hasta estas horas sigue generando tensión e incertidumbre para el cierre de alianzas.

Rodrigo de Loredo mantiene un buen vínculo con Mauricio Macri y su sector en Córdoba

“Ha habido una batalla legal que está en disputa, pero vamos a tener la posibilidad de hacer el cierre como queremos. En este proceso, no solamente cumpliendo la voluntad lógica que es no yendo con el peronismo de Córdoba, sino también con la voluntad de nuestros intendentes, los que se han quedado a pesar del momento complicado y que son los que han pedido por favor que hagamos todo el esfuerzo posible para que el partido sea intervenido y para que puedan ellos definir el cierre electoral de este año”, expresó el santiagueño Facundo Pérez Carletti, secretario general del PRO y hoy un fiel aliado de Macri.

Otro buen aliado del ex presidente en Córdoba es Rodrigo De Loredo, el radical que preside el bloque en la Cámara baja y que también debe renovar su banca. Aunque en privado insiste en que no está empecinado en reelegir y que su mayor objetivo es llegar competitivo al desafío por la Gobernación en el 2027, el legislador logró que la UCR local lo habilite a sellar una alianza con La Libertad Avanza, pero con una sola condición: tiene que encabezar la lista. Según pudo reconstruir Infobae, ese requisito no estaría garantizado, sino más bien, existe una oferta para un tercer lugar, pero además en el Gobierno no ven con buenos ojos la pelea judicial que se desató en el partido centenario.

Advertisement

Ramón Mestre es uno de los principales detractores de Rodrigo de Loredo

En la última reunión del congreso partidario, el equipo de Marcos Ferrer – titular de la UCR local y aliado de De Loredo- olvidó anular la elección interna para elegir candidatos. Tras una pelea judicial impulsada por los adversarios de las autoridades, el partido centenario se encamina a una elección interna el próximo domingo, en la que Ramón Metre busca posicionarse y evitar un armado con La Libertad Avanza. “Al Gobierno no le está gustando para nada todo este lío”, aseguran en Córdoba en un contexto nacional en el que se impone la estrategia de Karina Milei de imponer el sello libertario, el color y candidatos puros.

En los últimos meses La Libertad Avanza ensayó algunos nombres para encabezar la lista en la provincia mediterránea. Hasta había sonado Diana Mondino antes de su salida de Cancillería. También trascendió la posibilidad de un Agustín Laje, el encargado de la batalla cultural de Javier Milei, encarando el desafío electoral, pero todo indica que será Gabriel Bornoroni el candidato del gobierno nacional.

Ignacio Torres, Chubut Maximiliano Pullaro, Santa Fe Martín Llaryora, Córdoba Carlos Sadir, Jujuy Claudio Vidal, Santa Cruz

La Libertad Avanza tendrá el desafío de enfrentar a un PJ cordobés que pondrá a su mejor candidato: Juan Schiaretti. El ex gobernador mantiene un alto nivel de aprobación y promete revertir la mala racha que históricamente tuvo el peronismo local en las elecciones legislativas. Sin embargo, no será un camino allanado para el oficialismo. En los últimos días Natalia De la Sota anunció que enfrentará al espacio que supo fundar su padre, luego de una larga suma de malestares con sus ex aliados. Algunos dejan trascender que quedó herida desde el 2023, cuando el espacio eligió a la radical Myrian Prunotto como compañera de fórmula de Llaryora.

Advertisement

Pero la postulación de Schiaretti será, además, la principal figura del frente Provincias Unidas, la alianza que lanzaron los cinco mandatarios Maximiliano Pullaro (Santa Fe), Carlos Sadir (Jujuy), Ignacio Torres (Chubut), Claudio Vidal (Santa Cruz) y Llaryora (Córdoba). Los cinco gobernadores tienen como objetivo establecer un “bloque compacto” en el Congreso para defender e impulsar medidas que respondan a las necesidades del interior productivo. Para ese desafío, por ejemplo, Pullaro planea postular a su vicegobernadora Gisela Scaglia, quien responde a Macri. Los cordobeses también tienen puestos los ojos en la provincia de Buenos Aires, donde podrían bendecir a Florencio Randazzo para la lista de Somos Buenos Aires.

Continue Reading

POLITICA

Armado local y marca nacional: la estrategia del nuevo frente de gobernadores para las elecciones de octubre

Published

on


El año electoral genera distintos movimientos en los espacios políticos del país, incluso en aquellos que están alejados de los extremos que propone la polarización entre libertarios y peronistas.

Días atrás, surgió como una alternativa la fuerza “Provincias Unidas”, referenciada en cinco gobernadores: Martín Llaryora (Córdoba), Maximiliano Pullaro (Santa Fe), Ignacio Torres (Chubut), Carlos Sadir (Jujuy) y Claudio Vidal (Santa Cruz).

Advertisement

Entre los objetivos de ese incipiente espacio está poder presentar una alternativa concreta en las presidenciales del 2027, pero antes están las elecciones legislativas de este año. Y en ese esquema, los mandatarios provinciales ya trabajan en el armado de listas con una consigna clara: armado local y marca nacional.

Leé también: El frente Provincias Unidas de los gobernadores se prepara para ser un aliado crítico de Milei en el Congreso

La idea es respetar los armados provinciales, que no necesariamente son los mismos en cada región. Pero además, comenzar a instalar el sello Provincias Unidas, para no solo ganar visibilidad este año sino proyectarlo hacia adelante. “Cada uno arma, pero el paraguas es Provincias Unidas. El armado será en cada provincia. Hoy existe el espacio en esas cinco, aunque se espera que con el tiempo se sumen otras», indicaron a TN en el entorno de uno de los fundadores.

Advertisement
Los gobernadores de Santa Fe, Maximiliano Pullaro, y de Córdoba, Martín Llaryora, se unieron para reclamar obras eléctricas al presidente Javier Milei (Foto: Gobernación de Santa Fe).

No obstante, de momento no todos los gobernadores están tan convencidos de cambiar el sello electoral. En una elección que se presenta como nacional y polarizada, la apuesta más segura -sostienen los más reacios- es ir a elecciones con la marca que ya los hizo ganar en 2023. Una de las máximas de este espacio es que se presentan como los que “le ganaron al kirchnerismo” en sus provincias.

Leé también: El PRO avanza en un armado con LLA en la provincia de Buenos Aires: pide 5 lugares en la lista de diputados

“Por lo pronto y por ahora, el frente es muy nuevo, llega muy sobre la hora, el armado es provincial”, indicaron a TN en el entorno del mandatario santacruceño, Claudio Vidal. Allí está vigente el frente Por Santa Cruz, donde confluyen varios partidos y sectores políticos

Advertisement

Además del partido de Vidal, SER (Somos Energía Para Renovar Santa Cruz), están la UCR -en 2023 el sello no estaba, pero la mayoría de los radicales acompañaron-; también está el PRO, Encuentro Ciudadano y hasta un sector importante del peronismo no K, como el exgobernador Sergio Acevedo.

Por esta heterogeneidad y por la hazaña de derrotar al kirchnerismo tras décadas de hegemonía, en las filas de Vidal prefieren mantener su sello, aunque no está definido aún. “Se ganó en 2023 con ese sello y ese frente. Se va a tratar de mantener”, remarcaron.

El vice de Chubut, Gustavo Menna, junto al gobernador, Ignacio «Nacho» Torres (Foto: Facebook @soygustavomenna).

En Chubut, la lógica también es la de respetar los acuerdos locales. “Los armados provinciales son independientes. Allí está definido que los candidatos serán el vicegobernador Gustavo Menna y la diputada nacional Ana Clara Romero. ”No está fácil la elección, pero siempre la expectativa es meter los dos“, señalaron a TN cerca de Nacho Torres.

En Santa Fe, es probable que cambie el sello Unidos por el de los gobernadores. “Estamos muy entusiasmados. Creemos que es una forma distinta de entender a la Argentina. Las Provincias decidimos unirnos para plantear un modelo alternativo, una gestión de poder distinta”, afirmó Pullaro este miércoles en diálogo con A24.

Advertisement

En la misma línea, el mandatario aclaró: “No es un espacio de centro o moderado. Es un espacio de gestión. Es un espacio que toma los problemas y los resuelve. No es un espacio ideológico”. Y remarcó: “En nosotros van a encontrar sensatez. Acompañaremos lo que entendamos que está bien, como hicimos con muchas políticas del presidente Milei que consideramos que eran lo mejor para la Argentina”.

Un bloque federal en el Congreso

Si bien se respetarán los armados provinciales para este turno electoral, el plan es sí plasmar una construcción integrada en el Congreso. En el que funcionará a partir del 10 de diciembre, pero también en las votaciones que se darán antes.

El Congreso de la Nación. (Foto: Nicolás González / TN).
El Congreso de la Nación. (Foto: Nicolás González / TN).

En todas esas interaccioneas, primará este rol de árbitro que pretenden tener, entre libertarios y kirchneristas: acompañar lo que estén de acuerdo y reclamar y rechazar cuando no lo estén.

“Ya están trabajando en ese sentido. La idea es ya ir como bloque, pero falta un poco para que esté totalmente aceitado eso. Los gobernadores hablan entre ellos y planifican. Buscan el consenso en las acciones”, señalaron cerca de los mandatario a este medio. De todas maneras, reconocen que se trata de un armado incipiente: “Por lo nuevo del armado, falta un poco. Para el 10 de diciembre eso va a funcionar al 100%, y yo creo que antes también”.

Advertisement

El bloque es una realidad, y los gobernadores están llevando una estrategia en lo que respecta a temas nacionales, en conjunto”, explicaron. Y finalizaron: “El ideal es que después del 10 de diciembre todos los diputados y senadores del espacio confluyan en un solo bloque”.

Gobernadores, Elecciones, Congreso de la Nación

Advertisement
Continue Reading

POLITICA

Uno por uno, cómo votaron los diputados el proyecto de Emergencia del Garrahan

Published

on


Conteo de Votos y Hemiciclo

Uno por uno, así votaron los diputados la Ley Garrahan

Advertisement

Advertisement


`
: `

Advertisement
foto-diputado

`
}

${bloque}

`;
targetContainer.appendChild(card);
}

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

Advertisement

const centerX = 300;
const baseY = 450;
const numberOfRows = 10;
// Array of seats per row (from outer to inner)
const seatsPerRow = [38, 36, 33, 30, 27, 24, 21, 19, 16, 13];
const verticalOffset = 2;
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 * (16 – 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.
const leyText = nAfirmativo > nNegativo ? ‘Ley Aprobada’ : ‘Ley no aprobada’;
document.querySelector(‘#voto-summary’).innerHTML = `

Advertisement

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

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

` + ‘

‘ + leyText + ‘

Advertisement

‘;
}

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

const centerX = 300;
const baseY = 450;
const numberOfRows = 10;
// Array of seats per row (outer to inner; total should be 257)
const seatsPerRow = [38, 36, 33, 30, 27, 24, 21, 19, 16, 13];
const verticalOffset = 2;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);

Advertisement

// 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 + «).»);
}

// — 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 * (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);

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);
}
}
}

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

Advertisement

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

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-diputados__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

LO MAS LEIDO

Tendencias