/*==================================================
             VALIDAÇÃO DE DATA
================================================== */
function varData(sDia, sMes, sAno) {

	  var oDia = sDia;
	  var oMes = sMes;
	  var oAno = sAno;

	if ((oDia.value == "")||(oMes.value == "")||(oAno.value == "")){
		alert("O campo deve ser preenchido.");
		oDia.focus();
		return false;
	}
	if ((parseInt(oDia.value,10) <=0) || (parseInt(oDia.value,10) >31)) {
		alert("O dia é um número inválido.");
		oDia.focus();
		return false;
	}

	//var selecionado = {oMes.value;  //Indice do mês
        var selecionado = parseInt(oMes.value,10);  //Indice do mês

        if ((parseInt(oMes.value, 10)<=0) || (parseInt(oMes.value,10) > 12)) {
                  alert("O mês é um número inválido.");
                  oMes.focus();
                  return false;
        }

	if ( ((selecionado==4) || (selecionado==6) || (selecionado==9) || (selecionado==11)) && (parseInt(oDia.value,10) >30)){
		alert("Dia inválido para o mês selecionado.");
		oMes.focus();
		return false;
	}
	if ((selecionado==2) && (parseInt(oDia.value,10) >29)) {
		alert("Dia inválido para o mês selecionado.");
		oDia.focus();
		return false;
	}

	//Verifica se o ano possui 4 dígitos
	if(oAno.value.length < 4){
		alert("O ano não possui 4 dígitos.");
		oAno.focus();
		return false;
	}

	//Verifica se o ano é bissexto
	if (((parseInt(oAno.value,10)%4!=0) ) && ((selecionado==2) && (parseInt(oDia.value,10)==29))) {
		alert("O ano não é bissexto.");
		oAno.focus();
		return false;
	}
	//Verifica se os valores digitados são números
	if (isNaN(oDia.value) || isNaN(oAno.value) || isNaN(oMes.value)) {
		alert("É permitido somente números.");
		oDia.focus();
		return false;
	}
	return true;
}


/*==================================================
             VALIDAÇÃO DE E-MAIL
================================================== */
function validaEmail(form, fieldName){

  eval("myForm = document." + form);
  eval("var field = myForm." + fieldName);

  var str = field.value;

  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);

    if (!reg1.test(str) && reg2.test(str)) {
      return true;
    }

    alert("O campo e-mail não foi preenchido corretamente.");

    field.focus();
    field.select();
	event.returnValue=false;
    return false;
    } else {

    if(str.indexOf("@") >= 0)
      return true;
      alert("O campo e-mail não foi preenchido corretamente.");
    field.focus();
    field.select();
	event.returnValue=false;
    return false;
  }
}

function continua_cadastro(form, fieldName) {
	
	eval("myForm = document." + form);
	
	if (validaEmail(form, fieldName)){
		myForm.submit();	
	}
}
/*==================================================
          VALIDAÇÃO DE CPF / CNPJ
================================================== */
function check_cpf (numcpf) {

	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;

	if (len == 0) {
		alert("Por favor preencha o campo CPF/CNPJ.");
		return false;
	}

	if ((numcpf == "11111111111") || (numcpf == "22222222222") || (numcpf=="33333333333") ||(numcpf =="44444444444") || (numcpf =="55555555555") || (numcpf =="66666666666") || (numcpf =="77777777777") || (numcpf =="88888888888") || (numcpf =="99999999999") || (numcpf =="00000000000")){
		alert("CPF ou CNJP inválido !");
		return false;
}

	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}

	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;

	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}

	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;

	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		//alert ("OK !!!");
		return true;
	}

	// CNPJ
	cgc = numcpf;
	if ((cgc.indexOf("-") != -1) || (cgc.indexOf(".") != -1) || (cgc.indexOf("/") != -1)){
		alert ("O campo CPF/CNPJ só pode conter números. ex.: (07882998112)");
		return false
	}
	var df, resto, dac = ""
	df = 5*cgc.charAt(0)+4*cgc.charAt(1)+3*cgc.charAt(2)+2*cgc.charAt(3)+9*cgc.charAt(4)+8*cgc.charAt(5)+7*cgc.charAt(6)+6*cgc.charAt(7)+5*cgc.charAt(8)+4*cgc.charAt(9)+3*cgc.charAt(10)+2*cgc.charAt(11)
	resto = df % 11
	dac += ( (resto <= 1) ? 0 : (11-resto) )
	df = 6*cgc.charAt(0)+5*cgc.charAt(1)+4*cgc.charAt(2)+3*cgc.charAt(3)+2*cgc.charAt(4)+9*cgc.charAt(5)+8*cgc.charAt(6)+7*cgc.charAt(7)+6*cgc.charAt(8)+5*cgc.charAt(9)+4*cgc.charAt(10)+3*cgc.charAt(11)+2*parseInt(dac)
	resto = df % 11
	dac += ( (resto <= 1) ? 0 : (11-resto) )

		if (!(dac == cgc.substring(cgc.length-2,cgc.length))){
		   alert("O CPF ou CNPJ estão incorretos !")
		   return false
		}

	return (dac == cgc.substring(cgc.length-2,cgc.length))
}

//AUTO TAB - MUDANÇA AUTOMÁTICA DE CAMPOS

function autotab(original, destination){
        //              alert(destination.name);
     if(original.getAttribute&&original.value.length==original.getAttribute("maxlength")) {

         destination.focus()
        
     }
}


function getIndex(form, name) {
                  
     for (var i=0;i<form.elements.length;i++) {
       if (form.elements[i].name == name)
          return i
     }

}
