function formValida(formobj){

	//Verifica se foi selecionado pra muda o endereço de cobrança
	if (document.cadastro.Troca_Endereco[1].checked) {
    // Nomes dos campos do formulário que será validado
    var fieldRequired = Array("Nome", "Razao_Social", "CPF", "CNPJ", "IE", "Endereco", "Nro", "Bairro", "Municipio", "Estado", "CEP", "Nome2", "Razao_Social2", "CPF2", "CNPJ2", "IE2",  "Endereco2", "Nro2", "Bairro2", "Municipio2", "Estado2", "CEP2", "Valor_Assinatura");

	} else {
    // Nomes dos campos do formulário que será validado
    var fieldRequired = Array("Nome", "Razao_Social", "CPF", "CNPJ", "IE", "Endereco", "Nro", "Bairro", "Municipio", "Estado", "CEP", "Valor_Assinatura");
	}

	// Nomes dos campos da janela de diálogo
    var fieldDescription = fieldRequired;

    // Mensagem da janela de diálogo
    var alertMsg = "Por favor, preencha o(s) seguinte(s) campo(s):\n\n";
    
    var l_Msg = alertMsg.length;
    
    for (var i = 0; i < fieldRequired.length; i++){
  var obj = formobj.elements[fieldRequired[i]];
  if (obj){
      switch(obj.type){
      case "select-one":
    if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
        alertMsg += " - " + fieldDescription[i] + "\n";
    }
    break;
      case "select-multiple":
    if (obj.selectedIndex == -1){
        alertMsg += " - " + fieldDescription[i] + "\n";
    }
    break;
      case "text":
      case "textarea":
   if (obj.value == "" || obj.value.substring(0,1)==" "){
        alertMsg += " - " + fieldDescription[i] + "\n";
    }
    break;
      default:
      }
      if (obj.type == undefined){
    var blnchecked = false;
    for (var j = 0; j < obj.length; j++){
        if (obj[j].checked){
      blnchecked = true;
        }
    }
    if (!blnchecked){
        alertMsg += " - " + fieldDescription[i] + "\n";
    }
      }
  }
    }

    if (alertMsg.length == l_Msg){
  return true;
    }else{
  alert(alertMsg);
  return false;
    }
}

