// JavaScript Document

/********************************************************
 * PORTAL INTERNET DO BANCO DO ESTADO DE SERGIPE S/A.
 * Copyright 2008 FLUXO & TECNOLOGIA LTDA, All Rights Reserved.
 * 
 * SCRIPTS PARA CUSTOMIZAÇÃO DO PORTAL INTERNET.
 *
 * Para facilitar a busca por uma função ou variável global 
 * específica, foram definidas palavras-chave antes de cada 
 * função e variável global. Dependendo do editor de texto 
 * utilize a combinação de teclas Ctrl + F e faça uma busca 
 * por uma palavra-chave.
 ********************************************************/


/** ##################################################### 
 *  BEGIN - MENUS
 *  Funções e variáveis para customização dos 
 *  menus de navegação do site.
 *  ################################################## */
 
/** Último item de menu Nível2 que foi selecionado Palavras-chave: (item, 2)*/
var ulItemMenuN2    = "";   	

/** Última lista de menu Nível3 que foi selecionado Palavras-chave: (item, 3)*/
var ulListaMenuN3   = ""; 	

/** Último item de menu Nível3 que foi selecionado Palavras-chave: (item, 2)*/
var ulItemMenuN3    = ""; 		

/**
 * Mostra os sub itens do item do menu nivel 2.
 * Palavras-chave: (menu, nivel, nível, 2, 3)
 *
 * @param nomeLista 
 *        Nome da camada que será mostrada.
 * @param th 
 *        (this) o objeto que disparou o evento.
 * @param corAtivo 
 *        Cor que destaca o item do menu.
 * @param corInativo 
 *        Cor comum dos demais itens.
 */
function expMenuN3(nomeLista, th, corAtivo, corInativo) {
  var objListaMenuN3   = document.getElementById(nomeLista);
  var objUlListaMenuN3 = document.getElementById(ulListaMenuN3);
  var objUlItemMenuN2  = document.getElementById(ulItemMenuN2);

  if (objListaMenuN3 != null ) {
    if (objUlListaMenuN3 != null ) {
		objUlListaMenuN3.style.display = 'none';
    }

    objListaMenuN3.style.display = 'block';	
    ulListaMenuN3 			 = objListaMenuN3.id;
  }

  if (objUlItemMenuN2 != null) {
    objUlItemMenuN2.style.fontWeight = 'normal';
	objUlItemMenuN2.style.color 	 = corInativo;
  }

  th.style.fontWeight = 'bold';
  th.style.color 	  = corAtivo;
  ulItemMenuN2 		  = th.id;

  subaba('block');
}

/**
 * Mostra a linha que está os itens de menu Nível 3 e configura a posição do breadcrumb
 * Palavras-chave: (bread, crumb, sub)
 *
 * @param param 
 *        Valor block ou none;
 */
function subaba(param){
  var objAba = document.getElementById('tr_sub');
  var objBread = document.getElementById('breadcrumb_f');
  
  if (objBread != null) {
    objBread.style.top = 162 +'px';
  }
  
  try {
    objAba.style.display = "block";
  } catch(e) {
    //alert('ERRO: ' + e)
  }
}

/**
 * Mostra os sub itens do item do menu nivel 2 para cidade e banco. 
 * Palavras-chave: (menu, nivel, nível, banco, cidade)
 *
 * @param th 
 *        (this) o objeto que disparou o evento.
 * @param corAtivo 
 *        Cor que destaca o item do menu.
 * @param corInativo 
 *        Cor comum dos demais itens.
 */
function expMenuN3BanCid(th, corAtivo, corInativo) {
  var objUlItemMenuN2  = document.getElementById(ulItemMenuN2);

  if (objUlItemMenuN2 != null) {
    objUlItemMenuN2.style.fontWeight = 'normal';
    objUlItemMenuN2.style.color      = corInativo;
  }

  th.style.fontWeight = 'bold';
  th.style.color      = corAtivo;
  ulItemMenuN2 	      = th.id;
}


