/*
Padawan's JavaScript-Mega-Validator 3000+
Todos os direitos reservados para Diego Pires Plentz
Você pode usar esse código nas suas páginas desde que mantenha os créditos ;-)
*/

//Verifica qual o browser do visitante e armazena na variável púbica clientNavigator,
//Caso Internet Explorer(IE) outros (Other)
if (navigator.appName.indexOf('Microsoft') != -1){
	clientNavigator = "IE";
}else{
	clientNavigator = "Other";
}
function Verifica_Data(data, obrigatorio){
//Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
 var data = document.getElementById(data);
	var strdata = data.value;
	if((obrigatorio == 1) || (obrigatorio == 0 && strdata != "")){
		//Verifica a quantidade de digitos informada esta correta.
		if (strdata.length != 10){
			alert("Formato da data não é válido.\n Formato correto: \n- dd/mm/aaaa.");
			data.focus();
			return false
		}
		//Verifica máscara da data
		if ("/" != strdata.substr(2,1) || "/" != strdata.substr(5,1)){
			alert("Formato da data não é válido.\nFormato correto:\n- dd/mm/aaaa.");
			data.focus();
			return false
		}
		dia = strdata.substr(0,2)
		mes = strdata.substr(3,2);
		ano = strdata.substr(6,4);
		//Verifica o dia
		if (isNaN(dia) || dia > 31 || dia < 1){
			alert("Formato do dia não é válido.");
			data.focus();
			return false
		}
		if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
			if (dia == "31"){
				alert("O mês informado não possui 31 dias.");
				data.focus();
				return false
			}
		}
		if (mes == "02"){
			bissexto = ano % 4;
			if (bissexto == 0){
				if (dia > 29){
					alert("O mês informado possui somente 29 dias.");
					data.focus();
					return false
				}
			}else{
				if (dia > 28){
					alert("O mês informado possui somente 28 dias.");
					data.focus();
					return false
				}
			}
		}
	//Verifica o mês
		if (isNaN(mes) || mes > 12 || mes < 1){
			alert("Formato do mês não é válido.");
			data.focus();
			return false
		}
		//Verifica o ano
		if (isNaN(ano)){
			alert("Formato do ano não é válido.");
			data.focus();
			return false
		}
	}
}

function buscaCidades(){
    
    valor = document.getElementById("codEstado").value;
    
    if(valor != ''){
        parametros = "estado="+valor;
        enviaPOST("exibeCidades.php",parametros, "cidades", "cidades"); //retornoUsuario
    }

}

function valida_cartao()
{
    var cartao=document.getElementById("codcartao");
        
    var param="codcartao="+cartao.value.toUpperCase();
                
    enviaPOST("valida_cartao.php", param,"cartao","cartao");
    
}

function data_vazia(campo , opcao)
{
    switch(opcao)
    {
        case '1':
        {
            if(campo.value=="      /       /    ")
            {
                campo.value="";
                return false;
            }
        }break;
        case '2':
        {
            if(campo.value=="")
            {
                var str="      /       /    ";
                campo.maxLength=str.length;
                campo.value = "      /       /    ";
                return false;
            }
        }break;
        default:
        {
            return true;
        }
    }
}

