/*Validacao de campos*/

/* Validacao PF */


var aux=0;
function verifica() {

 if(document.form_inc){
	 if(notEmpty(document.form_inc.txt_nome, 'Forneça um nome válido.') &&
		notEmpty(document.form_inc.txt_rg, 'Forneça um RG válido.') &&
		emailValidator(document.form_inc.email, 'Forneça um email válido.') &&
		notEmpty(document.form_inc.empresa, 'Forneça uma empresa válida.') &&
		notEmpty(document.form_inc.fone, 'Forneça um número de telefone válido.') &&
	    notEmpty(document.form_inc.txt_registro, 'Forneça um registro profissional válido.') &&
		comboboxVal(document.form_inc.cod_funcao, 'Forneça uma função válida.')
	 ){
		return true;
	 }else {
		return false;
	  }
 }
 if(document.formLan){
	 if(notEmpty(document.formLan.regiao, 'Forneça um nome válido.') &&
		notEmpty(document.formLan.municipio, 'Forneça um município válido.') &&
		notEmpty(document.formLan.produto, 'Forneça um produto válido.') &&
		notEmpty(document.formLan.descricao, 'Forneça uma descrição válida.') &&
		CheckDate(document.formLan.data, 'Forneça uma data válida \n DD/MM/AAAA') &&
		valida_horas(document.formLan.hora,'Forneça uma hora válida.') &&
		notEmpty(document.formLan.responsavel, 'Forneça um nome de um responsável válido.') &&
		notEmpty(document.formLan.fone, 'Forneça um número de telefone válido.') &&
		isNumeric(document.formLan.qntPessoas, 'Forneça um número de pessoas válido.')
	   ){
		return true;
	 }else {
		return false;
	 }
 }
 if(document.form_expo){
	 if(notEmpty(document.form_expo.nome_ent, 'Forneça um nome válido.') &&
		notEmpty(document.form_expo.nome_resp, 'Forneça um nome válido.') &&
		notEmpty(document.form_expo.fone_resp, 'Forneça um número de telefone válido.') &&
		isNumeric(document.form_expo.expositor, 'Forneça um número de pessoas para expositores válido.') &&
		isNumeric(document.form_expo.ambientacao, 'Forneça um número de pessoas para ambientação válido.') &&
		isNumeric(document.form_expo.imprensa, 'Forneça um número de pessoas para imprensa/comunicação válido.') &&
		isNumeric(document.form_expo.servico, 'Forneça um número de pessoas para serviço válido.') &&
		isNumeric(document.form_expo.outros, 'Forneça um número de pessoas para outros válido.') &&
		notEmpty(document.form_expo.sign_nome, 'Forneça um nome válido.') &&
		notEmpty(document.form_expo.sign_cpf, 'Forneça um cpf válido.') &&
		notEmpty(document.form_expo.sign_ent, 'Forneça um nome válido.')
	 ){
		 return true;
	 }else{
		 return false;
	 }
	 
 }
}


/*Validação*/
/*email*/
function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

