function validateForm(form) {
  var WKNumState = getValue("WKNumState");
  var acaoUsuario = getValue("WKCompletTask"); //'true' = clicou em enviar  'false' clicou em salvar
  var WKNextState = getValue("WKNextState");
  var WKReplacement = getValue("WKReplacement");

  log.info("================");
  log.info("=== validateForm");
  log.info("================");
  log.info(acaoUsuario);

  //Não valida se o usuário apenas Salvar
  if (acaoUsuario == "false") {
    return;
  }

  loading.setMessage("Validando campos...");

  sinal =
    '<span style="color:red;" class="fluigicon fluigicon-remove fluigicon-xs"></span> ';
  mensagem = "";

  //===========================================
  //Atividade 1-Inicio
  //===========================================
  if (WKNumState == 4 || WKNumState == 52) {
    //
    if (form.getValue("loginEmNome") == "") {
      mensagem += sinal + "Informe o campo Em Nome de<br>";
    }
    if (form.getValue("idDiretoriaValue") == "") {
      mensagem += sinal + "Informe o campo Diretoria<br>";
    }
    if (form.getValue("idAreaValue") == "") {
      mensagem += sinal + "Informe o campo Área<br>";
    }
    if (form.getValue("idMacroProcessoValue") == "") {
      mensagem += sinal + "Informe o campo Macroprocesso<br>";
    }
    if (form.getValue("idProcessoValue") == "") {
      mensagem += sinal + "Informe o campo Processo<br>";
    }
    if (form.getValue("idSubProcessoValue") == "") {
      mensagem += sinal + "Informe o campo Subprocesso<br>";
    }
    //if (form.getValue("respSubProcesso") == "") 		{ mensagem += sinal + 'Não foi possível encontrar o responsável pelo subrocesso<br>'; }

    //Validar os campos obrigatorios
    if (form.getValue("codEmpEMS5") == "") {
      mensagem += sinal + "Informe o campo Empresa<br>";
    }
    if (form.getValue("codEstEMS5") == "") {
      mensagem += sinal + "Informe o campo Estabelecimento<br>";
    }
    if (form.getValue("codCCusto") == "") {
      mensagem += sinal + "Informe o campo Centro de Custo<br>";
    }

    if (form.getValue("idDeptoOrigem") == "") {
      mensagem += sinal + "Informe o Departamento de Origem.<br>";
    }
    if (form.getValue("txtDescrSolicit") == "") {
      mensagem += sinal + "Informe a Descrição da Solicitação.<br>";
    }

    if (form.getValue("h_legislacaoEnvolvida") == "S") {
      if (
        form.getValue("txtlegislacaoEnvolvida") == null ||
        form.getValue("txtlegislacaoEnvolvida").trim() == ""
      ) {
        mensagem += sinal + "Informe a Descrição da Legislação Envolvida.<br>";
      }
    }

    if (form.getValue("h_existemPeculiariedades") == "S") {
      if (
        form.getValue("txtPeculiariedades") == null ||
        form.getValue("txtPeculiariedades").trim() == ""
      ) {
        mensagem +=
          sinal +
          "Informe a Descrição das peculiaridades praticadas no mercado para o produto solicitado.<br>";
      }
    }

    if (form.getValue("h_existeSimilar") == "S") {
      if (
        form.getValue("txtProdutoSimilar") == null ||
        form.getValue("txtProdutoSimilar").trim() == ""
      ) {
        mensagem +=
          sinal +
          "Informe a Descrição do(s) produto(s) similar(es) existente(s).<br>";
      }
    }

    if (
      form.getValue("txtMercadoConsumidor") == null ||
      form.getValue("txtMercadoConsumidor").trim() == ""
    ) {
      mensagem += sinal + "Informe a Observação - Mercado Consumidor.<br>";
    }

    if (form.getValue("h_expectativaVenda") == "S") {
      if (
        form.getValue("chkMercadoConsumidorInt") != null &&
        form.getValue("chkMercadoConsumidorInt").trim() != ""
      ) {
        if (form.getValue("txtexpectativaVendaInt") == 0) {
          mensagem +=
            sinal + "Informe a Expectativa de Venda para Mercado Interno.<br>";
        }
        if (
          form.getValue("UnExpectativaVendaInt") == null ||
          form.getValue("UnExpectativaVendaInt") == ""
        ) {
          mensagem +=
            sinal +
            "Informe a Unidade para Expectativa de Venda para Mercado Interno.<br>";
        }
      }
      if (
        form.getValue("chkMercadoConsumidorExt") != null &&
        form.getValue("chkMercadoConsumidorExt").trim() != ""
      ) {
        if (form.getValue("txtexpectativaVendaExt") == 0) {
          mensagem +=
            sinal + "Informe a Expectativa de Venda para Mercado Externo.<br>";
        }
        if (
          form.getValue("UnExpectativaVendaExt") == null ||
          form.getValue("UnExpectativaVendaExt") == ""
        ) {
          mensagem +=
            sinal +
            "Informe a Unidade para Expectativa de Venda para Mercado Externo.<br>";
        }
      }
    }

    if (form.getValue("precoDesejado") == "S") {
      if (
        form.getValue("chkMercadoConsumidorInt") != null &&
        form.getValue("chkMercadoConsumidorInt").trim() != ""
      ) {
        if (form.getValue("txtPrecoDesejadoInt") == "0,00") {
          mensagem += sinal + "Informe o Preço/Custo para Mercado Interno.<br>";
        }
        if (
          form.getValue("UnPrecoDesejadoInt") == null ||
          form.getValue("UnPrecoDesejadoInt") == ""
        ) {
          mensagem +=
            sinal +
            "Informe a Unidade para o Preço/Custo para Mercado Interno.<br>";
        }
      }
      if (
        form.getValue("chkMercadoConsumidorExt") != null &&
        form.getValue("chkMercadoConsumidorExt").trim() != ""
      ) {
        if (form.getValue("txtPrecoDesejadoExt") == "0,00") {
          mensagem += sinal + "Informe o Preço/Custo para Mercado Externo.<br>";
        }
        if (
          form.getValue("UnPrecoDesejadoExt") == null ||
          form.getValue("UnPrecoDesejadoExt") == ""
        ) {
          mensagem +=
            sinal +
            "Informe a Unidade para o Preço/Custo para Mercado Externo.<br>";
        }
      }
    }

    if (
      form.getValue("txtJustificativa") == null ||
      form.getValue("txtJustificativa").trim() == ""
    ) {
      mensagem += sinal + "Informe a Justificativa.<br>";
    }

    var txtJustificativa = form.getValue("txtJustificativa");
    if (txtJustificativa.length() < 20) {
      mensagem +=
        sinal + "A Justificativa teve ter no mínino 20 caracteres.<br>";
    }

    //var idx = form.getChildrenIndexes("tabRateio");
    //if (idx.length == 0 || idx == null) {
    //	mensagem += sinal + 'Você deve incluir títulos, use o botão Incluir Item.<br>';
    //}
  } //4 ou 52
  //===========================================
  //Atividade 92-Aprovar Em Nome de
  //===========================================
  if (WKNumState == 92) {
    if (form.getValue("h_radAprovaEmNome") == "") {
      mensagem += sinal + "Informe o campo Decisão<br>";
    }
  }
  //===========================================
  //Atividade 52
  //===========================================
  if (WKNumState == 52) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher se aprovar ou reprovar
    if (
      form.getValue("txtAnalisePreliminar") == null ||
      form.getValue("txtAnalisePreliminar").trim() == ""
    ) {
      mensagem +=
        sinal + "Informe a Observação referente a Análise Preliminar.<br>";
    }
  }
  //===========================================
  //Atividade 5-Aprovar Gestor
  //===========================================
  if (WKNumState == 5) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher se aprovar ou reprovar
    if (
      form.getValue("txtGestorSolicitante") == null ||
      form.getValue("txtGestorSolicitante").trim() == ""
    ) {
      mensagem += sinal + "Informe o Parecer do Gestor da Área Solicitante<br>";
    }
  }
  //===========================================
  //Atividade 14-
  //===========================================
  if (WKNumState == 14) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher se aprovar ou reprovar
    if (
      form.getValue("txtPesquisaDesenv") == null ||
      form.getValue("txtPesquisaDesenv").trim() == ""
    ) {
      mensagem +=
        sinal + "Informe o Parecer da Área de Pesquisa e Desenvolvimento.<br>";
    }
  }
  //===========================================
  //Atividade 27-
  //===========================================
  if (WKNumState == 27) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher se aprovar ou reprovar
    if (
      form.getValue("txtMarketing") == null ||
      form.getValue("txtMarketing").trim() == ""
    ) {
      mensagem += sinal + "Informe o Parecer da Área de Marketing.<br>";
    }
    if (form.getValue("encaminharMarketing") == "selecione") {
      mensagem +=
        sinal +
        "Você deve selecionar para onde deve encaminhar a atividade.<br>";
    }
  }
  //===========================================
  //Atividade 33-
  //===========================================
  if (WKNumState == 33) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher
    if (
      form.getValue("txtEscritProj") == null ||
      form.getValue("txtEscritProj").trim() == ""
    ) {
      mensagem += sinal + "Informe a Observação do Escritório de Projetos.<br>";
    }
  }
  //===========================================
  //Atividade 19-
  //===========================================
  if (WKNumState == 19) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher se reprovar
    if (form.getValue("h_aprvClassifTrabalho") == "N") {
      if (
        form.getValue("txtClassifTrabalho") == null ||
        form.getValue("idAreaResponsavel").trim() == ""
      ) {
        mensagem += sinal + "Informe as Observações.<br>";
      }
    } else {
      if (
        form.getValue("idAreaResponsavel") == null ||
        form.getValue("idAreaResponsavel").trim() == ""
      ) {
        mensagem += sinal + "Informe a Área Responsável.<br>";
      }

      if (
        form.getValue("idLinhaNegocio") == null ||
        form.getValue("idLinhaNegocio").trim() == ""
      ) {
        mensagem += sinal + "Informe a Linha de Negócio.<br>";
      }

      if (
        form.getValue("idLinhaProdServ") == null ||
        form.getValue("idLinhaProdServ").trim() == ""
      ) {
        mensagem += sinal + "Informe a Linha de Produto/Serviço.<br>";
      }

      if (
        form.getValue("idClassificacao") == null ||
        form.getValue("idClassificacao").trim() == ""
      ) {
        mensagem += sinal + "Informe a Classificação.<br>";
      }

      if (
        form.getValue("cmbMonitoramento") == null ||
        form.getValue("cmbMonitoramento").trim() == ""
      ) {
        mensagem +=
          sinal +
          "Informe a classificação de Monitoramento após Implementação.<br>";
      }
      if (
        form.getValue("cmbPrioridade") == null ||
        form.getValue("cmbPrioridade").trim() == ""
      ) {
        mensagem += sinal + "Informe a classificação da Prioridade.<br>";
      }

      if (
        form.getValue("cmbInovacao") == null ||
        form.getValue("cmbInovacao").trim() == ""
      ) {
        mensagem += sinal + "Informe a classificação da Inovação.<br>";
      }

      if (
        form.getValue("cmbQualidade") == null ||
        form.getValue("cmbQualidade").trim() == ""
      ) {
        mensagem += sinal + "Informe a classificação da Qualidade.<br>";
      }

      if (
        form.getValue("cmbCusto") == null ||
        form.getValue("cmbCusto").trim() == ""
      ) {
        mensagem += sinal + "Informe a classificação do Custo.<br>";
      }
    }
  }
  //===========================================
  //Atividade 23-
  //===========================================
  if (WKNumState == 23) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher
    if (
      form.getValue("txtAnaliseCritica") == null ||
      form.getValue("txtAnaliseCritica").trim() == ""
    ) {
      mensagem += sinal + "Informe a Análise Crítica do Projeto.<br>";
    }
  }
  //===========================================
  //Atividade 47-
  //===========================================
  if (WKNumState == 47) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }

    if (
      form.getValue("dtConclusaoOriginal") == null ||
      form.getValue("dtConclusaoOriginal").trim() == ""
    ) {
      mensagem +=
        sinal + "Necessário Informar a Data de Conclusão Original.<br>";
    }

    // if(form.getValue('dtConclusaoAtual') == null || form.getValue('dtConclusaoAtual').trim() == '') {
    // 	mensagem += sinal +  'Necessário Informar a Data de Conclusão Atual.<br>';
    // }

    var listaAtividades = form.getChildrenIndexes("tabAtividades");
    log.info("===== WF-0035 validateForm  listaAtividades.length: " + listaAtividades.length);
    if (listaAtividades.length > 0) {
      for (var i = 0; i < listaAtividades.length; i++) {

        log.info("===== WF-0035 validateForm  listaAtividades[i] " + listaAtividades[i]);
        log.info("===WF-0035 validateForm  chkEnviarValue___ + listaAtividades[i] " + form.getValue("chkEnviarValue___" + listaAtividades[i]));

        if (form.getValue("chkEnviarValue___" + listaAtividades[i]) == "S") {
          log.info("===WF-0035 validateForm  cmbTarefa___ + listaAtividades[i] " + form.getValue("cmbTarefa___" + listaAtividades[i]));
          if (
            form.getValue("cmbTarefa___" + listaAtividades[i]) == null ||
            form.getValue("cmbTarefa___" + listaAtividades[i]) == "" ||
            form.getValue("cmbTarefa___" + listaAtividades[i]) == 0
          ) {
            mensagem +=
              sinal +
              "Informe a Tarefa para a Atividade " +
              form.getValue("txtId___" + listaAtividades[i]);
          }

          if (
            form.getValue("dtPrazo___" + listaAtividades[i]) == null ||
            form.getValue("dtPrazo___" + listaAtividades[i]) == ""
          ) {
            mensagem +=
              sinal +
              "Informe o Prazo para a Atividade " +
              form.getValue("txtId___" + listaAtividades[i]);
          }

          if (
            form.getValue("idResponsavelValue___" + listaAtividades[i]) ==
              null ||
            form.getValue("idResponsavel___" + listaAtividades[i]) == ""
          ) {
            mensagem +=
              sinal +
              "Informe o Responsável para a Atividade " +
              form.getValue("txtId___" + listaAtividades[i]);
          }

          if (
            form.getValue("txtDescricaoSol___" + listaAtividades[i]) == null ||
            form.getValue("txtDescricaoSol___" + listaAtividades[i]) == ""
          ) {
            mensagem +=
              sinal +
              "Informe o Descrição para a Atividade " +
              form.getValue("txtId___" + listaAtividades[i]);
          }

          //Verifica Duplicidade
          var tarefa = form.getValue("cmbTarefa___" + listaAtividades[i]);
          var responsavel = form.getValue(
            "idResponsavel___" + listaAtividades[i]
          );

          for (var j = 0; j < listaAtividades.length; j++) {
            if (i != j) {
              if (
                tarefa == form.getValue("cmbTarefa___" + listaAtividades[j]) &&
                responsavel ==
                  form.getValue("idResponsavel___" + listaAtividades[j])
              ) {
                var descTarefa;
                var idTarefa = form.getValue(
                  "cmbTarefa___" + listaAtividades[j]
                );
                log.info("===WF-0035 validateForm  idTarefa: " + idTarefa);
                idTarefa = parseInt(idTarefa);
                log.info("===WF-0035 validateForm  idTarefa: " + idTarefa);

                switch (idTarefa) {
                  case 1:
                    descTarefa = "1 - Análise de patentes";
                    log.info(
                      "===WF-0035 validateForm  descTarefa: " + descTarefa
                    );
                    break;
                  case 2:
                    descTarefa = "2 - Requisitos regulamentares (normas, leis)";
                    break;
                  case 3:
                    descTarefa =
                      "3 - Confirmação das características do produto";
                    break;
                  case 4:
                    descTarefa = "4 - Análise de viabilidade econômica";
                    break;
                  case 5:
                    descTarefa = "5 - Construção do protótipo";
                    break;
                  case 6:
                    descTarefa = "6 - Testes do protótipo";
                    break;
                  case 7:
                    descTarefa = "7 - Verificação do projeto";
                    break;
                  case 8:
                    descTarefa = "8 - Desenvolvimento de fornecedores";
                    break;
                  case 9:
                    descTarefa = "9 - Desenvolvimentos dos meios de produção";
                    break;
                  case 10:
                    descTarefa = "10 - Verificação do projeto";
                    break;
                  case 11:
                    descTarefa = "11 - Parceria tecnológica";
                    break;
                  case 12:
                    descTarefa = "12 - Lote piloto";
                    break;
                  case 13:
                    descTarefa = "13 - Revisão de custos";
                    break;
                  case 14:
                    descTarefa = "14 - Verificação do projeto";
                    break;
                  case 15:
                    descTarefa =
                      "15 - Elaboração da documentação cfe. check-list";
                    break;
                  case 16:
                    descTarefa = "16 - Treinamento";
                    break;
                  case 17:
                    descTarefa = "17 - Validação do projeto";
                    break;
                }
                mensagem +=
                  sinal +
                  'A Tarefa "' +
                  descTarefa +
                  '" não pode ser atribuida ao mesmo responsável mais de uma vez, verifique as tarefas ' +
                  form.getValue("txtId___" + listaAtividades[j]) +
                  " e " +
                  form.getValue("txtId___" + listaAtividades[i]);
              }
            }
          }
        }
      }
    }

    //Obrigatorio preencher
    if (
      form.getValue("txtAnaliseCritica") == null ||
      form.getValue("txtAnaliseCritica").trim() == ""
    ) {
      mensagem += sinal + "Informe a Análise Crítica do Projeto.<br>";
    }
  }
  //===========================================
  //Atividade 83-
  //===========================================
  if (WKNumState == 83) {
    //Se solicitou para alterar prazo então valida apenas a observação
    auxAtiv = WKNumState.toString();
    if (form.getValue("h_trocaPrazoAtiv_" + auxAtiv) == "sim") {
      if (
        form.getValue("edObsIntAtiv_" + auxAtiv) == "" ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == null ||
        form.getValue("edObsIntAtiv_" + auxAtiv) == undefined
      ) {
        mensagem +=
          sinal + "Para alterar prazo o preencha o campo Observações<br>";
        mensagem += sinal + "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
      } else {
        return;
      }
    }
    //Obrigatorio preencher
    if (
      form.getValue("txtConclusao") == null ||
      form.getValue("txtConclusao").trim() == ""
    ) {
      mensagem += sinal + "Informe a Observação da Conclusão do Projeto.<br>";
    }
  }
  //===========================================
  //Valida filhos
  //===========================================
  if (WKNumState == 999479) {
    var idx = form.getChildrenIndexes("tabEmpEst");
    if (idx.length == 0 || idx == null) {
      mensagem +=
        sinal +
        "Você deve informar a empresa, estabelecimento e a descrição dos documentos.<br>";
    } else {
      for (i = 0; i < idx.length; i++) {
        if (
          form.getValue("edDescDoctos___" + idx[i]) == "" ||
          form.getValue("edDescDoctos___" + idx[i]) == null
        ) {
          mensagem +=
            sinal +
            "Você deve informar a descrição dos documentos para cada empresa e estabelecimento.<br>";
        }
      }
    }
  }

  //===========================================
  // Fim das validações
  //===========================================
  loading.setMessage("");
  if (mensagem != "") {
    throw "<b>Atenção!!</b><br><br>" + mensagem + "<br><br>";
  }
} //fecha principal
