var xmlDoc, xmlDocAuxiliar;
var xmlText = "";
var root;
var objLst = null;
var iPosIni = 0;
var iPosFim = 0;
var count = 0;
var isIE = (navigator.appName == "Microsoft Internet Explorer");
var vetNode = new Array();
var bFiltered = false;

// Nova chamada para impressão do HTML
function NewHttpRequest() {
	var xmlhttp = false;
	try {
		xmlhttp = new XMLHttpRequest();
	}
	catch (ee) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (E) {
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}

function loadXmlData(url, pagina, data)
{
	var oHTTPRequest = NewHttpRequest();

	if (data != "") {
		data = data.replace(/-/g, "/");
	}

	if (!objLst) {
		oHTTPRequest.open("get", url, true);
		//oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		oHTTPRequest.setRequestHeader("Content-Type", "text/xml");
		oHTTPRequest.onreadystatechange = function() {
			var htmlLoading = "Carregando...";

			htmlLoading = '<div id="carregando">';
			htmlLoading += '<p>&nbsp;</b><h4><img border="0" src="<%=proto_http&site_fgts%>/_images/carregandoverde.gif"/>&nbsp;&nbsp;Carregando...</h4>';
			htmlLoading += '</div>';

			if (oHTTPRequest.readyState == 1) {
				document.getElementById("lista_noticias").innerHTML = htmlLoading;
			}
			if (oHTTPRequest.readyState == 4) {

				if (oHTTPRequest.status == 200 || oHTTPRequest.status == 404 || oHTTPRequest.status == 500) {

					xmlText = oHTTPRequest.responseText;

					if (isIE) {
						//xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
						xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
						xmlDoc.async = false;
						xmlDoc.loadXML(xmlText);

						if (xmlDoc.parseError.errorCode != 0) {
							var myErr = xmlDoc.parseError;
							alert("Ocorreu um erro no parse do XML: " + myErr.reason);
						} 

					}
					else {
						xmlDoc = (new DOMParser()).parseFromString(xmlText, "text/xml");
					}

					root = xmlDoc.documentElement;
					if (!root) {
						document.getElementById("lista_noticias").innerHTML = "<b>Não foi possivel criar o objeto XML DOM</b>";
						return;
					}

					if (root.hasChildNodes) {
						objLst = xmlDoc.getElementsByTagName("noticia");
						sortNodesByDate(objLst, data);
					}
					if (pagina != 0)
						getNoticias(pagina);
					else
						getNoticiasAnteriores();

				}
				else {
					document.getElementById("lista_noticias").innerHTML = 'Falha na requisição da página';
				}
			}   
		}	 

		oHTTPRequest.send(null);
	}
	else {
		if (pagina != 0)
			getNoticias(pagina);
		else
			getNoticiasAnteriores();
	}
}

//
// Funcao para compatibilidade entre browsers
//
function selectSingleNodeText(node, name) 
{
	if (isIE)
		return node.selectSingleNode(name).text;
	else
		return node.getElementsByTagName(name)[0].textContent;
}

// 
// Converte uma string formadata de data (dd/mm/yyyy) em um objeto Date
//
function stringToDate(strDate)
{
	var year = parseInt(strDate.substr(strDate.lastIndexOf("/") + 1, 4));
	var month = parseInt(strDate.substr(strDate.indexOf("/") + 1, 2));
	var day = strDate.substr(0, 2);
	var hour = parseInt(strDate.substr(strDate.indexOf(":") - 2, 2));
	var min = parseInt(strDate.substr(strDate.lastIndexOf(":") - 2, 2));
	var sec = parseInt(strDate.substr(strDate.lastIndexOf(":") + 1, 2));

	if (day.charAt(0) == '0') day = day.substr(1,2);
	//alert("Data Origem: [" + strDate + "]\n\n" + day + '-' + month + '-' + year + "\n\nDia: " + parseInt(day) +	"\n\nHora: " + hour + ":" + min + ":" + sec);
	var d = new Date(year, month, parseInt(day), hour, min, sec);
	return d;
}

//
// Retorna os milisegundos de uma data
//
function getDate(node)
{
	var s = node.getAttribute("data");
	var d = stringToDate(s);
	return d.getTime();
}

//
// Rotina para sortear os nos pelo atributo data
//
function quickSort(lo, hi)
{
	var i, node;
	var j, temp;

	i = lo;
	j = hi;

	// Calcula o valor do meio
	node = vetNode[Math.floor((lo + hi) / 2)];
	//alert(Math.floor((lo + hi) / 2));
	//alert(node);

	do {
		 while (getDate(vetNode[i]) > getDate(node)) {
			i = i + 1;
		 }

		 while (getDate(node) > getDate(vetNode[j])) {
			j = j - 1;
		 }


		 if (i <= j)
		 {
		   temp = vetNode[i];
		   vetNode[i] = vetNode[j];
		   vetNode[j] = temp;
		   i = i + 1;
		   j = j - 1;
		 }
	}
	while (i <= j);

	if (lo < j) quickSort(lo, j);
	if (i < hi) quickSort(i, hi);
}

var bgcolor = "#339966";
var fgcolor = "#ffffff";

function sortNodesByDate(objLst, data)
{
	//vetNode = new Array(objLst.length);
	vetNode = new Array();
	var event = "";
	var lastDay = 0, j = 0;
	var action = "";

	bFiltered = (data != "");

	for (var i=0; i < objLst.length; i++) {
		var node = objLst.item(i);

		if (data == "" || stringToDate(node.getAttribute("data").substr(0,10)).getTime() == stringToDate(data).getTime()) {
			vetNode[j] = objLst.item(i);
			j++;
		}
		// Adicionas os eventos de calendario
		var nodeData = stringToDate(node.getAttribute("data"));

		if (lastDay != nodeData.getDate()) {
			event = htmlDecode(selectSingleNodeText(node, "titulo"));
		}
		else
			event += "\n\r" + htmlDecode(selectSingleNodeText(node, "titulo"));

		action = "window.parent.location.href='../../../noticias/index.asp?data=" + node.getAttribute("data").replace(/\//g, "-").substr(0, 10) + "'";

		window.parent.frames[0].fAddEvent(nodeData.getFullYear(),nodeData.getMonth(),nodeData.getDate(), 
			event, action, bgcolor, fgcolor);
		//alert(window.parent.frames[0].fGetEvent(2009,05,04));
		//alert("Event: " + event + "\n\nAction: " + action + "\n\nDay: " + nodeData.getDate() + "\n\nDate: " + node.getAttribute("data"));
		lastDay = nodeData.getDate();
	}
	//alert(getDate(vetNode[0]));

	if (vetNode.length > 0)
		quickSort(0, vetNode.length - 1);
}

//
// Retorna as noticias formatadas para a home
//
function getNoticias(pagina)
{
	var html = "";
	var count = 0;

	if (vetNode.length < 1) {
		html += '<p>Nenhuma notícia casdastrada!</p>\n';
		document.getElementById("lista_noticias").innerHTML = html;
	}
	else {
		// Atualiza destaque
		var node = vetNode[0];
		if (bFiltered) {
			if (document.getElementById("imagem_destaque"))
				document.getElementById("imagem_destaque").style.display = "none";
			if (document.getElementById("resumo_destaque"))
				document.getElementById("resumo_destaque").style.display = "none";
			document.getElementById("noticia_destaque").innerHTML = "<p><a class='noticias' href=\"javascript:void(window.location.href='index.asp')\">Ver Todas</a></p>";
		}
		else {
			document.getElementById("noticia_destaque").style.display = "block";
			if (document.getElementById("resumo_destaque").innerHTML.length < 10) {
				if (node.getElementsByTagName("img")) {
					if (isIE) {
						if (node.selectSingleNode("img"))
							html = node.selectSingleNode("img").xml;
					}
					else {
						var imageNode = node.getElementsByTagName("img")[0];
						if (imageNode)
							html = '<img src="' + imageNode.getAttribute("src") + '" border="0" />';
					}
				}
				document.getElementById("imagem_destaque").innerHTML = html;

				html =  '<div id="data_noticia_destaque" expand_text="1">' + node.getAttribute("data").substr(0, 16) + '</div>\n';
				html += '<div id="titulo_noticia_destaque" expand_text="1"><b><a href="javascript:abreNoticia(\'' + node.getAttribute("url") + '\');">' + htmlDecode(selectSingleNodeText(node, "titulo")) + '</a></b></div>\n';
				
				/* Linhas inseridas para atender a chamada de vídeos e aúdios */
				
				//PROCURA PELO VIDEO DA NOTICIA.
				url = procuraVideo(node.getAttribute("url"));
				if(url != 0){
					html += '		<div id="icones" class="sem_margem">';
					html += '			<a href="'+url+'"><img src="http://'+js_novo_fgts+'/_images/icon/icn_video.gif" alt="Veja o vídeo" border="0"></a>';
					//html += '			<a href="/novofgts/audio/noticias/audio_001.asp"><img src="/_images/icon/icn_audio.gif" alt="Ouça o áudio" border="0"></a>';
					html += '		</div>';
				}
				/* Fim */

				html += '<div style="clear:both;" id="resumo_noticia_destaque" expand_text="1">' + htmlDecode(selectSingleNodeText(node, "resumo")) + '</div>\n';
				document.getElementById("resumo_destaque").innerHTML = html;
			}
		}

		count = vetNode.length;
		iPosIni = (pagina - 1) * 5 + 1;
		if (bFiltered) {
			iPosIni--;
			iPosFim = iPosIni + 4;
			if (iPosFim > count - 1) iPosFim = count - 1;
		}
		else {
			count--;
			iPosFim = iPosIni + 4;
			if (iPosFim > count) iPosFim = count;
		}
		//alert('Count: ' + count + '\nPagina: ' + pagina + '; iPosIni: ' + iPosIni + '; iPosFim: ' + iPosFim);

		html = '<ul style="list-style-type: none;">\n';
		for (var i=iPosIni; i <= iPosFim; i++) {
			node = vetNode[i];
			
			html += '	<li>\n';
			html += '		<div id="data_noticia">' + node.getAttribute("data").substr(0, 16) + '</div>\n';
			html += '		<div id="titulo_noticia"><a href="javascript:abreNoticia(\'' + node.getAttribute("url") + '\');">' + htmlDecode(selectSingleNodeText(node, "titulo")) + '</a></div>\n';

			/* Linhas inseridas para atender a chamada de vídeos e aúdios */
			
			//PROCURA PELO VIDEO DA NOTICIA.
			//alert(node.getAttribute("url"));
			url = procuraVideo(node.getAttribute("url"));
			if(url != 0){
				html += '		<div id="icones" class="sem_margem">';
				html += '			<a href="'+url+'"><img src="http://'+js_novo_fgts+'/_images/icon/icn_video.gif" alt="Veja o vídeo" border="0"></a>';
				//html += '			<a href="/novofgts/audio/noticias/audio_001.asp"><img src="/_images/icon/icn_audio.gif" alt="Ouça o áudio" border="0"></a>';
				html += '		</div>';
			}
			/* Fim */

			html += '		<div id="resumo_noticia">' + htmlDecode(selectSingleNodeText(node, "resumo")) + '</div>\n';
			//html += '		<a class="bt_leiamais" href="javascript:abreNoticia(\''+ node.getAttribute("url") + '\');">Leia mais</a>\n';
			html += '	</li>\n';
		}
		html += '</ul>\n';
		document.getElementById("lista_noticias").innerHTML = html;

		if ((count % 5) == 0)
			iPaginaTotal = (count / 5);
		else
			iPaginaTotal = parseInt(count / 5) + 1;

		if (count > 5) {
			html = '';
			if (pagina > 1) {
				html += '<a href="javascript:void(getNoticias(1));" class="pgPrimeira" title="Página 1">primeira</a>&nbsp;';
				html += '<a href="javascript:void(getNoticias(' + (pagina - 1) + '));" class="pgVoltar" title="Página ' + (pagina - 1) + '">voltar</a>&nbsp;';
			}
			html += '<span>&nbsp;Página&nbsp;<strong>' + pagina + '</strong>&nbsp;de&nbsp;<strong>' + iPaginaTotal + '</strong>&nbsp;</span>';
			if (pagina < iPaginaTotal) {
				html += '<a href="javascript:void(getNoticias(' + (pagina + 1) + '));" class="pgAvancar" title="Página ' + (pagina + 1) + '">próxima</a>&nbsp;';
				html += '<a href="javascript:void(getNoticias(' + iPaginaTotal + '));" class="pgUltima"  title="Página ' + iPaginaTotal + '">última</a>&nbsp;';
			}
			document.getElementById("paginacao").innerHTML = html;
		}
	}
}

function rightTrim(sString)
{
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0, sString.length-1);
	}
	return sString;
}