/** Contantes para imagem do menu nível 4. Palavras-chave: (imagem, mais, menos) */
var srcImgMais  = '';
var srcImgMenos = '';
var srcImgSeta  = '';

/**
 * Formata a imagem do menu de conteudo esquerdo (Nivéis 4 e 5);
 * Quando a imagens '-' a função subtrai o menu, quando mais ele submete
 * página conforme o link do seu respectivo item. 
 * Palavras-chave: (menu, nivel, nível, 4, 5)
 *
 * @param th 
 *        (this) O objeto que disparou o evento.
 * @param param 
 *        O site área ativo.
 */
function expMenuN5(th, param) {
  if(th.title == "Expandir") {
    window.location = document.getElementById('aMenuN4_'+param).href;
  } else if (th.title == "Recolher") {
    th.title = "Expandir";
    th.alt   = "Expandir";
	th.src   = srcImgMais;
    document.getElementById('spnMenuN4_'+param).style.display = "none";			
  }
}

/**
 * Troca a imagem '+' por '-' se o conteudo estiver ativo ou por "" se o site 
 * área não tiver sub itens.
 * Palavras-chave: (menu, nivel, nível, imagem, 4)
 *
 * @param arInd 
 *        Array com os nomes dos sitearea de menu nível 4.1
 */
function removeImgMenuN4(arInd) {
  var objSpnN4;
  var objImg;
  var tamStr = 0;
  for (i = 0; i < arInd.length; i++) {
    objSpnN4 = document.getElementById('spnMenuN4_' + arInd[i]);
    objImg     = document.getElementById('imgMenuN4_' + arInd[i]);
    if (objSpnN4 != null) {
      tamStr = objSpnN4.innerHTML.length;
      if (tamStr < 10) {
        objImg.src = srcImgSeta;
        objImg.title = '';
        objImg.onclick = '';
      }
    }
  }
}

/** ##################################################### 
 *  END - MENUS
 *  ################################################## */
 
 
 
/** ##################################################### 
 *  BEGIN - DIVERSAS
 *  Funções diversas
 *  ################################################## */
 
/**
 * Executa funções de ajuste de layout conforme resolução de tela e estado
 * de visibilidade do elemento que contém os itens de mnu nível 3. 
 * Esta função é executada do onload.
 * Palavras-chave: (resolucao, ajuste, ajustes)
 *
 */
function rodap() {
  /** Ajuste do bread crumb */
  tableNone();
  /** Ajuste de layout conforme resolução de tela */
  //a linha abaixo foi comentada em resposta à requisição do servicedesk de número 1052353
  //resolucao();
  /** Ajuste de layout conforme estado do conteúdo. Se modo de edição esconde banner segurança */
  editWebContent();
}

/**
 * Posiciona o BreadCrumb (conforme o estado de visibilidade do elemento que contém os itens de mnu nível 3)
 * Palavras-chave: (bread, crumb, posicao, posição)
 *
 */
function tableNone() {
  var objTableFix = document.getElementById('tr_sub');
  var objDivFloat = document.getElementById('breadcrumb_f');

  if (objTableFix == null) {
    objDivFloat.style.top = 85 + 'px';
  } else {
    try {
      if (objTableFix.style.display != 'block' || objTableFix.style.display == '') {
        objDivFloat.style.top = 142 +'px';
      } else{
	    if (objTableFix.style.display != 'none') {
	      objDivFloat.style.top = 162 +'px';
	    }
      }
    } catch(e){
      //alert('ERRO: ' + e);
    }
  }
}
 
 
/**
 * Esconde a imagem de dicas de segurança e menu esquerdo sempre que um 
 * conteúdo for aberto para edição.
 * Palavras-chave: (wcm, segurança, seguranca, banner)
 *
 */
