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

Marcel Rizzo

Fifa diz esperar que Globo pague contrato assinado e caso deve ir à Suíça

Estádio Cidade da Educação, no Qatar. Copa de 2022 está no pacote da Globo - Divulgação/Fifa
Estádio Cidade da Educação, no Qatar. Copa de 2022 está no pacote da Globo Imagem: Divulgação/Fifa

Colunista do UOL

24/06/2020 08h54

A Fifa espera que TV Globo cumpra os compromissos assinados referentes aos pagamentos do contrato de direitos de transmissão para o período de 2015 a 2022. A posição da entidade enviada ao blog mostra que o acordo entre a emissora e a federação internacional deve se transformar em uma briga jurídica que pode afetar até a transmissão da Copa do Mundo de 2022.

O Grupo Globo conseguiu nesta terça-feira (23) uma liminar na 6ª Vara Empresarial da Justiça do Estado do Rio de Janeiro para não pagar de forma imediata o valor de US$ 90 milhões (R$ 463 milhões, no câmbio atual), previsto no contrato de direitos de transmissão celebrado com a Fifa.

O pagamento deveria acontecer no próximo dia 30 de junho. A emissora espera renegociar os valores do vínculo em razão da pandemia do novo coronavírus, que comprometeu o calendário do futebol internacional. O contrato em questão contempla a Copa do Mundo de 2022, no Qatar.

Ao blog, um porta-voz da Fifa afirmou que a entidade "não considera apropriado comentar discussões que podem estar sujeitas a procedimentos legais". O caso deve parar na Corte Arbitral da Suíça para definir se é necessária a renegociação dos valores e modelo de pagamento, com a Globo quer, ou se fica como está. A rescisão ainda é improvável.

"Sempre procuramos apoiar nossos parceiros por meio de um diálogo construtivo e continuamos a fazê-lo nas dificuldades que todos enfrentam durante a pandemia de Covid-19", continuou a Fifa.

A Globo alega que a pandemia do novo coronavírus fez todos os grupos de mídia arem por dificuldades financeiras. Além disso, o grupo de comunicação brasileiro alega que competições da Fifa que estavam previstas para 2020 foram canceladas e que isso causou prejuízo.

Entre os eventos previstos para este ano estavam o Mundial de futsal e as Copas do Mundo feminina Sub-17 e Sub-20 - todos eles adiados para o próximo ano. O torneio olímpico de futebol que seria realizado nos Jogos de Tóquio-2020 também é organizado pela Fifa, mas o contrato não contempla a sua exibição.

O processo foi interpretado no último dia 16 e foi julgado em caráter de urgência. Ele corre em segredo de Justiça, mas o UOL Esporte obteve o à liminar favorável para a Globo, assinada pela juíza Maria Cristina de Lima Brito. A magistrada concedeu liminar enquanto o contrato não é julgado na Justiça da Suíça, onde foi celebrado.

Caso o Banco Itaú, responsável pela intermediação do pagamento, debite o valor à Fifa, tanto a entidade quanto a instituição financeira receberão multa de R$ 1 milhão por dia de descumprimento.

O blog apurou que a ação aberta pela Globo no Brasil surpreendeu os executivos da Fifa, que esperavam resolver as diferenças por meio de negociações. Não há, no momento, previsão de rescisão por parte da entidade que comanda do futebol, mas isso não é descartado caso de fato o caso chegue aos tribunais da Suíça, país onde está a sede da Fifa.

Procurada oficialmente pelo UOL Esporte para falar sobre o processo, a Globo afirmou que "não comenta casos sob júdice"."A Fifa espera que os compromissos firmados pela Globo sejam respeitados e está confiante que uma solução será encontrada', finalizou o porta-voz da entidade.