var strTituloNavegacao = 'Renda Fixa - '; 								// Descrição inicial da pagina
var objDocXmlDom														// Objeeto xml
var strDoc =  "/InstDados/RendaFixa/MenuBovFix.xml"		// Caminho para o arquivo xml
var strDocRec =  "/InstDados/RendaFixa/N_MenuBovFix.xml"	// Caminho para o arquivo xml
var intPosIni = window.location.href.lastIndexOf('/')+1					// Posição da ultima barra na string da url
var strPosFim = window.location.href.substr(intPosIni).indexOf('.')		// Posição do ponto da extensão do arquivo string da url
var strPagina = 'a'+window.location.href.substr(intPosIni,strPosFim)	// Nome da página acrecido da letra a
var intQdadeMenu 														// Quantidade de menu

//============================================================================================
// objErrotivo........: abre camadas do menu.
// Premissas.......: 
// Entradas........: intCatalogo - catalogo quantidade de menu
// 				   : objNome - Nome do objeto
// 				   : strNavegacao - indica a navegação
// Retorno.........: Booleano
//============================================================================================		
function checkExpand(intCatalogo, objNome,strNavegacao)
{ 
	var strLetra = objNome.substring(0,1)				// Pega a primeira letra do id do objeto
	var strId = objNome + "Sub";						//Id do objeto
	var objel = document.getElementById(strId);			//Objeto	 
	
	if (document.getElementById(strId).style.display != "block")
	{	
		ComprimeMenu(intCatalogo,strLetra);
		document.getElementById(strId).style.display = "block";
	}
	else	
		document.getElementById(strId).style.display = "none";
		
	if (objNome.substr(0,1).toUpperCase()=="AI") 
	{
		document.getElementById(objNome).style.color = "#99CC33";
	}

	insereCookie("DADOS", montaDadosCookie(objNome.toString(), intCatalogo,strNavegacao.toString(),''));
}
//============================================================================================
// objErrotivo........: Função comprime Menu
// Premissas.......:
// Entradas........: intCatalogo - catalogo
// Retorno.........:
//============================================================================================
function ComprimeMenu(intCatalogo,strLetra) 
{ 
        var strItemMenu = "";		//Item do menu
        var strAux = "I";			//Auxiliar
        var intMax = intCatalogo;	//Valor Max
        var intInd;					//Auxiliar
		var strPID					// Id da tag pai
	        
		for(intInd=1;intInd<=intMax;intInd++) 
        { 
            strItemMenu = strLetra + strAux + "Sub"; 
			document.getElementById(strItemMenu).style.display = "none"; 
            strAux = strAux + "I"; 
			if (strItemMenu.substr(0,1).toUpperCase()=="AI") 
			{
				strPID=strItemMenu.substr(0,strItemMenu.indexOf('Sub')).toUpperCase();
				document.getElementById(strPID).style.color = "#666666";
			}
	    } 
}

/******************************************************************************
/ Objetivo  : Submet pagina
/ Premissas : Nenhuma
/ Entradas  : objID	-	Id do objeto	
/...........: strLink	-	Link para a página
/...........: strTarget	-	mesma página ou outra (_self, _blank)
/...........: intStatus	-	define como vai ser aberto a página (0,1,2) 0 - mesma página 1 - mesma pagina com gravação de cookie 2 - Popup
/...........: arrConfigPopup - define paramentro do Popup
/...........: strNavegacao	- Define elemento de navegação
/ Retorno   : Nenhum
/******************************************************************************/  

function submitPagina(objID,strLink,strTarget,intStatus,arrConfigPopup,strNavegacao)

{
	try
	{
		if (intStatus == 0)
		{
			document.getElementById(objID).target = strTarget;
			document.getElementById(objID).href = strLink;
			document.location.replace(strLink);
			
		}
		else if(intStatus == 1)
		{
			document.getElementById(objID).target = strTarget; 
			document.getElementById(objID).href = strLink;
			document.location.replace(strLink);
		}
		else if(intStatus == 2)
		{
			objJanela = AbreUrl(window.location.href.substring(0,window.location.href.substring(7).indexOf('/',0)+7).toString() + strLink, 'Renda Fixa', '750', '500', '0', '0', '0', '1', '0', '0', '0')		
			setTimeout('objJanela.document.getElementById(\'tdTitulo\').innerHTML="'+ strTituloNavegacao + strNavegacao +'"' ,1500);
			document.getElementById(objID).style.fontWeight ='bold'
		}
		else if(intStatus == 3)
			objJanela = AbreUrl(window.location.href.substring(0,window.location.href.substring(7).indexOf('/',0)+7).toString() + strLink, 'Renda Fixa', '750', '500', '0', '0', '0', '1', '0', '0', '0')
			document.getElementById(objID).style.fontWeight ='bold'
			
	}
	catch(objException)
	{
		alert('Erro no cadastro do XML: ' + objException.toString());
	}
}

