;(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

Se Crivella cair, vereadores querem escolher substituto sem voto popular

O prefeito do Rio, Marcelo Crivella, é alvo de um processo de impeachment - Carl de Souza/AFP
O prefeito do Rio, Marcelo Crivella, é alvo de um processo de impeachment Imagem: Carl de Souza/AFP

Gabriel Sabóia

Do UOL, no Rio

30/04/2019 04h01

Em paralelo ao processo de impeachment que corre contra o prefeito do Rio de Janeiro, Marcelo Crivella (PRB), um grupo de vereadores da capital fluminense quer driblar a Lei Orgânica do Município e aprovar a possibilidade de eleição indireta para novo prefeito da cidade, em caso de saída do chefe do executivo municipal.

Se Crivella for cassado, o presidente da Câmara, Jorge Felippe (MDB), assumirá temporariamente a prefeitura. Isso porque o vice-prefeito eleito da cidade, Fernando Mac Dowell, morreu no ano ado, fazendo de Felippe o primeiro na linha sucessória do município.

Mas a iniciativa divide até mesmo os favoráveis à saída de Crivella, que temem que a manobra abra espaço para questionamentos na Justiça tentando invalidar uma possível cassação do prefeito.

Em março, um projeto de emenda que propunha a ampliação do prazo para os parlamentares elegerem indiretamente (ou seja, sem voto popular) um novo prefeito foi rejeitado na Câmara por um voto de diferença.

Atualmente, a Lei Orgânica do município prevê a possibilidade eleição indireta só se o prefeito for cassado no último ano do seu mandato -- o que, no caso de Crivella, acontecerá apenas ano que vem. O regimento interno também diz que uma matéria não pode ser votada duas vezes no mesmo ano pelo plenário.

Vereadores apostam em manobra no regimento

No entanto, vereadores como Willian Coelho (MDB) e Luiz Carlos Ramos Filho (Podemos) --que compõem a Comissão Processante do impeachment de Crivella-- disseram ao UOL que apostam em estratégias para aprovar as eleições indiretas. As justificativas vão desde os eventuais custos de uma eleição direta até à adequação do município às legislações estadual e federal.

"Este projeto pode voltar à votação, sim. Basta colocar como emenda em outro projeto. As legislações estadual e federal já preveem eleições indiretas caso haja impeachment neste prazo", diz Ramos Filho, que votou pela continuidade do rito de impeachment.

O vereador defende a mudança da lei, apesar de reconhecer que isso pode dar margem para recursos judiciais.

"Pode gerar uma questão na Justiça, sim. Mas será que o Rio merece um gasto de R$ 300 milhões para uma nova eleição, já em outubro deste ano, levando em consideração que em outubro do ano seguinte teremos eleições diretas novamente?", defende.

Na mesma linha, Willian Coelho se diz favorável ao "jabuti" [como é chamada, na Câmara, a aprovação de uma emenda que, em nada, se relaciona com a natureza da votação]. "Não vejo sentido em um 'mandato tampão', de pouco mais de um ano. Os cofres públicos, desta forma, estariam sendo penalizados pelos atos que levaram o Crivella ao impeachment? Acho que faz mais sentido a eleição indireta", diz.

Tarcísio Motta (PSOL), que votou contra a mudança na legislação em março, diz que a judicialização do impeachment seria a pior hipótese. Ele ressalta que para que a matéria volte ao plenário, são necessários os votos de dois terços dos 51 votos da Câmara.

"Crivella, mesmo sendo um péssimo prefeito, foi eleito nestas regras. Mudar as regras no meio do jogo é desonesto", afirma.

Em caso de eleição indireta, qualquer pessoa que esteja filiada a um partido político há pelo menos seis meses e em dia com a Justiça eleitoral pode se candidatar e pleitear os votos do plenário.

Entenda o pedido de impeachment

De acordo com o pedido de impeachment, o prefeito renovou no fim de 2018 um contrato com duas empresas, sem licitação. A medida teria beneficiado as concessionárias Adshel e Cemusa, ambas controladas por grupos estrangeiros.

As duas empresas tinham direito de explorar anúncios em pontos de ônibus e outdoors por 20 anos - o contrato havia sido firmado em 1999 e acabaria neste ano.

Depois desse período, os mobiliários urbanos ariam a pertencer ao município. Crivella teria, então, renovado a concessão sem licitação - o que causou prejuízos aos cofres públicos, segundo argumentou a denúncia.