Detuvieron a un joven de 21 años en pleno centro de La Plata, acusado de abusar sexualmente de una mujer de 42 años que estaba esperando el micro en una parada.
El hecho ocurrió en las calles 7 y 46, cuando el atacante sorprendió a la mujer en una de las paradas, según indicaron fuentes policiales al medio 0221.
1800 ? ' warning' : '');
});
}
function cargarComentarios() {
var xhr = new XMLHttpRequest();
xhr.open('GET', baseUrl + 'ajax-comentarios.php?accion=listar&id_noticia=' + idNoticia, true);
xhr.onload = function () {
document.getElementById('comments-loading').style.display = 'none';
try {
var data = JSON.parse(xhr.responseText);
if (data.ok) {
document.getElementById('comments-count').textContent = data.total;
if (data.comentarios.length === 0) {
document.getElementById('comments-empty').style.display = 'block';
document.getElementById('comments-list').style.display = 'none';
} else {
document.getElementById('comments-empty').style.display = 'none';
document.getElementById('comments-list').style.display = 'block';
renderComentarios(data.comentarios);
}
}
} catch (e) { console.error('Error parsing comments', e); }
};
xhr.send();
}
function renderComentarios(comentarios) {
var html = '';
for (var i = 0; i < comentarios.length; i++) {
html += renderComentario(comentarios[i]);
}
document.getElementById('comments-list').innerHTML = html;
}
function renderComentario(c) {
var html = '
';
return html;
}
// Publicar comentario principal
window.publicarComentario = function (idPadre) {
var textarea = idPadre ? document.querySelector('#reply-form-' + idPadre + ' textarea') : document.getElementById('comentario-texto');
var texto = textarea ? textarea.value.trim() : '';
if (!texto) { mostrarToast('Escribí un comentario', 'error'); return; }
var btn = idPadre ? document.querySelector('#reply-form-' + idPadre + ' .btn-publicar-reply') : document.getElementById('btn-publicar');
btn.disabled = true;
btn.textContent = 'Publicando...';
var formData = new FormData();
formData.append('accion', 'publicar');
formData.append('id_noticia', idNoticia);
formData.append('comentario', texto);
if (idPadre) formData.append('id_padre', idPadre);
var xhr = new XMLHttpRequest();
xhr.open('POST', baseUrl + 'ajax-comentarios.php', true);
xhr.onload = function () {
btn.disabled = false;
btn.textContent = idPadre ? 'Responder' : 'Publicar';
try {
var data = JSON.parse(xhr.responseText);
if (data.ok) {
mostrarToast('Comentario publicado', 'success');
if (!idPadre && textarea) textarea.value = '';
var counter = document.getElementById('char-count');
if (counter) counter.textContent = '0 / 2000';
cargarComentarios();
} else {
mostrarToast(data.error || 'Error al publicar', 'error');
}
} catch (e) { mostrarToast('Error de conexión', 'error'); }
};
xhr.onerror = function () {
btn.disabled = false;
btn.textContent = idPadre ? 'Responder' : 'Publicar';
mostrarToast('Error de conexión', 'error');
};
xhr.send(formData);
};
// Responder
window.responderA = function (idComentario) {
// Cerrar otros reply forms
var existentes = document.querySelectorAll('.reply-form-inline');
for (var k = 0; k < existentes.length; k++) existentes[k].remove();
var container = document.getElementById('reply-form-' + idComentario);
if (!container) return;
container.innerHTML = '
';
container.querySelector('textarea').focus();
};
// Like / Dislike
var reaccionando = false;
window.reaccionar = function (idComentario, tipo) {
if (reaccionando) return;
var btn = event.currentTarget;
reaccionando = true;
var formData = new FormData();
formData.append('accion', tipo);
formData.append('id_comentario', idComentario);
var xhr = new XMLHttpRequest();
xhr.open('POST', baseUrl + 'ajax-comentarios.php', true);
xhr.onload = function () {
reaccionando = false;
try {
var data = JSON.parse(xhr.responseText);
if (data.ok) {
var elLikes = document.getElementById('likes-' + idComentario);
var elDislikes = document.getElementById('dislikes-' + idComentario);
if (elLikes) elLikes.textContent = data.likes;
if (elDislikes) elDislikes.textContent = data.dislikes;
// Cambiar color
var container = btn.closest('.comment-actions');
var btnLike = container.querySelector('button[onclick*="\'like\'"]');
var btnDislike = container.querySelector('button[onclick*="\'dislike\'"]');
if (data.revertido) {
btnLike.classList.remove('active-like');
btnDislike.classList.remove('active-dislike');
} else {
if (tipo === 'like') {
btnLike.classList.add('active-like');
btnDislike.classList.remove('active-dislike');
} else {
btnDislike.classList.add('active-dislike');
btnLike.classList.remove('active-like');
}
}
} else {
mostrarToast(data.error || 'Error', 'error');
}
} catch (e) { }
};
xhr.onerror = function () {
reaccionando = false;
};
xhr.send(formData);
};
// Denunciar
var idDenunciaPendiente = null;
window.denunciar = function (idComentario) {
idDenunciaPendiente = idComentario;
document.getElementById('modal-denunciar').classList.add('active');
};
window.cerrarModalDenuncia = function () {
document.getElementById('modal-denunciar').classList.remove('active');
idDenunciaPendiente = null;
};
document.getElementById('btn-confirmar-denuncia').onclick = function () {
if (!idDenunciaPendiente) return;
var idComentario = idDenunciaPendiente;
cerrarModalDenuncia();
var formData = new FormData();
formData.append('accion', 'denunciar');
formData.append('id_comentario', idComentario);
var xhr = new XMLHttpRequest();
xhr.open('POST', baseUrl + 'ajax-comentarios.php', true);
xhr.onload = function () {
try {
var data = JSON.parse(xhr.responseText);
mostrarToast(data.ok ? (data.mensaje || 'Denunciado') : (data.error || 'Error'), data.ok ? 'success' : 'error');
} catch (e) { }
};
xhr.send(formData);
};
document.getElementById('modal-denunciar').onclick = function (e) {
if (e.target === this) cerrarModalDenuncia();
};
// Toast
function mostrarToast(msg, tipo) {
var existing = document.querySelector('.comment-toast');
if (existing) existing.remove();
var toast = document.createElement('div');
toast.className = 'comment-toast ' + (tipo || '');
toast.textContent = msg;
document.body.appendChild(toast);
setTimeout(function () { toast.remove(); }, 3500);
}
function escapeHtml(text) {
if (!text) return '';
var d = document.createElement('div');
d.textContent = text;
return d.innerHTML;
}
})();