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

CBF convoca assembleia para tratar sobre estatuto e terminar briga judicial

Ednaldo Rodrigues, presidente da CBF - Lucas Figueiredo/CBF
Ednaldo Rodrigues, presidente da CBF Imagem: Lucas Figueiredo/CBF

Igor Siqueira

Do UOL, no Rio de Janeiro

25/02/2022 18h15

A CBF convocou hoje (25) uma assembleia geral da entidade, com participação das 27 federações e dos clubes da Série A, para resolver uma pendência sobre a mudança estatutária de 2017 que tem gerado disputa na Justiça.

De acordo com a convocação, a reunião vai acontecer no dia 7 de março e tem como objetivo definir pesos dos votos na eleição da entidade, as cláusulas de exigências para lançamento de candidatura e a inclusão ou não dos clubes da Série B no colégio eleitoral da CBF.

A resolução desse problema irá atacar a questão central do processo que corre na Justiça e que motivou recentes decisões de intervenção na entidade. Na mais recente, o Superior Tribunal de Justiça (STJ) disse que o Tribunal de Justiça do Rio (TJ-RJ) deveria nomear como presidente interino o diretor mais velho da CBF. O objetivo era conduzir essa assembleia em uma pauta igual a essa convocada hoje (25).

No edital de convocação, a CBF, inclusive, reproduziu como item da pauta a forma com a qual o STJ definiu a tarefa desse diretor mais velho.

em especial: 1) da definição de pesos diversos entre as Federações e clubes; 2) exigências para candidaturas; 3) e inclusão dos times de segunda divisão (com o respectivo peso de voto), no Colégio" eleitoral, e outras alterações necessárias em decorrência da legislação vigente.

A discussão ganhou forma porque a CBF, em 2017, fez mudanças nas regras eleitorais em uma assembleia da qual não participaram os clubes, apenas as federações. Na ocasião, ficou acertado que, nas eleições presidenciais, as federações teriam voto com peso 3. Os clubes da Série A, peso dois. Os da B, peso um. Foi com esse regulamento que Rogério Caboclo foi eleito em abril de 2018.

A confirmação dos clubes da Série B no colégio eleitoral deve ser mantida para que seja respeitado o § 2º do artigo 22 da Lei Pelé: "Nas entidades nacionais de istração do desporto, o colégio eleitoral será integrado, no mínimo, pelos representantes das agremiações participantes da primeira e segunda divisões do campeonato de âmbito nacional". Esse trecho ou a valer na redação de 2015. A convocação atual, para o dia 7, não incluiu os clubes da Série B porque, segundo a CBF, considera o quórum previsto no estatuto da entidade em março de 2017 — que já estava, inclusive, em atraso de dois anos e em desacordo com a Lei Pelé.

Desde ontem (24), já há uma articulação com os clubes e as federações para que as regras sejam ratificadas, mas em um rito que e segurança jurídica para os próximos os istrativos da CBF. A começar pela eleição presidencial que se aproxima. Hoje, o presidente em exercício é Ednaldo Rodrigues, herdando a cadeira após o afastamento de Rogério Caboclo, a licença do Coronel Nunes, que, no papel, é o vice-presidente mais velho, e Antonio Aquino Lopes, que era o segundo da fila em termos de idade, mas ou a bola.

A ação na Justiça contra a CBF foi movida pelo Ministério Público do Rio de Janeiro (MP-RJ). O órgão chegou, em conjunto com a CBF, a pedir ao TJ-RJ que suspendesse a ação até abril. O pedido foi atendido hoje à tarde, em decisão do juiz Mario Cunha Olinto Filho. Mas o MP, em seguida, mudou de ideia e pediu a derrubada da suspensão. A resposta do magistrado a esse segundo pedido está pendente.