var urlSite = 'http://www.alfa.br/';

/**
 * Função que bloqueia mensagens de erro do navegador
 */
//function blockjserrors() { return true; }
//window.onerror = blockjserrors;

/**
 * Função Ajax que busca/processa dados em outra pagina
 * 
 * @param {Object} requestURL
 * @param {Object} requestMethod
 * @param {Object} requestAsynchronous
 * @param {Object} requestData
 * @param {Object} returnFunction
 */
function retrieveData(requestURL, requestMethod, requestAsynchronous, requestData, returnFunction) {

    // Inicializa a vari?vel http_request como falsa, ou seja, na d?vida presumimos que n?o conseguiremos realizar uma requisi??o
    http_request = false;

    // Testes de compatibilidades de browser
    if (window.XMLHttpRequest) {

			http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); }

		}
    else if (window.ActiveXObject){

			try { http_request = new ActiveXObject("Msxml2.XMLHTTP") }
      catch(e) {
            try { http_request = new ActiveXObject('Microsoft.XMLHTTP') }
            catch(e) {  }
      }
    }
    
    if (!http_request) { alert('N?o foi poss?vel processar a requisi??o HTTP.'); }
    
    // Usamos um eval para executar a Função passada como returnFunction
    eval('http_request.onreadystatechange = ' + returnFunction + ';');

    // Abrimos a requisi??o, usando os par?metros passados para a Função
    http_request.open(requestMethod, requestURL, requestAsynchronous);

    // Setamos o content-type da requisi??o. Este content-type ? obrigat?rio quando estamos postando dados de um form e n?o faz diferen?a em caso contr?rio
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    // Enviamos a requisi??o com os dados
    http_request.send(requestData);
}

function RssReader(PrimeiraExecucao){
	
	if (PrimeiraExecucao)
		Reader();
	else
		setTimeout("Reader(false);", 12000);

}

/**
 * Função que busca as notícias dos Rss informados
 * 
 */
function Reader(){
		
	var http_request  = false;
//	var url           = urlSite + 'rssindex.php';
	var url           = urlSite + 'rss.php';
	var parametros    = 'id='+Math.random();
	var funcao        = 'function() { getConteudoRSS(http_request); }';
	var metodo        = 'POST';
		
	retrieveData(url, metodo, true, parametros, funcao);	
	RssReader(false);
	
}

/**
 * Função que busca a página de notícias
 * 
 * @param {Object} http_request
 */
function getConteudoRSS(http_request){

	switch(http_request.readyState) {
		case 1: // Loading
			divLoading('mostrar');
		break;
		case 4: // Pronto

			var divConteudo = document.getElementById('divTextoRss'); 

			if (http_request.status == 200) {
				var saidahtml = http_request.responseText;
				saidahtml = saidahtml.replace(/\+/g," ");
				saidahtml = unescape(saidahtml);
				
				divLoading('esconder');	
                		
				divConteudo.innerHTML = saidahtml;
						
			}
			else
				divConteudo.innerHTML = "<p>Not&iacute;cias indispon&iacute;veis.</p>";
			break;
	}	
	
}

/**
 * Função que mostra/esconde o div de loading do site
 * 
 * @param {Object} acao
 */
function divLoading(acao){

	var divLoading = document.getElementById('divLoadRss');
	var divConteudo = document.getElementById('divTextoRss');
	
	switch (acao) {
		case 'mostrar':
			divLoading.style.display = "block";
			divConteudo.style.display = "none";
		break;
		case 'esconder':
			divLoading.style.display = "none";
			divConteudo.style.display = "block";			
		break;
	}
	
}