function editWebContent() {
  try {
    /** 'WCMWindowFocusAnchor_1' id de uma âncora existente quando o wcm ativo */
    var objWcm = document.getElementById('WCMWindowFocusAnchor_1');
	
    /** 'banner_direita' id da camada que contém a imagem Dicas de Segurança. */
    var objDivSeg = document.getElementById('banner_direita');
	
    /** 'divMenuNivel4' id da camada que contém o menu nível 4. */
    var objDivMen = document.getElementById('divMenuNivel4');
  
    if (objWcm != null) {
      if (objDivSeg != null) 
	  	objDivSeg.style.display = 'none';
		
      if (objDivMen != null) 
	  	objDivMen.style.display = 'none';
    }
  } catch(e) {
    //alert('ERRO: ' + e);
  }
}
 
 /**
 * Esconde o BreadCrumbtrail
 * Palavras-chave: (esconde, bread, crumb)
 *
 * @param bread 
 *        ID do breadcrumbtrail. 
 * @param objCorpo
 *        ID da tabela principal do presentation
 */
function escondBread(bread, objCorpo){
  var objBread = document.getElementById(bread);
  var corpo = document.getElementById(objCorpo);
  if (corpo != null) {
    if (corpo.id == objCorpo) {
      objBread.style.display = "none";
    }
  }
}

/**
 * Redirecionamento de página 
 * Palavras-chave: (url, redireciona)
 *
 * @param url
 *        URL para redirecionamento.
 */
function openRedirectPage(url) {
  window.open("/wps/themes/html/agw/redirectPage.jsp?pageTitle=Portal Banese - O Banco de Sergipe&url=" + url,"_blank","hotkeys=no,scrollbars=no,width=570,height=375,left=0,top=0");
}

/**
 * Valida Campo Vazio
 * Palavras-chave: (campo, vazio, valida)
 * 
 * @param id
 *        ID do elemento HTML.
 * @param msg
 *        Mensagem que pode ser exibida para para o usuário.
 */
function validaCampo(id, msg) {
	var objCampo = document.getElementById(id);
	if(objCampo != null && objCampo.value.replace(/\s/g,'') == ''){
		if(id == 'search_query'){
			var msgCampo = "Busca";
		}else{
			var msgCampo = id;
		}
		alert(msg + " : " + msgCampo);
		return false;
	}
}

/**
 * Copyright Macromedia.
 * Carrega página conforme evento onchange de um elemento select
 * Palavras-chave: (jump, select, acesso, rapido, rápido)
 *
 * @param targ
 *        A página alvo para o carregamento da página (_blank, _self, _parent, ...).
 * @param selObj
 *        O elemento que executou a ação (this).
 * @param restore
 *        Se true restaura a posição 0 da lista do select.
 */
function MM_jumpMenu(targ, selObj, restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex = 0;
}

/**
 * Alterna cor das Linhas da tabela
 * Palavreas-chave: (muda, cor, linhas, linha)
 *
 * @param abas
 *        ID do elemento <table>.
 */
function mudaAbaCor(abas){
  try {
    var objTable = document.getElementById(abas).rows.length;
    for (i = 1; i <= objTable; i++) {
      var objLinha = document.getElementById(i);
      if (parseInt(objLinha.id) % 2 == 0){
        objLinha.style.background = "#F5F5F5";
      } else{
        objLinha.style.background = "";
      }
    }
  } catch(e) {
    //alert('ERRO: ' + e);
  }
}

/**
 * Configura a página conforme a resolução da tela.
 * Palavras-chave: (resolucao, resolução, tela, screen, seguranca, segurança)
 * 
 */
function resolucao() {
  var w = screen.width;
  /** Banner de segurança */
  var objBanner = document.getElementById('banner_direita');
  /** Camada para ajuste da largura célula */
  var objAjuste = document.getElementById('divAjuste');

  try {
    if(w <= 800) {
      objBanner.style.display = "none";
      objAjuste.style.display = "none";
    }
  } catch(e) {
    //alert('ERRO: ' + e);
  }
  
  resRodap();
  tamanhoTabela();
}

/**
 * Configura o tabela rodapé conforme a resolução da tela.
 * Palavras-chave: (rodape, rodapé, resolução)
 */
function resRodap() {
  var w = screen.width;
  var objRodp = document.getElementById('TabRdp');

  if (objRodp != null) {

    if( w <= 1020) {
      objRodp.style.width = '100%';
    } else{
      objRodp.style.width = '1003px';
    }
  }
}

