/********************************************************************************
 Objetivo...........: Funções de Noticias BovespaFIX
 Autor..............: Rogerio Melfi
 Data...............: 14/05/2007
 Comentários........: 
 Alterado por.......: 
 Data...............: 
 Motivo da Alteração: 
---------------------------------------------------------------------------------
 Componentes usados.: Nenhum
 Entradas...........: Nenhum parâmetro de entrada
 Retorno............: Nenhum parâmetro de retorno
*********************************************************************************/


/*****************************************************************
	ÁREA PARA VARIÁVEIS GLOBAIS DA PÁGINA DE NoticiaS
*****************************************************************/
var gintNotQtePol; //Quantidade de verificações no banco
var gblnNotCtr;    //Controle de ativação da consulta automática
var gsrtUrl;       //Url do Sistema NTE
var gstrJanela;    //Configuração da Janela PopUp

gblnNotCtr=true;
gintNotQtePol=0;
gsrtUrl = "../nte/FormConsultaNoticiasBFX.asp";
gstrJanela = "";

/**********************************************************************************
' Objetivo  : Contrução do cabeçalho para as Noticias
' Premissas : Nenhuma
' Entradas  : Nenhuma
' Retorno   : Nenhum
'*********************************************************************************/
function ConstruirCabecalhoNoticia(){
	var strRegistros;  // Registros montados para retorno da função
	var strIDNoticias; // Variável que se "torna" a tag escolhida
	
	strRegistros="<table width='100%' align='center' cellpadding='0' cellspacing='0'>" +
	             "	<tr align='center'><td colspan='2' class='TituloTab'>Plantão de Notícias</td></tr>" +
	             "</table>";
	strIDNoticias = document.getElementById("idNoticiasCabecalho");
	strIDNoticias.innerHTML = strRegistros;
}



/**********************************************************************************
' Objetivo  : Montar tabelas iniciais das Noticias
' Premissas : Nenhuma
' Entradas  : Nenhuma
' Retorno   : Nenhum
'*********************************************************************************/
function MontarTabelaInicialNoticias(){
	var strRegistros;  //Registros montados para retorno da função
	var strIDNoticias; //Variável que se "torna" a tag escolhida
	
	strRegistros="<xml id='xmlNoticias' src></xml>" +
				"<style> td{padding:2;margin:0}</style>" +
				"<table width=" + gintTabela + " align='center' cellpadding='0' cellspacing='0' name='tabContainerNoticia' id='tabContainerNoticia'>" +
				"	<form method='post' name='frmNoticias' id='frmNoticias' action='' method='post'>" +
				"	<tr><td>" +
				"	<table width='100%' align='rigth' cellpadding='0' cellspacing='0'>" +
				"		<tr><td id='idNoticiasCabecalho'></td></tr>" +
				"	</table>" +
				"	<table width='100%' align='rigth' cellpadding='0' cellspacing='0'>" +
				"		<tr><td id='idNoticiasCorpo'></td></tr>" +
				"	</table>" +
				"	<table width='100%' align='rigth' cellpadding='0' cellspacing='0'>" +
				"		<tr><td id='idNoticias'></td></tr>" +
				"	</table>" +
				"	</td></tr>" +
				"	<tr><td id='tdRodapeNoticia' name='tdRodapeNoticia'>" +
				"	<div id='DivBotaoRodapeNoticias' style='clear: both; width: 100%; text-align: right; margin-bottom: 5px'>" +
				"	<a href=javascript:pesquisarNoticia();><img src='/images/btn_outrasnoticias1.gif'></a></div></td></tr>" +
				"	</form>" +
				"</table>"
	strIDNoticias = document.getElementById('idCtrTabNoticias'); 
	strIDNoticias.innerHTML = strRegistros;
}


