function valida_cnpj (objeto, msg)
{
  if (!eCnpj(objeto.value)){
    alert(msg) ;
    objeto.select();
    return (false);
  }
  else
  {
	return (true);
  }
}

function eCnpj(objeto)
{
var localCNPJ ;
var localResult ;
var digit1 ;
var digit2 ;
var ii ;
var nComp
var soma ;
localCNPJ = '';
localCNPJ = objeto;
  if ((localCNPJ.length < 14) || (localCNPJ == "00000000000000"))
    {
      localResult = false ;
    }
  else
    {
      localResult = true ;
    }

  if (localResult == true)
    {
      soma = 0 ;

      for (ii = 1; ii <= 12; ii++) 
        {
          if (ii < 5)
	    {
              soma = soma + (localCNPJ.substring(ii-1,ii) * (6-ii))
            }
          else
	    {
              soma = soma + (localCNPJ.substring(ii-1,ii) * (14-ii))
            }
        }

      digit1 = 11 - (soma % 11) ;
      if (digit1 > 9)
        {
          digit1 = 0 ;
        }

      soma = 0 ;
 
      for (ii = 1; ii <= 13; ii++)
        {
          if (ii < 6)
            {
              soma = soma + (localCNPJ.substring(ii-1,ii) * (7-ii)) ;
            }
          else
            {
              soma = soma + (localCNPJ.substring(ii-1,ii) * (15-ii)) ;
            }
        }

      digit2 = 11 - (soma % 11) ;
      if (digit2 > 9)
        {
          digit2 = 0 ;
        }

      if ((digit1 == localCNPJ.substr(12,1)) && (digit2 == localCNPJ.substr(13,1)))
        {
          localResult = true
        }
      else 
        {
          localResult = false
        }

    }
  return localResult;
}