function salvarUsuario()
{
	var erro="";
    
    var login           = document.getElementById("login").value;
	var senha			= document.getElementById("senha").value;
	var confSenha		= document.getElementById("confSenha").value;
    var nome            = document.getElementById("nome").value;
    var datanasc        = document.getElementById("datanasc").value;
    var email           = document.getElementById("email").value;
    var ddd             = document.getElementById("ddd").value;
    var telefone        = document.getElementById("telefone").value;
	var combo 			= document.getElementsByName("sexo");
	var sexo			= "";
	
	for(i = 0; i < combo.length; i++)
	{
		if(combo[i].checked)
		{
			sexo = combo[i].value;
		}
	}
	
    var estadoCivil     = document.getElementById("estCivil").value;
    var logradouro      = document.getElementById("logradouro").value;
    var numero          = document.getElementById("numero").value;
    var complemento     = document.getElementById("complemento").value;
    var bairro          = document.getElementById("bairro").value;
	var cep             = document.getElementById("cep").value;
    var estado          = document.getElementById("codEstado").value;
    var cidade          = document.getElementById("codCidade").value;
    var escolaridade    = document.getElementById("escolaridade").value;
    var codcartao       = document.getElementById("codcartao").value;
	var empregado       = document.getElementById("empregado").value;
    var empresaTrab     = document.getElementById("inputEmpresa").value;
    var profissao       = document.getElementById("profissao").value;
    var cargo           = document.getElementById("cargo").value;
    var renda           = document.getElementById("renda").value;
	
    if(login == "")
	{
		erro+= "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o Login <br>";
	}
	
	if(senha != confSenha)
    {
        erro += "&nbsp;&nbsp;&nbsp;&nbsp;- A Senha n&atilde;o conferem com a Confirma&ccedil;&atilde;o da Senha. <br>";
    }
	else if(senha == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha a Senha. <br>";
    }
	
    if(nome == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o Nome. <br>";
	}
	
	if(email == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o E-mail. <br>";
	}
	
	if(ddd == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o DDD. <br>";
	}
	
	if(telefone == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o Telefone. <br>";
	}
    
	if(estadoCivil == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Selecione o Estado Civil. <br>";
	}
    
    if(estado == "-1")
	{
        erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Selecione o Estado. <br>";
        erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Selecione a Cidade. <br>";
    }
	else if(cidade == "-1")
	{
        erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Selecione a Cidade. <br>";
    }
    
    if(codcartao == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o C&oacute;digo do Cart&atilde;o. <br>";
	}
    
	if(empregado == "")
	{
		erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Selecione se está empregado atualmente. <br>";
	}
	else if(empregado == "S")
	{
		if(empresaTrab == "")
		{
			erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o Nome da Empresa. <br>";
		}
		
		if(profissao == "")
		{
			erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha a Profissão. <br>";
		}
		
		if(cargo == "")
		{
			erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha o Cargo. <br>";
		}
		
		if(renda == "")
		{
			erro += "&nbsp;&nbsp;&nbsp;&nbsp;- Preencha a Renda. <br>";
		}
	}
	
    if(erro == "")
    {
        var param = '';
        param+='cep='+cep+'&sexo='+sexo+'&estadoCivil='+estadoCivil+'&telefone='+telefone+'&ddd='+ddd;
        param+='&empregado='+empregado+'&empresaTrab='+empresaTrab+'&profissao='+profissao+'&cargo='+cargo+'&renda='+renda;
        param+='&nome='+nome+'&login='+login+'&senha='+senha+'&email='+email+'&logradouro='+logradouro+'&numero='+numero;
        param+='&complemento='+complemento+'&bairro='+bairro+'&estado='+estado+'&cidade='+cidade+'&datanasc='+datanasc;
        param+='&escolaridade='+escolaridade+'&codcartao='+codcartao.toUpperCase()+'&tipo=cadastrar';
        
        enviaPOST("cadastraUsuario.php", param,'resposta','resposta');
    }
    else
    {
        var innerHTML='<font size="2" color="F68A1F"><b><center>Favor verificar os seguintes campos:</center><br>'+erro+'</b></font><br>';
		
        document.getElementById("resposta").innerHTML = innerHTML;
    }
}

function enviarDadosEsqueceuSenha()
{
    var caminho = "enviar_senha.php";
    var tipos = document.getElementsByName("tipo");
    var div="resposta";
    var funcao="";
    var login="";
    var param="";
    var erro="";
    var html="";
    
    
    for(var i=0; i<tipos.length; i++)
    {
        if(tipos[i].checked)
        {
            funcao=tipos[i].value;
        }
    }
    
    if(funcao=="email")
    {
        login=document.getElementById("loginEmail");
        
        if(erro=="")
        {
            param="funcao="+funcao+"&login="+login.value;
            enviaPOST("enviar_senha.php", param, "resposta", "resposta");
        }
        else
        {
            document.getElementById(div).innerHTML=erro;
        }
    }
    else if(funcao=="nova_senha")
    {
        login=document.getElementById("loginNovaSenha").value;
        var codCartao=document.getElementById("codCartao").value;
        var novaSenha=document.getElementById("novaSenha").value;
        
        if(login==""&&cod_cartao==""&&nova_senha=="")
        {
            erro+= "<center>Favor preencher os campos corretamente!</center>";
        }
        else if(document.getElementById("novaSenha").value!=document.getElementById("confSenha").value)
        {
            erro+= "<center>Atenção as senhas digitadas não conferem. Favor verificar!</center>";
        }
        
        if(erro=="")
        {
            param="funcao="+funcao+"&login="+login+"&codCartao="+codCartao+"&novaSenha="+novaSenha;
            enviaPOST("enviar_senha.php", param, "resposta", "resposta");
        }
        else
        {
            document.getElementById(div).innerHTML=erro;
        }
    } 
}