/** Tamanho da fonte. Palavras-chave: (fonte) */
var b = 11;

/** Representa aumentar fonte. Palavras-chave: (mais, aumentar) */
var sinalMais  = '+';

/** Representa diminuir fonte Palavras-chave: (menos, dimunuir)*/
var sinalMenos = '-';


/**
 * Aumenta a fonte de texto espe
 * Palavras-chave: (aumenta, fonte, size, diminui)
 *
 * @param sinal
 *        Flag que indica quando aumentar ou quando diminuir a fonte.
 */
function font_size(sinal) {
  var parag;
  var tamfonte;
  var quanttd;
  var alink;
	
  var objCorpo = document.getElementById('corpo');

  if (objCorpo != null) {  
    parag    = objCorpo.getElementsByTagName('p');
    tamfonte = objCorpo.getElementsByTagName('fonte');
    quanttd  = objCorpo.getElementsByTagName('li');
    alink     = objCorpo.getElementsByTagName('a');
  }

  try {
    if (b <= 18 && sinal == '+') {
      b = b < 19 ? (b+4) : 19;
      document.getElementById('corpo').className = "fonte" + b;

      for (i=0; i <= parag.length-1;i++) {
        parag[i].style.fontSize = b + 'px';
      }

      for (i=0; i <= tamfonte.length-1;i++) {
        tamfonte[i].style.fontSize = b + 'px';
      }

      for (i=0; i <= quanttd.length-1;i++) {
        quanttd[i].style.fontSize = b + 'px';
      }

	  for (i=0; i <= alink.length-1;i++) {
        alink[i].style.fontSize = b + 'px';
      }

    } else if(b >= 0 && sinal == '-') {
      b = b > 11 ? (b-4): 11;
      document.getElementById('corpo').className = "fonte" + b;

      for (i=0; i <= parag.length-1;i++) {
        parag[i].style.fontSize = b + 'px';
      }
		
      for (i=0; i <= tamfonte.length-1;i++) {
        tamfonte[i].style.fontSize = b + 'px';	 
      }
		
      for (i=0; i <= quanttd.length-1;i++) {
        quanttd[i].style.fontSize = b + 'px';
      }
      for (i=0; i <= alink.length-1;i++) {
        alink[i].style.fontSize = b + 'px';
      }
    }
  } catch(e) {
    //alert('ERRO: ' + e);
  }
}

/**
 * Tamanho da tabela
 * Palavras-chave: (aumenta, fonte, size, diminui)
 *
 */
function tamanhoTabela(){
  var a      = document.getElementById('anim_solar');
  var b      = document.getElementById('anim_interna');
  var tabela = document.getElementById('tabela');

  var c;  var d;  var e;  var f;  var g;  var h;

  if ( a != null && b != null && tabela != null ) {
    c = parseInt((a.style.width)) + parseInt((a.style.left));
    d = parseInt((b.style.width)) + parseInt((b.style.left));
    if (c < d) {
      e = d;
    } else {
      e = c;
    }
    
	tabela.style.width = e + "px";

    f = parseInt((a.style.height)) + parseInt((a.style.top));
    g = parseInt((b.style.height)) + parseInt((b.style.top));
	
    if (f < g) {
      h = g;
    } else {
      h = f;
    }
	
    tabela.style.height = h + "px";
  }  
}


/**
 * Abre uma nova janela.
 * Palavras-chave: (janela, window)
 *
 * @param url
 * 	  Url que será acessada.
 * @param largura
 * 	  Largura da nova janela.
 * @param altura
 * 	  Altura da nova janela.
 * @param alvo
 * 	  Janela alvo.
 */
function novaJanela(url, largura, altura, alvo) {
  var propriedades = "toolbar=no, menubar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, width=" + largura + ", height=" + altura + ", top=0, left=20, screenX=20, screenY=0";
  var newWindow = window.open(url, alvo, '\''+propriedades+'\'');
  newWindow.focus();
}



/** ##################################################### 
 *  END - DIVERSAS
 *  ################################################## */