/*alfabeto*/
function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z\s]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
/*alfanumerico*/
function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z ]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
/*numerico*/
function isNumeric(elem, helperMsg){
	var alphaExp = /^[0-9]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
/*não vazio*/
function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function CheckDate(pObj,msg) {
	  var expReg = /^((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 aRet = true;
	  if ((pObj) && (pObj.value.match(expReg)) && (pObj.value != '')) {
		var dia = pObj.value.substring(0,2);
		var mes = pObj.value.substring(4,5);
		var ano = pObj.value.substring(7,10);
		if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia > 30) 
		  aRet = false;
		else 
		  if ((ano % 4) != 0 && mes == 2 && dia > 28) 
			aRet = false;
		  else
			if ((ano%4) == 0 && mes == 2 && dia > 29)
			  aRet = false;
	  }  else 
		aRet = false;
		if(aRet == false){
			alert(msg);
		}  
	  return aRet;
	}

function valida_cpf(f,campo){
    pri = eval("document."+f+"."+campo+".value.substring(0,3)");
    seg = eval("document."+f+"."+campo+".value.substring(4,7)");
    ter = eval("document."+f+"."+campo+".value.substring(8,11)");
    qua = eval("document."+f+"."+campo+".value.substring(12,14)");

    var i;
    var numero;

    numero = (pri+seg+ter+qua);

    s = numero;
    c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;

    for (i = 0; i < 9; i++){
       d1 += c.charAt(i)*(10-i);
    }

    if (d1 == 0){
       var result = "falso";
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

    if (dv.charAt(0) != d1){
       var result = "falso";
    }

    d1 *= 2;
    for (i = 0; i < 9; i++){
       d1 += c.charAt(i)*(11-i);
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

    if (dv.charAt(1) != d1){
       var result = "falso";
    }

    if (result == "falso") {
       alert("Forneça um cpf válido.");
       aux1 = eval("document."+f+"."+campo+".focus");
       aux2 = eval("document."+f+"."+campo+".value = ''");

    }else{
		return true;
	}
}

function valida_cpf2(f,valor){
	
	valor = valor.replace(".", "");
	valor = valor.replace(".", "");
	valor = valor.replace(".", "");
	valor = valor.replace("-", "");
	
    var i;
    var numero;

    numero = valor;
	
    s = numero;
    c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;

    for (i = 0; i < 9; i++){
       d1 += c.charAt(i)*(10-i);
    }

    if (d1 == 0){
       var result = "falso";
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

    if (dv.charAt(0) != d1){
       var result = "falso";
    }

    d1 *= 2;
    for (i = 0; i < 9; i++){
       d1 += c.charAt(i)*(11-i);
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

    if (dv.charAt(1) != d1){
       var result = "falso";
    }

    if (result == "falso") {
       //alert("Forneça um cpf válido.");
       //aux1 = eval("document."+f+"."+campo+".focus");
       //aux2 = eval("document."+f+"."+campo+".value = ''");
	   return false;

    }else{
		return true;
	}
}


function valida_cnpj(f,campo){
    pri = eval("document."+f+"."+campo+".value.substring(0,2)");
    seg = eval("document."+f+"."+campo+".value.substring(3,6)");
    ter = eval("document."+f+"."+campo+".value.substring(7,10)");
    qua = eval("document."+f+"."+campo+".value.substring(11,15)");
    qui = eval("document."+f+"."+campo+".value.substring(16,18)");

    var i;
    var numero;
    var situacao = '';

    numero = (pri+seg+ter+qua+qui);

    s = numero;

    c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;

    for (i = 0; i < 12; i++){
       d1 += c.charAt(11-i)*(2+(i % 8));
    }

    if (d1 == 0){
       var result = "falso";
    }
       d1 = 11 - (d1 % 11);

    if (d1 > 9) d1 = 0;

       if (dv.charAt(0) != d1){
          var result = "falso";
       }

    d1 *= 2;
    for (i = 0; i < 12; i++){
       d1 += c.charAt(11-i)*(2+((i+1) % 8));
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

       if (dv.charAt(1) != d1){
          var result = "falso";
       }


    if (result == "falso") {
       alert("Forneça um cnpj válido.");
       aux1 = eval("document."+f+"."+campo+".focus");
       aux2 = eval("document."+f+"."+campo+".value = ''");
       return false;

    }else{
		return true;
     }
}


function valida_cnpj2(f,valor){

    var i;
    var numero;
    var situacao = '';

    numero = valor;

    s = numero;

    c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;

    for (i = 0; i < 12; i++){
       d1 += c.charAt(11-i)*(2+(i % 8));
    }

    if (d1 == 0){
       var result = "falso";
    }
       d1 = 11 - (d1 % 11);

    if (d1 > 9) d1 = 0;

       if (dv.charAt(0) != d1){
          var result = "falso";
       }

    d1 *= 2;
    for (i = 0; i < 12; i++){
       d1 += c.charAt(11-i)*(2+((i+1) % 8));
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;

       if (dv.charAt(1) != d1){
          var result = "falso";
       }


    if (result == "falso") {
       //alert("Forneça um cnpj válido.");
       //aux1 = eval("document."+f+"."+campo+".focus");
       //aux2 = eval("document."+f+"."+campo+".value = ''");
       return false;

    }else{
		return true;
     }
}

function comboboxVal(alvo, frase){
    valor = alvo.value;
    if (valor == ""){
        alert(frase);
        alvo.focus();
        return false;
    }else{
        return true;
   }
}



function valida_horas(campo,msg){  

  var hrs = (campo.value.substring(0,2));  
  var min = (campo.value.substring(3,5));  
  var estado = true;  
  if ((hrs > 23) || (hrs < 00) || (min > 59) || (min < 00)){  
     estado = false;  
  }  
 
  if (!campo.value) {  
     estado = false;  
  }  
  if (estado == false) {  
     alert(msg);  
     campo.focus();  
  }
  return estado;
}   

/*FIM de validações*/


function testa() {
	if(verifica()==true){
		return true;
	}
	else {
		return false;
	}
}




function Mascara(tipo, campo, teclaPress) {
    if (window.event)
    {
            var tecla = teclaPress.keyCode;
    } else {
            tecla = teclaPress.which;
    }

    var s = new String(campo.value);
    // Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
    s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');

    tam = s.length + 1;

    if ( tecla != 9 && tecla != 8 ) {
            switch (tipo)
            {
            case 'CPF' :
                    if (tam > 3 && tam < 7)
                            campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
                    if (tam >= 7 && tam < 10)
                            campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
                    if (tam >= 10 && tam < 12)
                            campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
                    if (tam > 12)                           
                            campo.value = campo.value.substr(0,campo.value.length-1);                                                       
            break;

            case 'CNPJ' :

                    if (tam > 2 && tam < 6)
                            campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
                    if (tam >= 6 && tam < 9)
                            campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
                    if (tam >= 9 && tam < 13)
                            campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
                    if (tam >= 13 && tam < 15)
                            campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
                    if (tam > 15)                           
                            campo.value = campo.value.substr(0,campo.value.length-1);                       
                            
            break;

            case 'TEL' :
                    if (tam > 2 && tam < 4)
                            campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
                    if (tam >= 7 && tam < 11)
                            campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
                    if (tam > 11)                           
                            campo.value = campo.value.substr(0,campo.value.length-1);                       
            break;

            case 'DATA' :
                    if (tam > 2 && tam < 4)
                            campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
                    if (tam > 4 && tam < 11)
                            campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
                    if (tam > 9)                            
                            campo.value = campo.value.substr(0,campo.value.length-1);                       
                            
            break;
            
            case 'CEP' :
                    if (tam > 5 && tam < 7)
                            campo.value = s.substr(0,5) + '-' + s.substr(5, tam);
                    if (tam > 9)                            
                            campo.value = campo.value.substr(0,campo.value.length-1);                       
                            
            break;
            
            case 'HORA' :
            	if (tam > 2 && tam < 4)
            		campo.value = s.substr(0,2) + ':' + s.substr(2, tam);
            	if (tam > 6)                            
                    campo.value = campo.value.substr(0,campo.value.length-1);
            break;
            
            }
    }
}



//--->Função para verificar se o valor digitado é número...<---
function digitos(event){
        if (window.event) {
                // IE
                key = event.keyCode;
        } else if ( event.which ) {
                // netscape
                key = event.which;
        }
        if ( key != 8 || key != 13 || key < 48 || key > 57 )
                return ( ( ( key > 47 ) && ( key < 58 ) ) || ( key == 8 ) || ( key == 13 ) );
        return true;
}

function limpa_campo(mesmo,conteudo){
	if(mesmo.value == conteudo){mesmo.value = "";}
}

function recupera_campo(mesmo,conteudo)	{
  if(mesmo.value == ""){mesmo.value = conteudo;}
}
