<?php include('./header.php'); ?>
<style type="text/css">
  .progress-barra .step .bullet:before,
  .progress-barra .step .bullet:after {
    position: absolute;
    content: '';
    right: -20.35rem;
    height: 3px;
    width: 20rem;
    background: #666;
  }
</style>

<body class="hold-transition layout-top-nav">
  <div class="wrapper">
    <div class="preloader flex-column justify-content-center align-items-center">
    </div>
    <!-- Content Wrapper. Contains page content -->
    <div class="content-wrapper">
      <!-- Content Header (Page header) -->
      <div class="content-header">
        <div class="container-fluid">
        </div><!-- /.container-fluid -->
      </div>
      <!-- /.content-header -->

      <section class="content">
        <div class="container-fluid">
          <div class="row">
            <!-- SELECT2 EXAMPLE -->
            <div class="col-md-12">
              <div class="card card-default">
                <div class="card-body button-nav">
                  <div class="row float-right">
                    <div class="col-md-12">
                      <li class="nav-item dropdown btn">
                        <a id="btn-preview" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="nav-link dropdown-toggle">Pré-visualizar</a>
                        <ul aria-labelledby="btn-preview" class="dropdown-menu border-0 shadow">
                          <li><button id="./formLayoutA4N.php" class="dropdown-item btn-layout" disabled>Documento A4</button></li>
                          <li><button id="./formLayoutTicketN.php" class="dropdown-item btn-layout" disabled>Documento Ticket</button></li>
                        </ul>
                      </li>
                      <button class="btn btn-opcao">Importar</button>
                      <button class="btn btn-opcao botao-activo" id="btn">Nova Nota de Débito</button>
                    </div>
                    <!-- /.col -->
                  </div>
                  <!-- /.row -->
                </div>
                <!-- /.card-body -->
              </div>
            </div>
            <div class="col-md-12">
              <div class="card card-default">
                <div class="card-header">
                  <h3 class="card-title">Documentos</h3>
                  <div class="card-tools">
                    <button type="button" class="btn btn-tool" data-card-widget="collapse">
                      <i class="fas fa-minus"></i>
                    </button>
                    <button type="button" class="btn btn-tool" data-card-widget="remove">
                      <i class="fas fa-times"></i>
                    </button>
                  </div>
                </div>
                <!-- /.card-header -->
                <div class="card-body">
                  <table id="tabelaDocumento" class="table table-bordered table-striped" style="line-height: 0.8;">
                    <thead>
                      <tr style="text-align: center;">
                        <th title="Código do Documento">Documento</th>
                        <th title="Valor Entregue">Valor Entregue</th>
                        <th title="Troco">Troco</th>
                        <th title="Data Documento">Data Documento</th>
                        <th title="Usuário-Vendedor">Vendedor</th>
                        <th title="Total do Documento">Total</th>
                        <th title="Nome do Entidade">Entidade</th>
                        <th title="Estado do Documento">Estado</th>
                        <th title="Opções"><i class="fa-solid fa-screwdriver-wrench"></i></th>
                      </tr>
                    </thead>
                    <tbody id="corpoTabela" style="text-align: center;">

                    </tbody>
                  </table>
                </div>
                <!-- /.card-body -->
                <div class="card-footer">
                  Listagem Facturas.
                </div>
              </div>
            </div>
          </div>
          <!-- /.card -->
        </div>
        <!-- /.container-fluid -->
      </section>
      <div class="modal fade" id="modal-documento-existente">
        <div class="modal-dialog modal-xl">
          <div class="modal-content">
            <div class="modal-header">
              <div class="container">
                <button type="button" class="close" data-dismiss="modal" aria-label="close">
                  <small aria-hidden="true">
                    <small class="fas fa-close"></small>
                  </small>
                </button>
                <div class="progress-barra">
                  <div class="step step-existente">
                    <p style="margin: 0;">Documento</p>
                    <div class="bullet">
                      <span style="color: #666;">1</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                  <div class="step step-existente">
                    <p style="margin: 0;">Artigos Documento</p>
                    <div class="bullet">
                      <span style="color: #666;">2</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                  <div class="step step-existente">
                    <p style="margin: 0;">Confirmação</p>
                    <div class="bullet">
                      <span style="color: #666;">4</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="modal-body">
              <div class="container">
                <div class="card-body form-outer" style="padding: 0;">
                  <div class="formulario">
                    <div class="page slidePage slidePage-existente">
                      <div class="row">
                        <div class="col-md-5">
                          <h5 style="margin-bottom: 1rem; justify-content: center;">Documento - <span id="codigo"></span></h5>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">Tipo de Documento</small>
                            <select class="form-control select2" style="width: 100%;" id="tipoDocumentoExistente">
                            </select>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">Natureza do Documento</small>
                            <select class="form-control select2" style="width: 100%;" id="idTipoDocExistente">
                            </select>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">Série do Documento</small>
                            <select class="form-control select2" style="width: 100%;" id="idSerieExistente">
                            </select>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Nº do Documento</small>
                            <div class="input-group input-group">
                              <input type="text" class="form-control form-control" id="nDocumentoExistente" name="nDocumentoExistente" placeholder="Pesquisar Nº do Documento" title="Pesquisar Nº do Documento">
                              <div class="input-group-append">
                                <button type="button" id="btn-search-nDocumento-existente" class="btn btn btn-default" style="line-height: 0 ;">
                                  <i class="fa fa-search"></i>
                                </button>
                              </div>
                            </div>
                            <small>Mensagem de erro</small>
                          </div>
                        </div>
                        <div class="col-md-2" style="display: flex; flex-direction: column; justify-content: center;">
                          <div class="form-group">
                            <button type="button" class="btn btn-block btn-primary btn-lg" id="btn-adicionar" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">Adicionar<i class="fa-solid fa-circle-right" style="color: #fff; font-size: 1.5rem; margin-left: 1rem;"></i></button>
                          </div>
                          <div class="form-group">
                            <button type="button" class="btn btn-block btn-primary btn-lg" id="btn-remover" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">Remover<i class="fa-solid fa-circle-left" style="color: #fff; font-size: 1.5rem; margin-left: 1rem;"></i></button>
                          </div>
                        </div>
                        <div class="col-md-5">
                          <h5>Documentos</h5>
                          <small style="visibility: hidden;">small</small>
                          <table class="table table-sm" id="tabelaDocumentoExistente">
                            <thead>
                              <tr>
                                <th style="width: 35%;">Nº do Documento</th>
                                <th style="width: 30%;">Data</th>
                                <th style="width: 35%;">Total</th>
                              </tr>
                            </thead>
                            <tbody id="bodyTabelaDocumentoExistente">
                            </tbody>
                          </table>
                        </div>
                        <div class="col-md-12">
                          <div class="form-group margem">
                            <small>Mensagem de erro</small>
                            <div class="form-group field btns">
                              <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary nextBtn nextBtn-existente" style="margin-top: 0;">
                                Seguinte
                              </button>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                    <div class="page" style="position: relative;">
                      <div class="row">
                        <div class="col-md-12">
                          <h6>
                            <div class="tooltip-container">
                              <button class="float-right" id="outrasOpcoesExistente" style="border: none; color: #560085; background: #56008540;padding: .5rem;border-radius: 10px;font-weight: 500;text-align: center; cursor: pointer;">Outras Opções</button>
                              <div class="col-12 col-sm-6 tooltip-content">
                                <div class="card card-primary card-outline card-outline-tabs" style="width: 45%;">
                                  <div class="card-header p-0 border-bottom-0">
                                    <ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
                                      <li class="nav-item">
                                        <a class="nav-link active" id="custom-tabs-four-artigo-tab" data-toggle="pill" href="#custom-tabs-four-artigo" role="tab" aria-controls="custom-tabs-four-artigo" aria-selected="true">Artigo</a>
                                      </li>
                                      <li class="nav-item">
                                        <a class="nav-link" id="custom-tabs-four-total-tab" data-toggle="pill" href="#custom-tabs-four-total" role="tab" aria-controls="custom-tabs-four-total" aria-selected="false">Totais</a>
                                      </li>
                                      <li class="nav-item">
                                        <a class="nav-link" id="custom-tabs-four-imposto-tab" data-toggle="pill" href="#custom-tabs-four-imposto" role="tab" aria-controls="custom-tabs-four-imposto" aria-selected="false">Impostos</a>
                                      </li>
                                      <li class="nav-item">
                                        <a class="nav-link" id="custom-tabs-four-saldo-tab" data-toggle="pill" href="#custom-tabs-four-saldo" role="tab" aria-controls="custom-tabs-four-saldo" aria-selected="false">Saldo</a>
                                      </li>
                                      <li class="nav-item">
                                        <a class="nav-link" id="custom-tabs-four-observacao-tab" data-toggle="pill" href="#custom-tabs-four-observacao" role="tab" aria-controls="custom-tabs-four-observacao" aria-selected="false">Obs.</a>
                                      </li>
                                    </ul>
                                  </div>
                                  <div class="card-body">
                                    <div class="tab-content" id="custom-tabs-four-tabContent">
                                      <div class="tab-pane fade show active" id="custom-tabs-four-artigo" role="tabpanel" aria-labelledby="custom-tabs-four-artigo-tab">
                                        <div class="row">
                                          <div class="col-md-12">
                                            <p>Artigo<span id="idArtigoExistente"></span></p>
                                          </div>
                                          <div class="col-md-12">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Descrição</small>
                                              <input type="text" class="form-control" id="descricaoArtigoExistente" placeholder="Descrição do Artigo" title="Descrição do Artigo">
                                              <small>Mensagem de erro</small>
                                            </div>
                                          </div>
                                          <div class="col-md-6">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Desconto</small>
                                              <input type="text" class="form-control desconto" id="descontoArtigoExistente" placeholder="Desconto" title="Desconto" value="0">
                                              <small>Mensagem de erro</small>
                                            </div>
                                          </div>
                                          <div class="col-md-6">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Imposto</small>
                                              <select class="form-control select2" id="impostoArtigoExistente" style="width: 100%;" placeholder="Imposto" title="Imposto">
                                              </select>
                                              <small>Mensagem de erro</small>
                                            </div>
                                          </div>
                                          <div class="col-md-12">
                                            <div class="form-group">
                                              <small>Botão</small>
                                              <button type="button" class="btn btn-block btn-primary" id="btnArtigoExistente">Gravar Alterações</button>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                      <div class="tab-pane fade" id="custom-tabs-four-total" role="tabpanel" aria-labelledby="custom-tabs-four-total-tab">
                                        <div class="row">
                                          <div class="col-md-6">
                                            <p>Total Bruto</p>
                                            <p>Desconto de Linha</p>
                                          </div>
                                          <div class="col-md-6">
                                            <p style="text-align: right;" id="opcaoTotalBrutoExistente">0,00</p>
                                            <p style="text-align: right;" id="opcaoDescontoLinhaExistente">0,00</p>
                                          </div>
                                          <div class="col-md-6">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Desconto Global %</small>
                                              <input type="text" class="form-control" id="descontoGlobalPorcentagemExistente" placeholder="0,00%" title="Desconto Global Porcentagem">
                                            </div>
                                          </div>
                                          <div class="col-md-6">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Desconto Global</small>
                                              <input type="text" class="form-control" id="descontoGlobalValorExistente" name="descontoGlobalValorExistente" placeholder="0,00" title="Desconto Global Por Valor">
                                            </div>
                                          </div>
                                          <div class="col-md-6">
                                            <p>Total Líquido</p>
                                            <p>Total Impostos</p>
                                            <p>Total Documento</p>
                                            <p>Total Retenção</p>
                                          </div>
                                          <div class="col-md-6">
                                            <p style="text-align: right;" id="opcaoTotalLiquidoExistente">0,00</p>
                                            <p style="text-align: right;" id="opcaoTotalImpostoExistente">0,00</p>
                                            <p style="text-align: right;" id="opcaoTotalDocumentoExistente">0,00</p>
                                            <p style="text-align: right;">0,00</p>
                                          </div>
                                          <div class="col-md-12">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Arredondamento</small>
                                              <input type="text" class="form-control" id="arredondamentoExistente" placeholder="0,00" title="Arredondamento Existente">
                                            </div>
                                          </div>
                                          <div class="col-md-6">
                                            <p>Valor a Pagar</p>
                                          </div>
                                          <div class="col-md-6">
                                            <p style="text-align: right;" id="opcaoValorPagarExistente">0,00</p>
                                          </div>
                                        </div>
                                      </div>
                                      <div class="tab-pane fade" id="custom-tabs-four-imposto" role="tabpanel" aria-labelledby="custom-tabs-four-imposto-tab">
                                        <div class="row">
                                          <div class="col-md-12">
                                            <table class="table table-sm" style="text-align: center;">
                                              <thead>
                                                <tr>
                                                  <th title="Taxa %"><small>Taxa %</small></th>
                                                  <th title="Incidência"><small>Incidência</small></th>
                                                  <th title="Impostos"><small>Impostos</small></th>
                                                  <th title="Valor"><small>Valor</small></th>
                                                </tr>
                                              </thead>
                                              <tbody id="impostoOpcaoExistente">
                                              </tbody>
                                            </table>
                                          </div>
                                        </div>
                                      </div>
                                      <div class="tab-pane fade" id="custom-tabs-four-saldo" role="tabpanel" aria-labelledby="custom-tabs-four-saldo-tab">
                                        <div class="row">
                                          <div class="col-md-12">
                                            <table class="table table-sm">
                                              <thead>
                                                <tr>
                                                  <th title="Total"><small>Total</small></th>
                                                  <th title="Não Vencido"><small>N.Vencido</small></th>
                                                  <th title="Até 30 Dias"><small>30 Dias</small></th>
                                                  <th title="De 31 até 60 Dias"><small>31-60 Dias</small></th>
                                                  <th title="De 61 até 90 Dias"><small>61-90 Dias</small></th>
                                                  <th title="Mais de 90 Dias"><small>+90 Dias</small></th>
                                                </tr>
                                              </thead>
                                              <tbody>
                                              </tbody>
                                            </table>
                                          </div>
                                        </div>
                                      </div>
                                      <div class="tab-pane fade" id="custom-tabs-four-observacao" role="tabpanel" aria-labelledby="custom-tabs-four-observacao-tab">
                                        <div class="row">
                                          <div class="col-md-12">
                                            <div class="form-group" style="margin-bottom: 0;">
                                              <small class="not-required">Observações</small>
                                              <textarea class="form-control" name="" id="" cols="30" rows="10"></textarea>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                  <!-- /.card -->
                                </div>
                              </div>
                            </div>

                          </h6>
                          <div class="card-body table-responsive p-0" style="height: 8rem; border: 0;">
                            <table class="table table-sm table-stripped" id="tabelaDocumentoExistenteArtigo">
                              <thead>
                                <tr>
                                  <th>Ref. Doc.</th>
                                  <th>Ref. Artigo</th>
                                  <th>Descrição</th>
                                  <th>Qtd</th>
                                  <th>Preço</th>
                                  <th>Desc.</th>
                                  <th>Imposto</th>
                                  <th>Total</th>
                                </tr>
                              </thead>
                              <tbody id="bodyTabelaDocumentoExistenteArtigo">
                              </tbody>
                            </table>
                          </div>
                        </div>
                        <div class="col-md-6">
                          <div class="row">
                            <div class="col-md-3">
                              <div class="input-group input-group">
                                <input type="number" class="form-control form-control" id="adicionarQtd" name="adicionarQtd" title="Quantidade">
                                <div class="input-group-append">
                                  <button type="button" id="btn-adicionar-qtd" class="btn btn btn-default" style="line-height: 0;">
                                    <i class="fa-regular fa-circle-down" style="color: #560085; font-size: 1.2rem;"></i>
                                  </button>
                                </div>
                              </div>
                            </div>
                            <div class="col-md-3">
                              <button name="btn-submit" id="btn-adicinar-linha" class="btn btn-block btn-primary botao-nota" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">
                                Linha
                                <i class="fa-regular fa-circle-down" style="color: #fff; font-size: 1.2rem; margin-left: 1rem;"></i>
                              </button>
                            </div>
                            <div class="col-md-3">
                              <button name="btn-submit" id="btn-adicinar-tudo" class="btn btn-block btn-primary botao-nota" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">
                                Todos
                                <i class="fa-solid fa-circle-down" style="color: #fff; font-size: 1.2rem; margin-left: 1rem;"></i>
                              </button>
                            </div>
                          </div>
                        </div>
                        <div class="col-md-6">
                          <div class="row" style="justify-content: end;">
                            <div class="col-md-3">
                              <div class="input-group input-group">
                                <input type="number" class="form-control form-control" id="removerQtd" name="removerQtd" title="Quantidade">
                                <div class="input-group-append">
                                  <button type="button" id="btn-remover-qtd" class="btn btn btn-default" style="line-height: 0;">
                                    <i class="fa-regular fa-circle-up" style="color: #560085; font-size: 1.2rem;"></i>
                                  </button>
                                </div>
                              </div>
                            </div>
                            <div class="col-md-3">
                              <button name="btn-submit" id="btn-remover-linha" class="btn btn-block btn-primary botao-nota" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">
                                Linha
                                <i class="fa-regular fa-circle-up" style="color: #fff; font-size: 1.2rem; margin-left: 1rem;"></i>
                              </button>
                            </div>
                            <div class="col-md-3">
                              <button name="btn-submit" id="btn-remover-tudo" class="btn btn-block btn-primary botao-nota" style="margin-top: 0; display: flex; justify-content: center; align-items: center;">
                                Todos
                                <i class="fa-solid fa-circle-up" style="color: #fff; font-size: 1.2rem; margin-left: 1rem;"></i>
                              </button>
                            </div>
                          </div>
                        </div>
                        <div class="col-md-12">
                          <div class="card-body table-responsive p-0" style="height: 8rem; border: 0;">
                            <table class="table table-sm table-stripped" id="tabelaDocumentoExistenteArtigoSelecionado">
                              <thead>
                                <tr>
                                  <th>Ref. Doc.</th>
                                  <th>Ref. Artigo</th>
                                  <th>Descrição</th>
                                  <th>Qtd</th>
                                  <th>Preço</th>
                                  <th>Desc.</th>
                                  <th>Imposto</th>
                                  <th>Total</th>
                                </tr>
                              </thead>
                              <tbody id="bodyTabelaDocumentoExistenteArtigoSelecionado">
                              </tbody>
                            </table>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Motivo de Emissão</small>
                            <textarea id="motivoEmissaoExistente" class="form-control" placeholder="Motivo de emissão do documento..." rows="1"></textarea>
                            <small>Mensagem de erro</small>
                          </div>
                        </div>
                      </div>
                      <div class="col-md-12" style="padding: 14px 0 0 0; bottom: 0; position: relative;">
                        <div class="form-group field btns">
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary prev-1 prev prev-1-existente" style="margin-top: 0;">
                            Anterior
                          </button>
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary next-1 next next-1-existente" style="margin-top: 0;">
                            Seguinte
                          </button>
                        </div>
                      </div>
                    </div>
                    <div class="page" style="position: relative;">
                      <h5 style="margin-bottom: 1rem; justify-content: center;">Confirmação</h5>
                      <section class="content">
                        <div class="container-fluid">
                          <div class="row">
                            <div class="col-12">
                              <div class="invoice p-3 mb-3" style="height: 20.5rem; overflow-y: scroll;">
                                <!-- title row -->
                                <div class="row">
                                  <div class="col-12">
                                    <h4>
                                      <span id="descCabecalhoExistente"></span>
                                      <small class="float-right" id="descDataActualExistente"></small>
                                    </h4>
                                  </div>
                                  <!-- /.col -->
                                </div>
                                <!-- info row -->
                                <div class="row invoice-info">
                                  <div class="col-sm-6 invoice-col">
                                    <strong>Código Documento - <span id="descCodigoExistente"></span></strong><br>
                                    <span>Documento - </span><strong><span id="descDocumentoExistente"></span></strong><br>
                                    <span>Série - </span><strong><span id="descSerieExistente"></span></strong><br>
                                    <span>Prazo de Pagamento - </span><strong><span id="descPrazoPagamentoExistente"></span></strong><br>
                                    <span>Vendedor - </span><strong><span id="descVendedorExistente"></span></strong>
                                  </div>
                                  <!-- /.col -->
                                  <div class="col-sm-6 invoice-col">
                                    <strong><span>Entidade</span></strong><br>
                                    <span>Identificador Cliente - </span><strong><span id="descIdClienteExistente"></span></strong><br>
                                    <span>Nome - </span><strong><span id="descNomeExistente"></span></strong><br>
                                    <span>Morada - </span><strong><span id="descMoradaExistente"></span></strong><br>
                                    <span>NIF - </span><strong><span id="descNifExistente"></span></strong><br>
                                  </div>
                                </div>
                                <!-- /.row -->

                                <!-- Table row -->
                                <div class="row" style="margin-top: 1.5rem;">
                                  <div class="col-12 table-responsive">
                                    <table class="table table-hover table-striped" style="text-align: center;" id="tabelaConfirmacaoExistente">
                                      <thead>
                                        <tr>
                                          <th>Ref. Doc.</th>
                                          <th>Ref. Artigo</th>
                                          <th>Descrição</th>
                                          <th>Qtd</th>
                                          <th>Preço</th>
                                          <th>Desc.</th>
                                          <th>Imposto</th>
                                          <th>Total</th>
                                        </tr>
                                      </thead>
                                      <tbody id="tabelaConfirmacaoBodyExistente">
                                      </tbody>
                                    </table>
                                  </div>
                                  <!-- /.col -->
                                </div>
                                <div class="row" style="margin-top: 1.5rem;">
                                  <div class="col-sm-6 invoice-col">
                                    <strong><span>Motivo de Emissão: </span><span id="descMotivoExistente"></span></strong><br>
                                  </div>
                                </div>
                              </div>
                              <!-- /.invoice -->
                            </div><!-- /.col -->
                          </div><!-- /.row -->
                        </div><!-- /.container-fluid -->
                      </section>
                      <div class="col-md-12" style="padding: 14px 0 0 0; bottom: 0; position: absolute;">
                        <div class="form-group field btns">
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary prev-2 prev prev-2-existente" style="margin-top: 0;">
                            Anterior
                          </button>
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary submit next submit-existente" style="margin-top: 0; margin-left: 3px !important;">
                            Gravar Documento
                          </button>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="modal-footer">
              <div class="col-md-12" id="footerPagamento">
                <h4 style="display: none; align-items: center; justify-content: space-between;"><span id="totalEntregueExistente">ENTREGUE</span><span id="entregueSpanExistente">0,00 Kzs</span></h4>
                <h4 style="display: flex; align-items: center; justify-content: space-between;"><span class="text-danger" id="totalTextExistente">TOTAL</span><span id="totalSpanExistente">0,00 Kzs</span></h4>
              </div>
            </div>
          </div>
          <!-- /.modal-content -->
        </div>
        <!-- /.modal-dialog -->
      </div>
      <div class="modal fade" id="modal-documento-novo">
        <div class="modal-dialog modal-xl">
          <div class="modal-content">
            <div class="modal-header">
              <div class="container">
                <div class="progress-barra">
                  <div class="step step-novo">
                    <p style="margin: 0;">Geral</p>
                    <div class="bullet">
                      <span style="color: #666;">1</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                  <div class="step step-novo">
                    <p style="margin: 0;">Artigos</p>
                    <div class="bullet">
                      <span style="color: #666;">2</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                  <div class="step step-novo">
                    <p style="margin: 0;">Confirmação</p>
                    <div class="bullet">
                      <span style="color: #666;">3</span>
                      <div class="check fas fa-check"></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="modal-body">
              <div class="container">
                <div class="card-body form-outer" style="padding: 0;">
                  <div class="formulario">
                    <div class="page slidePage slidePage-novo">
                      <div class="row">
                        <div class="col-md-6">
                          <h5 style="margin-bottom: 1rem; justify-content: center;">Documento - <span id="codigo"></span></h5>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">Tipo de Documento</small>
                            <select class="form-control select2" style="width: 100%;" id="tipoDocumentoNovo">
                            </select>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Série</small>
                            <input type="text" class="form-control" id="idSerieNovo" placeholder="Série" title="Série" disabled>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">Prazo de Pagamento</small>
                            <select class="form-control select2" style="width: 100%;" id="prazoPagamentoNovo">
                            </select>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Vendedor</small>
                            <input type="text" class="form-control" id="vendedorFacturaNovo" placeholder="Vendedor" title="Vendedor" disabled>
                            <small>Mensagem de erro</small>
                          </div>
                        </div>
                        <div class="col-md-6">
                          <h5 style="margin-bottom: 1rem; justify-content: center;">Entidade</h5>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Entidade</small>
                            <div class="input-group input-group">
                              <input type="text" class="form-control form-control" id="entidadeNovo" placeholder="Pesquisar Entidade" title="Pesquisar Entidade">
                              <div class="input-group-append">
                                <button type="button" id="btn-search-entidade-novo" class="btn btn btn-default" style="line-height: 0 ;">
                                  <i class="fa fa-search"></i>
                                </button>
                              </div>
                            </div>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Nome</small>
                            <input type="text" class="form-control" id="nomeEntidadeNovo" placeholder="Nome" title="Nome do Entidade" disabled>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Morada</small>
                            <input type="text" class="form-control" id="moradaEntidadeNovo" placeholder="Morada do Entidade" title="Morada do Entidade" disabled>
                            <small>Mensagem de erro</small>
                          </div>
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="required">NIF do Entidade</small>
                            <input type="text" class="form-control" id="nifEntidadeNovo" placeholder="NIF do Entidade" title="NIF (Número de Identificação Fiscal) do Entidade" disabled>
                          </div>
                        </div>
                        <div class="col-md-12">
                          <div class="form-group margem">
                            <small>Mensagem de erro</small>
                            <div class="form-group field btns">
                              <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary nextBtn nextBtn-novo" style="margin-top: 0;">
                                Seguinte
                              </button>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                    <div class="page" style="position: relative;">
                      <div class="row">
                        <div class="col-md-12">

                        </div>
                        <div class="col-md-12">
                          <div class="form-group" style="margin-bottom: 0;">
                            <small class="not-required">Motivo de Emissão</small>
                            <textarea id="motivoEmissaoNovo" class="form-control" placeholder="Motivo de emissão do documento..." rows="1"></textarea>
                            <small>Mensagem de erro</small>
                          </div>
                        </div>
                      </div>
                      <div class="col-md-12" style="padding: 14px 0 0 0; bottom: 0; position: absolute;">
                        <div class="form-group field btns">
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary prev-1 prev prev-1-novo" style="margin-top: 0;">
                            Anterior
                          </button>
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary next-1 next next-1-novo" style="margin-top: 0;">
                            Seguinte
                          </button>
                        </div>
                      </div>
                    </div>
                    <div class="page" style="position: relative;">
                      <h5 style="margin-bottom: 1rem; justify-content: center;">Confirmação</h5>
                      <section class="content">
                        <div class="container-fluid">
                          <div class="row">
                            <div class="col-12">
                              <div class="invoice p-3 mb-3" style="height: 20.5rem; overflow-y: scroll;">
                                <!-- title row -->
                                <div class="row">
                                  <div class="col-12">
                                    <h4>
                                      <span id="descCabecalhoNovo"></span>
                                      <small class="float-right" id="descDataActualNovo"></small>
                                    </h4>
                                  </div>
                                  <!-- /.col -->
                                </div>
                                <!-- info row -->
                                <div class="row invoice-info">
                                  <div class="col-sm-6 invoice-col">
                                    <strong>Código Documento - <span id="descCodigoNovo"></span></strong><br>
                                    <span>Documento - </span><strong><span id="descDocumentoNovo"></span></strong><br>
                                    <span>Série - </span><strong><span id="descSerieNovo"></span></strong><br>
                                    <span>Prazo de Pagamento - </span><strong><span id="descPrazoPagamentoNovo"></span></strong><br>
                                    <span>Vendedor - </span><strong><span id="descVendedorNovo"></span></strong>
                                  </div>
                                  <!-- /.col -->
                                  <div class="col-sm-6 invoice-col">
                                    <strong><span>Entidade</span></strong><br>
                                    <span>Identificador Cliente - </span><strong><span id="descIdClienteNovo"></span></strong><br>
                                    <span>Nome - </span><strong><span id="descNomeNovo"></span></strong><br>
                                    <span>Morada - </span><strong><span id="descMoradaNovo"></span></strong><br>
                                    <span>NIF - </span><strong><span id="descNifNovo"></span></strong><br>
                                  </div>
                                </div>
                                <!-- /.row -->

                                <!-- Table row -->
                                <div class="row" style="margin-top: 1.5rem;">
                                  <div class="col-12 table-responsive">
                                    <table class="table table-hover table-striped" style="text-align: center;" id="tabelaConfirmacaoNovo">
                                      <thead>
                                        <tr>
                                          <th title="Referência do Artigo">Referência</th>
                                          <th title="Descrição">Descrição</th>
                                          <th title="Quantidade">Qtd.</th>
                                          <th title="Preço do Artigo">Preço</th>
                                          <th title="Desconto">Desc.</th>
                                          <th title="Imposto">Imposto</th>
                                          <th title="Total">Total</th>
                                        </tr>
                                      </thead>
                                      <tbody id="tabelaConfirmacaoBodyNovo">
                                      </tbody>
                                    </table>
                                  </div>
                                  <!-- /.col -->
                                </div>
                                <div class="row" style="margin-top: 1.5rem;">
                                  <div class="col-sm-6 invoice-col">
                                    <strong><span>Motivo de Emissão: </span><span id="descMotivoNovo"></span></strong><br>
                                  </div>
                                </div>
                              </div>
                              <!-- /.invoice -->
                            </div><!-- /.col -->
                          </div><!-- /.row -->
                        </div><!-- /.container-fluid -->
                      </section>
                      <div class="col-md-12" style="padding: 14px 0 0 0; bottom: 0; position: absolute;">
                        <div class="form-group field btns">
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary prev-2 prev prev-2-novo" style="margin-top: 0;">
                            Anterior
                          </button>
                          <button name="btn-submit" id="btn-submit" class="btn btn-block btn-primary submit next submit-novo" style="margin-top: 0; margin-left: 3px !important;">
                            Gravar Documento
                          </button>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="modal-footer">
              <div class="col-md-12" id="footerPagamento">
                <h4 style="display: none; align-items: center; justify-content: space-between;"><span id="totalEntregue">ENTREGUE</span><span id="entregueSpan">0,00 Kzs</span></h4>
                <h4 style="display: flex; align-items: center; justify-content: space-between;"><span class="text-danger" id="totalText">TOTAL</span><span id="totalSpan">0,00 Kzs</span></h4>
              </div>
            </div>
          </div>
          <!-- /.modal-content -->
        </div>
        <!-- /.modal-dialog -->
      </div>
      <div class="modal fade" id="modal-entidade-novo">
        <div class="modal-dialog modal-xl">
          <div class="modal-content">
            <div class="modal-header">
              <h4 class="modal-title">Entidades</h4>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
            </div>
            <div class="modal-body">
              <table id="tabelaEntidadeNovo" class="table table-hover table-bordered table-striped" style="line-height: 0.8;">
                <thead>
                  <tr style="text-align: center;">
                    <th title="Identificador da Entidade">Id. Entidade</th>
                    <th title="Nome">Nome</th>
                    <th title="Nome Comercial">Nome Comercial</th>
                    <th title="Bilhete de Identidade do Entidade">B.I</th>
                    <th title="NIF do Entidade">NIF</th>
                    <th title="Localidade do Entidade">Localidade</th>
                    <th title="Data de Nascimento do Entidade">Data Nasc.</th>
                    <th title="Morada do Entidade">Morada</th>
                    <th title="Tipo">Tipo</th>
                    <th title="Estado do Entidade">Estado</th>
                  </tr>
                </thead>
                <tbody style="text-align: center;">
                </tbody>
              </table>
            </div>
            <div class="modal-footer justify-content-between">
              <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
              <button type="button" class="btn btn-primary">Confirmar</button>
            </div>
          </div>
          <!-- /.modal-content -->
        </div>
        <!-- /.modal-dialog -->
      </div>
      <div class="modal fade" id="modal-artigo">
        <div class="modal-dialog modal-xl">
          <div class="modal-content">
            <div class="modal-header">
              <h4 class="modal-title">Artigos</h4>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
            </div>
            <div class="modal-body">
              <table id="tabelaArtigoListagem" class="table table-hover table-bordered table-striped" style="line-height: 0.8;">
                <thead>
                  <tr style="text-align: center;">
                    <th title="Referência">Referência</th>
                    <th title="Descrição do Artigo">Descrição</th>
                    <th title="Família">Família</th>
                    <th title="Preço do Artigo (S/Imp)">Preço (S/Imp)</th>
                    <th title="Preço do Artigo (C/Imp)">Preço (C/Imp)</th>
                    <th title="Qtd. Stock">Qtd. Stock</th>
                  </tr>
                </thead>
                <tbody style="text-align: center;">
                </tbody>
              </table>
            </div>
            <div class="modal-footer justify-content-between">
              <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
              <button type="button" class="btn btn-primary">Confirmar</button>
            </div>
          </div>
          <!-- /.modal-content -->
        </div>
        <!-- /.modal-dialog -->
      </div>
    </div>
    <div class="modal fade" id="modal-detalhes">
      <div class="modal-dialog modal-xl">
        <div class="modal-content">
          <div class="modal-header">
            <h4 class="modal-title">Detalhes do Documento</h4>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <div class="invoice p-3 mb-3" style="height: 30rem; overflow-y: scroll;">
              <!-- title row -->
              <div class="row">
                <div class="col-12">
                  <h4>
                    <span id="detalheCabecalho"></span>
                    <small class="float-right" id="detalheDataActual"></small>
                  </h4>
                </div>
                <!-- /.col -->
              </div>
              <!-- info row -->
              <div class="row invoice-info">
                <div class="col-sm-6 invoice-col">
                  <strong>Código Documento - <span id="detalheCodigo"></span></strong><br>
                  <span>Documento - </span><strong><span id="detalheDocumento"></span></strong><br>
                  <span>Série - </span><strong><span id="detalheSerie"></span></strong><br>
                  <span>Prazo de Pagamento - </span><strong><span id="detalhePrazoPagamento"></span></strong><br>
                  <span>Vendedor - </span><strong><span id="detalheVendedor"></span></strong>
                </div>
                <!-- /.col -->
                <div class="col-sm-6 invoice-col">
                  <strong><span>Entidade</span></strong><br>
                  <span>Identificador Cliente - </span><strong><span id="detalheIdCliente"></span></strong><br>
                  <span>Nome - </span><strong><span id="detalheNome"></span></strong><br>
                  <span>Morada - </span><strong><span id="detalheMorada"></span></strong><br>
                  <span>NIF - </span><strong><span id="detalheNif"></span></strong><br>
                </div>
              </div>
              <!-- /.row -->

              <!-- Table row -->
              <div class="row" style="margin-top: 1.5rem;">
                <div class="col-12 table-responsive">
                  <table class="table table-striped" style="text-align: center;">
                    <thead>
                      <tr>
                        <th title="Referência do Artigo">Referência</th>
                        <th title="Descrição">Descrição</th>
                        <th title="Quantidade">Qtd.</th>
                        <th title="Preço do Artigo">Preço</th>
                        <th title="Desconto">Desc.</th>
                        <th title="Imposto">Imposto</th>
                        <th title="Total">Total</th>
                      </tr>
                    </thead>
                    <tbody id="corpoTabelaDetalhes">
                    </tbody>
                  </table>
                </div>
                <!-- /.col -->
              </div>
              <!-- /.row -->

              <div class="row">
                <div class="col-6">
                  <p class="lead">Montante</p>

                  <div class="table-responsive">
                    <table class="table" id="detalheTabelaMontante">
                    </table>
                  </div>
                </div>
                <!-- /.col -->
              </div>
            </div>
          </div>
        </div>
        <!-- /.modal-content -->
      </div>
      <!-- /.modal-dialog -->
    </div>
    <div class="modal fade" id="modal-documento">
      <div class="modal-dialog modal-xl">
        <div class="modal-content">
          <div class="modal-header">
            <h4 class="modal-title">Documentos</h4>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <table id="tabelaQueryDocumento" class="table table-hover table-bordered table-striped" style="line-height: 0.8;">
              <thead>
                <tr style="text-align: center;">
                  <th title="Referência do Documento">Ref. Documento</th>
                  <th title="Data de Criação">Data de Criação</th>
                  <th title="Código Entidade">Cód. Entidade</th>
                  <th title="Nome da Entidade">Nome Entidade</th>
                  <th title="Usuário">Usuário</th>
                  <th title="Total a Pagar">Total a Pagar</th>
                </tr>
              </thead>
              <tbody style="text-align: center;">
              </tbody>
            </table>
          </div>
          <div class="modal-footer justify-content-between">
            <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
            <button type="button" class="btn btn-primary" id="btnSelectRow">Confirmar</button>
          </div>
        </div>
        <!-- /.modal-content -->
      </div>
      <!-- /.modal-dialog -->
    </div>
    <div class="modal fade" id="modal-layout">
      <div class="modal-dialog modal-xl">
        <div class="modal-content">
          <div class="modal-header">
            <h4 class="modal-title">Documento</h4>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <div class="row">
              <div class="col-md-12">
                <iframe id="layoutDocumento" frameborder="0" width="100%" style="height: 60vh;"></iframe>
              </div>
            </div>
          </div>
          <div class="modal-footer justify-content-between">
            <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
            <button type="button" class="btn btn-primary" id="btn-print">Imprimir</button>
          </div>
        </div>
        <!-- /.modal-content -->
      </div>
      <!-- /.modal-dialog -->
    </div>
    <!-- /.content-wrapper -->
    <?php include('footer.php'); ?>
