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

Palmeiras

Título do Palmeiras na Libertadores 99 rendeu VHS de bastidores da campanha

Júnior Baiano levanta a taça de campeão da Libertadores pelo Palmeiras em 1999, no Palestra Itália - Joel Silva/Folhapress
Júnior Baiano levanta a taça de campeão da Libertadores pelo Palmeiras em 1999, no Palestra Itália Imagem: Joel Silva/Folhapress

Diego Salgado

Do UOL, em São Paulo

30/05/2020 04h00

Um plano audacioso, com uma ideia fora dos padrões, marcou a campanha do Palmeiras na Libertadores de 1999. Dois produtores de TV, também torcedores do time, pensaram em registrar os bastidores dos jogos e depois juntar as imagens numa fita VHS, num documentário a ser vendido em bancas de jornais.

A dupla não só conseguiu colocar em prática o planejamento, como ainda contou com um final dos sonhos, com título inédito. O jogo da conquista palmeirense será reprisado amanhã (31) pela Rede Globo, a partir das 15h45 (horário de Brasília).

Para terem o aos bastidores, Luiz Fernando Santoro e Flávio Tirico pediram autorização à diretoria e ao elenco, incluindo o técnico Luiz Felipe Scolari. Além disso, arriscaram tudo, porque o investimento, segundo o acordo, teria de ser da dupla. O clube não poria um centavo no projeto.

"Decidimos fazer uma semana antes da viagem para o Paraguai [no segundo jogo da campanha]. Falamos com todos e compramos as agens. Bancamos hotéis caríssimos, Investimos o dinheiro e arriscamos", contou Santoro, 20 anos depois, em entrevista ao UOL Esporte.

Se o Palmeiras perdesse, todo o trabalho iria por água abaixo, pois ninguém compraria uma fita com bastidores de um time vice-campeão. Por quase quatro meses, com direito a viagens a Assunção, Rio de Janeiro, Buenos Aires e Cali, os produtores se tornaram uma espécie de integrantes da comissão técnica, com livre o aos vestiários.

"Ficou combinado com o Felipão e uma comissão de jogadores, que tinha César Sampaio, Zinho e Velloso, que seria uma coisa positiva. Combinamos com o Felipão: a hora que ele olhasse, era para sair. O que é do vestiário ficaria ali. Mas não chegou a acontecer isso. Quando o Tirico sentia que não era legal, ele desligava a câmera", contou Santoro, que é professor do departamento de jornalismo da ECA (Escola de Comunicações e Artes da Universidade de São Paulo).

Ao fim da campanha vitoriosa, depois de muito sofrimento — a dupla assistiu aos pênaltis contra o Deportivo Cali do vestiário —, o projeto deu certo. Segundo Santoro, os US$ 80 mil dólares foram recuperados. Cada fita custava R$ 20, e cerca de 20 mil cópias foram vendidas. A dupla reou uma parte da quantia ao Palmeiras, presenteou os jogadores com o trabalho, pagou pela distribuição e lucrou o restante.

"Não tivemos prejuízos, recuperamos tudo e até tivemos pequeno lucro. Como negócio não foi tão bom, mas como posicionamento foi ótimo", afirmou Santoro, que ganhou uma camisa usada pelo volante Rogério das mãos do roupeiro Chiquinho, depois do título, ainda no vestiário do Palestra Itália.

Palmeiras