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

Fluminense

Fluminense encaminha a venda de Orejuela para o Querétaro-MEX

Orejuela será negociado com o Querétaro, do México - Dolores Ochoa/AP
Orejuela será negociado com o Querétaro, do México Imagem: Dolores Ochoa/AP

07/01/2020 19h59

O Fluminense não vai aproveitar nenhum jogador que retorna de empréstimo. O único que estava cotado para reforçar o elenco era o equatoriano Orejuela, porém o volante pediu para não retornar ao clube. Por conta disso, o Tricolor negocia a venda do atleta para o Querétaro, do México. O presidente Mário Bittencourt confirmou a negociação.

"A gente queria muito contar com ele, o treinador gosta demais do futebol do jogador, mas ele manifestou que não tem interesse em voltar. Obviamente que eu poderia mandar se apresentar dia 8, mas não quero jogador que não quer estar aqui. Recebemos uma proposta de um clube do México e estamos avaliando", disse o mandatário tricolor.

O clube mexicano estaria disposto a pagar US$ 1 milhão (R$ 4 milhões), de forma parcelada, por 60% dos direitos econômicos de Orejuela, comprando a parte do Fluminense. O restante pertence ao Independiente Del Valle, clube equatoriano no qual o volante se destacou em 2016, na campanha do vice da Libertadores.

Nas duas últimas temporadas, Orejuela defendeu a LDU-EQU por empréstimo. O clube equatoriano tentou a permanência do volante por mais um ano, mas o Fluminense não aceitou. O contrato do jogador com o Tricolor se encerra em dezembro.

Orejuela chegou ao Fluminense no início de 2017. Pelo Tricolor, disputou 48 jogos, todos como titular. Na reta final da temporada, o jogador perdeu espaço e acabou negociado no ano seguinte.

FORA DOS PLANOS

Robinho e Reginaldo serão emprestados pelo Fluminense. O meia, que tem contrato até dezembro de 2021, está na mira do Água Santa, de São Paulo. Já o zagueiro, com vínculo até dezembro, possui algumas sondagens de clubes da Série A, mas ainda sem definição. O Botafogo-SP também manifestou interesse em contar com o atleta.

Fluminense