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

Indio da Costa Político brasileiro

<p>Rosana de Oliveira Cesar</p><p>Especial para a Página 3 Pedagogia & Comunicação</p>

26/07/2010 12h14

Antônio Pedro de Siqueira Indio da Costa iniciou sua carreira profissional em 1993, como assessor de gabinete do prefeito do Rio de Janeiro, César Maia, e também do Comudes (Conselho Municipal de Desenvolvimento da Cidade do Rio de Janeiro). Filho do conceituado arquiteto Luiz Eduardo Indio da Costa, formou-se advogado em 1998, ano em que foi presidente do Movimento Juventude do PFL (atual Democratas, DEM).

Ainda em 1994, Indio da Costa foi do Parque do Flamengo, permanecendo no posto até 1995, quando se tornou subprefeito da 5ª Região istrativa da Prefeitura (região de Copacabana / Leme).

No ano seguinte, elegeu-se vereador no Rio de Janeiro pelo DEM, cargo que voltaria a ocupar em 2000 (desta vez pelo Partido Trabalhista Brasileiro, PTB) e 2004. Em 2001, retornou ao DEM e assumiu a Secretaria Municipal de istração, cargo que ocuparia até 2006, período durante o qual presidiu os conselhos de istração do Instituto de Previdência e Assistência do Município do Rio de Janeiro (Previ-Rio) e da Empresa Municipal de Informática (Iplanrio).

Nesse período, foi responsável por um processo de licitação de merenda escolar considerado fraudulento, o que resultou na abertura de uma Comissão Parlamentar de Inquérito na Câmara do Rio. Presidida pela vereadora Andrea Gouvêa Vieira (PSDB), a comissão pediu o indiciamento de Indio por suposto envolvimento com as irregularidades. O relatório foi enviado para o Ministério Público Estadual e Federal, ao Tribunal de Contas do Município e à Delegacia de Polícia Fazendária, mas acabou arquivado, por falta de provas, em 2008.

Pós-graduado pela EPPG/FCC (Escola de Políticas Públicas e Governo), Indio concorreu a uma vaga na Câmara dos Deputados em 2006, assumindo no ano seguinte, eleito por 91.538 votos. De início, sua atividade parlamentar foi discreta, mas depois ele começou a se destacar como sub-relator da I mista dos Cartões Corporativos. Durante a tramitação do Projeto Ficha Limpa, voltou a se projetar como relator da proposta na Câmara.

Em 2010, Indio foi escolhido para ser o vice na chapa de José Serra (PSDB) à presidência da República. Entre os pontos que favoreceram sua escolha, estão: o fato de ter sido relator do Projeto Ficha Limpa; ser do Rio de Janeiro, terceiro maior colégio eleitoral do país; e ser jovem.

Fonte: Folha de S. Paulo; UOL; DOC-FGV