;(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; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // 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(); })();
  • AssineUOL
Topo

Após Crivella ficar inelegível, PSOL pede anulação de candidatura

Marcelo Crivella no jardim do Palácio da Cidade, residência oficial do prefeito do Rio - Divulgação
Marcelo Crivella no jardim do Palácio da Cidade, residência oficial do prefeito do Rio Imagem: Divulgação

Igor Mello

Do UOL, no Rio

25/09/2020 11h37

Após o TRE-RJ (Tribunal Regional Eleitoral do Rio de Janeiro) tornar o prefeito Marcelo Crivella (Republicanos) inelegível até 2026, o PSOL pediu à Justiça Eleitoral que o registro de sua candidatura à reeleição seja rejeitado.

O pedido foi protocolado pelos advogados do partido no fim da tarde de quinta-feira (24), pouco depois da decisão do TRE-RJ, que condenou Crivella por abuso de poder político e conduta vedada ao usar veículos e servidores da Comlurb, companhia de limpeza urbana do Rio.

Segundo a Procuradoria Regional Eleitoral, os recursos da empresa foram usados para apoiar um ato de campanha de Marcelo Hodge Crivella, seu filho, que tentava se eleger deputado federal, e de Alessandro Costa, que disputava uma vaga de deputado estadual. O prefeito esteve presente no evento, realizado na quadra da escola de samba Estácio de Sá, na região central da capital. O prefeito nega as acusações e irá recorrer.

Na ação de impugnação de registro de candidatura, o PSOL afirma que Crivella se enquadra em uma situação que não permite seu registro, por ter sido condenado por abuso de poder político por órgão colegiado.

Mesmo que tenha o registro negado, Crivella terá direito de recorrer da decisão e poderá realizar atos de campanha normalmente até que o processo tenha um desfecho definitivo.

Principal partido de oposição à gestão de Crivella, o PSOL apresentou recentemente dois pedidos de impeachment contra o prefeito motivados pelo escândalo dos Guardiões do Crivella, revelado pela TV Globo, e pela Operação Hades II, que investiga envolvimento direto de Crivella em um esquema de corrupção na prefeitura. Ambos foram rejeitados pela Câmara dos Vereadores.

O partido —que foi derrotado por Crivella no segundo turno em 2016, com Marcelo Freixo— indicou a deputada estadual Renata Souza para disputar a Prefeitura do Rio neste ano. Segundo a candidata, a ação contra Crivella tenta "fazer justiça aos cariocas".

"O Crivella cometeu crime como prefeito e foi condenado por unanimidade. A decisão da TRE tem que ser cumprida. É um pedido que faz justiça aos cariocas que estão sofrendo com a incompetência e o abuso de poder político. O Rio precisa se libertar da corrupção que sempre comandou a nossa cidade", disse ela ao UOL.

Crivella questiona julgamento no TRE-RJ

O prefeito informou ontem, por meio de nota, que vai recorrer da decisão e que estuda um pedido de anulação da votação no TRE-RJ. Ele alega conflito de interesses de um dos desembargadores que participou do julgamento.

Crivella diz que "um dos desembargadores, Gustavo Alves Pinto Teixeira, votou, mas é, ao mesmo tempo, advogado da Lamsa —a concessionária contra a qual o prefeito luta na Justiça para pôr fim ao preço exorbitante do pedágio na Linha Amarela". Para o prefeito, é notória a "contaminação da votação".

"Cabe destacar que o prefeito Crivella não está, de forma alguma, impedido de disputar as eleições, e vai concorrer à reeleição", conclui o comunicado divulgado após a condenação.

A defesa de Crivella aposta na estratégia de obter o impedimento de Gustavo Alves Pinto Teixeira no julgamento de seu processo para tentar, então, sustentar no TSE (Tribunal Superior Eleitoral) a tese de que só poderia ser considerado inelegível se houvesse o quórum completo do colegiado, com sete julgadores aptos em plenário.

Eleições à Prefeitura do Rio 2020