//=====================================  VALIDAO DOS CAMPOS, E VERIFICA OS CAMPOS QUE SO NMERICOS E EMAIL ==============================
//============================================================================================================================================
//============================================================================================================================================


function MM_findObj(n, d) { //v4.01 
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
if(!x && d.getElementById) x=d.getElementById(n); return x; 
} 

function MM_validateForm() { //v4.0 
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; 
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); 
if (val) { nm=val.name; if ((val=val.value)!="") 

//Email 
{ 
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); 
if (p<1 || p==(val.length-1)) errors+='- '+nm+' não contém um e-mail com sintaxe válida.\n';  // esse p é a primeira parte do email 
} 

//validar números requeridos 
else if (test!='R') { num = parseFloat(val); 
if (isNaN(val)) errors+='- '+nm+' Somente números.\n'; 
if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); 
min=test.substring(8,p); max=test.substring(p+1); 
if (num<min || max<num) errors+='- '+nm+' o número precisa estar entre '+min+' e '+max+'.\n'; 
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n'; } 
} 
// Errores 
if (errors) alert('Erro ao submeter o formulário:\n'+errors); 
document.MM_returnValue = (errors == ''); 
}

//============================================================================FUNO DE VERIFICAO DE DATA SE ESTA CORRETA ==============
//========================================================================================================================================
//========================================================================================================================================


function valida_data(Wparam) {
      if (Wparam.value != ""){
      barra = Wparam.value.indexOf("/")
      dia = Wparam.value.substring(0,barra) 
      string1 = Wparam.value.substring(barra+1) 
      barra = string1.indexOf("/")
      mes = string1.substring(0,barra)
      ano = string1.substring(barra+1)
      data = dia + mes + ano
      if (data.length < 8) {
      alert("O formato correto da data  dd/mm/aaaa");
      Wparam.focus();
      return false;
      }
      if (dia > 31 || dia < 1){
      alert("Dia digitado  invlido");
      Wparam.focus();
      return false;
      }
      if (mes > 12 || mes < 1){
      alert("Ms digitado  invlido");
      Wparam.focus();
      return false;
      }
      if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
      if (dia > 30){
      alert("O ms "+mes+" possui 30 dias");
      Wparam.focus();
      return false;
      }
      }
      if (mes == 02){
      bis = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
      if (dia>29 || (dia==29 && !bis)){
      hoje = new Date()
      anoh = hoje.getYear()
      mesh = hoje.getMonth()
      if (anoh > ano) { t = "teve" }
      else { 
      if(anoh < ano){ t = "ter" }
      else{
      if(mesh > 2){ t = "teve" }
      else{
      if(mesh < 2){ t = "ter"}
      else{ t = "tem"
      }
      }
      }
      }
      alert("Fevereiro do ano "+ano+" no "+t+" "+dia+" dias");
      Wparam.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 mascaraCep(objeto){
	if (objeto.value.indexOf("-") == -1 && objeto.value.length > 5){ objeto.value = ""; }
	if (objeto.value.length == 5){
		objeto.value += "-";
	}
}



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(data, pFmt)
{
  var data = document.getElementById(data);
	var pStr = data.value; 
	var Wparam = data.value; 
      barra = Wparam.indexOf("/");
      dia = Wparam.substring(0,barra) ;
      string1 = Wparam.substring(barra+1);
      barra = string1.indexOf("/");
      mes = string1.substring(0,barra);
      ano = string1.substring(barra+1);
     // data = dia + mes + ano;
			//alert (ano);
			
	var alerta = false;			
	eval("reDate = reDate" + pFmt);
	if (reDate.test(pStr)) {
		//alert(pStr + " é uma data válida.");
	} else if (pStr != null && pStr != "") {
		//alert(pStr + " NÃO é uma data válida.");
		//data.focus();
		var alerta = true;	
		
	}
      if (mes == 02){
      bis = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
      if (dia>29 || (dia==29 && !bis)){
			var alerta = true;	
      }	
			}
			if (alerta == true){
  		alert(pStr + " NÃO é uma data válida.");
  		data.focus();			
			}
} // doDate



function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}			
 
 
 
 function SomenteNumeroSemZero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 48 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true ;
    }
}		





   