function limparCamposEsqueceuSenha()
{
    var tipo=document.getElementsByName("tipo");
    for(var i=0; i<tipo.length; i++)
    {
        tipo[i].checked=false;
    }
    document.getElementById("loginEmail").value = "";
    document.getElementById("loginNovaSenha").value = "";
    document.getElementById("codCartao").value = "";
    document.getElementById("novaSenha").value = "";
    document.getElementById("confSenha").value = "";
    
    desabilitar("");
}

function desabilitar(tipo)
{
    var email=true;
    var nova_senha=true;
    var class_email=Array("#CCCCCC","#666666");
    var class_nova_senha=Array("#CCCCCC","#666666");
    
    if(tipo=="email")
    {
        email=false;
        nova_senha=true;
        class_email=Array("#FFFFFF","#000000");
        class_nova_senha=Array("#CCCCCC","#666666");
    }
    else if(tipo=="nova_senha")
    {
        email=true;
        nova_senha=false;
        class_email=Array("#CCCCCC","#666666");
        class_nova_senha=Array("#FFFFFF","#000000");
    }
    
    document.getElementById("loginEmail").readOnly=email;
    document.getElementById("loginEmail").disabled=email;
    document.getElementById("loginEmail").style.backgroundColor=class_email[0];
    document.getElementById("loginEmail").style.color=class_email[1];
    
    document.getElementById("loginNovaSenha").readOnly=nova_senha;
    document.getElementById("loginNovaSenha").disabled=nova_senha;
    document.getElementById("loginNovaSenha").style.backgroundColor=class_nova_senha[0];
    document.getElementById("loginNovaSenha").style.color=class_nova_senha[1];
    
    document.getElementById("codCartao").readOnly=nova_senha;
    document.getElementById("codCartao").disabled=nova_senha;
    document.getElementById("codCartao").style.backgroundColor=class_nova_senha[0];
    document.getElementById("codCartao").style.color=class_nova_senha[1];
    
    document.getElementById("novaSenha").readOnly=nova_senha;
    document.getElementById("novaSenha").disabled=nova_senha;
    document.getElementById("novaSenha").style.backgroundColor=class_nova_senha[0];
    document.getElementById("novaSenha").style.color=class_nova_senha[1];
    
    document.getElementById("confSenha").readOnly=nova_senha;
    document.getElementById("confSenha").disabled=nova_senha;
    document.getElementById("confSenha").style.backgroundColor=class_nova_senha[0];
    document.getElementById("confSenha").style.color=class_nova_senha[1];
}

function Compara_Datas(data_inicial, data_final){
	//Verifica se a data inicial é maior que a data final
	var data_inicial = document.getElementById(data_inicial);
	var data_final   = document.getElementById(data_final);
	str_data_inicial = data_inicial.value;
	str_data_final   = data_final.value;
	dia_inicial      = data_inicial.value.substr(0,2);
	dia_final        = data_final.value.substr(0,2);
	mes_inicial      = data_inicial.value.substr(3,2);
	mes_final        = data_final.value.substr(3,2);
	ano_inicial      = data_inicial.value.substr(6,4);
	ano_final        = data_final.value.substr(6,4);
	if(ano_inicial > ano_final){
		alert("A data inicial deve ser menor que a data final."); 
		data_inicial.focus();
		return false
	}else{
 	if(ano_inicial == ano_final){
  	if(mes_inicial > mes_final){
   	alert("A data inicial deve ser menor que a data final.");
				data_final.focus();
				return false
			}else{
				if(mes_inicial == mes_final){
					if(dia_inicial > dia_final){
						alert("A data inicial deve ser menor que a data final.");
						data_final.focus();
						return false
					}
				}
			}
		}
	}
}

