	function mostraEscondeTable(idTable, visivel)
	{
		if (visivel == true)
		{
			document.getElementById(idTable).style.display = "";
		}
		else
		{
			 document.getElementById(idTable).style.display = "none";
		}
	}
	
	function mostraEscondeTable2(idTable, pStrNomeImagem)
	{
		if (document.getElementById(idTable).style.display == "")
		{
			document.getElementById(idTable).style.display = "none";
			document.getElementById(pStrNomeImagem).src = "../images/imgMore.gif";
		}
		else
		{
			document.getElementById(idTable).style.display = "";
			document.getElementById(pStrNomeImagem).src = "../images/imgMinus.gif";			
		}
	}	

	function mostraEscondeLinha(idLinha)
	{
		if (document.getElementById(idLinha).style.display == "")
		{
			document.getElementById(idLinha).style.display = "none";			
		}
		else
		{
			document.getElementById(idLinha).style.display = "";
		}
	}
	
	//Verifica se o e-mail informado possui uma sintaxe válida.
	function verificaEmailValido(email)
	{
		//se vier em branco, retorna true
		if (email == "")
		{
			return true;
		}

		if (email.indexOf(" ") > 0)
		{
			//Não são aceitos espaços em e-mail.
			return false;
		}
		
		var listaCaracteresAceitos = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@_.-";
		var listaCaracteresEspeciais = "@_.-"; //lista de caracteres especiais que podem ser aceitos.
		
		//Verifica caracteres do e-mail.
		{
			for (i = 0;  i < email.length;  i++)
			{
				var charAtual = email.charAt(i);	
	
				var achouCaracteres = false;
	
				//Verifica se só existem caracteres aceitos
				for (j = 0;  j < listaCaracteresAceitos.length;  j++)
				{
					if (charAtual == listaCaracteresAceitos.charAt(j))
					{	
						achouCaracteres = true;
					}
				}	
				
				if (!achouCaracteres)
				{
					return false;
				}
			}
		}
		
		//Verifica primeiro caractere
		{
			var charPrimeiro = email.charAt(0);
			var achouCaracteres = false;
			//Verifica se existem caracteres
			for (j = 0;  j < listaCaracteresEspeciais.length;  j++)
			{
				if (charPrimeiro == listaCaracteresEspeciais.charAt(j))
				{	
					achouCaracteres = true;
				}
			}
			if (achouCaracteres)
			{
				return false;
			}		
		}
		
		//Verifica se existem 2 ou mais "@"
		{
			var qtdArrobas = 0;
			for (i = 0;  i < email.length;  i++)
			{
				var charAtual = email.charAt(i);
				if (charAtual == "@")
				{
					qtdArrobas++;
				}
			}
			if (qtdArrobas > 1 || qtdArrobas == 0)
			{
				return false;
			}
		}
		
		//Verifica a existência de ao menos um "." depois do "@" e outras coisas com o "."
		{
			//verifica ponto (".") depois do "@"
			if (email.indexOf("@.") > 0)
			{
				return false;
			}
			
			//Verifica ponto como último caractere
			var ultimoCaractere = email.charAt(email.length-1);
			if (ultimoCaractere == ".")
			{
				return false;
			}
			
			//verifica qtd pontos depois do arroba
			var qtdPontos = 0;
			var achouArroba = false;
			for (i = 0;  i < email.length;  i++)
			{
				var charAtual = email.charAt(i);
				if (charAtual == "@")
				{
					achouArroba = true;
				}
				
				if (achouArroba)
				{
					if (charAtual == ".")
					{
						qtdPontos++;
					}
				}
			}	
			if (qtdPontos > 2 || qtdPontos == 0)
			{
				return false;
			}		
		}

		return true;
	}
	
	//O frame de menu do Help é maior
	function aumentaFrameHelp()
	{
		parent.frames[1].width = "250";
		parent.frames[1].document.getElementById('tableCellBlueBar').width = "21";
		parent.frames[1].document.getElementById('tableCellLeft').width = "260";
		parent.frames[1].document.getElementById('tableCellRight').width = "519";
	}
	
	//volta o frame ao tamanho normal.
	function voltaFrameTamanhoNormal()
	{
		var lObjFramesetCView = parent.frames[1].document.getElementById('frameLeft');			
		lObjFramesetCView.width = "190";
		lObjFramesetCView.document.getElementById('tableCellBlueBar').width = "21";
		lObjFramesetCView.document.getElementById('tableCellLeft').width = "190";
		lObjFramesetCView.document.getElementById('tableCellRight').width = "589";		
	}	
	
	//volta os frames ao tamanho normal.
	function voltaFramesTamanhoNormal()
	{
		parent.width = "190";
		parent.document.getElementById('tableCellBlueBar').width = "21";
		parent.document.getElementById('tableCellLeft').width = "190";
		parent.document.getElementById('tableCellRight').width = "589";		
	}		
	
	function showHideFrame()
	{
		// Função para esconder ou mostrar o frame de menu lateral
		// Criado por: Douglas Frankenberger (12/04/2005)
		// Alterações:
		//   -

		//Variável que referencia o objeto lObjFramesetCView, mais precisamente o iframe "frameLeft"
		var lObjFramesetCView = parent.frames[1].document.getElementById('frameLeft');
		
		if (lObjFramesetCView == null)
		  return;
		  
		//Altera o tamanho do frameset de acordo com o estado atual
		if (lObjFramesetCView.width == "0")
		{
			//Mostra frameset
			if (parent.frames[1].frames[0].document.location.href.indexOf("Help") > 0) //O tamanho do frame, quando exibindo um help, é um pouco maior.
			{
				lObjFramesetCView.width = "250";
				lObjFramesetCView.document.getElementById('tableCellBlueBar').width = "21";
				lObjFramesetCView.document.getElementById('tableCellLeft').width = "260";
				lObjFramesetCView.document.getElementById('tableCellRight').width = "519";
			}
			else
			{
				lObjFramesetCView.width = "190";
				lObjFramesetCView.document.getElementById('tableCellBlueBar').width = "21";
				lObjFramesetCView.document.getElementById('tableCellLeft').width = "190";
				lObjFramesetCView.document.getElementById('tableCellRight').width = "589";
			}
		}
		else
		{
			//Esconde frameset
			lObjFramesetCView.width = "0";

			lObjFramesetCView.document.getElementById('tableCellBlueBar').width = "21";
			lObjFramesetCView.document.getElementById('tableCellLeft').style.width = "0";
			lObjFramesetCView.document.getElementById('tableCellRight').style.width = "779";
		}
	}

	function efetuouLogin()
	{
		// Função que carrega o sidemenu para o frameLeft após o login
		// Criado por: Douglas Frankenberger (18/04/2005)
		// Alterações:
		//   -

		//Variável que referencia o objeto lObjFramesetCView, mais precisamente o iframe "frameLeft"
		//var lObjFramesetCView = window.parent.document.getElementById('framesetCView').document.frames[1].document.getElementById('frameLeft');
		parent.frames[1].frames[0].document.location.href = "menuLeft.jsp";
		parent.frames[1].frames[1].document.location.href = "jsp/pageLoading.jsp?paginaDestino=viewLineUp.jsp";		
		//alert(lObjFramesetCView);
		//lObjFramesetCView.src = "menuLeft.htm";
	}
	
	//Verifica a tecla pressionada, e caso seja enter, retorna true (serve para envio do form a partir da tecla ENTER).
	function verificaEnter(e)
	{
	     var key;

	     if(window.event)
		 {
    	 	key = window.event.keyCode;     //IE
		 }
	     else
		 {
          	key = e.which;     //Firefox
		 }

	     if (key == 13)
    	      return true;
	     else
    	      return false;
	}
	
	//Verifica se o campo está preenchido, retornando true caso esteja.
	function validaCampoPreenchido(pStrNomeCampo, pStrTextoCampo)
	{
		if (document.getElementById(pStrNomeCampo).value == "" || document.getElementById(pStrNomeCampo).value == null)
		{
			alert("Please type your " + pStrTextoCampo + ".");
			document.getElementById(pStrNomeCampo).focus();
			return false;
		}
		else
		{
			return true
		}
	}
	
	//Troca a figura relativa ao tipo da busca
	function trocaModoBusca(pStrNomeImagem, pStrNomeCampo)
	{	
		var lStrTipoBusca = document.getElementById(pStrNomeCampo).value;
		
		switch(lStrTipoBusca)
		{
			case "BEG":
			{
				document.getElementById(pStrNomeCampo).value = "END";
				document.getElementById(pStrNomeImagem).src = "../images/imgSearchMode2.gif";
				break;
			}
			case "END":
			{
				document.getElementById(pStrNomeCampo).value = "ALL";
				document.getElementById(pStrNomeImagem).src = "../images/imgSearchMode3.gif";				
				break;
			}
			case "ALL":
			{	
				document.getElementById(pStrNomeCampo).value = "BEG";
				document.getElementById(pStrNomeImagem).src = "../images/imgSearchMode1.gif";
				break;
			}
		}
	}

	//Verifica data no formato dd/mm/yyyy
	//O parseInt retorna zero para parseInt("08") e parseInt("09"), pois tenta tratá-los como octal. Por isso usamos o parseFloat.
	function verificaData(pStrData, pStrNomeComponente)
	{
		var lBlnRetorno = false;

		if (pStrData != "")	//Se a data vier em branco, não faz verificação, retornando true neste caso.
		{
                        var lArrStrData = pStrData.split("/");

			//verifica se são numeros.
			var lBlnSaoNumeros = (!(isNaN(lArrStrData[0]) || isNaN(lArrStrData[1]) || isNaN(lArrStrData[2])) && (lArrStrData[0] != "") && (lArrStrData[1] != "") && (lArrStrData[2] != ""));

			if (lArrStrData.length == 3 && lBlnSaoNumeros)
			{
				var lDttTemp = new Date(lArrStrData[2],lArrStrData[1]-1,lArrStrData[0]);

				//Verifica se o dia do objeto Date está igual ao dia passado como parâmetro
				if(lDttTemp.getDate() == lArrStrData[0])
				{
                                  lBlnRetorno = true;
				}

				//Verifica se mês está entre JAN (01) e DEZ (12) e se o dia está entre 01 e 31. Se alguma das condições furar (fora do intervalo), entra e retorna false.
				if (parseFloat(lArrStrData[1]) < 1 || parseFloat(lArrStrData[1]) > 12 || parseFloat(lArrStrData[0]) < 1 || parseFloat(lArrStrData[0]) > 31)
				{
                                  lBlnRetorno = false;
				}
			}
		}
		else
		{
			lBlnRetorno = true;
		}

		if (!lBlnRetorno)
		{
			alert("The date must be in the dd/mm/yyyy format. Please verify.");
			document.getElementById(pStrNomeComponente).focus();
		}

		return lBlnRetorno;
	}

	//Verifica se pStrDataIni é menor que pStrDataFim, para verificar validade de formatos de datas. Caso ini > fim, retorna false.
	function verificaIntervaloData1(pStrDataIni, pStrNomeComponenteIni, pStrDataFim, pStrNomeComponenteFim)
	{
		if (!verificaData(pStrDataIni, pStrNomeComponenteIni))
		{
			return false;	
		}

		if (!verificaData(pStrDataFim, pStrNomeComponenteFim))
		{
			return false;	
		}
		
		if (((pStrDataIni != "" ) && (pStrDataFim == "" )) || ((pStrDataIni == "" ) && (pStrDataFim != "" )))
		{
			if (pStrDataIni == "")
			{
				alert("Please inform the start date.");
				document.getElementById(pStrNomeComponenteIni).focus();						
			}
			else
			{
				alert("Please inform the end date.");
				document.getElementById(pStrNomeComponenteFim).focus();
			}
			
			return false;
		}
		
		var lArrStrDataIni = pStrDataIni.split("/");
		var lDttTempIni = new Date(lArrStrDataIni[2], lArrStrDataIni[1]-1, lArrStrDataIni[0]);
		
		var lArrStrDataFim = pStrDataFim.split("/");
		var lDttTempFim = new Date(lArrStrDataFim[2], lArrStrDataFim[1]-1, lArrStrDataFim[0]);
		
		if (lDttTempIni	> lDttTempFim)
		{
			alert("The start date must be equal or less than final date. Please verify.");
			document.getElementById(pStrNomeComponenteIni).focus();			
			return false
		}
		else
		{
			return true;
		}
	}
	
	//Verifica se pStrDataIni é menor que pStrDataFim, para verificar validade de formatos de datas. Caso ini > fim, retorna false.
	function verificaIntervaloData2(pStrDataIni, pStrNomeComponenteIni, pStrDataFim, pStrNomeComponenteFim, pStrMensagem)
	{
		if (!verificaData(pStrDataIni, pStrNomeComponenteIni))
		{
			return false;	
		}

		if (!verificaData(pStrDataFim, pStrNomeComponenteFim))
		{
			return false;	
		}
		
		if (((pStrDataIni != "" ) && (pStrDataFim == "" )) || ((pStrDataIni == "" ) && (pStrDataFim != "" )))
		{
			if (pStrDataIni == "")
			{
				alert("Please inform the start date.");
				document.getElementById(pStrNomeComponenteIni).focus();						
			}
			else
			{
				alert("Please inform the end date.");
				document.getElementById(pStrNomeComponenteFim).focus();						
			}
			
			return false;
		}
		
		var lArrStrDataIni = pStrDataIni.split("/");
		var lDttTempIni = new Date(lArrStrDataIni[2], lArrStrDataIni[1]-1, lArrStrDataIni[0]);
		
		var lArrStrDataFim = pStrDataFim.split("/");
		var lDttTempFim = new Date(lArrStrDataFim[2], lArrStrDataFim[1]-1, lArrStrDataFim[0]);
		
		if (lDttTempIni	> lDttTempFim)
		{
			alert(pStrMensagem);
			document.getElementById(pStrNomeComponenteIni).focus();
			return false
		}
		else
		{
			return true;
		}		
	}	

