function abreAlerta(msg) {
  alert(msg);
  return false;
}


function colocaFoco(obj, flag) {
  if (obj) {
    if (flag) {
      obj.style.borderColor     = '#cc0000';
      obj.style.backgroundColor = '#ffffcc';
    }
    obj.focus();
  }
}


function retiraFoco(obj) {
  if (obj) {
    obj.style.borderColor     = '#666666';
    obj.style.backgroundColor = '#ffffff';
  }
}


function validaTexto(obj){
  var caracter = obj.value;
  if (caracter.length == 0){
    return true;
  }
  return false;
}


function validaOpcao(obj) {
  var resp = true
  for(var ii=0; ii < obj.length; ii++){
    if(obj[ii].checked) resp = false;
  }
  if(resp){
    return true;
  }else{
    return false;
  }
}


function validaSelecao(obj){
  if(obj.options[obj.selectedIndex].value == ""){
    return true;
  }
  return false;
}


function validaData(obj){
  var numero  = obj.value;
  var partes  = numero.split("/");
  
  if (partes.length==3){
    numeros = partes[0] + partes[1] + partes[2]
    if (numeros.length ==0 ){
      return true;
    }
    if (partes[0] < 1 || partes[0] > 31){
      return true;
    }
    if (partes[1] < 1 || partes[1] > 12){
      return true;
    }
    if (partes[2].length < 4){
      return true;
    }
    if (partes[2] < 1900){
      return true;
    }
  }else{
    return true;
  }
  return false;
}


function validaEmail(obj, obj_value) {
  
  var invalid = Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?"," ");
  if (obj)
    var xemail = obj.value;
  else
    var xemail = obj_value;
    
  if (xemail.indexOf("@")==-1){
    return true;
  } else {
    var partes=xemail.split("@");
    if(partes[0] == '' || partes[0].length < 3){
      return true;
    }else{
      for(var ii=0; ii < invalid.length; ii++){
        if(partes[0].indexOf(invalid[ii])!=-1){
          return true;
        }
      }
    }
    
    if(partes[1]==""){
      return true;
    }else{
      if (partes[1].indexOf(".")==-1){
        return true;
      }else{
        ponto=partes[1].split(".")
        if(ponto[0]=="" || ponto[0].length < 2){
          return true;
        }else{
          for(ii=0;ii < invalid.length; ii++){
            if(ponto[0].indexOf(invalid[ii])!=-1){
              return true;
            }
          }
        }
        if(ponto[1]==""){
          return true;
        }
      }
    }
  }
  return false;
}


function validaCep(obj){
  var validos = Array("0","1","2","3","4","5","6","7","8","9");
  var valor   = obj.value;
  var partes  = valor.split("-");
  var resp    = 0;
  
  if (partes.length ==2){
    var numeros = partes[0] + partes[1];
    if (numeros.length ==0 ){
      return true;
    }
    for(var ii=0; ii < validos.length; ii++){
      for(jj=0; jj < numeros.length; jj++){
        if(numeros.substring(jj,jj+1) == validos[ii]) { resp++ }
      }
    }
    if (numeros.length != resp){
      return true;
    }
    if (partes[0].length != 5){
      return true;
    }
    if (partes[1].length != 3){
      return true;
    }
  }else{
    return true;
  }
  return false;
}


function validaNumero(obj){
  var numero = obj.value;
  var resp   = 0;
  
  if(numero.length==0){
    return true;
  }
  for(var ii=0; ii < numero.length; ii++){
    for(jj=0; jj < 11; jj++){
      if (numero.substring(ii,ii+1) == jj) resp++;
    }
  }
  if (numero.length != resp){
    return true;
  }
  return false;
}


function validaCpf(obj) {
  var cpf   = obj.value;
  
  cpf = cpf.split(".").join("");
  cpf = cpf.split("/").join("");
  cpf = cpf.split("-").join("");
  
  obj.value = cpf;
  
  var valor = true;
  var erro  = false;
  
  if (cpf.length < 11) erro = true; 
  var nonNumbers = /\D/;
  if (nonNumbers.test(cpf)) erro = true;  
  if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
    erro = true;
  }
  var a = [];
  var b = new Number;
  var c = 11;
  for (var ii=0; ii<11; ii++){
    a[ii] = cpf.charAt(ii);
    if (ii < 9) b += (a[ii] *  --c);
  }
  if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
  b = 0;
  c = 11;
  for (y=0; y<10; y++) b += (a[y] *  c--); 
  if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
  if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
    erro = true;
  }
  return erro;
}


function validaCnpj(obj) {
  var i;
  var saida = obj.value;
  
  saida = saida.split(".").join("");
  saida = saida.split("/").join("");
  saida = saida.split("-").join("");
  
  var cnpj = "";
  for (ii = 0; ii < 15; ii++){
    cnpj = saida.substr(saida.length-ii,1) + cnpj;
  }
  
  obj.value = cnpj;
  
  var c  = cnpj.substr(0,12);
  var dv = cnpj.substr(12,2);
  var d1 = 0;
  var ms = "543298765432";
  
  for (ii = 0; ii < 12; ii++) {
    d1 += c.charAt(ii)*ms.charAt(ii);
  }
  d1 = (d1 % 11);
  if (d1 == 0 || d1 == 1) {
     d1 = 0;
  } else {
     d1 = 11 - d1;
  }
  
  var d1 = 0;
  var ms = "543298765432";
  
  for (ii = 0; i < 12; ii++) {
    d1 += c.charAt(ii)*ms.charAt(ii);
  }
  d1 = (d1 % 11);
  if (d1 == 0 || d1 == 1) {
     d1 = 0;
  } else {
     d1 = 11 - d1;
  }
  
  var c = c + d1;
  var d2 = 0;
  var ms = "6543298765432";
  for (ii = 0; ii < 13; ii++) {
    d2 += c.charAt(ii)*ms.charAt(ii);
  }
  
  d2 = (d2 % 11);
  if (d2 == 0 || d2 == 1) {
     d2 = 0;
  } else {
     d2 = 11 - d2;
  }
  
  if (cnpj=="") return true;
  if (cnpj.length > 14 ) return true;
  if (dv.charAt(0) != d1 || dv.charAt(1) != d2) {
    return true;
  }
  return false;
}