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

Capitão Nelson (Avante) é eleito prefeito em São Gonçalo (RJ)

Capitão Nelson (Avante) foi eleito prefeito de São Gonçalo - Reprodução/Facebook
Capitão Nelson (Avante) foi eleito prefeito de São Gonçalo Imagem: Reprodução/Facebook

Beatriz Montesanti

Colaboração para o UOL

29/11/2020 19h17Atualizada em 29/11/2020 19h28

Capitão Nelson (Avante) é o novo prefeito de São Gonçalo, na região metropolitana do Rio de Janeiro, em uma vitória inesperada neste domingo (29).O vencedor recebeu 50,7% dos votos, e seu adversário Dimas Gadelha (PT), 49,2%, segundo o TSE (Tribunal Superior Eleitoral).

Essa foi a primeira vez que o capitão lançou-se candidato pela prefeitura. Ele estava atrás de seu adversário petista, nas pesquisas de intenção de voto e inclusive chegou ao segundo turno por uma margem de centésimos de diferença em relação a Dejorge Patrício (Republicanos) —Nelson teve 22,82% dos votos, enquanto Patrício teve 22,62%.

Nelson Ruas dos Santos tem 62 anos e foi fuzileiro naval e policial militar. Sua trajetória política começou em 2004, quando disputou a primeira eleição para vereador de São Gonçalo. Ele se candidatou outras vezes, cumprindo quatro mandatos seguidos na Câmara Municipal pelo PSC.

Em 2019, foi empossado como deputado estadual. Ele era suplente de Marcos Abrahão (Avante), afastado do cargo por ter sido preso na operação Furna da Onça, desdobramento da Lava Jato que investiga um esquema de propina na Alerj (Assembleia Legislativa do Estado do Rio de Janeiro), no governo de Sérgio Cabral (MDB).

Uma das agens mais controversas da vida política de Capitão Nelson é a acusação, em 2011, de chefiar uma milícia no Jardim Catarina, seu reduto político em São Gonçalo. Ele foi citado no relatório da I das Milícias, da Alerj. O candidato nega as acusações, e nenhuma das denúncias foi confirmada nas investigações.

Para ser eleito, ele compôs a chapa "Avança São Gonçalo", que conta com os partidos Avante, PL e PSDB. A chapa tem o ex-vereador Sérgio Gevú (PL) como candidato a vice.

O capitão derrotou o petista Dimas Gadelha, que esteve à frente em todas as pesquisas de intenção de voto realizadas e com quem polarizava ideologicamente. O prefeito eleito se aliou a bolsonaristas e usou o antipetismo em sua campanha.

As prioridades de suas propostas são segurança pública, saúde, emprego e infraestrutura. Ele pretende criar uma central de monitoramento e controle para promoção da segurança e aumentar o efetivo de policiais nas ruas. Também prometeu combater o tráfico, a corrupção e as milícias.

São Gonçalo tem um histórico de eleger conservadores. Em 2018, o presidente Jair Bolsonaro (sem partido) teve 67,3% dos votos na cidade, que tem um dos maiores eleitorados evangélicos do país. A deputada federal Flordelis (PSD), acusada de encomendar o assassinato do próprio marido, é uma das representantes desse campo político na cidade.

Localizada a 20 km do Rio de Janeiro, a cidade tem cerca de 1,1 milhão de habitantes e é o segundo município mais populoso do estado. No entanto, a cidade tem a renda per capita mais baixa do Rio de Janeiro e baixa arrecadação de IPTU, o que implica na falta de recursos para investimentos.