	function fnc_TeclaEnter() {
		var int_Tecla = event.keyCode;
		if (int_Tecla == 13) {
			fnc_Logar();
		}
	}
/*
--------------------------------------------------------------------------------
 FUNÇÃO PARA LISTAR AS ESTADOS, CIDADES DE ACORDO COM OS ITENS SELECIONADOS 
 ANTERIORMENTE.
--------------------------------------------------------------------------------
*/
	function fnc_EstadosListar(str_IDCampoPais, int_CodEstadoSelec, str_IDCampoEstado, str_IDCampoCidade) {
		var obj_Select = document.getElementById(str_IDCampoPais);

		if (obj_Select[obj_Select.selectedIndex].value == 1) {
			document.getElementById("TR_Estado").style.display = "block";
			document.getElementById("TR_Cidade").style.display = "block";
			fnc_ExecutarASP("fnc_EstadosListar", "common/asp/inc_listar_estados.asp?CodPais=" + obj_Select[obj_Select.selectedIndex].value + "&CodEstado=" + int_CodEstadoSelec + "&IDCampoEstado=" + str_IDCampoEstado +  "&IDCampoCidade=" + str_IDCampoCidade);
		}
		else {
			document.getElementById("TR_Estado").style.display = "none";
			document.getElementById("TR_Cidade").style.display = "none";

		}
	}

	function fnc_CidadesListar(str_IDCampoEstado, str_IDCampoCidade, int_CodCidadeSel) {
		var obj_Select = document.getElementById(str_IDCampoEstado);
		fnc_ExecutarASP("fnc_AtualizarCidade", "common/asp/inc_listar_cidades.asp?CodEstado=" + obj_Select[obj_Select.selectedIndex].value + "&CodCidadeSel=" + int_CodCidadeSel + "&IDCampoCidade=" + str_IDCampoCidade);
	}
	
	function fnc_ExecutarASP(str_FuncaoQueChamou, str_ArquivoASP) {
		var obj_TagHead = document.getElementsByTagName("head").item(0);
		var obj_ExisteTagScript = document.getElementById(str_FuncaoQueChamou);
		var obj_TagScript;
		/*-----------------------------------------------------------------------------------------
			Verifica se a função que monta o HTML já está criada. Se já foi criada, apaga ela, e
			recria de acordo com os parametros do ASP */
		if (obj_ExisteTagScript) {
			obj_TagHead.removeChild(obj_ExisteTagScript);
		}
		/*--------------------------------------------------------------------------------------*/
		obj_TagScript = document.createElement("script");
		obj_TagScript.src = str_ArquivoASP;
		obj_TagScript.type = "text/javascript";
		obj_TagScript.id = str_FuncaoQueChamou;
		obj_TagHead.appendChild(obj_TagScript);
	}
	
