
    
    function mascara(o,f){
	    v_obj=o;
	    v_fun=f;
	    setTimeout("execmascara()",1);
	 }
    var retornoErroData; 
    function mascara(o,f,r){
    	retornoErroData = r;
    	v_obj=o;
	    v_fun=f;
	    setTimeout("execmascara()",1);
	 }

	function execmascara(){
	    v_obj.value=v_fun(v_obj.value);
	}	
    
    function jtelefone(v){
	    v=v.replace(/\D/g,"") ;                //Remove tudo o que não é dígito
	    v=v.replace(/^(\d\d)(\d)/g,"($1)$2"); //Coloca parênteses em volta dos dois primeiros dígitos
	    v=v.replace(/(\d{4})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
		return v;
	}  
 /*   esta função está no no inv/..
    //var reMoeda = /^\d{1,3}(\.\d{3})*\.\d{2}$/;
    var reMoeda = /^\d*\.\d{2}$/;
    var reDigits = /^\d+$/;

    function doMoeda(pStr){
    	pStr = pStr.replace(/,/g,".");
    	    	
    	if (reMoeda.test(pStr) || reDigits.test(pStr)) {
    		alert(pStr + " é um valor financeiro válido.");
    	} else if (pStr != null && pStr != "") {    		
    		alert(" Verifique o valor digitado.");    		
    	}
    }

  */  
    function jcelular(v){
	    v=v.replace(/\D/g,"");                 //Remove tudo o que não é dígito
	    v=v.replace(/^(\d\d)(\d)/g,"($1)$2"); //Coloca parênteses em volta dos dois primeiros dígitos
	    v=v.replace(/(\d{4})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
		return v;
	}   
    
    function jcep(v){
	    v=v.replace(/\D/g,"");                 //Remove tudo o que não é dígito
	    v=v.replace(/(\d{5})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
		return v;
	}
    
    function jemail(v){
    	return v.replace(/^\s+|\s+$/g,"");
    }
    
    function validarEmail(email){      	
    	var str = jemail(email);
    	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;      
    	if (!filter.test(str)) {
    		//email.focus();
    		//email.select();  
    		document.getElementById("emailErro").innerHTML = "Email incorreto!!";
    		document.getElementById("emailStatus").innerHTML = "";
    		if(str == ""){
    			document.getElementById("emailErro").innerHTML = "";
        		document.getElementById("emailStatus").innerHTML = "";
    		}
    		
    		return false;
    	}else{
    		document.getElementById("emailErro").innerHTML = "";
    	    return true;
    	}
    }
    
    
    function jdata(v){    	
    	document.getElementById(retornoErroData).innerHTML = "";
	 	if(v.length <= "6"){  
	       v=v.replace(/(\d{2})(\d)/,"$1/$2");    //Coloca barra entre o quarto e o quinto dígitos
		}else{
		  v=v.replace(/\D/g,"");  //Remove tudo o que não é dígito   
	      v=v.replace(/(\d{2})(\d)/,"$1/$2");    //Coloca barra entre o quarto e o quinto dígitos
	      v=v.replace(/(\d{2})(\d)/,"$1/$2");
	    }
	    if(v.length == "10"){
		  doDate( v, "5");
		}
		return v;
	  }


		
	var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
	var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
	var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
	var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reDate = reDate4;

	function doDate(pStr, pFmt){
		//alert("Estou no doDate");
		//alert(pStr);
		eval("reDate = reDate" + "5");
		if (reDate.test(pStr)) {
			//alert(pStr + " é uma data válida.");
			
		 	//document.all.profissao.focus();		
			 var data = new Date(  pStr.replace(/(\d+).(\d+).(\d+)/, "$3/$2/$1")  );
			
			if (data.getFullYear() > 1910 ){
//				document.getElementById("dataErro").innerHTML = "";
				document.getElementById(retornoErroData).innerHTML =  "";
			}else{
				document.getElementById(retornoErroData).innerHTML = "Verifique o ano digitado!!";	 
//				document.getElementById("dataErro").innerHTML = "Verifique o ano digitado!!";
			}
			//onblur();
		} else if (pStr != null && pStr != "") {
			
			document.getElementById(retornoErroData).innerHTML = pStr + " - Data inv&aacute;lida.";

		}
	} // doDate
	
	function isDate(pStr){	
//		alert(pStr.toLocaleString());
		eval("reDate = reDate" + "5");
		if (reDate.test(pStr)) {	
			
			 var data = new Date(  pStr.replace(/(\d+).(\d+).(\d+)/, "$3/$2/$1")  );
			
			if (data.getFullYear() < 1910 ){
				return false;
			}
			return true;
		}		
		return false; 
	}
	
	
	/*    Metodos especificos       */
	
	function cepDigitado(){
		 var numero = document.getElementById('numero');
		 var pais = document.getElementById('pais');
		 var cep1 = document.getElementById('srCep');
		 var cep = document.all.srCep.value;
		 if (cep.length == "9"){
				 numero.focus();
		}
	  }	
	
	function limparMensagensErro(){
		document.getElementById("nomeErro").innerHTML = "";
		document.getElementById("nascimentoObrigatorio").innerHTML = "";
		document.getElementById("telefoneErro").innerHTML = "";
		document.getElementById("sexoErro").innerHTML = "";
		document.getElementById("estadoCivilErro").innerHTML = "";
		document.getElementById("ufErro").innerHTML = "";
		document.getElementById("paisErro").innerHTML = "";
		document.getElementById("tipoLogradouroErro").innerHTML = "";
		document.getElementById("logradouroErro").innerHTML = "";
		document.getElementById("numeroErro").innerHTML = "";
		document.getElementById("bairroErro").innerHTML = "";
		document.getElementById("cidadeErro").innerHTML = "";
		document.getElementById("documentoAErro").innerHTML = "";
		document.getElementById("emailErro").innerHTML = "";
		document.getElementById("senhaErro").innerHTML = "";
		document.getElementById("senhaErro2").innerHTML = "";
		document.getElementById("resposta").innerHTML = "";
		document.getElementById("respostaErro").innerHTML = "";
		document.getElementById("emailErro").innerHTML = "";
	}
	
	function verificarDataNascimentoObrigatorio(v) {
		//alert("Estou no verificarDataNascimentoObrigatorio v="+v.length);
		if(v.length != 10){
			if((document.getElementById("nome").value == "")||
	    			(document.getElementById("nome").value.length < 4) ||
	    			(document.getElementById("nome").value.indexOf(" ") == -1)
	    	){	
				//alert("O nome ainda esta incompleto");
			}else{	
				document.getElementById("nascimentoObrigatorio").innerHTML = "Campo obrigat&oacute;rio!!";
				return false;
			}
		}else{
			document.getElementById("nascimentoObrigatorio").innerHTML = "";
			doDate( v, "5");
			return true;
			
		}
	}
    
    function vericarNomeCompleto(){
    	if((document.getElementById("nome").value == "")||
    			(document.getElementById("nome").value.length < 4) ||
    			(document.getElementById("nome").value.indexOf(" ") == -1)
    	){	 
    		
    		document.getElementById("nomeErro").innerHTML = "Nome incompleto ou inv&aacute;lido!!";
    		return false;
		}else{
			document.getElementById("nomeErro").innerHTML = "";
			return true;
		}
    }
    
    function verificarTelefones(){    	
    	if(((document.getElementById("telefoneRes").value != "")  && 
    			(document.getElementById("telefoneRes").value.length == 13) )){	
    		
    		if(document.getElementById("ddi").value.length == 2){
    			
    			if(document.getElementById("tipo").value != ""){ 
    				document.getElementById("telefoneErro").innerHTML =	"";  
    				return true;
    			}    			
    			
    			return false;
    		}    		
    		document.getElementById("telefoneErro").innerHTML =
				"Digite DDI !!";  
    		
    		return false;
    		} else{
    			if(document.getElementById("telefoneRes").value != ""){
    				document.getElementById("telefoneErro").innerHTML =
    					"Telefone inv&aacute;lido!!";  
    			}
    			return false; 
    		}	
    }
    
    function autoCompletaNacionalidade(v){
    	//alert("b="+v.value);
    	if((v.value == "b") || (v.value == "B")){
    		document.getElementById("nacionalidade").value = "BRASILEIRO";
    	}
    	document.getElementById("nacionalidadeErro").innerHTML = "";
    }
    
    function verificaDataEmissao(){
    	if(document.getElementById("documentoB").value == ""){
    		document.getElementById("dataEmissao").value = "";
    		
    	}
    }
    
    function verificaPreenchimento(){
    	if(!vericarNomeCompleto()){ return;	}
    	if(!verificarDataNascimentoObrigatorio(document.getElementById("nascimento").value)){ return;	}
    	if(document.getElementById("nacionalidade").value == ""){
    		document.getElementById("nacionalidadeErro").innerHTML = "Digite sua nacionalidade";
    		return;
    	}
    	if(document.getElementById("sexo").value == ""){
    		document.getElementById("sexoErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("estadoCivil").value == ""){
    		document.getElementById("estadoCivilErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("uf").value == ""){
    		document.getElementById("ufErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("pais").value == ""){
    		document.getElementById("paisErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("tipoLogradouro").value == ""){
    		document.getElementById("tipoLogradouroErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("logradouro").value == ""){
    		document.getElementById("logradouroErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("numero").value == ""){
    		document.getElementById("numeroErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("bairro").value == ""){
    		document.getElementById("bairroErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(document.getElementById("cidade").value == ""){
    		document.getElementById("cidadeErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(!verificarTelefones()){ return;	}
    	if(!valida_cpf(document.getElementById("documentoA").value)){ return;	}
    	
    	if(document.getElementById("documentoA").value == ""){
    		document.getElementById("documentoAErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}
    	if(!validarEmail(document.getElementById("email"))){ return;	}
    	if((document.getElementById("senha").value == "")|| document.getElementById("senha2").value == ""){
    		document.getElementById("senhaErro").innerHTML = "Campo Obrigat&oacute;rio";
    		return;
    	}   	
    	
    	if(document.getElementById("senha").value != document.getElementById("senha2").value ){
    		document.getElementById("senhaErro").innerHTML = "Senha n&atilde;o confere!!";
    		return;
    	}
    	
    	 if(document.getElementById("senha").value.length < 6){
     		//alert("Senha nao possui letra"); 
     		document.getElementById("senhaErro2").innerHTML = "Senha deve possuir no minimo 6 caracter (letras e numeros)";
     		return;
     	 }
    	 if(document.getElementById("senha").value.length > 10){
      		//alert("Senha nao possui letra"); 
      		document.getElementById("senhaErro2").innerHTML = "Senha deve possuir no maximo 10 caracter (letras e numeros)";
      		return;
      	 }
    	 var er = /^[0-9]*$/;     	
    	 if(er.test(document.getElementById("senha").value)){
    		//alert("Senha nao possui letra"); 
    		document.getElementById("senhaErro").innerHTML = "Senha n&atilde;o possui letra!!";
    		return;
    	 }
    	 var er2 = /^[a-z]*$/;
    	 if(er2.test(document.getElementById("senha").value)){
     		//alert("nao possui numero"); 
     		document.getElementById("senhaErro").innerHTML = "Senha n&atilde;o possui numero!!";
    		return;
     	 }
    	 limparMensagensErro();
    	 salvarCliente();
    	// alert("Cadastro realizado com sucesso!!");  	
    	
    }
    
    
    function valida_cpf(cpf){
    
//    So verifica tamanho do cpf  	
//    var er = 	/^((\d{3})){2}(\d{3})(\d{2})*$/;        
//    alert(er.test(cpf));
    
    if (cpf.length == 0){
    	document.getElementById("documentoAErro").innerHTML = "Campo Obrigat&oacute;rio";
		return false;
    }
    if (cpf == "naonao"){
    	//document.getElementById("documentoAErro").innerHTML = "Opa";
		return true;
    }
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;
    if (cpf.length < 11){  
    	document.getElementById("documentoAErro").innerHTML = "CPF inv&aacute;lido";
    	return false;
    }
    for (i = 0; i < cpf.length - 1; i++)
          if (cpf.charAt(i) != cpf.charAt(i + 1)){
             digitos_iguais = 0;
             break;
         }
    if (!digitos_iguais){
          numeros = cpf.substring(0,9);
          digitos = cpf.substring(9);
          soma = 0;
          for (i = 10; i > 1; i--){
                soma += numeros.charAt(10 - i) * i;
          }
          resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
          
          if (resultado != digitos.charAt(0)){ 
        	  document.getElementById("documentoAErro").innerHTML = "CPF inv&aacute;lido";
        	  return false;
          }
          numeros = cpf.substring(0,10);
          soma = 0;
          for (i = 11; i > 1; i--){
                soma += numeros.charAt(11 - i) * i;
          }
          resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
          if (resultado != digitos.charAt(1)){
        	  	document.getElementById("documentoAErro").innerHTML = "CPF inv&aacute;lido";
                return false;
          }
          document.getElementById("documentoAErro").innerHTML = "";         
          return true;
      }else{   
    	  document.getElementById("documentoAErro").innerHTML = "CPF inv&aacute;lido";
          return false;
    }
  }
  
  /*function buscaEndereco() {	 
		 var retornoMetodo = function(endereco) {    	  
	  	 	 dwr.util.setValue("tipoLogradouro", endereco[0] ); 
	  	 	 dwr.util.setValue("logradouro", endereco[1] );       
	  	 	 dwr.util.setValue("bairro", endereco[2] );       
	  	 	 dwr.util.setValue("cidade", endereco[3] );       
	  	 	 dwr.util.setValue("uf", endereco[4] ); 
	  	 	dwr.util.setValue("pais", "BRASIL" ); 
	  	 	 dwr.util.setValue("res5", endereco[5] );                     	 
	  	}
		 var cep = dwr.util.getValue("srCep");			
		 
		 utilitario.getBuscarCep(cep, retornoMetodo);	 
 	 	     	 
 	}*/
	
    function formSubmitTel(){
		if (verificarTelefones()) {			
			cadastrarTelefone();
		}else{
			if (document.getElementById("tipo").value == "") {
				document.getElementById("telefoneErro").innerHTML = "Escolha um tipo !!";
			}else{
				document.getElementById("telefoneErro").innerHTML =	"";  
				verificarTelefones();
			}
		}
	}
    
    function formSubmitEmail(){			
		if (validarEmail(document.getElementById("email")) ) {				 
			cadastrarEmail();
		}
	}
    
    function validarSenha(){	
		if(document.getElementById("senhaNova").value == document.getElementById("senhaConf").value){	
				
			if(document.getElementById("senhaNova").value.length < 6 ){
				document.getElementById("senhaErro").innerHTML = "Digite no mínimo 6(seis) caracteres";
				document.getElementById("senhaStatus").value = "";

				document.getElementById("senhaAtual").value = "";
				document.getElementById("senhaConf").value = "";
				document.getElementById("senhaNova").value = "";
				return false;
			}
						
			expressaoRegular = /^\d+$/; //Expressão regular para validar numero
			var pStr = document.getElementById("senhaNova").value;
			if (expressaoRegular.test(document.getElementById("senhaNova").value)) {
				document.getElementById("senhaErro").innerHTML = "Digite letras e números!!";
				document.getElementById("senhaStatus").value = "";
				
				document.getElementById("senhaAtual").value = "";
				document.getElementById("senhaConf").value = "";
				document.getElementById("senhaNova").value = "";
				return false;
			} 			

			expressaoRegular = /^\D+$/; //Expressão regular para validar letras [a-zA-Z0-9_]		
			if (expressaoRegular.test(document.getElementById("senhaNova").value)) {
				document.getElementById("senhaErro").innerHTML = "Digite letras e números!!";
				document.getElementById("senhaStatus").value = "";
				document.getElementById("senhaAtual").value = "";
				document.getElementById("senhaConf").value = "";
				document.getElementById("senhaNova").value = "";				
				return false;
			} 

			expressaoRegular = /^\w+$/; //Expressão regular para validar alfanumerico [a-zA-Z0-9_]		
			if (!expressaoRegular.test(document.getElementById("senhaNova").value)) {
				document.getElementById("senhaErro").innerHTML = "Digite somente letras e números!!";
				document.getElementById("senhaStatus").value = "";
				document.getElementById("senhaAtual").value = "";
				document.getElementById("senhaConf").value = "";
				document.getElementById("senhaNova").value = "";			
				return false;
			} 
			document.getElementById("senhaErro").innerHTML = "";
			//alert("Alterar senha");
			alterarSenha();
			return true;
		}else{
			document.getElementById("senhaErro").innerHTML = "Senha não confere !!";
			document.getElementById("senhaAtual").value = "";
			document.getElementById("senhaConf").value = "";
			document.getElementById("senhaNova").value = "";
			return false;
		}
		
	}

   
   