function Verifica_Hora(hora, obrigatorio){
//Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
	var hora = document.getElementById(hora);
	if((obrigatorio == 1) || (obrigatorio == 0 && hora.value != "")){
		if(hora.value.length < 5){
			alert("Formato da hora inválido.\nPor favor, informe a hora no formato correto: hh:mm");
			hora.focus();
			return false
		}
		if(hora.value.substr(0,2) > 23 || isNaN(hora.value.substr(0,2))){
			alert("Formato da hora inválido.");
			hora.focus();
			return false
		}
		if(hora.value.substr(3,2) > 59 || isNaN(hora.value.substr(3,2))){
			alert("Formato do minuto inválido.");
			hora.focus();
			return false
		}
	}
}

function Verifica_Email(email, obrigatorio){
//Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
	var email = document.getElementById(email);
	if((obrigatorio == 1) || (obrigatorio == 0 && email.value != "")){
		if(!email.value.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z0-9._-]+)/gi)){
			alert("Informe um e-mail válido");
			email.focus();
			return false
		}
	}
}

function Verifica_Tamanho(campo, tamanho){
//usado para campos textarea onde não se tem o atributo maxlenght
	var campo = document.getElementById(campo);
	if(campo.value.length > tamanho){
		alert("O campo suporta no máximo " + tamanho + " caracteres.");
		campo.focus();
		return false
	}
}

function Verifica_Cep(cep, obrigatorio){
//Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não
	var cep    = document.getElementById(cep);
	var strcep = cep.value;
	if((obrigatorio == 1) || (obrigatorio == 0 && strcep != "")){
		if (strcep.length != 9){
			alert("CEP informado inválido.");
			cep.focus();
			return false
		}else{
			if (strcep.indexOf("-") != 5){
				alert("Formato de CEP informado inválido.");
				cep.focus();
				return false
			}else{
				if (isNaN(strcep.replace("-","0"))){
					alert("CEP informado inválido.");
					cep.focus();
					return false
				}
			}
		}
	}	  
}

function Bloqueia_Caracteres(evnt){
//Função permite digitação de números
	if (clientNavigator == "IE"){
		if (evnt.keyCode < 48 || evnt.keyCode > 57){
			return false
		}
	}else{
		if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.keyCode == 0){
			return false
		}
	}
}

function Ajusta_Data(input, evnt){
//Ajusta máscara de Data e só permite digitação de números
	if (input.value.length == 2 || input.value.length == 5){
		if(clientNavigator == "IE"){
			input.value += "/";
		}else{
			if(evnt.keyCode == 0){
				input.value += "/";
			}
		}
	}
//Chama a função Bloqueia_Caracteres para só permitir a digitação de números
	return Bloqueia_Caracteres(evnt);
}

function Ajusta_Hora(input, evnt){
//Ajusta máscara de Hora e só permite digitação de números
	if (input.value.length == 2){
		if(clientNavigator == "IE"){
			input.value += ":";
		}else{
			if(evnt.keyCode == 0){
				input.value += ":";
			}
		}
	}
//Chama a função Bloqueia_Caracteres para só permitir a digitação de números
	return Bloqueia_Caracteres(evnt);
}

function Ajusta_Cep(input, evnt){
//Ajusta máscara de CEP e só permite digitação de números
	if (input.value.length == 5){
		if(clientNavigator == "IE"){
			input.value += "-";
		}else{
			if(evnt.keyCode == 0){
				input.value += "-";
			}
		}
	}
//Chama a função Bloqueia_Caracteres para só permitir a digitação de números
	return Bloqueia_Caracteres(evnt);
}

function Atualiza_Opener(){
//Atualiza a página opener da popup que chamar a função
	window.opener.location.reload();
}

function Verifica_Campo(campo, msg)
{
	var campo = document.getElementById(campo);
	if(campo.value == '')
	{
		alert(msg);
		return false;
	}
	else
	{
		return true;
	}
		
}