/*
--------------------------------------------------------------------------------
 FUNÇÃO PARA VERIFICAR CAMPOS DE FORMULÁRIOS PREENCHIDOS
--------------------------------------------------------------------------------
*/

	function fnc_MaximoValor(lng_ValorMaximo, str_IDCampo, str_Mensagem) {
		var lng_ValorDigitado = document.getElementById(str_IDCampo).value;
		if ( (lng_ValorDigitado > lng_ValorMaximo) || (Trim(lng_ValorDigitado) == "") ) {
			alert(str_Mensagem + " " + lng_ValorMaximo);
			document.getElementById(str_IDCampo).focus();
			return(true);
		}
	}

	function fnc_InputEmail(str_IDCampoInput, str_NomeCampo, strMensagem, str_MensagemFinal) {
		var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
		if (Trim(str_DadoInput) == "") {
			alert(strMensagem + " " + str_NomeCampo);
			document.getElementById(str_IDCampoInput).focus();
			return(true);
		}
		
		if (fnc_ValidaEmail(str_DadoInput) == false) {
			alert("Por favor, preencha um e-mail válido.");
			document.getElementById(str_IDCampoInput).focus();
			return(true);			
		}
	}
	
	function fnc_CPF_CNPJValido(str_IDCampoInput, str_NomeCampo, str_Mensagem, str_MensagemFinal) {
		var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
		if ( (fnc_IsCPF_CNPJ(str_DadoInput) == false) || (Trim(str_DadoInput) == "") ) {
			alert(str_Mensagem + " " + str_NomeCampo + " " + str_MensagemFinal);
			document.getElementById(str_IDCampoInput).focus();
			return(true);			
		}
	}

	function fnc_CheckRadioPreenchido(str_NameForm, str_NomeCampo, str_Mensagem) {
		var obj_Input = document.getElementsByTagName("input");
		var int_IndiceArr = 0;
		var bln_CheckboxSelecionado = false;

		for (int_IndiceArr = 0; int_IndiceArr < obj_Input.length; int_IndiceArr++) {		
			if (obj_Input[int_IndiceArr].name == str_NameForm) {
				if (obj_Input[int_IndiceArr].checked == true) {
					bln_CheckboxSelecionado = true;
				}
			}
		}
		
		if (bln_CheckboxSelecionado == false) {
			alert(str_Mensagem + " " + str_NomeCampo + ".");
			return(true);
		}
		else {
			return(false);
		}
	}

	function fnc_InputPreenchido(str_IDCampoInput, str_NomeCampo, strMensagem, str_MensagemFinal) {
		var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
		if (Trim(str_DadoInput) == "") {
			alert(strMensagem + " " + str_NomeCampo + " " + str_MensagemFinal);
			document.getElementById(str_IDCampoInput).focus();
			return(true);
		}
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO PARA PERMITIR APENAS NÚMEROS
--------------------------------------------------------------------------------
*/
	function fnc_PermiteApenasNumeros(NameCampo, Evento) {
		var str_CaracterASCII = '';
		var str_CharPermitido = '0123456789';
		//-----------------------------------------------------------------------------
		// Recebe o codigo ASCII da tecla pressionada
		var int_CodASCII = (window.Event) ? Evento.which : Evento.keyCode;
		//-----------------------------------------------------------------------------
		// Se é igual a 13 (cod ASCII da tecla ENTER) não faz nada
		if (int_CodASCII == 13) return true;
		str_CaracterASCII = String.fromCharCode(int_CodASCII);
		//-----------------------------------------------------------------------------
		// Esta expressão retorna -1 quando for pressionada uma tecla que não for número
		if (str_CharPermitido.indexOf(str_CaracterASCII) == -1) return false;
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO PARA ABRIR POPUPs. A fnc_AbreImagem, ABRE O POPOUP NO TAMANHO DA IMAGEM.
--------------------------------------------------------------------------------
*/
	function fnc_AbrePopUp(str_NomeArquivo, str_NomeJanela, bln_Scrollbar, lng_Largura, lng_Altura) {
		if ( (!lng_Altura) || (lng_Altura == 0) ) { lng_Altura = 465; }

		if ( (!lng_Largura) || (lng_Largura == 0) ) { lng_Largura = 450; }

		if ( (!bln_Scrollbar) || (bln_Scrollbar == 0) ) { bln_Scrollbar = 'no'; }

		lng_Top = screen.availHeight/2 - lng_Altura/2;
		lng_Left = screen.availWidth/2 - lng_Largura/2;

		window.open(str_NomeArquivo, str_NomeJanela, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=' + bln_Scrollbar + ', resizable=no, width=' + lng_Largura + ', height=' + lng_Altura +', top=' + lng_Top + ', left=' + lng_Left);
	}
	
	function fnc_AbreImagem(str_NomeArquivo, str_NomeJanela, str_CaminhoImagem) {
		var objImage = new Image();
		objImage.src = str_CaminhoImagem;
		
		var lng_Height = objImage.height;
		var lng_Width = objImage.width;
		
		lng_Top = screen.availHeight/2 - lng_Height/2;
		lng_Left = screen.availWidth/2 - lng_Width/2;

		window.open(str_NomeArquivo, str_NomeJanela, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, width=' + lng_Width + ', height=' + lng_Height + ', top=' + lng_Top + ', left=' + lng_Left);
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO PARA RETIRAR OS ESPAÇOS EM BRANCO NO INCIO E NO FIM DA STRING
--------------------------------------------------------------------------------
*/
	function LTrim(String) {
		var i = 0;
		var j = String.length - 1;
	
		if (String == null) return (false);
		for (i = 0; i < String.length; i++)	{
			if (String.substr(i, 1) != ' ' && String.substr(i, 1) != '\t') break;
		}
		if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
	}
	
	function RTrim(String) {
		var i = 0;
		var j = String.length - 1;
	
		if (String == null) return (false);
		for(j = String.length - 1; j >= 0; j--) {
			if (String.substr(j, 1) != ' ' && String.substr(j, 1) != '\t') break;
		}
		if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
	}

	function Trim(String) {
		if (String == null) return (false);
		return RTrim(LTrim(String));
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO QUE PERMITE DIGITAR APENAS NÚMERO NO CAMPO
--------------------------------------------------------------------------------
*/
	function fnc_DigitarNumeros(NameCampo, Evento) {
		var str_CaracterASCII = '';
		var str_CharPermitido = '0123456789';
		//-----------------------------------------------------------------------------
		// Recebe o codigo ASCII da tecla pressionada
		var int_CodASCII = (window.Event) ? Evento.which : Evento.keyCode;
		//-----------------------------------------------------------------------------
		// Se é igual a 13 (cod ASCII da tecla ENTER) não faz nada
		if (int_CodASCII == 13) return true;
		str_CaracterASCII = String.fromCharCode(int_CodASCII);
		//-----------------------------------------------------------------------------
		// Esta expressão retorna -1 quando for pressionada uma tecla que não for número
		if (str_CharPermitido.indexOf(str_CaracterASCII) == -1) return false;
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO QUE ADICIONA AOS FAVORITOS
--------------------------------------------------------------------------------
*/

	function fnc_CreateBookmarkLink() { 
		var str_Title = "SINEPE/RS";   
		var str_Url = "http://www.sinepe-rs.org.br";
		window.external.AddFavorite( str_Url, str_Title); 
	}
	
/*
--------------------------------------------------------------------------------
 FUNÇÃO QUE VERIFICA SE O CPF OU CNPJ É VALIDO
--------------------------------------------------------------------------------
*/
	cst_NUM_DIGITOS_CPF  = 11;
	cst_NUM_DIGITOS_CNPJ = 14;
	cst_NUM_DGT_CNPJ_BASE = 8;

	String.prototype.lpad = function(pSize, pCharPad) {
		var str = this;
		var dif = pSize - str.length;
		var ch = String(pCharPad).charAt(0);
		for (; dif > 0; dif--) str = ch + str;
		return (str);
	}

	String.prototype.trim = function() {
		return this.replace(/^\s*/, "").replace(/\s*$/, "");
	}

 	/*--------------------------------------------------------------------------
		Faz a desformatação do padrão de CPF ou CNPJ
	--------------------------------------------------------------------------*/
	function fnc_DesformataNumero(str_Numero) {
		return String(str_Numero).replace(/\D/g, "").replace(/^0+/, "");
	}

 	/*--------------------------------------------------------------------------
		Formata a string conforme o padrão de CPF ou CNPJ
	--------------------------------------------------------------------------*/
	function fnc_Formatar_CPF_CNPJ(str_CPF_CNPJ, bln_UsarSeparador, bln_IsCNPJ) {
		if (bln_IsCNPJ == null) bln_IsCNPJ = false;
		if (bln_UsarSeparador == null) bln_UsarSeparador = true;
		var int_MaxDigitos = bln_IsCNPJ ? cst_NUM_DIGITOS_CNPJ : cst_NUM_DIGITOS_CPF;
		var str_Numero = fnc_DesformataNumero(str_CPF_CNPJ);
	
		str_Numero = str_Numero.lpad(int_MaxDigitos, '0');
		if (!bln_UsarSeparador) return str_Numero;
	
		if (str_CPF_CNPJ)
		{
			reCnpj = /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;
			str_Numero = str_Numero.replace(reCnpj, "$1.$2.$3/$4-$5");
		}
		else
		{
			reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;
			str_Numero = str_Numero.replace(reCpf, "$1.$2.$3-$4");
		}
		return str_Numero;
	}


 	/*--------------------------------------------------------------------------
		Faz o calculo para verificação da validade do CPF
	--------------------------------------------------------------------------*/
	function fnc_CalculaDigito(str_Base, bln_IsCNPJ) {
		if (bln_IsCNPJ == null) bln_IsCNPJ = false;
		var str_BaseCalculada = fnc_Formatar_CPF_CNPJ(str_Base, false, bln_IsCNPJ);
		var int_CicloPeso	= bln_IsCNPJ ? cst_NUM_DGT_CNPJ_BASE : cst_NUM_DIGITOS_CPF;
		var int_MaxDigitos	= bln_IsCNPJ ? cst_NUM_DIGITOS_CNPJ  : cst_NUM_DIGITOS_CPF;
		str_BaseCalculada = str_BaseCalculada.substring(2, int_MaxDigitos);
		var result = "";
		var i, j, k, soma, dv;
	
		for (j = 1; j <= 2; j++) {
			k = 2;
			soma = 0;
			for (i = str_BaseCalculada.length-1; i >= 0; i--) {
				soma += (str_BaseCalculada.charAt(i) - '0') * k;
				k = (k-1) % int_CicloPeso + 2;
			}
			dv = 11 - soma % 11;
			if (dv > 9) dv = 0;
			str_BaseCalculada += dv;
			result += dv
		}
		return result;
	} 


 	/*--------------------------------------------------------------------------
		Verifica se o CPF é válido
	--------------------------------------------------------------------------*/
	function fnc_ValidarCPF(str_CPF) {
		var str_Numero = fnc_Formatar_CPF_CNPJ(str_CPF, false, false);
		var str_Base = str_Numero.substring(0, str_Numero.length - 2);
		var str_Digitos = fnc_CalculaDigito(str_Base, false);
		var algUnico, i;
	
		if (str_Numero != str_Base + str_Digitos) return false;

		algUnico = true;
		for (i = 1; i < cst_NUM_DIGITOS_CPF; i++) {
			algUnico = algUnico && (str_Numero.charAt(i - 1) == str_Numero.charAt(i));
		}
		return (!algUnico);
	}

	/*--------------------------------------------------------------------------
		Verifica se o CNPJ é válido
	--------------------------------------------------------------------------*/
	function fnc_ValidarCNPJ(pCnpj) {
		var numero = fnc_Formatar_CPF_CNPJ(pCnpj, false, true);
		var base = numero.substring(0, cst_NUM_DGT_CNPJ_BASE);
		var ordem = numero.substring(cst_NUM_DGT_CNPJ_BASE, 12);
		var digitos = fnc_CalculaDigito(base + ordem, true);
		var algUnico;
	
		// Valida dígitos verificadores
		if (numero != base + ordem + digitos) return false;
	
		algUnico = numero.charAt(0) != '0';
		for (i = 1; i < cst_NUM_DGT_CNPJ_BASE; i++) {
			algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
		}
		if (algUnico) return false;
	
		if (ordem == "0000") return false;
		return (base == "00000000" || parseInt(ordem, 10) <= 300 || base.substring(0, 3) != "000");
	}

	/*--------------------------------------------------------------------------
		Recebe o valor e verifica o tamnho da string para ver se é tratado como
		CPF ou CNPJ 
	--------------------------------------------------------------------------*/
	function fnc_IsCPF_CNPJ(str_ValueForm) {
		var str_Numero = str_ValueForm.replace(/\D/g, "");
		if (str_Numero.length > cst_NUM_DIGITOS_CPF) {
			return fnc_ValidarCNPJ(str_ValueForm)
		}
		else {
			return fnc_ValidarCPF(str_ValueForm);
		}
	}

/*
--------------------------------------------------------------------------------
 FUNÇÃO QUE VERIFICA SE O EMAIL É VÁLIDO
--------------------------------------------------------------------------------
*/

	function fnc_ValidaEmail(strEmail) {
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]?&'%~#´`"
		var validChars="\[^\\s" + specialChars + "\]"
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
		var matchArray=strEmail.match(emailPat)
		if (matchArray==null) {
			return false
			}
		var user=matchArray[1]
		var domain=matchArray[2]
		
		if (user.match(userPat)==null) {
			return false
			}
		
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					return false
					}
				}
				return true
			}
		
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			return false
			}
		
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if ( (domArr[domArr.length-1].length < 2) || (domArr[domArr.length-1].length > 3) ) {
			return false
			}
		
		if (len < 2) {
			return false
			}
		return true;
		}
/*
=============================================================================
	Ao clicar no campo, limpa o value
=============================================================================
*/
	function fnc_LimpaCampo(str_IDElemento, str_LabelCampo) {
		var str_Texto = document.getElementById(str_IDElemento).value;
		switch (str_Texto) {
			case "": 
				document.getElementById(str_IDElemento).value = str_LabelCampo;
				break;
			case str_LabelCampo:
				document.getElementById(str_IDElemento).value = "";
				break;
		}
	}
	
	function AcessoRapido() {
		var objFormulario = document.getElementById("AcessoRapidoForm");
		var str_LinkSelecionado = document.getElementById("LinkSelecionadoForm").value;

		if (str_LinkSelecionado == -1) {
			alert("Selecione uma sessão do site.")
			document.getElementById("LinkSelecionadoForm").selected = true;
			return;
		}
	
		objFormulario.action = str_LinkSelecionado
		objFormulario.submit()
	}

/*
=============================================================================
*/

function links(i){
	
		var strMouseOver=new String (document.links[i].getAttribute('onmouseover'));
		
		if(strMouseOver.indexOf('window.status')==-1){
			var old = (document.links[i].onmouseover) ? document.links[i].onmouseover : function () {};
			
			if(document.links[i].childNodes[0].nodeType==3){
				
				var tamanho = document.links[i].childNodes[0].nodeValue;
				
				if(tamanho.length>60){
					document.links[i].onmouseover = function () {old();window.status='Mais detalhes';return true;};
				}
				
				else{
					document.links[i].onmouseover = function () {old(); window.status=document.links[i-1].childNodes[0].nodeValue;return true;};
				}
			}
			
			else{
				
				var texto=false;
				
				for(j=0;j<document.links[i].childNodes.length;j++){
					
					if(document.links[i].childNodes[j].nodeType==3){
						var filho;
						((j>=1) ? filho=j : filho=j-1);
						document.links[i].onmouseover = function () {old(); window.status=document.links[i-1].childNodes[filho].nodeValue;return true;};
						texto=true;
					}
					
				}
	
				if(!texto){
					document.links[i].onmouseover = function () {old();window.status='';return true;};
				}
					
			}
		}
	
		document.links[i].onmouseout = function(){window.status='';return true;};
		i++;
		if(i<document.links.length){
			links(i);
		}
	}
	