//
// Retorna as tres ultimas noticias anteriores
//
function getNoticiasAnteriores()
{
	var html = "";
	var noticiaData = rightTrim(document.getElementById("conteudo_data").innerHTML);
	var titulo = rightTrim(document.getElementById("conteudo_titulo").innerHTML);
	var count = 0;

	//alert("(" + noticiaData + ") [" + titulo + "]");

	html = '<ul style="list-style-type: none;">\n';
	for (var i=0; i < vetNode.length && count < 3; i++) {
		node = vetNode[i+1];
		
		//alert("[" + htmlDecode(selectSingleNodeText(node, "titulo")) + "]");
		//alert("Data1: [" + node.getAttribute("data") + "]\nData2: [" + noticiaData + "]");

		//O OBJETO DA PROBLEMA NO FF, COMENTEI ;P
		//if (stringToDate(node.getAttribute("data")).getTime() <= stringToDate(noticiaData).getTime() &&
			//rightTrim(htmlDecode(selectSingleNodeText(node, "titulo"))) != titulo) {
			
			//PROCURA PELO VIDEO DA NOTICIA.
			url = procuraVideo(node.getAttribute("url"));
			////
			
			html += '	<li>\n';
			html += '		<div id="data_noticia">' + node.getAttribute("data") + '</div>\n';
			html += '		<div id="titulo_noticia"><a href="javascript:abreNoticia(\'' + node.getAttribute("url") + '\');">' + htmlDecode(selectSingleNodeText(node, "titulo")) + '</a></div>\n';
			
			//SE TIVER VIDEO, ENTRA AEW.
			if(url != 0){
				html += '		<div id="SEM_ID" class="sem_margem">';
				html += '			<a href="'+url+'"><img src="http://'+js_novo_fgts+'/_images/icon/icn_video.gif" alt="Veja o vídeo" border="0"></a>';
				//html += '			<a href="/novofgts/audio/noticias/audio_001.asp"><img src="/_images/icon/icn_audio.gif" alt="Ouça o áudio" border="0"></a>';
				html += '		</div>';
			}
			///////
			
			html += '		<div id="resumo_noticia">' + htmlDecode(selectSingleNodeText(node, "resumo")) + '</div>\n';
			//html += '		<a class="bt_leiamais" href="javascript:abreNoticia(\''+ node.getAttribute("url") + '\');">Leia mais</a>\n';
			html += '	</li>\n';
			count++;
		//}
	}
	html += '</ul>\n';
	if (count == 0) {
		html = '<p>Nenhuma notícia anterior casdastrada! RODRIGO (' + vetNode.length + ')</p>\n';
	}
	document.getElementById("lista_noticias").innerHTML = html;
}