function limpa_form(formName)
{
	document.forms[formName].reset();	
}
function limpa_form_cadastro()
{
	document.getElementById("nome").value="";
	document.getElementById("login").value="";
	document.getElementById("email").value="";
	document.getElementById("senha").value="";   
    document.getElementById("confSenha").value="";   
    document.getElementById("logradouro").value="";
    document.getElementById("numero").value="";
    document.getElementById("complemento").value="";
    document.getElementById("bairro").value="";   
    document.getElementById("datanasc").value="";       
	document.getElementById("codEstado").value="-1";
    document.getElementById("codCidade").value="-1";
    document.getElementById("escolaridade").value="-1";
    document.getElementById("codcartao").value="";   
    document.getElementById("estCivil").value=""    
    document.getElementById("ddd").value="";
    document.getElementById("telefone").value="";
    document.getElementById("cep").value="";
    document.getElementById("empregado").value="";
    document.getElementById("inputEmpresa").value="";
    document.getElementById("profissao").value="";
    document.getElementById("cargo").value="";
    document.getElementById("renda").value="";
    	
}

function envia_form()
{
	erro = "";
	post = "";
	nome = document.getElementById("nome").value;
	login = document.getElementById("login").value;
	email = document.getElementById("email").value;
	telefone = document.getElementById("telefone").value;
	cidade = document.getElementById("cidade").value;
	estado = document.getElementById("estado").value;

	if(nome != "") 		post = 'nome=' + nome; 					else erro = erro + "- Favor preencher o nome </br>";
	if(login != "") 	post = post +'&login='+ login; 			else erro = erro + "- Favor preencher o login </br>";
	if(email != "") 	post = post +'&email=' + email; 		else erro = erro + "- Favor preencher o e-mail </br>";
	if(telefone != "") 	post = post +'&telefone=' + telefone;
	if(estado != "-1") 	post = post +'&estado=' + estado; 		else erro = erro + "- Favor selecionar o estado </br>";
	if(cidade != "-1") 	post = post +'&cidade=' + cidade; 		else erro = erro + "- Favor selecionar a cidade </br>";
	
	if(erro != "")
		document.getElementById('respostaU').innerHTML = '<div id="erro">' + erro + '<br /></div>';
	else
		enviaPOST("envia_email.php", post, "respostaU", "respostaU");
}