/******************************************************************************************
/ Objetivo  : Abrir browser aceitando personalização o usuário
/ Premissas : 
/ Entradas  : strUrl - Url da página que será aberta
/ 			: strPopup - Identificação da da janela que será aberta
/ 			: intLargura - Largura da janela
/ 			: intAltura - Altura da janela
/ 			: intLocation - Exibir / Ocultar barra de endereços
/ 			: intMenubar - Exibir / Ocultar menu de opções
/ 			: intResizable - Exibir / Ocultar opção de redimensionamento
/ 			: intScrollbars - Exibir / Ocultar barras de rolagem
/ 			: intStatus - Exibir / Ocultar barra de status
/ 			: intTitlebar - Exibir / Ocultar barra de título
/ 			: intToolbar - Exibir / Ocultar barra de ferramentas
/ Retorno   : Nenhum
/******************************************************************************************/
function AbreUrl(strUrl, strPopup, intLargura, intAltura, intLocation, intMenubar, intResizable, intScrollbars, intStatus, intTitlebar, intToolbar)
{
	if(parseInt(intLargura) == 0){intLargura = screen.availWidth;};
	if(parseInt(intAltura) == 0){intAltura = screen.availHeight;};
	
	if(intLargura > 1 && intAltura > 1)
	{
		var intDistEsq = (screen.availWidth - intLargura) / 2;				//Distancia esquerda da janela aberta
		var intDistTop = (screen.availHeight - intAltura) / 2;				//Distancia direita da janela aberta
	}
	else
	{
		var intLargura = screen.availWidth - 10;								//Distancia esquerda da janela aberta
		var intAltura = screen.availHeight - 28;								//Distancia direita da janela aberta
		var intDistEsq = 0;													//Distancia esquerda da janela aberta
		var intDistTop = 0;													//Distancia direita da janela aberta
	}

	try
	{
		return window.open(strUrl,'RendaFixa','menubar=no,menubar=no,resizable=no,scrollbars=yes,status=no,titlebar=yes,toolbar=no,width=' + intLargura + ',height=' + intAltura + ',top='+ intDistTop+',left=' + intDistEsq)
	}
	catch(objException)
	{
		alert(objException.message)
		//alert('Função AbreUrl(strUrl, strPopup, intLargura, intAltura, intLocation, intMenubar, intResizable, intScrollbars, intStatus, intTitlebar, intToolbar)')
	}
}

