;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
Topo
Notícias

Justiça mantém presos filhos que esconderam corpo de pai idoso por meses

do UOL

Do UOL, em São Paulo

24/05/2025 22h38

A Justiça do Rio de Janeiro decidiu que os dois irmãos presos em flagrante por suspeita de manter o corpo do próprio pai por pelo menos seis meses dentro da casa deles no bairro Cocotá, na zona norte do Rio de Janeiro, devem permanecer detidos.

O que aconteceu

Justiça converteu de provisória para preventiva a prisão dos irmãos. Tânia Conceição Marchese D'Ottavio e Marcelo Marchese D'Ottavio estão internados em uma clínica psiquiátrica sob escolta policial após apresentarem sinais de possíveis transtornos psicológicos. Os irmãos não compareceram a audiência de custódia, realizada hoje, mas foram representados pela Defensoria Pública.

Gravidade do crime justifica manutenção da prisão, segundo magistrada. A juíza Laura Noal Garcia, da 14ª Vara Criminal, escreveu que apesar dos irmãos não terem antecedentes criminais, a gravidade das condutas por eles praticadas justificam a manutenção da custódia cautelar. "Para que eventuais testemunhas do caso possam ser ouvidas sem intimação, bem como para garantia da ordem pública. No ponto, destaco que a primariedade, por si só, não confere o direito à liberdade", argumentou.

Defesa dos irmãos havia requerido que eles fossem liberados. Mas a juíza concordou com a autoridade policial e com o Ministério Público do Rio de Janeiro, que pediram a conversão da prisão.

Após Tânia e Marcelo receberem alta, uma nova audiência de custódia será realizada. Segundo determinação da juíza, isso é necessário para que possa ser apurada a ocorrência ou não de agressão policial durante a prisão em flagrante, bem como para a realização de entrevista dos custodiados nos padrões em que determinado no CNJ (Conselho Nacional de Justiça).

Entenda o caso

Idoso encontrado morto após meses. O corpo de Dário Antonio Raffaele D'Ottavio, 88, foi encontrado em estado de 'esqueletização' na cama de um cômodo na casa onde a família vivia. Exames periciais devem determinar a causa da morte do genitor e por quanto tempo Tânia e Marcelo mantiveram os restos mortais dele.

Vizinhos estranham o sumiço do homem, que não era visto há muito tempo. Após receberem a denúncia, os policiais da 37ª DP foram até a residência para cumprir um mandado de busca e apreensão, e encontraram o corpo em estágio final de decomposição. Segundo o boletim de ocorrência, Marcelo apresentou perante os policiais comportamento agressivo, agitado e alterado.

Filhos teriam mantido o corpo oculto para continuar recebendo benefícios financeiros da vítima. Em um vídeo que circula pelas redes sociais, Tânia aparece se recusando a sair da casa e a ser levada para a delegacia. ''Não saio'', gritava sentada no chão. ''A senhora está presa pelo homicídio do seu pai'', diziam os agentes.

Polícia chamou caso de ''macabro'' e apura homicídio. ''Nós nos deparamos com essa cena extremamente chocante. Há a possibilidade, inclusive, de ter ocorrido um homicídio, mas o que tudo indica foi uma morte de causas naturais, decorrente de alguma doença desse idoso'', disse o delegado Felipe Santoro em entrevista ao jornal local Ilha Notícias.

Tânia e Marcelo foram levados a uma clínica psiquiátrica. Eles continuam internados hoje sob escolta. A Justiça do Rio de Janeiro determinou que a Secretaria de istração Penitenciária do Rio de Janeiro seja oficiada para que, por cautela, embora haja alta, os custodiados sejam mantidos junto ao Hospital Evandro Freire, "considerando que há indícios contundentes no sentido de que possuem transtorno mental, o qual deve ser diagnosticado perante os profissionais competentes".

Notícias