function f_libera_cidade()
{
	nome = document.getElementById("nome").value;
	login = document.getElementById("login").value;
	email = document.getElementById("email").value;
	telefone = document.getElementById("telefone").value;
	cidade = document.getElementById("cidade").value;
	estado = document.getElementById("estado").value;

	post = 'nome=' + nome;
	post = post +'&login='+ login;
	post = post +'&email=' + email;
	post = post +'&telefone=' + telefone;
	post = post +'&estado=' + estado;

	if(estado!="-1")
	{
		post = post +'&cidade="-2"';
		enviaPOST("cadastro.php",post+"&libera_cidade=false", "conteudo", "conteudo");
	}
	else
	{
		post = post +'&cidade=' + cidade;
		enviaPOST("cadastro.php",post+"libera_cidade=true", "conteudo", "conteudo");
	}
}
//-----------------------------------------------------------------------------------------
var xmlHttp;
//é necessario 4 parametros 
// URL = onde o arquivo  php se encontra
// parametros = as variaveis q serao enviadas para o arquivo php
// idResponse = é a DIV onde será impresso a resposta do arquivo php
// idAguarde =  é a div onde aparecerá o AGUARDE...
function enviaPOST(caminho,param,idResponse,idAguarde){ 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) {
     S ("Ops! Seu navegador não suporta este tipo de funcionalidade.");
     return false;
    }
    var url=caminho;
    var dados = param;
    dados = unescape(dados);
    xmlHttp.open("POST", url, true); //Abre a url.
    //xmlHttp.setRequestHeader('Content-Type','text/xml');
    xmlHttp.setRequestHeader('encoding','ISO-8859-1');
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
    xmlHttp.onreadystatechange = function() {// chamada para funcao stateChanged 
        if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            document.getElementById(idResponse).innerHTML = xmlHttp.responseText;
        }else
            document.getElementById(idAguarde).innerHTML = '<img src="./img/ajax_preloader.gif" alt="ok" border="0" />&nbsp;&nbsp;carregando...';
    }
    xmlHttp.send(dados);
}
function GetXmlHttpObject(){
    var xmlHttp=null;
    try{
     // Firefox, Opera 8.0+, Safari
     xmlHttp=new XMLHttpRequest();
    }catch (e){
     //Internet Explorer
     try{
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
     }catch (e){
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
    }
    return xmlHttp;
}

/*////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|| Script language: JavaScript
|| Funcao para validacao de mascara pre-determinada
|| 
|| Ex:
|| <input type="text" onkeypress="mask(this,'000.000.000.000:000/00-00',1)">
|| Author: Leonardo Marchini Loureiro - Brazil
|| leonardo@loureiro.as
|| Modified: may 11, 2004
|| 
|| Modificado por : John Timóteo Santos  
|| Descrição : Adaptação para que possa ser usada tambem com Firefox ou Netscape.
||               A função recebeu mais uma parâmetro evento que é necessário para o Mozilla.
||               O retorno agora é booleano, porque retornando o caracter digitado não era
||               possível recusar o caracter no Mozilla. 
|| Data : 18-06-2007
||                
|| this        = recebe o campo
|| formato    = formato da mascara
|| conteudo    = 1 - Só Numeros; 2 - Só Letras; 3 - Numeros e Letras; 4 - Alpha numerico(Qualquer caracter)
|| evento    = o evento é utilizado apenas por browsers que tem o engine do Mozzila (Firefox, Netscape)
*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var caracs = ['.','/','-',':','(',')',','];

function mask(campo,formato,conteudo,evento){
     var i, j;
     var auxPonto    = formato;
     var auxBarra    = formato;
     var auxHifen    = formato;
    var auxDblPonto = formato;
    var auxAbrePar    = formato;
    var auxFechaPar    = formato;
    var auxVirgula    = formato;
     var tamanho        = formato.length;
     var posPonto    = new Array(tamanho);
     var posBarra    = new Array(tamanho);
     var posHifen    = new Array(tamanho);
    var posDblPonto    = new Array(tamanho);
    var posAbrePar    = new Array(tamanho);
    var posFechaPar    = new Array(tamanho);
    var posVirgula    = new Array(tamanho);
    //var keyPress    = event;
    
    if(document.all) { // Internet Explorer
        keyPress = evento.keyCode;
    } else if(document.layers) { // Nestcape
        keyPress = evento.which;
    } else {
        keyPress = evento.which;
        if (keyPress == 8) {
            return true;
        }
    }
    
    campo.maxLength = tamanho;
    sValue = campo.value;

    if (keyPress == 0)
    {
        return true;
    }

    switch (conteudo){
        case 1: // Verifica se soh podem ser entrados valores numericos
            if (!(keyPress >= 48 && keyPress <= 57))
                return false;
            break;
        case 2: // Somente Letras
            if (!(keyPress >= 97 && keyPress <= 122) || (keyPress >= 65 && keyPress <= 90))
                return false;
            break;
        case 3: // Letras e numeros
            if (!((keyPress >= 48 && keyPress <= 57) || (keyPress >= 97 && keyPress <= 122) || (keyPress >= 65 && keyPress <= 90) ))
                return false;
            break;
    }


 // ---------------------------------------- PEGA A FORMATACAO DA MASCARA -----------------------------------
     for (i=0;i<tamanho;i++){
         
         posPonto[i]     = auxPonto.indexOf('.');
         posBarra[i]     = auxBarra.indexOf('/');
         posHifen[i]     = auxHifen.indexOf('-');
        posDblPonto[i]    = auxDblPonto.indexOf(':');
        posAbrePar[i]    = auxAbrePar.indexOf('(');
        posFechaPar[i]    = auxFechaPar.indexOf(')');
        posVirgula[i]    = auxVirgula.indexOf(',');

         auxPonto     = auxPonto.substring(posPonto[i]+1,tamanho);
         auxBarra     = auxBarra.substring(posBarra[i]+1,tamanho);
         auxHifen    = auxHifen.substring(posHifen[i]+1,tamanho);
        auxDblPonto    = auxDblPonto.substring(posDblPonto[i]+1,tamanho);
        auxAbrePar    = auxAbrePar.substring(posAbrePar[i]+1,tamanho);
        auxFechaPar    = auxFechaPar.substring(posFechaPar[i]+1,tamanho);
        auxVirgula    = auxVirgula.substring(posVirgula[i]+1,tamanho);
         
         if (i > 0){
             posPonto[i]        = posPonto[i] + posPonto[i-1];
             posBarra[i]        = posBarra[i] + posBarra[i-1];
             posHifen[i]        = posHifen[i] + posHifen[i-1];
            posDblPonto[i]    = posDblPonto[i] + posDblPonto[i-1];
            posAbrePar[i]    = posAbrePar[i] + posAbrePar[i-1];
            posFechaPar[i]    = posFechaPar[i] + posFechaPar[i-1];
            posVirgula[i]    = posVirgula[i] + posVirgula[i-1];

             posPonto[i]        = posPonto[i] + 1;
             posBarra[i]        = posBarra[i] + 1;
             posHifen[i]        = posHifen[i] + 1;
            posDblPonto[i]    = posDblPonto[i] + 1;
            posAbrePar[i]    = posAbrePar[i] + 1;
            posFechaPar[i]    = posFechaPar[i] + 1;
            posVirgula[i]    = posVirgula[i] + 1;
         }

         /*
        alert('I ' + i +'\nAuxPonto        '+ auxPonto     +' PosPonto        '+ posPonto[i]        +
                        '\nAuxBarra        '+ auxBarra     +' PosBarra        '+ posBarra[i]        +
                        '\nAuxHifen        '+ auxHifen     +' PosHifen        '+ posHifen[i]        +
                        '\nAuxDblPonto    '+ auxDblPonto    +' PosDblPonto    '+ posDblPonto[i]    +
                        '\nAuxAbrePar    '+ auxAbrePar    +' PosAbrePar    '+ posAbrePar[i]    +
                        '\nAuxFechaPar    '+ auxFechaPar    +' PosFechaPar    '+ posFechaPar[i]    +
                        '\nAuxVirgula    '+ auxVirgula    +' PosVirgula    '+ posVirgula[i]    );
        //*/

    // ---------------------------------------- APLICA A FORMATACAO DA MASCARA -----------------------------------
        tecla = keyPress;
        if (tecla != 8 && tecla != 45 && tecla != 46 && tecla != 47 && tecla != 58){
            if (sValue.length == posPonto[i]){
                sValue = sValue + '.';
            }
            if (sValue.length == posBarra[i]){
                sValue = sValue + '/';
            }
            if (sValue.length == posHifen[i]){
                sValue = sValue + '-';
            }
            if (sValue.length == posDblPonto[i]){
                sValue = sValue + ':';
            }
            if (sValue.length == posAbrePar[i]){
                sValue = sValue + '(';
            }
            if (sValue.length == posFechaPar[i]){
                sValue = sValue + ')';
            }
            if (sValue.length == posVirgula[i]){
                sValue = sValue + ',';
            }

         }
     }

    campo.value = sValue;
    campo.focus();

}


function limpaMascara(str){
    for (var i=0;i<str.length;i++)
        for (var j=0;j<caracs.length;j++)
            if (caracs[j] == str.charAt(i))
                str = str.replace(caracs[j],'');
    return str;
}

function echeck(str) 
{
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if (str.indexOf(at)==-1){
       //alert("Invalid E-mail ID")
       return false
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       //alert("Invalid E-mail ID")
       return false
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        //alert("Invalid E-mail ID")
        return false
    }

     if (str.indexOf(at,(lat+1))!=-1){
        //alert("Invalid E-mail ID")
        return false
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        //alert("Invalid E-mail ID")
        return false
     }

     if (str.indexOf(dot,(lat+2))==-1){
        //alert("Invalid E-mail ID")
        return false
     }
    
     if (str.indexOf(" ")!=-1){
        //alert("Invalid E-mail ID")
        return false
     }

     return true                    
}

//-------------------------------------------------------------------------------------------