//verifica se o body foi carregado.
	function ready(fn){
			var clock = setInterval(
				function(){
					if(document.body) {
						fn()
						return clearInterval(clock)
					}
		 
				},1
			)
	}


//FAZ UM NOVO REQUEST
var entrou = false;
function novoXMLDOM(){
	
	var httpreq = NewHttpRequest();
		
		// Atualizado em 12/05/2010, a linha 414.
		httpreq.open("get", "http://"+js_novo_fgts+"/videos/infoxml.asp", false); 
		
		httpreq.setRequestHeader("Content-Type", "text/xml");
		httpreq.send(null);
		
		if (httpreq.readyState == 4) {

			xmlText = httpreq.responseText;
			if (isIE) {
				xmlDocAuxiliar = new ActiveXObject("Microsoft.XMLDOM");
				xmlDocAuxiliar.async = false;
				xmlDocAuxiliar.loadXML(xmlText);
			}
			else {
				xmlDocAuxiliar = (new DOMParser()).parseFromString(xmlText, "text/xml");
			}
			entrou = true;
			return xmlDocAuxiliar;
		}	
}


//PROCURA POR VIDEOS RELACIONADOS A NOTICIA.
function procuraVideo(_url){
	var url = _url.substring(_url.lastIndexOf("/"));
	url = url.replace("/","");
		
	if(!entrou)
		xmlDocAuxiliar = novoXMLDOM();
		
	//PEGA TODOS OS NOS POSTING!
	raizPosting = xmlDocAuxiliar.getElementsByTagName("postings")[0].getElementsByTagName("posting");
	
	for(i=0;i<raizPosting.length;i++){
		auxiliarString = raizPosting[i].getAttribute("value");
		auxiliarString = auxiliarString.substring(auxiliarString.lastIndexOf("/"));
		auxiliarString = auxiliarString.replace("/","");
		
		if(url == auxiliarString){
			return raizPosting[i].getAttribute("value");
		}
	}
	return 0;

}
