function validar(formulario) 
{

  if (formulario.nome.value == "") 
  { 
    alert("Informe o seu nome"); 
    formulario.nome.focus(); 
    return (false); 
  }

  if (formulario.email.value == "") 
  { 
    alert("Informe o seu e-mail"); 
    formulario.email.focus(); 
    return (false); 
  } 
  
  if (formulario.cnpj.value == "") 
  { 
    alert("Informe o CPF ou CNPJ"); 
    formulario.cnpj.focus(); 
    return (false); 
  } 
  if (((formulario.cnpj.value.length == 11) && (formulario.cnpj.value == 11111111111) || (formulario.cnpj.value == 22222222222) || (formulario.cnpj.value == 33333333333) || (formulario.cnpj.value == 44444444444) || (formulario.cnpj.value == 55555555555) || (formulario.cnpj.value == 66666666666) || (formulario.cnpj.value == 77777777777) || (formulario.cnpj.value == 88888888888) || (formulario.cnpj.value == 99999999999) || (formulario.cnpj.value == 00000000000))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 


  if (!((formulario.cnpj.value.length == 11) || (formulario.cnpj.value.length == 14))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 

  var checkOK = "0123456789"; 
  var checkStr = formulario.cnpj.value; 
  var allValid = true; 
  var allNum = ""; 
  for (i = 0;  i < checkStr.length;  i++) 
  { 
    ch = checkStr.charAt(i); 
    for (j = 0;  j < checkOK.length;  j++) 
      if (ch == checkOK.charAt(j)) 
        break; 
    if (j == checkOK.length) 
    { 
      allValid = false; 
      break; 
    } 
    allNum += ch; 
  } 
  if (!allValid) 
  { 
    alert("Favor preencher somente com dígitos o campo CPF/CNPJ."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 

  var chkVal = allNum; 
  var prsVal = parseFloat(allNum); 
  if (chkVal != "" && !(prsVal > "0")) 
  { 
    alert("CPF zerado !"); 
    formulario.cnpj.focus(); 
    return (false); 
  } 

if (formulario.cnpj.value.length == 11) 
{ 
  var tot = 0; 

  for (i = 2;  i <= 10;  i++) 
    tot += i * parseInt(checkStr.charAt(10 - i)); 

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(9))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 
  
  tot = 0; 
  
  for (i = 2;  i <= 11;  i++) 
    tot += i * parseInt(checkStr.charAt(11 - i)); 

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(10))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 
} 
else 
{ 
  var tot  = 0; 
  var peso = 2; 
  
  for (i = 0;  i <= 11;  i++) 
  { 
    tot += peso * parseInt(checkStr.charAt(11 - i)); 
    peso++; 
    if (peso == 10) 
    { 
        peso = 2; 
    } 
  } 

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(12))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 
  
  tot  = 0; 
  peso = 2; 
  
  for (i = 0;  i <= 12;  i++) 
  { 
    tot += peso * parseInt(checkStr.charAt(12 - i)); 
    peso++; 
    if (peso == 10) 
    { 
        peso = 2; 
    } 
  } 

  if ((tot * 10 % 11 % 10) != parseInt(checkStr.charAt(13))) 
  { 
    alert("CPF/CNPJ inválido."); 
    formulario.cnpj.focus(); 
    return (false); 
  } 
} 

  if (formulario.endereco.value == "") 
  { 
    alert("Informe o endereço"); 
    formulario.endereco.focus(); 
    return (false); 
  } 

  if (formulario.bairro.value == "") 
  { 
    alert("Informe o bairro"); 
    formulario.bairro.focus(); 
    return (false); 
  }

  if (formulario.cep.value == "") 
  { 
    alert("Informe o cep"); 
    formulario.cep.focus(); 
    return (false); 
  }

  if (formulario.cidade.value == "") 
  { 
    alert("Informe o cidade"); 
    formulario.cidade.focus(); 
    return (false); 
  }

  if (formulario.telefone.value == "") 
  { 
    alert("Informe o telefone"); 
    formulario.telefone.focus(); 
    return (false); 
  } 

  return(true); 
}