function validaTag(campo){
  var expr = /[a-zA-Z]{8}/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaCodigo(campo){
  var expr = /[a-zA-Z0-9]{5}/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaSenha(campo){
  var expr = /[a-zA-Zà-úÀ-Ú0-9]{6,20}/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaNome(campo){
  var expr = /[a-zA-Zà-úÀ-Ú]+[ [a-zA-Zà-úÀ-Ú]]+/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaCep(campo){
  var expr = /[0-9]{5}-[0-9]{3}/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaTexto(campo){
  var expr = /[a-zA-Zà-úÀ-Ú]+/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaDominio(campo){
  var expr = /[a-z0-9_-]+(.[a-z0-9_-]+)/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaUrl(campo){
  var expr = /http:\/\/[a-z0-9_-]+(.[a-z0-9_-]+)/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaSelect(campo){
  var expr = /[a-zA-Zà-úÀ-Ú]/;

  if(expr.test(campo.selected)){
    return true;
  }
  return false;
}

function validaDescricao(campo){
  if(campo.value.length > 250){
    return false;
  }
  return true;
}

function validaEmail(campo){
  var expr = /([-a-z0-9_]+(.[_a-z0-9-]+)*@([a-z0-9-]+(.[a-z0-9-]+)))/;
  
  if(expr.test(campo.value)){
    return true;
  }
  
  return false;
}

function validaFone(campo){
  var expr = /\([0-9-]{2}\)[0-9-]{4}-[0-9-]{4}/;

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaCPF(campo){
  var i;
  s = campo.value;
  var c = s.substr(0,9);
  var dv = s.substr(9,2);
  var d1 = 0;
  var expr = /[0-9]{11}/;

  if(!expr.test(campo.value)){
  	return false;
  }
 
	if(s == "00000000000" || s == "11111111111" || s == "22222222222" || s == "33333333333" || s == "44444444444" || s == "55555555555" || s == "66666666666" || s == "77777777777" || s == "88888888888" || s == "99999999999"){
 	  return false;
	}
 
  for(i=0; i<9; i++){
    d1 += c.charAt(i)*(10-i);
  }
 
  if(d1 == 0){
    return false;
  }

  d1 = 11 - (d1 % 11);
 
  if(d1 > 9){
    d1 = 0;
  }
 
  if(dv.charAt(0) != d1){
    return false;
  }
  
  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){
    return false;
  }
 
  return true;
} 


function validaCNPJ(campo){
  var numCNPJ = campo.value;

	if(numCNPJ == "00000000000" || numCNPJ == "11111111111" || numCNPJ == "22222222222" || numCNPJ == "33333333333" || numCNPJ == "44444444444" || numCNPJ == "55555555555" || numCNPJ == "66666666666" || numCNPJ == "77777777777" || numCNPJ == "88888888888" || numCNPJ == "99999999999"){
 	  return false;
	}
	else{
		var numDois = numCNPJ.substring(numCNPJ.length-2, numCNPJ.length);
		var novoCNPJ = numCNPJ.substring(0, numCNPJ.length-2);

		switch (numCNPJ.length){
			case 11 :
			  numLim = 11;
			break;
			case 14 :
			  numLim = 9;
			break;
			default:
			  numLim = 0;
			  return false;
		}

		var numSoma = 0;
		var Fator = 1;
		for (var i=novoCNPJ.length-1; i>=0 ; i--) {
			Fator = Fator + 1;
			if (Fator > numLim) {
				Fator = 2;
			}
			numSoma = numSoma + (Fator * Number(novoCNPJ.substring(i, i+1)));
		}
		numSoma = numSoma/11;
		var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
		if (numResto > 1) {
			numResto = 11 - numResto;
		}
		else {
			numResto = 0;
		}
		
		var numDigito = String(numResto);
		novoCNPJ = novoCNPJ.concat(numResto);

		numSoma = 0;
		Fator = 1;
		for (var i=novoCNPJ.length-1; i>=0 ; i--) {
			Fator = Fator + 1;
			if (Fator > numLim) {
				Fator = 2;
			}
			numSoma = numSoma + (Fator * Number(novoCNPJ.substring(i, i+1)));
		}
		numSoma = numSoma/11;
		numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
		if (numResto > 1) {
			numResto = 11 - numResto;
		}
		else {
			numResto = 0;
		}

		numDigito = numDigito.concat(numResto);

		if (numDigito == numDois) {
			return true;
		}
		else {
			return false;
		}
	}
}

function validaNumero(campo){
  var expr = /[0-9-,]/

  if(expr.test(campo.value)){
    return true;
  }
  return false;
}

function validaCep(campo){
  if(campo.length == 8 || isNaN(campo.value)){
    return true;
  }

  return false;
}

function validaData(campo){
  var Dias0 = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var Dias1 = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
  
  var data = campo.value.split('-');
  var Ano = data[0];
  var Mes = data[1];
  var Dia = data[2];

  if((Ano%4==0) && ((Ano%100) == (Ano%400))){
    if((Ano<1) || (Mes<1) || (12<Mes) || (Dia<1) || (Dias1[Mes-1]<Dia)){
      return false;
    }
  }
  else{
    if((Ano<1) || (Mes<1) || (12<Mes) || (Dia<1) || (Dias0[Mes-1]<Dia)){
      return false;
    }
  }
  
  return true;
}