</body>

</html>
<script src="./javascript/function.js"></script>
<script>
  let idClienteExistente;
  let nomeExistente;
  let moradaExistente;
  let nifExistente;
  let codigoExistente;
  let documentoExistente;
  let serieExistente;
  let prazoPagamentoExistente;
  let motivoExistente;

  let idEntidadeNovo;

  let idCliente;
  let valorLinha;
  let totalDoc;
  let pendenteVerify;
  let totalImposto = [];
  let idLinhaTabelaDocumentoExistente = [];

  let btnOpcao = document.querySelectorAll(".btn-opcao");
  for (let i = 0; i < btnOpcao.length; i++) {
    btnOpcao[i].addEventListener("click", function() {
      for (let j = 0; j < btnOpcao.length; j++) {
        btnOpcao[j].classList.remove("botao-activo");
      }
      btnOpcao[i].classList.add("botao-activo");
    });
  }

  let valorTotalImposto = 0.00;
  let valorTotalLiquido = 0.00;

  function toFloat(value) {
    return parseFloat(value.replace(",", ".").replace(" ", ""));
  }

  function createDocumentoExistente() {
    Swal.fire({
      icon: 'info',
      title: 'Emitir Documento?',
      text: 'Tem a certeza que quer emitir esse Documento?',
      allowOutsideClick: false,
      showCancelButton: true,
      confirmButtonText: 'Confirmar',
      confirmButtonColor: '#560085',
      cancelButtonText: 'Cancelar',
      cancelButtonColor: '#560085',
    }).then((result) => {
      if (result.isConfirmed) {

        valorTotalLiquido = 0.00;
        valorTotalImposto = 0.00;

        const allSelectedRows = document.querySelectorAll("#tabelaDocumentoExistenteArtigoSelecionado tbody tr");

        allSelectedRows.forEach(tr => {
          const td = tr.querySelectorAll('td');

          valorTotalLiquido += toFloat(td[4].textContent);
          valorTotalImposto += (toFloat(td[4].textContent) * toFloat(td[6].textContent) / 100);

        });

        $.ajax({
          url: "includes/create/doc.inc.php",
          type: "post",
          dataType: "json",
          data: {
            idUsuario: <?php echo $_SESSION["usuarioId"]; ?>,
            idTipoDoc: tipoDocumentoExistente.value,
            idEntidade: idClienteExistente,
            idPrazoPagamento: 1,
            entregue: 0,
            total: totalDoc,
            troco: 0,
            totalLiquido: valorTotalLiquido,
            totalImposto: valorTotalImposto,
            descontoGlobal: 0
          },
          success: function(data) {
            let valor;
            let vector = [];
            let id = data;
            let tabela = document.getElementById("tabelaConfirmacaoExistente");
            for (i = 1; i < tabela.rows.length; i++) {
              if (tabela.rows[i].cells[0].innerText != "" && tabela.rows[i].cells[1].innerText != "" && tabela.rows[i].cells[2].innerText != "" && tabela.rows[i].cells[3].innerText != "" && tabela.rows[i].cells[4].innerText != "" && tabela.rows[i].cells[5].innerText != "" && tabela.rows[i].cells[6].innerText != "" && tabela.rows[i].cells[7].innerText != "") {
                valor = parseFloat(tabela.rows[i].cells[4].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
                $.ajax({
                  url: "includes/create/artigoDocumento.inc.php",
                  type: "post",
                  dataType: "json",
                  data: {
                    idDocumento: data,
                    idArtigo: parseInt(tabela.rows[i].cells[1].innerText),
                    descricao: tabela.rows[i].cells[2].innerText,
                    qtd: parseInt(tabela.rows[i].cells[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')),
                    preco: parseFloat(tabela.rows[i].cells[4].innerText.replace(/\ /g, '').replace(/\,/g, '.')),
                    desconto: parseFloat(tabela.rows[i].cells[5].innerText.replace(/\ /g, '').replace(/\,/g, '.')),
                    idImposto: 1,
                    imposto: parseFloat(tabela.rows[i].cells[6].innerText.split("%")[0]),
                    total: parseFloat(tabela.rows[i].cells[7].innerText.replace(/\ /g, '').replace(/\,/g, '.')),
                  }
                });
                if (!vector.includes(tabela.rows[i].cells[0].innerText.split("/")[1])) {
                  vector.push(tabela.rows[i].cells[0].innerText.split("/")[1]);
                }
              }
            }
            for (let i = 0; i < vector.length; i++) {
              $.ajax({
                url: "includes/read/queryCodigoDocumento.inc.php",
                type: "post",
                dataType: "json",
                data: {
                  codigo: vector[i],
                  tipoDocumento: idTipoDocExistente.value
                },
                success: function(data) {
                  $.ajax({
                    url: "includes/update/estadoDocumento.inc.php",
                    type: "post",
                    dataType: "json",
                    data: {
                      idDocumento: data[0]['idDocumento'],
                      estado: 0
                    },
                    success: function(data) {
                      console.log("Dados: ", data);
                    }
                  });
                  $.ajax({
                    url: "includes/create/documentoRelacao.inc.php",
                    type: "post",
                    dataType: "json",
                    data: {
                      idDocumento: id,
                      idDocumentoRelacao: data[0]['idDocumento'],
                      entregue: valor,
                      faltaDocRelac: 0
                    }
                  });
                }
              });
            }

          },
          error: function(data) {
            swal.fire({
              title: "Erro ao Emitir Documento!",
              text: "Erro ao Facturar!",
              confirmButtonText: 'Confirmar',
              confirmButtonColor: '#560085',
              icon: "error",
            });
          }
        }).done(function(data) {
          insertLinha(data);
          reload();
          loadNovoId();
          totalDocumento();
          //location.reload();
        })
      } else {
        reload();
        loadNovoId();
        totalDocumento();
        //location.reload();
      }
    });
  }

  function reload() {
    swal.fire({
      title: "Cadastro efectuado com sucesso!",
      text: "Documento cadastro",
      confirmButtonText: 'Confirmar',
      confirmButtonColor: '#560085',
      icon: "success",
    });

    $('#modal-documento').modal('hide');
    resetForm();
    loadNovoId();
    $('#prazoPagamento').val(1);
    $('#prazoPagamento').select2().trigger('change');
    document.querySelector("#prazoPagamento").parentElement.querySelectorAll("small")[1].style.visibility = "hidden";
    prazoPagamento.classList.remove("select2-danger");
    entidade.value = "";
    entidade.parentElement.parentElement.querySelectorAll("small")[1].style.visibility = "hidden";
    entidade.className = "form-control";
    nomeEntidade.value = "";
    nomeEntidade.parentElement.querySelectorAll("small")[1].style.visibility = "hidden";
    nomeEntidade.className = "form-control";
    moradaEntidade.value = "";
    moradaEntidade.parentElement.querySelectorAll("small")[1].style.visibility = "hidden";
    moradaEntidade.className = "form-control";
    nifEntidade.value = "";
    //nifEntidade.parentElement.querySelectorAll("small")[1].style.visibility = "hidden";
    nifEntidade.className = "form-control";
    $('#tabelaArtigo').DataTable().clear().draw();
    footerPagamento.style.opacity = 0;
    document.querySelector(".nextBtn").removeAttribute('disabled');
    addRow();
    let tabelaPagamento = tabelaModoPagamento.querySelectorAll('input');
    for (let i = 0; i < tabelaPagamento.length; i++) {
      tabelaPagamento[i].value = "";
    }
  }

  function insertLinha(id) {
    $.ajax({
      url: "includes/read/queryDocumento.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idDocumento: id,
      },
      success: function(data) {
        console.log("Usuário: ", data);
        for (var key in data) {
          var novaLinha = {
            codigoDocumento: data[key]["codigoDocumento"],
            entregue: data[key]["entregue"],
            troco: data[key]["troco"],
            dataDoc: data[key]["dataDoc"],
            nomeU: data[key]["nomeU"],
            total: data[key]["total"],
            nomeE: data[key]["nomeE"],
          };
          $('#tabelaDocumento').DataTable().row.add(novaLinha).draw(false);
        }
        createLayout(data[key]["idDocumento"], data[key]["codigoDocumento"], "documentoA4");
        createLayout(data[key]["idDocumento"], data[key]["codigoDocumento"], "documentoTicket");
      }
    });
  }

  $(document).ready(function() {
    $.ajax({
      url: "includes/read/codigoDocumento.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idDocumento: 1
      },
      success: function(data) {
        codigo.innerText = "<?php echo date("Y"); ?>" + "/" + data[0]["contador"];
      }
    });
    $.ajax({
      url: "includes/read/modoPagamento.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        for (var key in data) {
          select += `
          <tr id="${data[key]['idModoPagamento']}">
            <td style="border: 0; width: 10%; vertical-align: middle;">${data[key]['idModoPagamento']}</td>
            <td style="border: 0; width: 70%; vertical-align: middle;">${data[key]['nome']}</td>
            <td style="border: 0; width: 20%;" vertical-align: middle;>
              <input type="text" class="form-control mp" placeholder="0,00">
            </td>
          </tr>`;
        }
        $("#modoPagamentoBody").html(select);
        modoPagamentoFormatedNumber();
      }
    });
  });

  function sumMp() {
    let all = 0;
    let modoPagamento = document.querySelectorAll(".mp");
    for (let i = 0; i < modoPagamento.length; i++) {
      if (modoPagamento[i].value != "") {
        all += parseFloat(modoPagamento[i].value.replace(/\ /g, '').replace(/\,/g, '.'));
      }
    }
    entregueSpan.innerText = parseFloat(all);
    entregueSpan.innerText = parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    if (parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')) < totalDoc) {
      totalText.innerText = "VALOR PENDENTE";
      totalText.className = "text-danger";
      totalSpan.className = "text-danger";
      totalSpan.innerText = totalDoc - parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.'));
      totalSpan.innerText = parseFloat(totalSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
      recalcular();
    } else if (parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')) == totalDoc && parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')) != 0) {
      entregueSpan.className = "";
      totalEntregue.className = "";
      totalEntregue.innerText = "ENTREGUE";
      totalText.innerText = "SEM TROCO";
      totalText.className = "text-success";
      totalSpan.className = "text-success";
      totalSpan.innerText = totalDoc - parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.'));
      totalSpan.innerText = parseFloat(totalSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
      recalcular();
    } else if (parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')) > totalDoc) {
      entregueSpan.className = "";
      totalEntregue.className = "";
      totalEntregue.innerText = "ENTREGUE";
      totalText.innerText = "TROCO";
      totalText.className = "text-success";
      totalSpan.className = "text-success";
      totalSpan.innerText = parseFloat(entregueSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')) - totalDoc;
      totalSpan.innerText = parseFloat(totalSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
      recalcular();
    }
  }

  function recalcular() {
    let total = 0;
    let tabela = document.getElementById("tabelaArtigoNovo");
    for (i = 1; i < tabela.rows.length; i++) {
      if (tabela.rows[i].querySelector('.total').value != "") {
        total += parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.'));
      }
    }
    console.log("Esse é o meu total: ", total);
  }

  function modoPagamentoFormatedNumber() {
    let modoPagamento = document.getElementsByClassName("mp");
    for (let i = 0; i < modoPagamento.length; i++) {
      modoPagamento[i].addEventListener("keyup", function() {
        var removeChar = this.value.replace(/[^0-9,\.]/g, '');
        var removeDot = removeChar.replace(/\./g, '');
        this.value = removeDot;

        var formatedNumber = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        this.value = formatedNumber;
        sumMp();
      });
    }
  };

  $(document).on("keypress", "#entidadeNovo", function(e) {
    if (event.which === 13) {
      event.preventDefault();
      funcaoQueryEntidade(entidadeNovo.value);
    }
  });

  $(document).on("focusout", "#entidadeNovo", function(e) {
    event.preventDefault();
    funcaoQueryEntidade(entidadeNovo.value);
  });

  $(document).on("click", "#btn-search-entidade-novo", function(e) {
    e.preventDefault();
    $('#modal-entidade-novo').modal('show');
  });

  function totalDocumento() {
    let all = 0;
    let tabela = $("#tabelaDocumentoExistenteArtigoSelecionado tbody tr");
    for (let i = 0; i < tabela.length; i++) {
      all += parseFloat(tabela[i].querySelectorAll("td")[7].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
    }
    /*for (let i = 1; i < tabela; i++) {
      console.log("TOTAL: ", tabela);
        //all += (((parseFloat(total[i].closest('tr').querySelector('.imposto').value) / 100) * parseFloat(total[i].value.replace(/\ /g, '').replace(/\,/g, '.'))) + parseFloat(total[i].value.replace(/\ /g, '').replace(/\,/g, '.')));
    }*/
    totalSpanExistente.innerText = all;
    totalDoc = all;
    console.log("Total Documento all: ", all);
    totalSpanExistente.innerText = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    //sumMp();
    //viewConfirmacaoExistente();
    //outrasOpcoes();
    //reCalcularTotal();
  }

  $(document).on("click", ".next-1", function(e) {
    e.preventDefault();
    viewConfirmacaoExistente();
  });

  function viewConfirmacaoExistente() {
    descIdClienteExistente.innerText = idClienteExistente;
    descNomeExistente.innerText = nomeExistente;
    descMoradaExistente.innerText = moradaExistente;
    descNifExistente.innerText = nifExistente;
    //descCodigoExistente.innerText = codigoExistente;
    descDocumentoExistente.innerText = documentoExistente;
    descSerieExistente.innerText = serieExistente;
    descPrazoPagamentoExistente.innerText = prazoPagamentoExistente;
    descMotivoExistente.innerText = motivoEmissaoExistente.value;
    descVendedorExistente.innerText = vendedorExistente;
    descDataActualExistente.innerText = "<?php echo "Data Actual: " . date("d-m-Y"); ?>";
    descCabecalhoExistente.innerText = "<?php echo $rows[1]['valor']; ?>";
    var tbodyClone = $("#tabelaDocumentoExistenteArtigoSelecionado tbody tr").clone();
    $("#tabelaConfirmacaoBodyExistente").html(tbodyClone);
  }

  function viewConfirmacaoNovo() {
    descIdClienteNovo.innerText = idClienteNovo;
    descNomeNovo.innerText = nomeNovo;
    descMoradaNovo.innerText = moradaNovo;
    descNifNovo.innerText = nifNovo;
    //descCodigoNovo.innerText = codigoNovo;
    descDocumentoNovo.innerText = documentoNovo;
    descSerieNovo.innerText = serieNovo;
    descPrazoPagamentoNovo.innerText = prazoPagamentoNovo;
    descMotivoNovo.innerText = motivoEmissaoNovo.value;
    descVendedorNovo.innerText = vendedorNovo;
    descDataActualNovo.innerText = "<?php echo "Data Actual: " . date("d-m-Y"); ?>";
    descCabecalhoNovo.innerText = "<?php echo $rows[1]['valor']; ?>";
    var tbodyClone = $("#tabelaDocumentoNovoArtigoSelecionado tbody tr").clone();
    $("#tabelaConfirmacaoBodyNovo").html(tbodyClone);
  }

  function funcaoQueryEntidade(id) {
    $.ajax({
      url: "includes/read/searchEntidade.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idEntidade: id,
        idTipoEntidade: tipoEntidade
      },
      success: function(data) {
        const firstNextBtn = document.querySelector(".nextBtn");
        let small = entidadeNovo.parentElement.parentElement.querySelectorAll("small")[1];
        if (data == null) {
          if (entidadeNovo.value == "") {
            idEntidadeNovo = undefined;
            entidadeNovo.className = "form-control is-invalid";
            small.style.visibility = "visible";
            small.style.color = "#dc3545";
            small.innerText = "Campo cliente não pode estar vazio!";
            nomeEntidadeNovo.value = "";
            moradaEntidadeNovo.value = "";
            nifEntidadeNovo.value = "";
            firstNextBtn.setAttribute('disabled', 'disabled');
          } else {
            idEntidadeNovo = undefined;
            entidadeNovo.className = "form-control is-invalid";
            small.style.visibility = "visible";
            small.style.color = "#dc3545";
            small.innerText = "Código digitado não corresponde a nenhum dos clientes!";
            nomeEntidadeNovo.value = "";
            moradaEntidadeNovo.value = "";
            nifEntidadeNovo.value = "";
            firstNextBtn.setAttribute('disabled', 'disabled');
          }
        } else {
          for (var key in data) {
            entidadeNovo.className = "form-control";
            small.style.visibility = "hidden";
            idEntidadeNovo = data[key]['idEntidade'];
            entidadeNovo.value = data[key]['idEntidade'];
            nomeEntidadeNovo.value = data[key]['nome'];
            moradaEntidadeNovo.value = data[key]['morada'];
            nifEntidadeNovo.value = data[key]['nif'];
            linhaPrecoEntidade = data[key]["linhaPreco"];
            firstNextBtn.removeAttribute('disabled');
          }
        }
      }
    }).done(function(data) {
      for (var key in data) {
        $.ajax({
          url: "includes/read/artigo.inc.php",
          type: "post",
          dataType: "json",
          data: {
            linhaPreco: data[key]["linhaPreco"]
          },
          success: function(data) {
            var tabelaArtigoListagem = $("#tabelaArtigoListagem").DataTable();
            tabelaArtigoListagem.clear();
            tabelaArtigoListagem.rows.add(data);
            tabelaArtigoListagem.draw();
          }
        });
      }
    });
  }

  function funcaoQueryArtigo(id, parametro) {
    $.ajax({
      url: "includes/read/queryArtigo.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idArtigo: id,
      },
      success: function(data) {
        if (data != null) {
          for (var key in data) {
            parametro.val(data[key]["idArtigo"]);
            parametro.closest('tr').find('.descricao').val(data[key]["nome"]);
            parametro.closest('tr').find('.preco').val(parseFloat(data[key]["semImposto"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " "));
            parametro.closest('tr').find('.total').val(((parseFloat(data[key]["semImposto"])) * parametro.closest('tr').find('.qtd').val()) - (((parseFloat(data[key]["semImposto"])) * parametro.closest('tr').find('.qtd').val()) * parametro.closest('tr').find('.desconto').val().replace(/\,/g, '.').replace(/\%/g, '') / 100));
            parametro.closest('tr').find('.total').val(parseFloat(parametro.closest('tr').find('.total').val()).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " "));
          }
        } else {
          parametro.val("");
          parametro.closest('tr').find('.descricao').val("");
          parametro.closest('tr').find('.preco').val("");
          parametro.closest('tr').find('.total').val("");
        }
      }
    }).done(function() {
      totalDocumento();
      let referencia = document.querySelectorAll(".inputSearchArtigo");
      let resultado = mesmoArtigoVerify(referencia);
      if (resultado != undefined) {
        console.log("Resultados: ", parseFloat(resultado[0].replace(/\ /g, '').replace(/\,/g, '.')), ", ", parseFloat(resultado[1].replace(/\ /g, '').replace(/\,/g, '.')));
        console.log("Vamos lá ver: ", parametro);
        let result = funcaoLinha(resultado);
        if (result != null) {
          return result.querySelector(".qtd").value = parseInt(result.querySelector(".qtd").value) + 1;
        }
        console.log("Resultado: ", result);
      }
    });
  }

  function funcaoLinha(resultado) {
    let tabela = document.getElementById("tabelaArtigoNovo");
    for (i = 1; i < tabela.rows.length; i++) {
      let linha = tabela.rows[i].cells[0].querySelector("keyup").value;
      if (linha.includes(resultado[0].replace(/\ /g, '').replace(/\,/g, '.'))) {
        return tabela.rows[i];
      }
    }
    return null;
  }

  function mesmoArtigoVerify(referencia) {
    let valores = [];
    for (let i = 0; i < referencia.length; i++) {
      if (referencia[i].value !== "") {
        valores.push(referencia[i].value);
      }
    }
    let valoresDuplicados = [];
    for (let i = 0; i < valores.length; i++) {
      for (let j = i + 1; j < valores.length; j++) {
        if (valores[i] === valores[j] && !valoresDuplicados.includes(valores[i])) {
          valoresDuplicados.push(valores[i]);
        }
      }
    }
    if (valoresDuplicados != "") {
      console.log("Valores: ", valoresDuplicados);
      var elemento = $(".inputSearchArtigo").filter(function() {
        return $(this).val().indexOf(valoresDuplicados) !== -1;
      });
      let valor = elemento.first().closest('tr').find('.qtd').val();
      valor = parseInt(valor) + 1;
      elemento.first().closest('tr').find('.qtd').val(valor);
      totalLinhaArtigo(elemento.closest('tr').find('.qtd')[0]);
      elemento.first().closest('tr').addClass('blink');
      setTimeout(function() {
        elemento.first().closest('tr').removeClass('blink');
      }, 200);
      var table = $('#tabelaArtigoNovo').DataTable();
      var row = elemento.last().closest('tr');
      if ($('#tabelaArtigoNovo tbody tr').length > 1) {
        table.row(row).remove().draw();
      }
    }
  }

  $(document).on("change", "#documento", function(e) {
    e.preventDefault();
    if ($("#documento").val() != 0) {
      $("#nDocumento").removeAttr('disabled');
      $("#btn-search-documento").removeAttr('disabled');
    } else {
      $("#nDocumento").attr('disabled', 'disabled');
      $("#btn-search-documento").attr('disabled', 'disabled');
    }
  });

  function entidadeCliente() {
    let entidade = document.querySelector("#entidadeNovo");
    entidade.parentElement.parentElement.querySelectorAll('small')[0].innerText = "Cliente";
    entidade.placeholder = "Pesquisar Cliente";
  }

  function entidadeFornecedor() {
    let entidade = document.querySelector("#entidadeNovo");
    entidade.parentElement.parentElement.querySelectorAll('small')[0].innerText = "Fornecedor";
    entidade.placeholder = "Pesquisar Fornecedor";
  }

  $(document).ready(function() {
    $.ajax({
      url: "includes/read/queryUser.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idUsuario: <?php echo $_SESSION["usuarioId"]; ?>
      },
      success: function(data) {
        for (var key in data) {
          vendedorFacturaNovo.value = data[key]["nome"];
        }
      }
    });
    idSerieNovo.value = "<?php echo date("Y"); ?>";
    dataActual.value = "<?php echo date("Y-m-d"); ?>";
  });

  $(document).ready(function() {
    //readTipoDocumento();
    $.ajax({
      url: "includes/read/serie.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        select += "<option value='0'>Selecione a Série</option>";
        for (var key in data) {
          select += "<option value=" + data[key]['idSerie'] + ">" + data[key]['descricao'] + "</option>";
        }
        console.log(select);
        $("#idSerieExistente").html(select);
        $("#idSerieNovo").html(select);
      }
    })
    $.ajax({
      url: "includes/read/tipoDoc.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        select += "<option value='0'>Selecione o Tipo de Documento</option>";
        for (var key in data) {
          select += "<option value=" + data[key]['idTipoDoc'] + ">" + data[key]['nome'] + "</option>";
        }
        console.log(select);
        $("#tipoDocumentoExistente").html(select);
        $("#tipoDocumentoNovo").html(select);
        $("#documento").html(select);
      }
    }).done(function() {
      tipoDocumentoExistente.setAttribute("disabled", "disabled");
      tipoDocumentoNovo.setAttribute("disabled", "disabled");
      let promessa = new Promise(function(resolve, reject) {
        let tipoDocumento_ = "<?php echo $_GET['tipoDocumento']; ?>";
        let natureza_ = "<?php echo $_GET['natureza']; ?>";
        if (tipoDocumento_ == 'venda' && natureza_ == 'notaDebito') {
          tipoDoc = 8;
          tipoEntidade = 2;
          $('#tipoDocumentoExistente').val(tipoDoc);
          $('#tipoDocumentoExistente').select2().trigger('change');
          $('#tipoDocumentoNovo').val(tipoDoc);
          $('#tipoDocumentoNovo').select2().trigger('change');
          loadEntidade(tipoEntidade);
          entidadeCliente();
          loadTabelaDocumento(tipoDoc);
          $.ajax({
            url: "includes/read/tipoDoc.inc.php",
            type: "post",
            dataType: "json",
            success: function(data) {
              let select = "";
              select += "<option value='0'>Selecione o Tipo de Documento</option>";
              for (var key in data) {
                if (data[key]['tipoDocumento'] == "venda" && data[key]['idTipoDoc'] != tipoDocumentoExistente.value && data[key]['natureza'] != "facturaProforma") {
                  select += "<option value=" + data[key]['idTipoDoc'] + ">" + data[key]['nome'] + "</option>";
                }
              }
              $("#idTipoDocExistente").html(select);
              $("#idTipoDocNovo").html(select);
            }
          });
        } else if (tipoDocumento_ == 'compra' && natureza_ == 'notaDebito') {
          tipoDoc = 25;
          tipoEntidade = 2;
          $('#tipoDocumentoExistente').val(tipoDoc);
          $('#tipoDocumentoExistente').select2().trigger('change');
          $('#tipoDocumentoNovo').val(tipoDoc);
          $('#tipoDocumentoNovo').select2().trigger('change');
          loadEntidade(tipoEntidade);
          entidadeFornecedor();
          loadTabelaDocumento(tipoDoc);
          $.ajax({
            url: "includes/read/tipoDoc.inc.php",
            type: "post",
            dataType: "json",
            success: function(data) {
              let select = "";
              select += "<option value='0'>Selecione o Tipo de Documento</option>";
              for (var key in data) {
                if (data[key]['tipoDocumento'] == "compra" && data[key]['idTipoDoc'] != tipoDocumentoExistente.value && data[key]['natureza'] != "facturaProforma") {
                  select += "<option value=" + data[key]['idTipoDoc'] + ">" + data[key]['nome'] + "</option>";
                }
              }
              $("#idTipoDocExistente").html(select);
              $("#idTipoDocNovo").html(select);
            }
          });
        }
      });
      promessa.then(function() {
        $.ajax({
          url: "includes/read/prazoPagamento.inc.php",
          type: "post",
          dataType: "json",
          success: function(data) {
            let select = "";
            select += "<option value='0'>Selecione um Prazo de Pagamento</option>";
            for (var key in data) {
              if (data[key]['idPrazoPagamento'] == 1) {
                select += "<option value=" + data[key]['idPrazoPagamento'] + " disabled='disabled'>" + data[key]['nome'] + "</option>";
              } else {
                select += "<option value=" + data[key]['idPrazoPagamento'] + ">" + data[key]['nome'] + "</option>";
              }
            }
            $("#prazoPagamento").html(select);
          }
        });
      });
    });
  });

  $(document).ready(function() {
    //readPrazoPagamento();
    $.ajax({
      url: "includes/read/prazoPagamento.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        select += "<option value='0'>Selecione um Prazo de Pagamento</option>";
        for (var key in data) {
          if (data[key]['idPrazoPagamento'] == 1) {
            select += "<option value=" + data[key]['idPrazoPagamento'] + " disabled='disabled'>" + data[key]['nome'] + "</option>";
          } else {
            select += "<option value=" + data[key]['idPrazoPagamento'] + ">" + data[key]['nome'] + "</option>";
          }
        }
        $("#prazoPagamentoNovo").html(select);
      }
    });
  });

  $(document).ready(function() {
    $('#tabelaQueryDocumento').on('click', 'tbody tr', function() {
      var currentRow = $(this);

      // Remove a classe 'selected' de todas as linhas no tbody
      $('#tabelaQueryDocumento tbody tr').removeClass('selected');

      // Adiciona a classe 'selected' à linha clicada
      currentRow.addClass('selected');
    });
  });

  $(document).ready(function() {
    $('#btnSelectRow').on('click', function() {
      var currentSelectedRow = $('#tabelaQueryDocumento tbody tr.selected td')[0].textContent.split('/')[1];

      $('#nDocumentoExistente').val("");
      $('#nDocumentoExistente').val(currentSelectedRow);
      $('#modal-documento').modal('hide');
    });

  });


  $(document).ready(function() {
    $.ajax({
      url: "includes/read/imposto.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        for (var key in data) {
          select += "<option value=" + data[key]['taxa'] + " data-taxa=" + data[key]['idImposto'] + ">" + data[key]['nome'] + "</option>";
        }
        $('#impostoArtigoExistente').html(select);
      }
    });
    $.ajax({
      url: "includes/read/queryTipoDocumentoSerie.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idTipoDocumento: 1,
        idSerie: 1
      }
    }).done(function(data) {
      $("#tabelaQueryDocumento").DataTable({
        select: 'single',
        "aaData": data,
        "columns": [{
          data: "codigoDocumento"
        }, {
          data: "dataDocumento"
        }, {
          data: "idEntidade"
        }, {
          data: "nomeE",
        }, {
          data: "nomeU",
        }, {
          data: "total",
          render: function(data, type, row) {
            if (data == null) {
              return `0,00`;
            } else {
              return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
            }
          }
        }],
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "language": idiomaPortugues,
        lengthMenu: [
          [7, 25, 50, -1],
          [10, 25, 50, 'All']
        ],
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
      }).buttons().container().appendTo('#tabelaQueryDocumento_wrapper .col-md-6:eq(0)');
    });
    $.ajax({
      url: "includes/read/artigo.inc.php",
      type: "post",
      dataType: "json",
      data: {
        linhaPreco: 0
      }
    }).done(function(data) {
      $("#tabelaArtigoListagem").DataTable({
        select: 'single',
        "aaData": data,
        "columns": [{
          data: "idArtigo"
        }, {
          data: "nome"
        }, {
          data: "familiaNome"
        }, {
          data: "precoSemImposto",
          render: function(data, type, row) {
            if (data == null) {
              return `0,00`;
            } else {
              return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
            }
          }
        }, {
          data: "precoComImposto",
          render: function(data, type, row) {
            if (data == null) {
              return `0,00`;
            } else {
              return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
            }
          }
        }, {
          data: "stock"
        }],
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "language": idiomaPortugues,
        lengthMenu: [
          [7, 25, 50, -1],
          [10, 25, 50, 'All']
        ]
      }).buttons().container().appendTo('#tabelaArtigoListagem_wrapper .col-md-6:eq(0)');
    });
  });

  $(document).on("click", "#btn-print", function(e) {
    var iframe = document.getElementById('layoutDocumento');
    iframe.contentWindow.print();
  });

  $(document).on('click', '.btn-layout', function(e) {
    e.preventDefault();
    var iframe = document.getElementById('layoutDocumento');

    function loadDocumento() {
      iframe.contentWindow.codigoDocumento(idDoc, tipoDocumento.value);
    }
    iframe.onload = loadDocumento;
    iframe.src = this.id;
    $('#modal-layout').modal('show');
  });

  $(document).ready(function() {
    $.ajax({
      url: "includes/read/cliente.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idTipoEntidade: 2
      }
    }).done(function(data) {
      $("#tabelaCliente").DataTable({
        select: 'single',
        "aaData": data,
        "columns": [{
          data: "idEntidade"
        }, {
          data: "nome"
        }, {
          data: "nomeComercial"
        }, {
          data: "bi",
          visible: false
        }, {
          data: "nif",
          visible: false,
        }, {
          data: "localidade",
          visible: false
        }, {
          data: "dataNasc",
          visible: false
        }, {
          data: "morada",
          visible: false
        }, {
          data: "tipoEntidadeNome"
        }, {
          data: "estado",
          visible: false,
          render: function(data) {
            if (data == 0) {
              return "<small class='badge badge-success'>Activo</small>";
            } else if (data == 1) {
              return "<small class='badge badge-danger'>Inactivo</small>";
            }
          }
        }],
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "language": idiomaPortugues,
        lengthMenu: [
          [7, 25, 50, -1],
          [10, 25, 50, 'All']
        ],
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
      }).buttons().container().appendTo('#tabelaCliente_wrapper .col-md-6:eq(0)');
    });
  });

  function loadEntidade(tipoEntidade) {
    $.ajax({
      url: "includes/read/entidade.inc.php",
      type: "post",
      dataType: "json",
      data: {
        tipoEntidade: tipoEntidade
      }
    }).done(function(data) {
      $("#tabelaEntidadeNovo").DataTable({
        select: 'single',
        "aaData": data,
        "columns": [{
          data: "idEntidade"
        }, {
          data: "nome"
        }, {
          data: "nomeComercial"
        }, {
          data: "bi",
          visible: false
        }, {
          data: "nif",
          visible: false,
        }, {
          data: "localidade",
          visible: false
        }, {
          data: "dataNasc",
          visible: false
        }, {
          data: "morada",
          visible: false
        }, {
          data: "tipoEntidadeNome"
        }, {
          data: "estado",
          visible: false,
          render: function(data) {
            if (data == 0) {
              return "<small class='badge badge-success'>Activo</small>";
            } else if (data == 1) {
              return "<small class='badge badge-danger'>Inactivo</small>";
            }
          }
        }],
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "language": idiomaPortugues,
        lengthMenu: [
          [7, 25, 50, -1],
          [10, 25, 50, 'All']
        ]
      }).buttons().container().appendTo('#tabelaEntidadeNovo_wrapper .col-md-6:eq(0)');
    });
  }

  function loadTabelaDocumento(tipoDocumento) {
    $.ajax({
      url: "includes/read/documentoTipo.inc.php",
      type: "post",
      dataType: "json",
      data: {
        idTipoDoc: tipoDocumento
      },
    }).done(function(data) {
      console.log(data);
      $("#tabelaDocumento").DataTable({
        select: 'single',
        "aaData": data,
        "columns": [{
          data: "codigoDocumento"
        }, {
          data: "entregue",
          render: function(data, type, row) {
            return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
          }
        }, {
          data: "troco",
          render: function(data, type, row) {
            return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
          }
        }, {
          data: "dataDoc"
        }, {
          data: "nomeU"
        }, {
          data: "total",
          render: function(data, type, row) {
            return parseFloat(data).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
          }
        }, {
          data: "nomeE"
        }, {
          data: null,
          render: function(data, type, row) {
            if (data["entregue"] >= data["total"]) {
              return "<small class='badge badge-success'>Pago</small>";
            } else {
              if (data["entregue"] == 0) {
                return "<small class='badge badge-danger'>Por Pagar</small>";
              } else {
                return "<small class='badge badge-warning'>Pago Parcialmente</small>";
              }
            }
          }
        }, {
          data: null,
          render: function(data, type, row) {
            return `
            <div id="dropdownOpcoes" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="display:flex; align-items: center; justify-content: space-around;"><button class="btn btn-outline-primary opcoes" style="padding: .2rem .7rem; line-height: 1; border: none;"><i class="fa-solid fa-ellipsis-vertical"></i></button></div>
            <ul aria-labelledby="dropdownOpcoes" class="dropdown-menu border-0 shadow">
              <li style="padding: 0 .4rem;"><a href="#" class="dropdown-item btn-more" style="padding: .8rem; border-radius: 5px;">Informações</a></li>
              <li style="padding: 0 .4rem;"><a href="#" class="dropdown-item btn-cancel" style="padding: .8rem; border-radius: 5px;">Anular</a></li>
              <li style="padding: 0 .4rem;"><a href="#" class="dropdown-item" style="padding: .8rem; border-radius: 5px;">Duplicar</a></li>
              <li style="padding: 0 .4rem;"><a href="#" class="dropdown-item" style="padding: .8rem; border-radius: 5px;">Anular e Duplicar</a></li>
            </ul>`;
          }
        }],
        columnDefs: [{
          targets: -1,
          orderable: false
        }],
        "responsive": true,
        "lengthChange": false,
        "autoWidth": false,
        "language": idiomaPortugues,
        lengthMenu: [
          [7, 25, 50, -1],
          [10, 25, 50, 'All']
        ],
        "buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"],
        order: [
          [3, 'asc']
        ]
      }).buttons().container().appendTo('#tabelaDocumento_wrapper .col-md-6:eq(0)');
    });
  }

  var idiomaPortugues = {
    buttons: {
      copy: "Copiar",
      print: "Imprimir",
      colvis: "Visibilidade"
    },
    "sProcessing": "A processar...",
    "sLengthMenu": "Mostrar _MENU_ dos registros",
    "sZeroRecords": "Sem resultados!",
    "sEmptyTable": "Tabela sem dados disponíveis",
    "sInfo": "De _START_ à _END_ de um total de _TOTAL_ registros",
    "sInfoEmpty": "De 0 à 0 de um total de 0 registros",
    "sInfoFiltered": "(filtrado de um total de _MAX_ registros)",
    "sInfoPostFix": "",
    "sSearch": "Pesquisar:",
    "sUrl": "",
    "sInfoThousands": ",",
    "sLoadingRecords": "A carregar...",
    "oPaginate": {
      "sFirst": "Primeira",
      "sLast": "Última",
      "sNext": "Seguinte",
      "sPrevious": "Anterior"
    },
    "oAria": {
      "sSortAscending": ": Activar para ordenar a coluna de forma ascendente",
      "sSortDescending": ": Activar para ordenar a coluna de forma descendente"
    }
  }

  $('#tabelaCliente tbody').on('click', 'td', function() {
    let tabela = document.getElementById("tabelaCliente");

    for (i = 1; i < tabela.rows.length; i++) {
      tabela.rows[i].ondblclick = function() {
        searchCliente(this.cells[0].innerText);
        $('#modal-entidade-novo').modal('hide');
      }
    }
  });