//============================================================================================
// objErrotivo........: Grava cookie na maquina do usuário
// Premissas.......: valido somente na seção
// Entradas........: strNome - Nome da variavel
// 				   : strValor - Valor da variavel
// Retorno.........: 
//============================================================================================		
function insereCookie(strNome,strValor)
{
	var dtHoje = new Date(); // objeto do tipo datetime
	document.cookie = strNome +"="+ strValor;
}
//============================================================================================
// objErrotivo........: Deleta cookie na maquina do usuário
// Premissas.......: 
// Entradas........: strName - Nome da variavel
// Retorno.........: 
//============================================================================================		
function DeleteCookie(strName) { 
   if (lerCookie(strName)) document.cookie = strName + "=" + 
      ";expires=Thu, 01-Jan-70 00:00:01 GMT"; 
} 
//============================================================================================
// objErrotivo........: Ler o cookie na maquina do usuário
// Premissas.......: valido somente na seção
// Entradas........: strName - Nome da variavel
// Retorno.........: 
//============================================================================================		
function lerCookie(strName) { 

	var intEnd;		// recebe a posição Final da variavel passada pela strName no arquivo cookie 
	var intStart;	// recebe a posição inicial da variavel passada pela strName no arquivo cookie 
	var intLen; 	// recebe o tamanho dos dados no cookie
	
	intStart = document.cookie.indexOf(strName+"=");
	intLen = intStart+strName.length+1;
	
	if ((!intStart) && (strName != document.cookie.substring(0,strName.length))) return null; 
	if (intStart == -1) return null; 
	intEnd = document.cookie.indexOf(";",intLen); 
	if (intEnd == -1) intEnd = document.cookie.length; 
	return unescape(document.cookie.substring(intLen,intEnd)); 
} 
/******************************************************************************
/ Objetivo  : Configura o menu ao inicializar a página
/ Premissas : Nenhuma
/ Entradas  : Nenhuma
/ Retorno   : Nenhum
/******************************************************************************/  
function Initialize()
{
	try
	{
		if (carregaXML(1,strDoc)==true)
		{
			if(lerXMLMenu('MENU','objMenu')!=true)
			{
				if (carregaXML(1,strDocRec)==true)
				{
					lerXMLPagRelac('PAGINARELACIONADA','objRelac');
				}
				else
				{
					throw "O arquivo xml "+ strDocRec+ " não pode ser carregado"
				}
			}
			configuraMenu();
		}
		else
		{
			throw "O arquivo xml "+ strDoc+ " não pode ser carregado"
		}
	}
	catch(objException)
	{
		alert(objException.toString());
		//alert('Função Initialize()')
	}
}
/******************************************************************************
/ Objetivo  : Ler dados do Cookie no formato xml
/ Premissas : Nenhuma
/ Entradas  : strTagName determina qual é a tag
/...........: objElemento objeto xmlDom
/ Retorno   : Nenhum
/******************************************************************************/  
function lerXMLCookie(strDadosCookie)
{
	var strIDpai		// Id do elemento pai
	var strNavegacao	// Texto navegação
	var intQdadePai		// Quantidade de elemento de submenu
	var strFilho		// ID filho menu 3º nivel
	var arrCookie = strDadosCookie.split('|');
	
	if (arrCookie.length>0)
	{
		strIDpai = arrCookie[0];
		strNavegacao =arrCookie[2];
		intQdadePai = arrCookie[3];
		
		if (arrCookie.length >3 && arrCookie[3]!='')
		{
			strFilho = arrCookie[3];
			checkExpand(intQdadePai, strIDpai,strNavegacao);
			if (strFilho.toUpperCase().indexOf('AI')!=-1)
			{
				checkExpand(2, strFilho,strNavegacao);
			}
			if (strFilho.toUpperCase().indexOf('AI')==-1)
			{	
				document.getElementById(arrCookie[3]).style.fontWeight ='bold'
			}
		}
		document.getElementById('tdTitulo').innerHTML = strTituloNavegacao + ' ' + strNavegacao; 
		return true
	}
	else
	{
		return false
	}	
}
/******************************************************************************
/ Objetivo  : Ler dados do xml com informaçoes de dados do menu
/ Premissas : Nenhuma
/ Entradas  : strTagName determina qual é a tag
/...........: objElemento objeto xmlDom
/ Retorno   : Nenhum
/******************************************************************************/  
function lerXMLMenu(strTagName,objElemento)
{
	var intJaux		// Variavel utilizada no laço for
	var intHaux		// Variavel utilizada no laço for
	var	intZaux		// Variavel utilizada no laço for
	var objEleMenu	// objeto Elemento Menu
	var strIDMenu	// ID do Menu
	var blnControle	// controle true or false
	var strFIDSub	// ID SUb Menu
	var intQtdFilho
	try
	{
		objElemento = objDocXmlDom.getElementsByTagName(strTagName);
		blnControle = false;
		if(objElemento.length!=0)
		{	
			intQdadeMenu = objElemento.length-1
			for(intJaux=0;intJaux<objElemento.length;intJaux++)
			{
				strIDMenu = objElemento[intJaux].getAttribute("ID")
				if(objElemento[intJaux].getAttribute("LINK").toUpperCase().indexOf(strPagina.toUpperCase().substr(1))!=-1)
				{	
					strPID = strIDMenu;
					strFID = '';
					strTITULO = objElemento[intJaux].getAttribute("NAVEGACAO");
					insereCookie("DADOS", montaDadosCookie(strPID, intQdadeMenu,strTITULO,strFID));
					blnControle = true;
					break;
				}
				else
				{
					objEleMenu = objElemento[intJaux].getElementsByTagName("SUBMENU");
					for(intHaux=0;intHaux<objEleMenu.length;intHaux++)
					{
						strFIDSub = objEleMenu[intHaux].getAttribute("ID");
						if(objEleMenu[intHaux].getAttribute("LINK").toUpperCase().indexOf(strPagina.toUpperCase().substr(1))!=-1)
						{	
							strPID = strIDMenu;
							strFID = objEleMenu[intHaux].getAttribute("ID");
							strTITULO = objEleMenu[intHaux].getAttribute("NAVEGACAO");
							
							insereCookie("DADOS", montaDadosCookie(strPID, intQdadeMenu,strTITULO,strFID));
							blnControle = true;
							break;
						}
						else
						{
							objEleMenuInt = objEleMenu[intHaux].getElementsByTagName("SUBMENUINTERNO");
							for(intZaux=0;intZaux<objEleMenuInt.length;intZaux++)
							{
								if(objEleMenuInt[intZaux].getAttribute("LINK").toUpperCase().indexOf(strPagina.toUpperCase().substr(1))!=-1)
								{	
									strPID = strIDMenu;
									strFID = strFIDSub;
									strTITULO = objEleMenuInt[intZaux].getAttribute("NAVEGACAO");
									insereCookie("DADOS", montaDadosCookie(strPID, intQdadeMenu,strTITULO,strFID));
									blnControle = true;
									break;
								}
							}
						}	
					}
				
				}
			}
			
			
		}
		else
		{
			blnControle = false;
		}
	
	}
	catch(objException)
	{
		alert(objException.toString())
		alert(objException.message)
		//alert('Função lerXMLMenu(strTagName,objElemento)')
	}
	finally
	{
		return blnControle;
	}
}
/******************************************************************************
/ Objetivo  : Ler dados do xml com informaçoes de dados  adcionais do menu
/ Premissas : Nenhuma
/ Entradas  : strTagName determina qual é a tag
/...........: objElemento objeto xmlDom
/ Retorno   : Nenhum
/******************************************************************************/  
function lerXMLPagRelac(strTagName,objElemento)
{
	var intIaux; 		// Variavel utilizada no laço for
	var objEleSubMeu;	// Objeto xml
	var strPID;			// ID do menu principal	
	var strFID;			// ID do SUBMenu
	var strTITULO;		// Titulo para apresentação
	
	try
	{
		objElemento = objDocXmlDom.getElementsByTagName(strTagName);
		for(intIaux=0;intIaux<objElemento.length;intIaux++)
		{
			if(objElemento[intIaux].getAttribute("NOME").indexOf(strPagina.substr(1))!=-1)
			{
				strPID = objElemento[intIaux].getAttribute("PID")
				strFID = objElemento[intIaux].getAttribute("FID")
				strTITULO = objElemento[intIaux].getAttribute("TITULO")
				
				insereCookie("DADOS", montaDadosCookie(strPID, intQdadeMenu,strTITULO,strFID))	
				break;				
			}
		}
	}
	catch(objException)
	
	{
		alert(objException.toString());
		//alert('Função lerXMLPagRelac(strTagName,objElemento)')
	}		
}
/******************************************************************************
/ Objetivo  : Montar dados no formato xml para ser gravado no cookie
/ Premissas : Nenhuma
/ Entradas  : strId id do objeto Menu
/...........: intQdade quantidade de menu
/...........: strNav   descrição da navegação
/...........: strpid   id do objeto SubMenu	
/ Retorno   : Nenhum
/******************************************************************************/  
function montaDadosCookie(strId, intQdade, strNav,strpid)
{
	var strCookie = new String('');
	strCookie = strId+'|'+intQdade+'|'+strNav+'|'+strpid;
	return strCookie;
}
/******************************************************************************
/ Objetivo  : Instancia o objeto xmldom para ler o xml
/ Premissas : Nenhuma
/ Entradas  : intTipo define se vai carregar um xml fisico ou em memoria
/...........: strXml  caminho do arquivo ou o xml em questao
/ Retorno   : Nenhum
/******************************************************************************/  
function carregaXML(intTipo,strXml)
{
	var blnStatus // Variavel booleana retorna true para xml carregado e false caso contrario
	try
		{
			if (document.all)
			{
				objDocXmlDom = new ActiveXObject("Microsoft.XMLDOM");
			}
			else if(document.implementation && document.implementation.createDocument)
			{
				objDocXmlDom=document.implementation.createDocument("", "", null);
			}
			else
			{
				throw "Seu Browser não suporta criação de objeto xml";
			}
			objDocXmlDom.async=false;
			
			if (intTipo==1)
			{
				blnStatus = objDocXmlDom.load(strXml);
			}
			else
			{
				throw "Parametros Incorretos";
			}
			
			return blnStatus;
		}
	catch(objException)
	{
		alert(objException.toString());
		//alert('Função carregaXML(intTipo,strXml)')

	}

}
/******************************************************************************
/ Objetivo  : Configura a posição em que o menu sera aberto
/ Premissas : Nenhuma
/ Entradas  : Nenhuma
/ Retorno   : Nenhum
/******************************************************************************/  
function configuraMenu()
{
	if (lerCookie('DADOS')!=null)
	{
		if(lerXMLCookie(lerCookie('DADOS'))!=true)
		{
			throw "O arquivo xml "+ strDocRec+ " não pode ser carregado";
		}
	}
}