/**********************************************************************************
' Objetivo  : Contrução das linhas que são incluídas na tabela de oferta
' Premissas : Nenhuma
' Entradas  : Nenhuma
' Retorno   : Nenhum
'*********************************************************************************/
function ConstruirTabNot(){
	var objDOMDoc;      //Objeto DOMDocument
	var objDOMNodeLst;  //Objeto DOM para os nós
	var objDOMNodeItem; //Objeto DOM para cada item do nó
	var objTagErro;     //Tag de retorno de erro do xml
	var objXmlHttp;     //Usado para Firefox, Chrome, Opera, Safari
	var intNo;          //Contador de nós
	var strUrl;         //Página para carregar o XML
	var objFormulario;  //Variável que armazena nome do formulário
	var strRegistros;   //Registros montados para retorno da função
	var strIDNoticias;  //Variável que se "torna" a tag escolhida
	
	var strCodigo;      //Código de negociação
	var strQteCom;      //Quantidade de Compra
	var strPreCom;      //Preço de Compra
	var strQteVen;      //Quantidade de Venda
	var strPreVen;      //Preço de Venda
	var strRodNeg;      //Roda de negociação
	var strRetorno;     //Retorno para o link de detalhe do papel
	var strMsgInf;      //Mensagem informativa
	var intDebPadOfe;   //Debenture padronizada para as Ofertas
	var intDebPadNeg;   //Debenture padronizada para os Negócios
	
	var strData;        //Data
	var strSequencia;   //Sequencia
	var strTitulo;      //Titulo
	
	objDOMDoc      = xmlNoticias;
	objDOMNodeLst  = null;
	objDOMNodeItem = null;
	objTagErro     = "";
	intNo          = 0;
	strUrl         = gsrtUrl + "?QteLin=3&QteCol=45";
	objFormulario  = document.frmNoticias;
	intDebPadOfe   = 0;
	intDebPadNeg   = 0;
	
	if(window.ActiveXObject){//Internet Explorer
		objDOMDoc.async = false;
		objDOMDoc.src   = strUrl;
	}else{// code for Firefox, Chrome, Opera, Safari
		objXmlHttp= new XMLHttpRequest();
		objXmlHttp.open("GET", strUrl, false);
		objXmlHttp.send("");
		objDOMDoc = (new DOMParser()).parseFromString(Substituir(objXmlHttp.responseText, "	", ""), "application/xml");
	}
	//Buscar informação
	window.status = 'Por favor aguarde.';
	ConstruirCabecalhoNoticia();
	
	//Noticias
	strRegistros="<table width='100%' align='center' cellpadding='0' cellspacing='0'>" +
				"<tr bgcolor='#FFFFFF'><td height='1'></td></tr>" 
	//Constrói as linhas dos registros
	if(window.ActiveXObject){//Internet Explorer
		objDOMNodeLst = objDOMDoc.selectNodes("//NTE_Noticias/Noticia");
	}else{// code for Firefox, Chrome, Opera, Safari
		objDOMNodeItem = objDOMDoc.evaluate("//NTE_Noticias/Noticia", objDOMDoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
	}
	
	if(window.ActiveXObject){//Internet Explorer
		while (intNo < objDOMNodeLst.length){
			objDOMNodeItem = objDOMNodeLst.item(intNo);
			strData        = objDOMNodeItem.attributes(0).nodeValue;
			strSequencia   = objDOMNodeItem.attributes(1).nodeValue;
			strTitulo      = objDOMNodeItem.attributes(2).nodeValue;
			strRegistros  += "<tr bgcolor='#FFFFFF'><td><a href=javascript:abrirNoticia('" + strData + "'," + strSequencia + ")><font color='#000000'>" + strTitulo +  "</font></a></td></tr>" 
			intNo++;
		}
	}else{// code for Firefox, Chrome, Opera, Safari
		while (intNo < objDOMNodeItem.snapshotLength){
			strData        = objDOMNodeItem.snapshotItem(intNo).attributes[0].nodeValue;
			strSequencia   = objDOMNodeItem.snapshotItem(intNo).attributes[1].nodeValue;
			strTitulo      = objDOMNodeItem.snapshotItem(intNo).attributes[2].nodeValue;
			strRegistros  += "<tr bgcolor='#FFFFFF'><td><a href=javascript:abrirNoticia('" + strData + "'," + strSequencia + ")><font color='#000000'>" + strTitulo +  "</font></a></td></tr>" 
			intNo++;
		}
	}
	strIDNoticias = document.getElementById("idNoticiasCorpo");
	strRegistros += "</table>";
	strIDNoticias.innerHTML = strRegistros;
	window.status = strMsgInf;
}


/**********************************************************************************
' Objetivo  : Gerenciador do atualizador de noticias
' Premissas : Nenhuma
' Entradas  : Nenhuma
' Retorno   : Nenhum
'*********************************************************************************/
function AtualizarNoticias(){
	var objDOMDoc;      //Objeto DOMDocument
	var objDOMNodeLst;  //Objeto DOM para os nós
	var objDOMNodeItem; //Objeto DOM para cada item do nó
	var objXmlHttp;     //Usado para Firefox, Chrome, Opera, Safari
	var objTagErro;     //Tag de retorno de erro do xml
	var intTempo;       //Tempo do timeout
	var strIDCabecalho  //Atualização do cabeçalho
	
	objDOMDoc     = xmlNoticias;
	objDOMNodeLst = null;
	objTagErro    = "";
	intTempo      = 150000;
	
	if (gblnNotCtr){
		++gintNotQtePol;
		//Buscar informação
		window.status = 'Verificando última atualização.';
		strUrl = gsrtUrl + "?QteLin=3&QteCol=52&Period=d";
		if(window.ActiveXObject){//Internet Explorer
			objDOMNodeItem  = null;
			objDOMDoc.async = false; objDOMDoc.src = strUrl;
			objTagErro = objDOMDoc.selectSingleNode("//Erro/Descricao");
			if (objTagErro != null){gblnNotCtr=false; window.status=objTagErro.text; return false;}
			objDOMNodeLst = objDOMDoc.selectNodes("//NTE_Noticias/Noticia");
			objDOMNodeItem = objDOMNodeLst.item(0);
			if (objDOMNodeItem != null){
				ConstruirTabNot();
			}
		}else{// code for Firefox, Chrome, Opera, Safari
			objXmlHttp= new XMLHttpRequest();
			objXmlHttp.open("GET", strUrl, false);
			objXmlHttp.send("");
			objDOMDoc = (new DOMParser()).parseFromString(Substituir(objXmlHttp.responseText, "	", ""), "application/xml");
			objDOMNodeItem = objDOMDoc.evaluate("//NTE_Noticias/Noticia", objDOMDoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			if (objDOMNodeItem.snapshotLength>0){
				ConstruirTabNot();
			}
		}
		setTimeout("AtualizarNoticias()",intTempo);
		window.status = '';
	}
}


/**********************************************************************************
' Objetivo  : Abrir Pop Up com a Noticia Selecionada
' Premissas : Nenhuma
' Entradas  : strData      - Data
              strSequencia - Sequencia
' Retorno   : Nenhum
'*********************************************************************************/
function abrirNoticia(strData, strSequencia){
	var intleft; //Esqueda
	var inttop;  //Topo
	intleft = (screen.height / 2) - (530/2);
	inttop  = (screen.width / 2) - (732/2) - 50;
	gstrJanela = "resizable=no,width=732px,height=530px,top=" + inttop + "px,left=" + intleft + "px";
	window.open('FormDetalheNteNoticia.asp?data=' + strData + '&sequencia=' + strSequencia + '&home=1','Noticias', gstrJanela);
}

/**********************************************************************************
' Objetivo  : Inserir no HTML o Texto da Noticia
' Premissas : Nenhuma
' Entradas  : strData      - Data
              strSequencia - Sequencia
' Retorno   : Nenhum
'*********************************************************************************/
function MontarNoticias(strData, strSequencia){
	var objDOMDoc;      //Objeto DOMDocument
	var objDOMNodeLst;  //Objeto DOM para os nós
	var objDOMNodeItem; //Objeto DOM para cada item do nó
	var objXmlHttp;     //Usado para Firefox, Chrome, Opera, Safari
	var strTexto;       //Texto
	var strUrl;         //Link
	var strIDNoticias;  //Variável que se "torna" a tag escolhida
	
	objDOMDoc     = xmlNoticias;
	objDOMNodeLst = null;
	
	//Buscar informação
	strUrl = gsrtUrl + "?Data=" + strData + "&Sequencia=" + strSequencia;
	strIDNoticias = document.getElementById("noticia");
	if(window.ActiveXObject){//Internet Explorer
		objDOMNodeItem  = null;
		objDOMDoc.async = false; objDOMDoc.src = strUrl;
		objDOMNodeLst = objDOMDoc.selectNodes("//NTE_Noticias/Noticia");
		objDOMNodeItem = objDOMNodeLst.item(0);
		if (objDOMNodeItem != null){
			strTexto  = "<br/><div class='titulo'>" + objDOMNodeItem.attributes(0).nodeValue + "</div><pre>" + objDOMNodeItem.attributes(1).nodeValue + "</pre>";
		}
	}else{// code for Firefox, Chrome, Opera, Safari
		objXmlHttp= new XMLHttpRequest();
		objXmlHttp.open("GET", strUrl, false);
		objXmlHttp.send("");
		objDOMDoc = (new DOMParser()).parseFromString(Substituir(objXmlHttp.responseText, "	", ""), "application/xml");
		objDOMNodeItem = objDOMDoc.evaluate("//NTE_Noticias/Noticia", objDOMDoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		if (objDOMNodeItem.snapshotLength>0){
			strTexto  = "<br/><div class='titulo'>" + objDOMNodeItem.snapshotItem(0).attributes[0].nodeValue + "</div><pre>" + objDOMNodeItem.snapshotItem(0).attributes[1].nodeValue + "</pre>";
		}
	}
	strIDNoticias.innerHTML = strTexto;
}


/**********************************************************************************
' Objetivo  : Pesquisar Noticias
' Premissas : Nenhuma
' Entradas  : strSocEmi - Código Soc Emi
              strPalChv - Palavra Chave
              strDtmIni - Data Inicio
              strDtmFim - Data Final
' Retorno   : Nenhum
'*********************************************************************************/
function pesquisarNoticias(strSocEmi, strPalChv, strDtmIni, strDtmFim){
	var objDOMDoc;      //Objeto DOMDocument
	var objDOMNodeLst;  //Objeto DOM para os nós
	var objDOMNodeItem; //Objeto DOM para cada item do nó
	var objXmlHttp;     //Usado para Firefox, Chrome, Opera, Safari
	var strTexto;       // Texto
	var strUrl;         // Url
	var strIDNoticias;  // Variável que se "torna" a tag escolhida
	var intNo;          // Numero
	var strData;        // Data
	var strSequencia;   // Sequencia
	var strTitulo;      // Titulo
	var strRegistros;   // Registros
	
	intNo         = 0;
	strRegistros  = "";
	objDOMDoc     = xmlNoticias;
	objDOMNodeLst = null;
	
	//Buscar informação
	strUrl         = gsrtUrl + "?SocEmi=" + strSocEmi + "&PalChv=" + strPalChv + "&DtmIni=" + strDtmIni + "&DtmFim=" + strDtmFim;
	objDOMNodeItem = null;
	strRegistros   = "<table width='100%' align='center' cellpadding='2' cellspacing='1'><tr><td></td></tr>"
	if(window.ActiveXObject){//Internet Explorer
		objDOMDoc.async = false; objDOMDoc.src = strUrl;
		objDOMNodeLst = objDOMDoc.selectNodes("//NTE_Noticias/Noticia");
		if (objDOMNodeLst.length == 0){
			strRegistros += "<tr><td> &nbsp <a>Não foram encontrados resultados para este(s) critério(s) de pesquisa. </a></td></tr>"
		}
		while (intNo < objDOMNodeLst.length){
			objDOMNodeItem = objDOMNodeLst.item(intNo);
			strData       = objDOMNodeItem.attributes(0).nodeValue;
			strSequencia  = objDOMNodeItem.attributes(1).nodeValue;
			strTitulo     = objDOMNodeItem.attributes(2).nodeValue;
			strRegistros += "<tr><td><img src='/images/img_quadrado.gif'> &nbsp <a href='FormDetalheNteNoticia.asp?data=" + strData + "&sequencia=" + strSequencia + "&titulo=" + strTitulo + "'>" + strTitulo +  "</a></td></tr>" 
			intNo++;
		}
	}else{// code for Firefox, Chrome, Opera, Safari
		objXmlHttp= new XMLHttpRequest();
		objXmlHttp.open("GET", strUrl, false);
		objXmlHttp.send("");
		objDOMDoc = (new DOMParser()).parseFromString(Substituir(objXmlHttp.responseText, "	", ""), "application/xml");
		objDOMNodeItem = objDOMDoc.evaluate("//NTE_Noticias/Noticia", objDOMDoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
//var objAux = document.getElementById("DivRodape");
//objAux.innerHTML = Substituir(objXmlHttp.responseText, "<", "[");
		if (objDOMNodeItem.snapshotLength==0){
			strRegistros += "<tr><td> &nbsp <a>Não foram encontrados resultados para este(s) critério(s) de pesquisa. </a></td></tr>"
		}
		while (intNo < objDOMNodeItem.snapshotLength){
			strData       = objDOMNodeItem.snapshotItem(intNo).attributes[0].nodeValue;
			strSequencia  = objDOMNodeItem.snapshotItem(intNo).attributes[1].nodeValue;
			strTitulo     = objDOMNodeItem.snapshotItem(intNo).attributes[2].nodeValue;
			strRegistros += "<tr><td><img src='/images/img_quadrado.gif'> &nbsp <a href='FormDetalheNteNoticia.asp?data=" + strData + "&sequencia=" + strSequencia + "&titulo=" + strTitulo + "'>" + strTitulo +  "</a></td></tr>"
			intNo++;
		}
	}
	strIDNoticias = document.getElementById("resultados");
	strRegistros += "</table>";
	strIDNoticias.innerHTML = strRegistros;
}


/**********************************************************************************
' Objetivo  : Abrir Pop Up com a Noticia Selecionada
' Premissas : Nenhuma
' Entradas  : Nenhuma
' Retorno   : Nenhum
'*********************************************************************************/
function pesquisarNoticia(){
	var intleft; //Esquerda
	var inttop;  //Topo
	intleft = (screen.height / 2) - (530/2);
	inttop  = (screen.width / 2) - (732/2) - 50;
	gstrJanela = "resizable=no,width=732px,height=530px,top=" + inttop + "px,left=" + intleft + "px";
	window.open('FormConsultaNteNoticias.asp','Noticias', gstrJanela);
}

