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

Fifa amplia punição a Caboclo para o âmbito mundial

Rogério Caboclo, presidente afastado da CBF - Jorge Adorno/File Photo/Reuters
Rogério Caboclo, presidente afastado da CBF Imagem: Jorge Adorno/File Photo/Reuters

Igor Siqueira

Do UOL, no Rio de Janeiro

02/08/2021 14h43

A sanção imposta pela Comissão de Ética do Futebol Brasileiro contra Rogério Caboclo agora tem validade em todo o mundo. A Fifa expandiu as fronteiras do afastamento atual, de 60 dias, decretado a reboque do processo que apura a denúncia de assédio moral e sexual contra o então presidente da CBF.

Segundo o UOL Esporte apurou, a medida foi tomada pelo Comitê Disciplinar da Fifa hoje (2), em uma sentença assinada pelo presidente do órgão, o colombiano Jorge Palacio.

A suspensão atual de 60 dias começou a valer em 5 de julho. Na ocasião, Caboclo já tinha sido punido com 30 dias de afastamento da presidência.

Rogério Caboclo virou alvo do processo na Comissão de Ética após uma funcionária gravar diálogos com ele no qual, entre outras coisas, ele faz uma pergunta: "Você se masturba?". O dirigente nega que tenha cometido crime.

Na Comissão de Ética, o caso já ou pela Câmara de Investigação e está nas mãos da Câmara de Julgamento. Ou seja, uma sentença deve sair em breve.

A situação atual é inusitada porque, no momento, Rogério Caboclo não tem mandato para defender, já que a Justiça do Rio anulou a eleição vencida por ele, em 2018, por apontar irregularidades na mudança do estatuto que definiu as regras do pleito. Por isso, a CBF está sob intervenção. Os presidentes do Flamengo, Rodolfo Landim, e da Federação Paulista, Reinaldo Carneiro Bastos, foram nomeados interventores e terão que convocar novas eleições. Eles ainda têm o poder de nomear, entre um dos vices da CBF, quem comandará a entidade até a realização do novo pleito, em 60 dias.

Nota de Rogério Caboclo

"A resposta da Fifa é clara ao explicar que as sanções impostas pelas confederações ou associações nacionais de futebol automaticamente têm alcance internacional. O caso que diz respeito ao afastamento temporário de Rogério Caboclo, não significa, portanto, nenhuma nova sanção.

A decisão, em nenhum momento, entra no mérito da decisão da Comissão de Ética da CBF. O documento da Fifa, inclusive, afirma a necessidade de respeitar o processo legal e itir todos os recursos possíveis no âmbito da federação que impõe uma sanção.

A defesa de Rogério Caboclo tem atuado para provar que seu afastamento é nulo, uma vez que é desprovido de qualquer previsão regulamentar, estatutária ou legal."