
function validaEmail(email) {
//	var objRegExp  = /^[A-Za-z0-9]([\w\.]*)@([A-Za-z0-9\.]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i ;
	var objRegExp  = /^[A-Za-z]([\w\.-]*)@([A-Za-z0-9\.-]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i ;
	if(!objRegExp.test(email)) {
		alert ('O email não é válido.');
	} else {
		return true;
	}
}

function validaCEP(cep) {
	var objRegExp  = /^\d{5}\-\d{3}$/;
	if(!objRegExp.test(cep)) {
		alert ('Formato de CEP incorreto.');
	} else {
		return true;
	}
}

function validaCelular(celular){
	var objRegExp = /[7-9]\d{7}/;
	if(!objRegExp.test(celular)) {
		alert ('O celular não é válido.');
	} else {
		return true;
	}
}

function validaCnpj(cnpj)
 {
       // verifica o tamanho
 if (cnpj.length != 14) {
  sim=false
  alert ("Tamanho inválido de CNPJ.")
  }
 else {sim=true}

  if (sim )  // verifica se e numero
  {
  for (i=0;((i<=(cnpj.length-1))&& sim); i++)
  {
   val = cnpj.charAt(i)

   if
	((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&
	(val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
   }
   if (sim)  // se for numero continua
   {
    m2 = 2
    soma1 = 0
    soma2 = 0
    for (i=11;i>=0;i--)
    {
     val = eval(cnpj.charAt(i))
     m1 = m2
  if (m2<9) { m2 = m2+1}
  else {m2 = 2}
  soma1 = soma1 + (val * m1)
  soma2 = soma2 + (val * m2)
    }  // fim do for de soma

  soma1 = soma1 % 11
  if (soma1 < 2) {  d1 = 0}
   else { d1 = 11- soma1}

     soma2 = (soma2 + (2 * d1)) % 11
  if (soma2 < 2) { d2 = 0}
   else { d2 = 11- soma2}
    if ((d1==cnpj.charAt(12)) && (d2==cnpj.charAt(13)))
   { return true;}
   else alert("Valor inválido de CNPJ.")
   }
 }
 }

function validaCPF(s) {
	var varFirstChr = s.charAt(0)
	var vaCharCPF=0
	for ( var i=0; i<=10; i++ ) {
		var c = s.charAt(i)
         if (s.charAt(i) < "0" || s.charAt(i) > "9") { return false }
         if ( c!=varFirstChr ) { vaCharCPF = true }
	}
    if ( !vaCharCPF ) { return false }
	soma=0
	for ( i=0; i<9; i++ ) {  soma+=(10-i) * ( eval(s.charAt(i)) ) }
	DV=11-(soma % 11)
	if ( (soma % 11) < 2 ) { DV = 0 }
	if ( eval(s.charAt(9)) != DV ) { return false }
	soma=0
	for ( i=0; i<9; i++ ) { soma+=(11-i) * ( eval(s.charAt(i)) ) }
	soma+=2 * ( eval(s.charAt(9)) )
	DV = 11-(soma % 11)
	if ( (soma % 11) < 2 ) DV = 0
	if ( eval(s.charAt(10)) != DV ) { return false } 
	return true
}

function validaData(aData, separador)  {
	var data = aData.split(separador);
	if ( data[0].length!=2 || data[1].length!=2|| data[2].length!=4) { return false }
	for ( i=0; i<data.length; i++ ) { data[i] = parseInt(data[i],10) }
	if ( data[1]<1 || data[1]>12 || data[0]<1 || data[0]>31 || ( data[1]==2 && data[0]>29 ) ) {
		return false
	}
	if ( data[1]==2 && data[0]>28 && ( data[2]%4!=0 && (data[2]%100!=0 && data[2]%400!=0)) ) {
		return false
	}
	return true
}

function validaIP(ip) {
	try {
		var re = new RegExp( /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/ );
		return ( re.test( ip ) );
	} catch (e) {
		alert( 'Problemas ao validar IP' );
		return false;
	}
}

function validaHora(aHora, separador)  {
	var hora = aHora.split(separador);

	if ( hora[0].length!=2 || hora[1].length!=2) { return false }
	if (hora.length > 3) { return false }
	if (hora.length==3 && hora[2].length!=2 && hora[2].length!=0) { return false }

	for ( i=0; i<hora.length; i++ ) { hora[i] = parseInt(hora[i],10) }

	if ( hora[0]<0 || hora[0]>23 || hora[1]<0 || hora[1]>59) { return false }

	if ( hora.length == 3 ) {
        if ( hora[2]<0 || hora[2]>59 ) { return false }
	}

	return true
}

function validaRangeHora(aIni, aFim, separador)  {
    if(aIni > aFim) {
        return false;
    }
    return true;
}

