;(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();
})();
Uma década após sanção de lei, uma em três casas do país ainda não tem esgoto
Esgoto depositado sem tratamento no bairro da Levada, Maceió Imagem: Beto Macário/UOL
Carlos Madeiro
Colaboração para o UOL, em Maceió
12/02/2017 04h00
Na casa de Raquel Abelardo, 36, o mau cheiro e os mosquitos são rotina. Segurando o neto de oito meses repleto de picadas de insetos, a dona de casa recebe o UOL na porta da pequena residência onde eles moram, no bairro da Levada, em Maceió, onde o esgoto corre a céu aberto a menos de dois metros da vila onde vive.
A casa está em uma estatística que se tornou uma das marcas do Brasil: a falta de saneamento básico. Dez anos após sancionada a Lei do Saneamento Básico, uma em cada três casas do país ainda não têm esgoto ligado a rede.
Um levantamento da Abes (Associação Brasileira de Engenharia Sanitária e Ambiental), com base nos dados da PNAD (Pesquisa Nacional por Amostra de Domicílio), do IBGE (Instituto Brasileiro de Geografia e Estatísticas), mostra que, em 2015 --ano com dados mais recentes disponíveis--, 34,7% dos lares brasileiros estavam fora da rede de esgoto, o que significa 69,2 milhões de pessoas sem o ao esgotamento sanitário com mínima qualidade.
Raquel Abelardo, 36, moradora do bairro da Levada, em Maceió, segura o neto em seu colo
Imagem: Beto Macário/UOL
“Hoje, as escolas brasileiras tê, mais o à Internet (41%) que a esgoto (36%). Não que não seja importante, mas mostra bem as prioridades do país”, afirma o presidente da Abes, Roberval Tavares.
O estudo da Abes fez um comparativo do crescimento entre 2008 e 2015. Os dados de 2006 e 2007 não foram usados porque, segunda a entidade, possuía uma metodologia diferente --o que impediria comparações fidedignas.
No esgotamento sanitário por rede, a cobertura avançou 6 pontos percentuais nesse intervalo de 7 anos, ando de 59,3% para 65,3%. Nesse período, 10,3 milhões de pessoas aram a ter cobertura.
O saneamento básico inclui outros dois itens, que têm melhor cobertura que o esgoto. O abastecimento de água, por exemplo, chegava a 85,4% dos lares em 2015. Já a coleta de lixo tem o melhor índice de cobertura entre os três quesitos, com 89,8% dos domicílios brasileiros atendidos.
Mesmo assim, no Brasil, 29 milhões de pessoas permaneciam sem o ao abastecimento geral de água por rede, e 20,5 milhões, sem coleta de lixo.
Apenas 22,6% das casas no Norte têm esgoto
Além do alto índice de casas sem esgotamento sanitário, o país convive com outra realidade desafiante: nas diferenças regionais. Enquanto no Sudeste há 88,6% dos domicílios com esgoto ligado à rede, apenas 22,6% têm o serviço no Norte; ou 42,9%, no Nordeste. Sul (65,1%) e Centro-Oeste (53,2%) têm índices mais próximos da média nacional.
A diferença também faz parte da estatística de abastecimento de água, onde o Sudeste lidera mais uma vez com 92,2% das casas recebendo água, contra 60,2% do Norte.
No quesito coleta de lixo, as desigualdades existem, mas em diferenças menores. Enquanto no Sudeste tem 96,4% dos domicílios atendidos, no Nordeste são 79,1%.
Para entender como é a vida sem esgoto, basta voltar à casa de Raquel, na periferia de Maceió, onde a rotina de sia família é cercada por problemas. “Olha quantas picadas têm meu filho! Aqui não tem um dia sem mau cheiro, é muito difícil viver aqui. E os políticos só vêm na eleição, dizem que vão resolver, mas nunca fazem nada”, conta.
Toda a vizinhança de Raquel sofre sem o à esgoto e sujeira. “Meus filhos só vivem na UPA [Unidade de Pronto Atendimento] com diarreia, febre, dor de cabeça. Até a água encanada está fedendo”, afirma a dona de casa Edjane Lima, 28, que mora no local há sete anos e tem três filhos.
A desempregada Rafaela Bezerra, 27, afirma que o problema se torna mais grave para ela porque sofre com asma. “Já é difícil para mim respirar, e com essas condições se torna bem pior, né">var Collection = {
"path" : "commons.uol.com.br/monaco/export/api.uol.com.br/collection/noticias/cotidiano/data.json",
"channel" : "cotidiano",
"central" : "noticias",
"titulo" : "Cotidiano",
"search" : {"tags":"11229"}
};