</script>
<script>
  let linha;
  $(document).ready(function() {
    addRow();
    $.ajax({
      url: "includes/read/tipoUsuario.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        select += "<option value='0'>Selecione um Tipo de Usuario</option>";
        for (var key in data) {
          select += "<option value=" + data[key]['idTipoUsuario'] + ">" + data[key]['nome'] + "</option>";
        }
        $("#idTipoUsuario").html(select);
      }
    });
  });

  var idiomaPortugues = {
    buttons: {
      copy: "Copiar",
      print: "Imprimir",
      colvis: "Visibilidade"
    },
    "sProcessing": "A processar...",
    "sLengthMenu": "Mostrar _MENU_ dos registros",
    "sZeroRecords": "Sem resultados!",
    "sEmptyTable": "Tabela sem dados disponíveis",
    "sInfo": "De _START_ à _END_ de um total de _TOTAL_ registros",
    "sInfoEmpty": "De 0 à 0 de um total de 0 registros",
    "sInfoFiltered": "(filtrado de um total de _MAX_ registros)",
    "sInfoPostFix": "",
    "sSearch": "Pesquisar:",
    "sUrl": "",
    "sInfoThousands": ",",
    "sLoadingRecords": "A carregar...",
    "oPaginate": {
      "sFirst": "Primeira",
      "sLast": "Última",
      "sNext": "Seguinte",
      "sPrevious": "Anterior"
    },
    "oAria": {
      "sSortAscending": ": Activar para ordenar a coluna de forma ascendente",
      "sSortDescending": ": Activar para ordenar a coluna de forma descendente"
    }
  }

  $('#tabelaEntidadeNovo tbody').on('click', 'td', function() {
    let tabela = document.getElementById("tabelaEntidadeNovo");

    for (i = 1; i < tabela.rows.length; i++) {
      tabela.rows[i].ondblclick = function() {
        funcaoQueryEntidade(this.cells[0].innerText);
        $('#modal-entidade-novo').modal('hide');
      }
    }
  });

  $('#tabelaDocumento tbody').on('click', 'td', function() {
    let tabela = document.getElementById("tabelaDocumento");

    for (i = 1; i < tabela.rows.length; i++) {
      tabela.rows[i].ondblclick = function() {
        linha = this.cells[0].parentElement;
        idUsuario = this.cells[0].innerHTML;
        nomeEdit = this.cells[1];
        generoEdit = this.cells[2];
        biEdit = this.cells[3];
        emailEdit = this.cells[4];
        nomeUsuarioEdit = this.cells[5];

        console.log(idUsuario);
        ajax();
        //$('#modal-lg').modal('show');
        //this.classList.remove("selected");
      }
    }

    function ajax() {
      $.ajax({
        url: "includes/read/queryUser.inc.php",
        type: "post",
        dataType: "json",
        data: {
          idUsuario: idUsuario
        },
        success: function(data) {
          console.log("Resultados: ", data);
          imagemInfo = document.getElementById("imagemInfo");
          img = document.querySelector(".image-info");

          imgUpdate = document.querySelector(".image-container");

          for (var key in data) {
            if (data[key]['imagem'] != null) {
              img.querySelector("i").style.display = "none";
              imagemInfo.style.backgroundImage = "url('images/usuario/" + data[key]['imagem'] + "')";
              console.log("Tem imagem!");
            } else {
              console.log("Não tem imagem!");
              img.querySelector("i").style.display = "block";
              imagemInfo.style.backgroundImage = "url('images/usuario/" + data[key]['imagem'] + "')";
            }

            nomeModal.innerText = data[key]['nome'];
            idInfo.innerText = data[key]['idUsuario'];
            nomeInfo.innerText = data[key]['nome'];
            nomeUsuarioInfo.innerText = data[key]['nomeUsuario'];
            generoInfo.innerText = data[key]['genero'];
            biInfo.innerText = data[key]['bi'];
            emailInfo.innerText = data[key]['email'];
            enderecoInfo.innerText = data[key]['endereco'];
            telefoneInfo.innerText = data[key]['telefone'];
            dataNascInfo.innerText = data[key]['dataNasc'];
            dataAdesaoInfo.innerText = data[key]['dataAdesao'];
            estadoInfo.innerText = data[key]['estado'];
            tipoUsuarioInfo.innerText = data[key]['tipoUsuario'];

            imgUpdate.style.backgroundImage = "url('images/usuario/" + data[key]['imagem'] + "')";
            imgUpdate.querySelector("i").style.display = "none";

            nome.value = data[key]['nome'];
            nomeUsuario.value = data[key]['nomeUsuario'];

            $('#genero').val(data[key]['genero']);
            $('#genero').select2().trigger('change');

            email.value = data[key]['email'];
            bi.value = data[key]['bi'];

            $('#idTipoUsuario').val(data[key]['idTipoUsuario']);
            $('#idTipoUsuario').select2().trigger('change');
          }
        }
      }).done(function(data) {
        $('#modal-updateUsuario').modal('show');
      });
    }
  });

  function totalLinhaArtigo(parametro) {
    if (parametro.closest('tr').querySelector('.total').value != "") {
      parametro.closest('tr').querySelector('.total').value = (parseFloat(parametro.closest('tr').querySelector('.preco').value.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(parametro.closest('tr').querySelector('.qtd').value.replace(/\ /g, '').replace(/\,/g, '.'))) - ((parseFloat(parametro.closest('tr').querySelector('.preco').value.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(parametro.closest('tr').querySelector('.qtd').value.replace(/\ /g, '').replace(/\,/g, '.'))) * parseFloat(parametro.closest('tr').querySelector('.desconto').value.replace(/\,/g, '.').replace(/\%/g, '')) / 100);
      parametro.closest('tr').querySelector('.total').value = parseFloat(parametro.closest('tr').querySelector('.total').value).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    }
    totalDocumento();
    viewConfirmacaoNovo();
  }

  $(document).on("change", ".imposto", function(e) {
    e.preventDefault();
    let total = 0;
    if ($(this).closest('tr').find('.total').val() != "") {
      let tabela = document.getElementById("tabelaArtigoNovo");
      for (i = 1; i < tabela.rows.length; i++) {
        if (tabela.rows[i].querySelector('.total').value != "") {
          total += (((parseFloat(tabela.rows[i].querySelector('.imposto').value.replace(/\ /g, '').replace(/\,/g, '.')) / 100) * parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.'))) + parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.')));
          console.log("Linhas: ", total);
        }
      }
      totalSpan.innerText = total;
      //totalDoc = total;
      totalDocumento();
      sumMp();
      totalSpan.innerText = parseFloat(totalSpan.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    }
  });

  $(document).on("click", "#btn", function(e) {
    e.preventDefault();
    /*swal.fire({
        title: "Criar uma nova Nota de Crédito",
        text: "Escolha o tipo de nota de crédito que pretende criar",
        icon: "warning",
        showCancelButton: true,
        confirmButtonText: 'Documento Existente',
        confirmButtonColor: '#560085',
        cancelButtonText: 'Novo Documento',
        cancelButtonColor: '#560085',
      })
      .then((result) => {
        if (result.isConfirmed) {*/
    $('#modal-documento-existente').modal('show');
    /*} else if (result.dismiss === Swal.DismissReason.cancel) {
          var table = $("#tabelaArtigoNovo").DataTable();
          table.destroy();
          var tabela = $("#tabelaArtigoNovo").DataTable({
            select: 'single',
            dom: 'Bfrtip',
            buttons: [{
              text: 'Adicionar Artigo',
              action: function(e, dt, node, config) {
                addRow();
              }
            }],
            "searching": false,
            "responsive": true,
            "lengthChange": false,
            "autoWidth": true,
            "language": idiomaPortugues,
            lengthMenu: [
              [7, 25, 50, -1],
              [10, 25, 50, 'All']
            ],
            columnDefs: [{
              targets: -1,
              orderable: false
            }],
            scrollResize: true,
            scrollCollapse: true,
            paging: false,
            scrollY: "21vh"
          });

          $('#modal-documento-novo').modal('show');
          $('#modal-documento-novo').on('shown.bs.modal', function() {
            tabela.columns.adjust().draw();
          });
          /*$('#modal-documento').modal({
            backdrop: 'static'
          }, 'show');
      });
        }*/
  });

  function nDocumentoExistenteFuncao() {
    let nDocumentoExistenteSmall = nDocumentoExistente.parentElement.parentElement.querySelectorAll("small")[1];
    if (nDocumentoExistente.value != "") {
      nDocumentoExistente.classList.remove("is-invalid");
      nDocumentoExistenteSmall.style.visibility = "hidden";
    } else {
      nDocumentoExistente.classList.add("is-invalid");
      nDocumentoExistenteSmall.style.visibility = "visible";
      nDocumentoExistenteSmall.style.color = "#dc3545";
      nDocumentoExistenteSmall.innerText = "Digite o Nº do Documento!";
    }
  }

  function idSerieExistenteFuncao() {
    let idSerieExistenteSmall = idSerieExistente.parentElement.querySelectorAll("small")[1];
    if (idSerieExistente.value != 0) {
      idSerieExistente.classList.remove("select2-danger");
      idSerieExistenteSmall.style.visibility = "hidden";
    } else {
      idSerieExistente.classList.add("select2-danger");
      idSerieExistenteSmall.style.visibility = "visible";
      idSerieExistenteSmall.style.color = "#dc3545";
      idSerieExistenteSmall.innerText = "Selecione a Série!";
    }
  }

  function idTipoDocExistenteFuncao() {
    let idTipoDocExistenteSmall = idTipoDocExistente.parentElement.querySelectorAll("small")[1];
    if (idTipoDocExistente.value != 0) {
      idTipoDocExistente.classList.remove("select2-danger");
      idTipoDocExistenteSmall.style.visibility = "hidden";
    } else {
      idTipoDocExistente.classList.add("select2-danger");
      idTipoDocExistenteSmall.style.visibility = "visible";
      idTipoDocExistenteSmall.style.color = "#dc3545";
      idTipoDocExistenteSmall.innerText = "Selecione o Tipo de Documento!";
    }
  }

  function nDocumentoNovoFuncao() {
    let nDocumentoNovoSmall = nDocumentoNovo.parentElement.parentElement.querySelectorAll("small")[1];
    if (nDocumentoNovo.value != "") {
      nDocumentoNovo.classList.remove("is-invalid");
      nDocumentoNovoSmall.style.visibility = "hidden";
    } else {
      nDocumentoNovo.classList.add("is-invalid");
      nDocumentoNovoSmall.style.visibility = "visible";
      nDocumentoNovoSmall.style.color = "#dc3545";
      nDocumentoNovoSmall.innerText = "Digite o Nº do Documento!";
    }
  }

  function idSerieNovoFuncao() {
    let idSerieNovoSmall = idSerieNovo.parentElement.querySelectorAll("small")[1];
    if (idSerieNovo.value != 0) {
      idSerieNovo.classList.remove("select2-danger");
      idSerieNovoSmall.style.visibility = "hidden";
    } else {
      idSerieNovo.classList.add("select2-danger");
      idSerieNovoSmall.style.visibility = "visible";
      idSerieNovoSmall.style.color = "#dc3545";
      idSerieNovoSmall.innerText = "Selecione a Série!";
    }
  }

  function idTipoDocNovoFuncao() {
    let idTipoDocNovoSmall = idTipoDocNovo.parentElement.querySelectorAll("small")[1];
    if (idTipoDocNovo.value != 0) {
      idTipoDocNovo.classList.remove("select2-danger");
      idTipoDocNovoSmall.style.visibility = "hidden";
    } else {
      idTipoDocNovo.classList.add("select2-danger");
      idTipoDocNovoSmall.style.visibility = "visible";
      idTipoDocNovoSmall.style.color = "#dc3545";
      idTipoDocNovoSmall.innerText = "Selecione o Tipo de Documento!";
    }
  }

  $(document).on('click', '#tabelaDocumentoExistenteArtigo tbody tr', function() {
    var isSelected = $(this).hasClass('selected');
    let btn = document.querySelectorAll(".botao-nota");
    $('#tabelaDocumentoExistenteArtigo tbody tr').removeClass('selected');
    if (!isSelected) {
      $(this).addClass('selected');
      for (let i = 0; i < btn.length; i++) {
        btn[i].removeAttribute("disabled");
      }
      idDoc = $(this).closest('tr').find('td')[0].innerText;
    } else {
      for (let i = 0; i < btn.length; i++) {
        btn[i].setAttribute("disabled", "disabled");
      }
    }
  });

  $(document).on('click', '#btnArtigoExistente', function(e) {
    e.preventDefault();
    let selecionado = document.querySelector("#tabelaDocumentoExistenteArtigoSelecionado .selected");
    selecionado.querySelectorAll("td")[2].innerText = descricaoArtigoExistente.value;
    selecionado.querySelectorAll("td")[5].innerText = descontoArtigoExistente.value;
    funcaoQueryImposto(impostoArtigoExistente.value, function success(data) {
      selecionado.querySelectorAll("td")[6].innerText = data[0]["descricaoTotalTaxa"];
    }, function error(data) {

    }, function done(data) {

    });
  });

  $(document).on('click', '#tabelaDocumentoExistenteArtigoSelecionado tbody tr', function() {
    var isSelected = $(this).hasClass('selected');
    let btn = document.querySelectorAll(".botao-nota");
    $('#tabelaDocumentoExistenteArtigoSelecionado tbody tr').removeClass('selected');
    if (!isSelected) {
      $(this).addClass('selected');
      for (let i = 0; i < btn.length; i++) {
        btn[i].removeAttribute("disabled");
      }
      idDoc = $(this).closest('tr').find('td')[0].innerText;
      idArtigoExistente.innerText = " - " + $(this).closest('tr').find('td')[1].innerText;
      descricaoArtigoExistente.value = $(this).closest('tr').find('td')[2].innerText;
      descontoArtigoExistente.value = $(this).closest('tr').find('td')[5].innerText;
      var match = $(this).closest('tr').find('td')[6].innerText.match(/\[(\d+)\]/);
      if (match) {
        $('#impostoArtigoExistente').val(match[1]);
        $('#impostoArtigoExistente').select2().trigger('change');
      }
      var matchValor = $(this).closest('tr').find('td')[6].innerText.match(/\s(\d+\.\d+)%/);
      if (matchValor) {
        var valorFloat = parseFloat(matchValor[1]);
      }
    } else {
      for (let i = 0; i < btn.length; i++) {
        btn[i].setAttribute("disabled", "disabled");
      }
      idArtigoExistente.innerText = "";
      descricaoArtigoExistente.value = "";
      descontoArtigoExistente.value = "";
      $('#impostoArtigoExistente').val(1);
      $('#impostoArtigoExistente').select2().trigger('change');
    }
  });

  $(document).on('click', '#tabelaDocumentoExistente tbody tr', function() {
    var isSelected = $(this).hasClass('selected');
    let btn = document.querySelectorAll(".botao-nota");
    $('#tabelaDocumentoExistente tbody tr').removeClass('selected');
    if (!isSelected) {
      $(this).addClass('selected');
      for (let i = 0; i < btn.length; i++) {
        btn[i].removeAttribute("disabled");
      }
      idDoc = $(this).closest('tr').find('td')[0].innerText;
    } else {
      for (let i = 0; i < btn.length; i++) {
        btn[i].setAttribute("disabled", "disabled");
      }
    }
  });

  $('#btn-adicinar-linha').on('click', function(e) {
    e.preventDefault();
    var trSelecionado = $('#tabelaDocumentoExistenteArtigo tbody tr.selected');
    if (trSelecionado.length > 0) {
      addLinha(trSelecionado, $('#tabelaDocumentoExistenteArtigoSelecionado tbody'));
    }
    totalDocumento();
  });

  $('#btn-adicinar-tudo').on('click', function(e) {
    e.preventDefault();
    var trSelecionado = $('#tabelaDocumentoExistenteArtigo tbody tr.selected');
    if ($('#tabelaDocumentoExistenteArtigo tbody tr').length > 0) {
      addAllLinha(trSelecionado, $('#tabelaDocumentoExistenteArtigoSelecionado tbody'), $('#tabelaDocumentoExistenteArtigo tbody'));
    }
    totalDocumento();
  });

  $('#btn-remover-linha').on('click', function(e) {
    e.preventDefault();
    var trSelecionado = $('#tabelaDocumentoExistenteArtigoSelecionado tbody tr.selected');
    if (trSelecionado.length > 0) {
      addLinha(trSelecionado, $('#tabelaDocumentoExistenteArtigo tbody'));
    }
    totalDocumento();
  });

  $('#btn-remover-tudo').on('click', function(e) {
    e.preventDefault();
    var trSelecionado = $('#tabelaDocumentoExistenteArtigoSelecionado tbody tr.selected');
    if ($('#tabelaDocumentoExistenteArtigoSelecionado tbody tr').length > 0) {
      addAllLinha(trSelecionado, $('#tabelaDocumentoExistenteArtigo tbody'), $('#tabelaDocumentoExistenteArtigoSelecionado tbody'));
    }
    totalDocumento();
  });

  $('#btn-search-nDocumento-existente').on('click', function(e) {
    e.preventDefault();
    if (idTipoDocExistente.value != 0 && idSerieExistente.value != 0) {
      $.ajax({
        url: "includes/read/queryTipoDocumentoSerie.inc.php",
        type: "post",
        dataType: "json",
        data: {
          idTipoDocumento: idTipoDocExistente.value,
          idSerie: idSerieExistente.value
        }
      }).done(function(data) {
        if (data != null) {
          var tabela = $("#tabelaQueryDocumento").DataTable();
          tabela.clear();
          tabela.rows.add(data);
          tabela.draw();
          $('#modal-documento').modal('show');
        } else {
          var Toast = Swal.mixin({
            toast: true,
            position: 'top-end',
            showConfirmButton: false,
            timer: 3000
          });
          Toast.fire({
            icon: 'error',
            title: 'Não há documentos disponíveis para essa natureza e série de documentos.'
          });
        }
      });
    } else {

      idTipoDocExistenteFuncao();
      idSerieExistenteFuncao();
    }
  });

  function addQtd(primeiroElemento, segundoElemento, terceiroElemento) {
    if (primeiroElemento != "") {
      var trSelecionado = segundoElemento;
      if (trSelecionado.length > 0) {
        if (parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.')) <= 0) {
          $(function() {
            var Toast = Swal.mixin({
              toast: true,
              position: 'top-end',
              showConfirmButton: false,
              timer: 3000
            });
            Toast.fire({
              icon: 'error',
              title: 'Valor não pode ser igual ou inferior a zero.'
            });
          });
        } else {
          if (parseFloat(trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) > parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.'))) {
            let tabela = terceiroElemento;
            let saoIguais = false;

            trSelecionado.find("td")[3].innerText = parseFloat(trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) - parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.'));

            tabela.find("tr").each(function() {
              if (trSelecionado.find("td")[0].innerText === $(this).find('td:eq(0)').text() && trSelecionado.find("td")[1].innerText === $(this).find('td:eq(1)').text()) {
                let newQty = parseFloat($(this)[0].querySelectorAll("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.'));
                $(this)[0].querySelectorAll("td")[3].innerText = newQty;
                saoIguais = true;
              }
            });

            if (!saoIguais) {
              var clonedRow = trSelecionado.clone();
              clonedRow.find("td")[3].innerText = primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.');
              clonedRow.removeClass('selected');
              tabela.append(clonedRow);
            }

            trSelecionado.find("td")[7].innerText = parseFloat(parseFloat(trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(trSelecionado.find("td")[4].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(trSelecionado.find("td")[4].innerText.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(parseFloat(trSelecionado.find("td")[6].innerText.replace(/\ /g, '').replace(/\,/g, '.')) / 100)).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

            tabela.find("tr").each(function() {
              let qty = parseFloat($(this)[0].querySelectorAll("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              let price = parseFloat($(this)[0].querySelectorAll("td")[4].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              let tax = parseFloat($(this)[0].querySelectorAll("td")[6].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              $(this)[0].querySelectorAll("td")[7].innerText = parseFloat(parseFloat(qty * price) + parseFloat((qty * price) * tax / 100)).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
            });
          } else if (trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.') == primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.')) {
            let tabela = terceiroElemento;
            let saoIguais = false;

            trSelecionado.find("td")[3].innerText = parseFloat(trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) - parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.'));

            tabela.find("tr").each(function() {
              if (trSelecionado.find("td")[0].innerText === $(this).find('td:eq(0)').text() && trSelecionado.find("td")[1].innerText === $(this).find('td:eq(1)').text()) {
                let newQty = parseFloat($(this)[0].querySelectorAll("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.'));
                $(this)[0].querySelectorAll("td")[3].innerText = newQty;
                saoIguais = true;
              }
            });

            if (!saoIguais) {
              var clonedRow = trSelecionado.clone();
              clonedRow.find("td")[3].innerText = primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.');
              clonedRow.removeClass('selected');
              tabela.append(clonedRow);
            }

            trSelecionado.find("td")[5].innerText = parseFloat(parseFloat(trSelecionado.find("td")[5].innerText.replace(/\ /g, '').replace(/\,/g, '.')) - (parseFloat(primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(trSelecionado.find("td")[4].innerText.replace(/\ /g, '').replace(/\,/g, '.')))).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

            tabela.find("tr").each(function() {
              let qty = parseFloat($(this)[0].querySelectorAll("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              let price = parseFloat($(this)[0].querySelectorAll("td")[4].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              let tax = parseFloat($(this)[0].querySelectorAll("td")[6].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
              $(this)[0].querySelectorAll("td")[7].innerText = parseFloat(parseFloat(qty * price) + parseFloat((qty * price) * tax / 100)).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
            });

            trSelecionado.remove();
          } else if (trSelecionado.find("td")[3].innerText.replace(/\ /g, '').replace(/\,/g, '.') < primeiroElemento.replace(/\ /g, '').replace(/\,/g, '.')) {
            $(function() {
              var Toast = Swal.mixin({
                toast: true,
                position: 'top-end',
                showConfirmButton: false,
                timer: 3000
              });
              Toast.fire({
                icon: 'error',
                title: 'Valor maior do que a quantidade existente na linha do artigo.'
              });
            });
          }
        }
      }
      totalDocumento();
    }
  }

  function addLinha(primeiroElemento, segundoElemento) {
    const linha = segundoElemento[0].querySelectorAll('tr');
    if (linha.length > 0) {
      let saoIguais = false;
      for (let i = 0; i < linha.length; i++) {
        if (primeiroElemento[0].querySelectorAll('td')[0].innerText === linha[i].querySelectorAll('td')[0].innerText && primeiroElemento[0].querySelectorAll('td')[1].innerText === linha[i].querySelectorAll('td')[1].innerText) {
          let newQty = parseFloat(linha[i].querySelectorAll('td')[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento[0].querySelectorAll('td')[3].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
          linha[i].querySelectorAll('td')[3].innerText = newQty;

          let newTotal = parseFloat(linha[i].querySelectorAll('td')[7].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento[0].querySelectorAll('td')[7].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
          linha[i].querySelectorAll('td')[7].innerText = newTotal;
          linha[i].querySelectorAll('td')[7].innerText = parseFloat(linha[i].querySelectorAll('td')[7].innerText).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
          saoIguais = true;
        } else {
          var clonedRow = primeiroElemento.clone();
          segundoElemento.append(clonedRow);
          clonedRow.removeClass('selected');
          primeiroElemento[0].remove();
        }
      }
      primeiroElemento[0].remove();
    } else {
      var clonedRow = primeiroElemento.clone();
      segundoElemento.append(clonedRow);
      clonedRow.removeClass('selected');
      primeiroElemento[0].remove();
    }
  }

  function addAllLinha(primeiroElemento, segundoElemento, terceiroElemento) {
    const linha = segundoElemento[0].querySelectorAll('tr');
    if (linha.length > 0) {
      let saoIguais = false;

      for (let i = 0; i < linha.length; i++) {
        if (primeiroElemento[0]) {
          if (primeiroElemento[0].querySelectorAll('td')[0].innerText === linha[i].querySelectorAll('td')[0].innerText && primeiroElemento[0].querySelectorAll('td')[1].innerText === linha[i].querySelectorAll('td')[1].innerText) {
            let newQty = parseFloat(linha[i].querySelectorAll('td')[3].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento[0].querySelectorAll('td')[3].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
            linha[i].querySelectorAll('td')[3].innerText = newQty;

            let newTotal = parseFloat(linha[i].querySelectorAll('td')[7].innerText.replace(/\ /g, '').replace(/\,/g, '.')) + parseFloat(primeiroElemento[0].querySelectorAll('td')[7].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
            linha[i].querySelectorAll('td')[7].innerText = newTotal;
            linha[i].querySelectorAll('td')[7].innerText = parseFloat(linha[i].querySelectorAll('td')[7].innerText).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

            saoIguais = true;
          }
        }
      }
      primeiroElemento.remove();
      var clonedRow = terceiroElemento.clone();
      segundoElemento.append(clonedRow[0].querySelectorAll('tr'));
      while (terceiroElemento[0].firstChild) {
        terceiroElemento[0].removeChild(terceiroElemento[0].firstChild);
      }
    } else {
      console.log("Estou nesse else");
      var clonedRow = terceiroElemento.clone();
      segundoElemento.append(clonedRow[0].querySelectorAll('tr'));
      while (terceiroElemento[0].firstChild) {
        terceiroElemento[0].removeChild(terceiroElemento[0].firstChild);
      }
    }
  }

  $('#btn-adicionar-qtd').on('click', function(e) {
    e.preventDefault();
    addQtd(adicionarQtd.value, $('#tabelaDocumentoExistenteArtigo tbody tr.selected'), $('#tabelaDocumentoExistenteArtigoSelecionado tbody'));
  });

  $('#btn-remover-qtd').on('click', function(e) {
    e.preventDefault();
    addQtd(removerQtd.value, $('#tabelaDocumentoExistenteArtigoSelecionado tbody tr.selected'), $('#tabelaDocumentoExistenteArtigo tbody'));
  });

  $('#nDocumentoExistente').on('keyup', function(e) {
    e.preventDefault();
    nDocumentoExistenteFuncao();
  });

  $('#idSerieExistente').on('change', function(e) {
    e.preventDefault();
    idSerieExistenteFuncao();
  });

  $('#idTipoDocExistente').on('change', function(e) {
    e.preventDefault();
    idTipoDocExistenteFuncao();
  });

  $('#nDocumentoNovo').on('keyup', function(e) {
    e.preventDefault();
    nDocumentoNovoFuncao();
  });

  $('#idSerieNovo').on('change', function(e) {
    e.preventDefault();
    idSerieNovoFuncao();
  });

  $('#idTipoDocNovo').on('change', function(e) {
    e.preventDefault();
    idTipoDocNovoFuncao();
  });

  $(document).ready(function() {
    let idEntidadesExistente = [];
    $('#btn-adicionar').on('click', function(e) {
      e.preventDefault();
      if (idTipoDocExistente.value != 0 && idSerieExistente.value != 0 && nDocumentoExistente.value != "") {
        $.ajax({
          url: "includes/read/queryOneDoc.inc.php",
          type: "post",
          dataType: "json",
          data: {
            idTipoDocExistente: idTipoDocExistente.value,
            idSerieExistente: idSerieExistente.value,
            nDocumentoExistente: nDocumentoExistente.value
          },
          success: function(data) {
            let booleano = false;
            if (data != null) {
              if (data[0]["estadoEmissao"] == 1) {
                let corpoTabela = document.querySelector("#bodyTabelaDocumentoExistente");
                let tr = corpoTabela.querySelectorAll('tr');
                let select = "";
                for (let i = 0; i < data.length; i++) {
                  idLinhaTabelaDocumentoExistente.push({
                    idDocumento: data[i]["idDocumento"],
                    idTipoDocumento: data[i]["idTipoDoc"]
                  });
                  idClienteExistente = data[i]["idEntidade"];
                  nomeExistente = data[i]["nomeE"];
                  moradaExistente = data[i]["moradaE"];
                  nifExistente = data[i]["nifE"];
                  documentoExistente = data[i]["codigoDocumento"];
                  serieExistente = data[i]["serieDocumento"];
                  prazoPagamentoExistente = data[i]["nomePp"];
                  vendedorExistente = data[i]["nomeU"];
                  let idDocumento = data[i]["idDocumento"];
                  let codigoDocumentoActual = data[i]["codigoDocumento"];
                  let saoIguais = false;
                  for (let j = 0; j < tr.length; j++) {
                    if (idEntidadesExistente.length > 0) {
                      if (!idEntidadesExistente.includes(data[i]["idEntidade"])) {
                        $(function() {
                          booleano = false;
                          var Toast = Swal.mixin({
                            toast: true,
                            position: 'top-end',
                            showConfirmButton: false,
                            timer: 3000
                          });
                          Toast.fire({
                            icon: 'error',
                            title: 'Entidade diferente dos documentos que estão na lista.'
                          });
                        });
                        return;
                      } else {
                        booleano = true;
                      }
                    }

                    let codigoDocumentoTabela = tr[j].querySelectorAll('td')[0].innerText;

                    if (codigoDocumentoActual === codigoDocumentoTabela) {
                      saoIguais = true;
                      break;
                    }
                  }

                  if (!saoIguais) {
                    select += `<tr>
                  <td>${data[i]["codigoDocumento"]}</td>
                  <td>${data[i]["dataDocumento"]}</td>
                  <td>${parseFloat(data[i]["total"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
                </tr>`;

                    $.ajax({
                      url: "includes/read/queryDocumentoLinha.inc.php",
                      type: "post",
                      dataType: "json",
                      data: {
                        idDocumento: idDocumento
                      },
                      success: function(data) {
                        console.log('Aparecendo os dados');
                        console.log(data)
                        let select = "";
                        for (let i = 0; i < data.length; i++) {
                          console.log("Aqui estão os dados: ", data[i]);
                          select += `<tr>
                          <td>${data[i]["codigoDocumento"]}</td>
                          <td>${data[i]["idArtigoAd"]}</td>
                          <td>${data[i]["descricaoAd"]}</td>
                          <td>${data[i]["qtdAd"]}</td>
                          <td>${parseFloat(data[i]["precoAd"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
                          <td>${parseFloat(data[i]["descontoAd"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
                          <td>${parseFloat(data[i]["taxa"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + "%"}</td>
                          <td>${parseFloat(parseFloat(data[i]["totalAd"]) + parseFloat(data[i]["totalAd"]) * parseFloat(data[i]["taxa"]) / 100).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
                        </tr>`;
                        }
                        bodyTabelaDocumentoExistenteArtigo.innerHTML += select;
                      }
                    });
                  } else {

                    let nDocumentoExistenteSmall = nDocumentoExistente.parentElement.parentElement.querySelectorAll("small")[1];
                    nDocumentoExistente.classList.add("is-invalid");
                    nDocumentoExistenteSmall.style.visibility = "visible";
                    nDocumentoExistenteSmall.style.color = "#dc3545";
                    nDocumentoExistenteSmall.innerText = "Esse documento já foi adicionado a lista!";
                  }
                  console.log("VAMOS VER: ", idEntidadesExistente);
                  idEntidadesExistente.push(data[i]["idEntidade"]);
                }
                corpoTabela.innerHTML += select;
              } else {
                $(function() {
                  var Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                  });
                  Toast.fire({
                    icon: 'error',
                    title: 'Documento Anulado. Digite uma referência válida.'
                  });
                });
              }
            } else {
              $(function() {
                var Toast = Swal.mixin({
                  toast: true,
                  position: 'top-end',
                  showConfirmButton: false,
                  timer: 3000
                });
                Toast.fire({
                  icon: 'error',
                  title: 'Documento Inválido. Digite uma referência válida.'
                });
              });
            }
          }
        });
      } else {
        idTipoDocExistenteFuncao();
        idSerieExistenteFuncao();
        nDocumentoExistenteFuncao();
      }
    });
  });

  $('#btn-remover').on('click', function(e) {
    e.preventDefault();
    var trSelecionado = $('#tabelaDocumentoExistente tbody tr.selected');
    if (trSelecionado.length > 0) {
      $.ajax({
        url: "includes/read/queryCodigoDocumento.inc.php",
        type: "post",
        dataType: "json",
        data: {
          codigo: trSelecionado.find("td")[0].innerText.split("/")[1],
          tipoDocumento: idLinhaTabelaDocumentoExistente[0]["idTipoDocumento"],
        },
        success: function(data) {
          $.ajax({
            url: "includes/read/queryDocumentoLinha.inc.php",
            type: "post",
            dataType: "json",
            data: {
              idDocumento: data[0]["idDocumento"]
            },
            success: function(data) {
              console.log("ASDFGHJKKASDFGH")
              console.log(data);
              for (let i = 0; i < data.length; i++) {
                let codigoDocumento = data[i]["codigoDocumento"];
                let linhaParaRemover = $(`#bodyTabelaDocumentoExistenteArtigo tr:contains('${codigoDocumento}')`);
                if (linhaParaRemover.length > 0) {
                  linhaParaRemover.remove();
                }
              }
            }
          });
        }
      });
      idLinhaTabelaDocumentoExistente.splice(trSelecionado.index(), 1);
      trSelecionado.remove();
    } else {
      $(function() {
        var Toast = Swal.mixin({
          toast: true,
          position: 'top-end',
          showConfirmButton: false,
          timer: 3000
        });
        Toast.fire({
          icon: 'error',
          title: 'Nenhuma linha selecionada, marque uma das linhas para remover.'
        });
      });
    }
  });

  $('#btn-search-nDocumento-novo').on('click', function(e) {
    e.preventDefault();
    if (idTipoDocNovo.value != 0 && idSerieNovo.value != 0) {
      $.ajax({
        url: "includes/read/queryTipoDocumentoSerie.inc.php",
        type: "post",
        dataType: "json",
        data: {
          idTipoDocumento: idTipoDocNovo.value,
          idSerie: idSerieNovo.value
        }
      }).done(function(data) {
        if (data != null) {
          var tabela = $("#tabelaQueryDocumento").DataTable();
          tabela.clear();
          tabela.rows.add(data);
          tabela.draw();
          $('#modal-documento').modal('show');
        }
      });
    } else {
      idTipoDocNovoFuncao();
      idSerieNovoFuncao();
    }
  });

  $('#tabelaArtigoNovo').on('click', '.btnSearchArtigo', function() {
    let botao = $(this);
    $('#modal-artigo').modal('show');
    $('#tabelaArtigoListagem tbody').on('click', 'td', function() {
      let tabela = document.getElementById("tabelaArtigoListagem");

      for (i = 1; i < tabela.rows.length; i++) {
        tabela.rows[i].ondblclick = function() {
          $.ajax({
            url: "includes/read/queryArtigo.inc.php",
            type: "post",
            dataType: "json",
            data: {
              idArtigo: this.cells[0].innerText,
            },
            success: function(data) {
              for (var key in data) {
                botao.closest('tr').find('.inputSearchArtigo').val(data[key]["idArtigo"]);
                botao.closest('tr').find('.descricao').val(data[key]["nome"]);
                botao.closest('tr').find('.preco').val(parseFloat(data[key]["semImposto"]).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " "));
                botao.closest('tr').find('.total').val(((data[key]["semImposto"]) * botao.closest('tr').find('.qtd').val()) - (((data[key]["semImposto"]) * botao.closest('tr').find('.qtd').val()) * botao.closest('tr').find('.desconto').val().replace(/\,/g, '.').replace(/\%/g, '') / 100));
                botao.closest('tr').find('.total').val(parseFloat(botao.closest('tr').find('.total').val()).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " "));
                $('#modal-artigo').modal('hide');
              }
            }
          }).done(function() {
            totalDocumento();
            let referencia = document.querySelectorAll(".inputSearchArtigo");
            let resultado = mesmoArtigoVerify(referencia);
            if (resultado != undefined) {
              console.log("Resultados: ", parseFloat(resultado[0].replace(/\ /g, '').replace(/\,/g, '.')), ", ", parseFloat(resultado[1].replace(/\ /g, '').replace(/\,/g, '.')));
              console.log("Vamos lá ver: ", parametro);
              let result = funcaoLinha(resultado);
              if (result != null) {
                return result.querySelector(".qtd").value = parseInt(result.querySelector(".qtd").value) + 1;
              }
              console.log("Resultado: ", result);
            }
          });
        }
      }
    });
  });

  function addRow() {
    var table = $('#tabelaArtigoNovo').DataTable();
    var linha = $(`<tr>
        <td style="padding: .2rem; vertical-align: inherit;">
          <div class="input-group input-group">
            <input type="text" class="form-control form-control inputSearchArtigo" placeholder="Procurar" title="Procurar Artigo" data-inputmask="'mask': ['AAA-99-99-AA', 'LD-99-99-AA']" data-mask>
            <div class="input-group-append">
              <button type="button" class="btn btn btn-default btnSearchArtigo"  style="line-height: 0 ;">
                  <i class="fa fa-search"></i>
              </button>
            </div>
          </div>
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <input type="text" class="form-control descricao" placeholder="Descrição" title="Descrição">
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <input type="text" class="form-control qtd" placeholder="Quantidade" title="Quantidade" value="1">
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <input type="text" class="form-control preco" placeholder="Preço" title="Preço">
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <input type="text" class="form-control desconto" placeholder="Desconto" title="Desconto" value="0">
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <select class="form-control imposto select2" style="width: 100%;" placeholder="Imposto" title="Imposto">
            <option value="0">Não Sujeito</option>
          </select>
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <input type="text" class="form-control total" placeholder="Total" title="Total" disabled>
        </td>
        <td style="padding: .2rem; vertical-align: inherit;">
          <button class='btn btn-block btn-danger btn-delete remove_row' type='button'><i class="fa fa-xmark"></i></button>
        </td>
    </tr>`);
    const no = table.row.add(linha).draw().node();
    $(function() {
      //Initialize Select2 Elements
      $('.select2').select2()

      //Initialize Select2 Elements
      $('.select2bs4').select2({
        theme: 'bootstrap4'
      })
    });
    console.log("aqui: ", $(no).find('.imposto'));
    $.ajax({
      url: "includes/read/imposto.inc.php",
      type: "post",
      dataType: "json",
      success: function(data) {
        let select = "";
        select += "<option value='0'>Não Sujeito</option>";
        for (var key in data) {
          select += "<option value=" + data[key]['taxa'] + ">" + data[key]['nome'] + "</option>";
        }
        $(no).find('.imposto').html(select);
      }
    });
    let preco = document.querySelectorAll(".preco");
    for (let i = 0; i < preco.length; i++) {
      preco[i].addEventListener("keyup", function(e) {
        e.preventDefault();
        var removeChar = this.value.replace(/[^0-9,\.]/g, '');
        var removeDot = removeChar.replace(/\./g, '');
        this.value = removeDot;

        var formatedNumber = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        this.value = formatedNumber;
        var parts = this.value.replace(/\ /g, '').replace(/\,/g, '.').split('.');
        if (parts[1].length > 2) {
          var novoValor = parseFloat(this.value.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
          this.value = novoValor;
        }
        if (this.value != "" && this.closest('tr').querySelector('.qtd').value != "" && this.closest('tr').querySelector('.desconto').value != "") {
          totalLinhaArtigo(preco[i]);
        }
        totalLinhaArtigo(preco[i]);
      });

      /*preco[i].addEventListener("blur", function(e) {
        e.preventDefault();
        if (!this.value.includes(",")) {
          this.value = this.value.replace(/[^0-9\.]/g, '');
          this.value = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ") + ",00";
        }
      });*/
    }

    let qtd = document.querySelectorAll(".qtd");
    for (let i = 0; i < qtd.length; i++) {
      qtd[i].addEventListener("keyup", function(e) {
        e.preventDefault();
        var removeChar = this.value.replace(/[^0-9\.]/g, '');
        var removeDot = removeChar.replace(/\./g, '');
        this.value = removeDot;
        if (this.value == "") {
          this.closest('tr').querySelector('.total').value = "0,00";
          totalSpan.innerText = "0,00 Kzs";
          totalSpan.className = "";
        }

        var formatedNumber = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        this.value = formatedNumber;
        if (this.value != "" && this.closest('tr').querySelector('.preco').value != "" && this.closest('tr').querySelector('.desconto').value != "") {
          totalLinhaArtigo(qtd[i]);
        }
        totalLinhaArtigo(qtd[i]);
      });
    }

    let desconto = document.querySelectorAll(".desconto");

    for (let i = 0; i < desconto.length; i++) {
      desconto[i].addEventListener("keyup", function(e) {
        e.preventDefault();
        var removeChar = this.value.replace(/[^0-9,\.]/g, '');
        var removeDot = removeChar.replace(/\./g, '');
        this.value = removeDot;

        var formatedNumber = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        this.value = formatedNumber;
        if (this.value == "") {
          this.closest('tr').querySelector('.total').value = "0,00";
          totalSpan.innerText = "0,00 Kzs";
        }

        if (this.value != "" && this.closest('tr').querySelector('.qtd').value != "" && this.closest('tr').querySelector('.preco').value != "") {
          totalLinhaArtigo(desconto[i]);
        }
        if (this.value.replace(/\ /g, '') > 100) {
          this.value = 100;
        }
        totalLinhaArtigo(desconto[i]);
      });

    }
  }

  $('#tabelaDocumento').on('click', '.btn-cancel', function(e) {
    e.preventDefault();
    swal.fire({
      title: "Tem a certeza que pretende anular este documento?",
      text: "Documento: " + $(this).closest('tr').find('td')[0].textContent,
      icon: "warning",
      showCancelButton: true,
      confirmButtonText: 'Confirmar',
      confirmButtonColor: '#560085',
      cancelButtonText: 'Cancelar',
      cancelButtonColor: '#560085',
    }).then((result) => {
      if (result.isConfirmed) {
        $.ajax({
          url: "includes/read/queryCodigoDocumento.inc.php",
          type: "post",
          dataType: "json",
          data: {
            codigo: $(this).closest('tr').find('td')[0].textContent.split("/")[1],
            tipoDocumento: tipoDocumento.value
          },
          success: function(data) {
            let codigo = data[0]['idDocumento'];

            $.ajax({
              url: "includes/update/estadoDocumento.inc.php",
              type: "post",
              dataType: "json",
              data: {
                idDocumento: codigo,
                estado: 0
              },
              success: function(data) {
                swal.fire({
                  title: "Documento Anulado com sucesso!",
                  text: "Documento anulado",
                  confirmButtonText: 'Confirmar',
                  confirmButtonColor: '#560085',
                  icon: "success",
                });
              }
            });
          }
        });
      }
    });
  });

  $('#tabelaDocumento').on('click', '.btn-more', function(e) {
    e.preventDefault();
    //console.log("Esse é o td: ", $(this).closest('tr').find('td')[0].textContent.split("/")[1]);
    detalhes($(this).closest('tr').find('td')[0].textContent.split("/")[1], tipoDocumentoExistente.value);
  });

  function detalhes(id, tipoDocumento) {
    detalheCabecalho.innerText = "<?php echo $rows[1]['valor']; ?>";
    $.ajax({
      url: "includes/read/queryCodigoDocumento.inc.php",
      type: "post",
      dataType: "json",
      data: {
        codigo: id,
        tipoDocumento: tipoDocumento
      },
      success: function(data) {
        let codigo = data[0]['idDocumento'];
        $.ajax({
          url: "includes/read/queryDocumento.inc.php",
          type: "post",
          dataType: "json",
          data: {
            idDocumento: codigo,
          },
          success: function(data) {
            console.log("Aqui: ", data);
            detalheDataActual.innerText = "Data Documento: " + data[0]['dataDoc'];
            detalheCodigo.innerText = data[0]['codigoDocumento'];
            detalheDocumento.innerText = data[0]['nomeTd'];
            detalheSerie.innerText = data[0]['serieDocumento'];
            detalhePrazoPagamento.innerText = data[0]['nomePp'];
            detalheVendedor.innerText = data[0]['nomeU'];
            detalheIdCliente.innerText = data[0]['idEntidade'];
            detalheNome.innerText = data[0]['nomeE'];
            detalheMorada.innerText = data[0]['moradaE'];
            detalheNif.innerText = data[0]['nifE'];

            let row = `
          <tr>
            <th>Entregue</th>
            <td>${parseFloat(data[0]['entregue']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
          </tr>
          <tr>
            <th>Troco</th>
            <td>${parseFloat(data[0]['troco']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
          </tr>
          <tr>
            <th>Total</th>
            <td>${parseFloat(data[0]['total']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
          </tr>
          `;
            $("#detalheTabelaMontante").html(row);
          }
        });
        $.ajax({
          url: "includes/read/queryDocumentoLinha.inc.php",
          type: "post",
          dataType: "json",
          data: {
            idDocumento: codigo,
          },
          success: function(data) {
            let row = "";
            for (var key in data) {
              row += `
            <tr>
              <td>${data[key]['idArtigoAd']}</td>
              <td>${data[key]['descricaoAd']}</td>
              <td>${parseInt(data[key]['qtdAd']).toFixed(0).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
              <td>${parseFloat(data[key]['precoAd']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
              <td>${parseFloat(data[key]['descontoAd']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
              <td>${parseFloat(data[key]['impostoAd']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + "%"}</td>
              <td>${parseFloat(data[key]['totalAd']).toFixed(2).replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</td>
            </tr>
            `;
            }
            $("#corpoTabelaDetalhes").html(row);
          }
        }).done(function() {
          $('#modal-detalhes').modal('show');
        });
      }
    });
  }

  $('#tabelaArtigoNovo').on('click', '.remove_row', function(e) {
    e.preventDefault();
    var table = $('#tabelaArtigoNovo').DataTable();
    var row = $(this).closest('tr');
    if ($('#tabelaArtigoNovo tbody tr').length > 1) {
      table.row(row).remove().draw();
    } else {
      row.find('.inputSearchArtigo').val("");
      row.find('.descricao').val("");
      row.find('.qtd').val(1);
      row.find('.preco').val("");
      row.find('.desconto').val("0,00%");
      row.find('.imposto').val(0);
      row.find('.imposto').select2().trigger('change');
      row.find('.total').val("");
    }
    totalDocumento();
  });

  $('#tabelaArtigoNovo').on('keypress', '.inputSearchArtigo', function() {
    if (event.which === 13) {
      event.preventDefault();
      funcaoQueryArtigo($(this).val(), $(this));
      totalDocumento();
    }
  });

  $('#tabelaArtigoNovo').on('focusout', '.inputSearchArtigo', function() {
    event.preventDefault();
    if (this.value == "") {
      $(this).closest('tr').find('.inputSearchArtigo').val("");
      $(this).closest('tr').find('.descricao').val("");
      $(this).closest('tr').find('.qtd').val(1);
      $(this).closest('tr').find('.preco').val("");
      $(this).closest('tr').find('.desconto').val("0,00%");
      $(this).closest('tr').find('.imposto').val(0);
      $(this).closest('tr').find('.imposto').select2().trigger('change');
      $(this).closest('tr').find('.total').val("");
    } else {
      funcaoQueryArtigo($(this).val(), $(this));
    }
    totalDocumento();
  });

  /*$(document).on("click", "#btn-submit", function(e) {
    e.preventDefault();
    if (nomeUsuario.value != '' && genero.value != 0 && idTipoUsuario.value != 0) {
      let img = $("#file")[0].files;
      usuario(img);
    }
  });*/

  function usuario(img) {
    swal.fire({
      title: "Tem a certeza que pretende editar dados?",
      text: "Usuário: " + nome.value,
      icon: "warning",
      showCancelButton: true,
      confirmButtonText: 'Confirmar',
      cancelButtonText: 'Cancelar',
    }).then((result) => {
      if (result.isConfirmed) {
        $.ajax({
          url: "includes/update/usuario.inc.php",
          type: "post",
          data: {
            idUsuario: idUsuario,
            nome: nome.value,
            nomeUsuario: nomeUsuario.value,
            genero: genero.value,
            email: email.value,
            bi: bi.value,
            idTipoUsuario: idTipoUsuario.value
          },
          success: function(data) {
            console.log(data);
            nomeEdit.innerText = nome.value;
            generoEdit.innerText = genero.value;
            biEdit.innerText = bi.value;
            emailEdit.innerText = email.value;
            nomeUsuarioEdit.innerText = nomeUsuario.value;
            swal.fire({
              title: "Edição efectuada com sucesso!",
              text: "Usuário " + nome.value + " actualizado!",
              icon: "success",
              confirmButtonText: 'Confirmar',
            }).then(() => {
              if (img[0] != null) {
                foto(idUsuario, img);
              }
            });
          },
          error: function(data) {
            swal.fire({
              title: "Erro ao editar Usuário!",
              text: "Erro ao editar Usuário: " + nome.value + " !",
              confirmButtonText: 'Confirmar',
              icon: "error",
            });
          }
        });
      }
    });
  }

  function outrasOpcoes() {
    let totalOpcao = 0;
    let descontoOpcao = 0;
    let totalLiquidoOpcao = 0;
    let totalImpostoOpcao = 0;
    let total = document.querySelectorAll(".total");
    let preco = document.querySelectorAll(".preco");
    let qtd = document.querySelectorAll(".qtd");
    let desconto = document.querySelectorAll(".desconto");
    let imposto = document.querySelectorAll(".imposto");
    for (let i = 0; i < total.length; i++) {
      if (total[i].value != "") {
        totalOpcao += (parseFloat(preco[i].value.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(qtd[i].value.replace(/\ /g, '').replace(/\,/g, '.')));

        totalLiquidoOpcao += parseFloat(total[i].value.replace(/\ /g, '').replace(/\,/g, '.'));

        totalImpostoOpcao += (parseFloat(total[i].value.replace(/\ /g, '').replace(/\,/g, '.')) * (parseFloat(imposto[i].value.replace(/\ /g, '').replace(/\,/g, '.')) / 100));
      }

      if (total[i].value != "" && preco[i].value != "") {
        descontoOpcao += ((parseFloat(preco[i].value.replace(/\ /g, '').replace(/\,/g, '.')) * parseFloat(qtd[i].value.replace(/\ /g, '').replace(/\,/g, '.'))) - parseFloat(total[i].value.replace(/\ /g, '').replace(/\,/g, '.')));
      }
    }
    opcaoTotalBrutoExistente.innerText = parseFloat(totalOpcao).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    opcaoDescontoLinhaExistente.innerText = parseFloat(descontoOpcao).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    opcaoTotalLiquidoExistente.innerText = parseFloat(totalLiquidoOpcao).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    opcaoTotalImpostoExistente.innerText = parseFloat(totalImpostoOpcao).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    opcaoTotalDocumentoExistente.innerText = (parseFloat(totalLiquidoOpcao) + parseFloat(totalImpostoOpcao)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

    opcaoTotalDocumentoExistente.innerText = (parseFloat(totalLiquidoOpcao) + parseFloat(totalImpostoOpcao)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

    let dados = "";
    let tabela = document.getElementById("tabelaArtigoNovo");
    for (i = 1; i < tabela.rows.length; i++) {
      if (tabela.rows[i].querySelector('.inputSearchArtigo').value != "") {
        dados += `
      <tr>
        <td class="tdTaxa"><small>${parseFloat(tabela.rows[i].querySelector('.imposto').value).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + "%"}</small></td>
        <td class="tdIncidencia"><small>${parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small></td>
        <td class="tdImposto"><small>${(parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.')) * (parseFloat(tabela.rows[i].querySelector('.imposto').value.replace(/\ /g, '').replace(/\,/g, '.')) / 100)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small></td>
        <td class="tdValor"><small>${(parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.')) + (parseFloat(tabela.rows[i].querySelector('.total').value.replace(/\ /g, '').replace(/\,/g, '.')) * (parseFloat(tabela.rows[i].querySelector('.imposto').value.replace(/\ /g, '').replace(/\,/g, '.')) / 100))).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small></td>
      </tr>
    `;
      }
    }
    $('#impostoOpcaoExistente').html(dados);

    let taxaSet = new Set();

    for (let i = 0; i < $("#impostoOpcaoExistente tr").length; i++) {
      let td = $("#impostoOpcaoExistente tr")[i].querySelector('.tdTaxa');
      let tr = $("#impostoOpcaoExistente tr")[i];

      if (taxaSet.has(td.innerText)) {
        let incidenciaAtual = parseFloat(tr.querySelector('.tdIncidencia').innerText.replace(/\ /g, '').replace(/\,/g, '.'));
        let novoValorIncidencia = incidenciaAtual + parseFloat(td.parentElement.querySelector('.tdIncidencia').innerText.replace(/\ /g, '').replace(/\,/g, '.'));
        tr.querySelector('.tdIncidencia').innerHTML = `<small>${novoValorIncidencia.toFixed(2)}</small>`;
        td.parentElement.remove();
      } else {
        taxaSet.add(td.innerText);
      }
    }

    /*let valoresImpostoOpcao = [];
    let tabelaImpostoOpcao = document.querySelectorAll("#impostoOpcaoExistente tr");
    for (let i = 0; i < tabelaImpostoOpcao.length; i++) {
      valoresImpostoOpcao.push(tabelaImpostoOpcao[i].querySelectorAll('td')[0].textContent);
    }

    let valoresDuplicadosImpostoOpcao = [];
    for (let i = 0; i < tabelaImpostoOpcao.length; i++) {
      for (let j = i + 1; j < tabelaImpostoOpcao.length; j++) {
        if (valoresImpostoOpcao[i] === valoresImpostoOpcao[j] && !valoresDuplicadosImpostoOpcao.includes(valoresImpostoOpcao[i])) {
          valoresDuplicadosImpostoOpcao.push(valoresImpostoOpcao[i]);
        }
      }
    }
    if (valoresDuplicadosImpostoOpcao.length > 0) {
      let somaIncidencia = 0;
      let somaImposto = 0;
      let somaValor = 0;
      var elemento = $("#impostoOpcaoExistente td").filter(function() {
        var texto = $(this).find('td').text().trim();
        return $(this).text().indexOf(valoresDuplicadosImpostoOpcao) !== -1;
      });

      console.log("VAMOS VER A INCIDÊNCIA: ", elemento.parent('tr').find('.tdIncidencia'));
      for(let i = 0; i < elemento.parent('tr').find('.tdIncidencia').length; i++){
        if(elemento.parent('tr').find('.tdIncidencia') != null){
          somaIncidencia += parseFloat(elemento.parent('tr').find('.tdIncidencia')[i].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
          somaImposto += parseFloat(elemento.parent('tr').find('.tdImposto')[i].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
          somaValor += parseFloat(elemento.parent('tr').find('.tdValor')[i].innerText.replace(/\ /g, '').replace(/\,/g, '.'));
        }
      }
      elemento.first().parent('tr').find('td')[1].innerHTML = `<small>${parseFloat(somaIncidencia).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small>`;
      elemento.first().parent('tr').find('td')[2].innerHTML = `<small>${parseFloat(somaImposto).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small>`;
      elemento.first().parent('tr').find('td')[3].innerHTML = `<small>${parseFloat(somaValor).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ")}</small>`;
      elemento.parent('tr').not(':first').remove();
    }*/

    opcaoValorPagarExistente.innerText = (parseFloat(totalLiquidoOpcao) + parseFloat(totalImpostoOpcao)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

    $(document).on('keyup', '#arredondamentoExistente', function(e) {
      if (arredondamentoExistente.value != "") {
        opcaoValorPagarExistente.innerText = (parseFloat(totalLiquidoOpcao) + parseFloat(totalImpostoOpcao) + parseFloat(arredondamentoExistente.value.replace(/\ /g, '').replace(/\,/g, '.'))).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
      } else {
        opcaoValorPagarExistente.innerText = (parseFloat(totalLiquidoOpcao) + parseFloat(totalImpostoOpcao)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
      }
    });

    $(document).on('keyup', '#descontoGlobalValorExistente', function(e) {
      if (descontoGlobalValorExistente.value != "") {
        opcaoTotalLiquidoExistente.innerText = (parseFloat(totalLiquidoOpcao) - parseFloat(descontoGlobalValorExistente.value.replace(/\ /g, '').replace(/\,/g, '.'))).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

        descontoGlobalPorcentagemExistente.value = ((parseFloat(descontoGlobalValorExistente.value.replace(/\ /g, '').replace(/\,/g, '.')) / parseFloat(totalOpcao)) * 100).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
      }
    });

    $(document).on('keyup', '#descontoGlobalPorcentagemExistente', function(e) {
      if (descontoGlobalPorcentagemExistente.value != "") {
        opcaoTotalLiquidoExistente.innerText = (parseFloat(totalLiquidoOpcao) - parseFloat(descontoGlobalPorcentagemExistente.value.replace(/\ /g, '').replace(/\,/g, '.'))).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");

        descontoGlobalValorExistente.value = ((parseFloat(descontoGlobalPorcentagemExistente.value.replace(/\ /g, '').replace(/\,/g, '.')) / 100) * parseFloat(totalOpcao)).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ");
      }
    });
  }

  $(document).on("click", "#outrasOpcoesExistente", function(e) {
    e.preventDefault();
    document.querySelectorAll('.tooltip-content')[0].classList.toggle("tooltip-show");
  });

  $(document).on("click", "#outrasOpcoesNovo", function(e) {
    e.preventDefault();
    document.querySelectorAll('.tooltip-content')[1].classList.toggle("tooltip-show");
  });

  function foto(identificador, img) {
    let form_data = new FormData();
    form_data.append('id', identificador);
    form_data.append('imagem', img[0]);

    $.ajax({
      url: "includes/create/fotoUsuario.inc.php",
      type: "post",
      data: form_data,
      cache: false,
      contentType: false,
      processData: false,
      success: function(data) {
        console.log(data);
      }
    });
  }

  $(document).on("click", "#btn-delete", function(e) {
    e.preventDefault();
    console.log(idUsuario);
    swal.fire({
        title: "Tem a certeza que pretende eliminar usuario?",
        text: "usuario: " + nome.value,
        icon: "warning",
        showCancelButton: true,
        confirmButtonText: 'Confirmar',
        cancelButtonText: 'Cancelar',
      })
      .then((result) => {
        if (result.isConfirmed) {
          if (idUsuario != 1) {
            $.ajax({
              url: "php/delete/usuario.php",
              type: "post",
              dataType: "json",
              data: {
                idUsuario: idUsuario
              },
              success: function(data) {
                console.log(data);
                swal.fire({
                  title: "usuario " + nome.value + " eliminado com sucesso!",
                  icon: "success",
                  confirmButtonText: 'Confirmar',
                });
                $('#tabelaDocumento').DataTable().row(linha).remove().draw(false);
              },
              error: function(data) {
                swal.fire({
                  title: "Erro ao eliminar usuario!",
                  text: "Erro ao apagar usuario: " + nome.value + " !",
                  icon: "error",
                  confirmButtonText: 'Confirmar',
                });
              }
            });
          } else {
            swal.fire({
              title: "Erro ao eliminar Usuário!",
              text: "Usuário: " + nome.value + " não pode ser eliminado!",
              confirmButtonText: 'Confirmar',
              icon: "error",
            });
          }
        }
      });
  });

  $(document).on('click', '.btn-layout', function(e) {
    e.preventDefault();
    var iframe = document.getElementById('layoutDocumento');

    function loadDocumento() {
      iframe.contentWindow.codigoDocumento(idDoc, tipoDocumentoExistente.value);
    }
    iframe.onload = loadDocumento;
    iframe.src = this.id;
    $('#modal-layout').modal('show');
  });

  $(document).on('click', '#tabelaDocumento tbody tr', function() {
    var isSelected = $(this).hasClass('selected');
    let btn = document.querySelectorAll(".btn-layout");
    $('#tabelaDocumento tbody tr').removeClass('selected');
    if (!isSelected) {
      $(this).addClass('selected');
      for (let i = 0; i < btn.length; i++) {
        btn[i].removeAttribute("disabled");
      }
      idDoc = $(this).closest('tr').find('td')[0].innerText;
    } else {
      for (let i = 0; i < btn.length; i++) {
        btn[i].setAttribute("disabled", "disabled");
      }
    }
  });
</script>
<script src="./validation/formNotaCredito.js"></script>