function isMail(mailField){
  strMail = mailField.value;
  var re = new RegExp;
  re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var arr = re.exec(strMail);
  if (arr == null)
    return(false);
  else
    return(true);
}

function minLen(txtField, minVal){
  strExp = txtField.value;
  l = strExp.length;
  if (l < minVal)
    return(true);
  else
    return(false);
}

function maxLen(txtField, maxVal){
  strExp = txtField.value;
  l = strExp.length;
  if (l > maxVal)
    return(true);
  else
    return(false);
}

function isBlank(txtField){
  if (txtField.value)
    return (false);
  else
    return(true);
}

function isSelectedZero(txtField){
  selected = txtField.selectedIndex;
  if (selected == 0)
    return(true);
  else
    return(false);
}

function isNumber(txtField){
  numExp = txtField.value;
  if (isNaN(numExp) || (numExp.length == 0))
    return (false);
  else
    return(true);
}

function valida_cpf(txtField) {
	
	cpf = txtField.value;
	
	var ninja = /^[0-9]{11,11}$/
	if ( !ninja.test(cpf) ) {
		return true;
	}
	
	var numeros, digitos, soma, i, resultado, digitos_iguais; 
	digitos_iguais = 1; 
	
	if (cpf.length < 11) 
				return true; 
	
	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)) 
				return true; 
			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)) 
					return true; 
					
		return false; 
		
	   } else  {
			return true; 
	 } 
}

function valida_cnpj(txtField) { 

cnpj = txtField.value;
	
	var ninja = /^[0-9]{14,14}$/
	if ( !ninja.test(cnpj) ) {
		  return true;
	}
	
	var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais; 
	digitos_iguais = 1; 
	
	if (cnpj.length < 14 && cnpj.length < 15) 
			return true; 
	
	for (i = 0; i < cnpj.length - 1; i++) 
		if (cnpj.charAt(i) != cnpj.charAt(i + 1)) { 
			  digitos_iguais = 0; 
			  break; 
		}
	
	if (!digitos_iguais) { 
		tamanho = cnpj.length - 2 
		numeros = cnpj.substring(0,tamanho); 
		digitos = cnpj.substring(tamanho); 
		soma = 0; 
		pos = tamanho - 7; 
		for (i = tamanho; i >= 1; i--) { 
			  soma += numeros.charAt(tamanho - i) * pos--; 
			  if (pos < 2) 
					pos = 9; 
		} 
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
		if (resultado != digitos.charAt(0)) 
			  return true; 
		tamanho = tamanho + 1; 
		numeros = cnpj.substring(0,tamanho); 
		soma = 0; 
		pos = tamanho - 7; 
		for (i = tamanho; i >= 1; i--) { 
			  soma += numeros.charAt(tamanho - i) * pos--; 
			  if (pos < 2) 
					pos = 9; 
		} 
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
		if (resultado != digitos.charAt(1)) 
			  return true; 
		return false; 
	} else {
		return true; 
	}
}
//#####################
//# VALIDAÇÃO DA DATA #
//#####################
function VerificaData(cData) {
    var data = cData; 
    var tam = data.length;
    if (tam != 10) {
 return true;
    }
    var dia = data.substr(0,2)
    var mes = data.substr (3,2)
    var ano = data.substr (6,4)    
    if (ano < 1980)    {
 return true;
    }
   if (ano > 2010)    {
 return true;
    }

    switch (mes) {
 case '01':
     if  (dia <= 31) 
   return (false);
     break;
 case '02':
     if  (dia <= 29) 
   return (false);
     break;
 case '03':
     if  (dia <= 31) 
   return (false);
     break;
 case '04':
     if  (dia <= 30) 
   return (false);
     break;
 case '05':
     if  (dia <= 31) 
   return (false);
     break;
 case '06':
     if  (dia <= 30) 
   return (false);
     break;
 case '07':
     if  (dia <= 31) 
   return (false);
     break;
 case '08':
     if  (dia <= 31) 
   return (false);
     break;
 case '09':
     if  (dia <= 30) 
   return (false);
     break;
 case '10':
     if  (dia <= 31) 
   return (false);
     break;
 case '11':
     if  (dia <= 30) 
   return (false);
     break;
 case '12':
     if  (dia <= 31) 
   return (false);
     break;
    }
    {
 return true;
    }
    return false; 
}