const formulario = document.querySelector('.formulario');

const slidePageExistente = document.querySelector(".slidePage-existente");
const firstNextBtnExistente = document.querySelector(".nextBtn-existente");
const prevBtnSecExistente = document.querySelector(".prev-1-existente");
const nextBtnSecExistente = document.querySelector(".next-1-existente");
const prevBtnThirdExistente = document.querySelector(".prev-2-existente");
const submitBtnExistente = document.querySelector(".submit-existente");
const progressTextExistente = document.querySelectorAll(".step-existente p");
const progressCheckExistente = document.querySelectorAll(".step-existente .check");
const bulletExistente = document.querySelectorAll(".step-existente .bullet");
const prevBtnExistente3 = document.querySelector(".prev-3-existente");
const btnStoreData = document.querySelector(".btnStoreData");

const tableBody = document.querySelector('.modoPagamento-existente');
let valorTotalAPagar = 0;
let ArrayTotal = [];


const footerPagamento = document.getElementById("footerPagamento");

let numberRegExp = new RegExp('^[0-9-()-+ ]+$');
let letterRegExp = new RegExp('^[a-zA-Z ]+$');
let biRegExp = new RegExp('^[a-zA-Z0-9]+$');
let emailRegExp = new RegExp('^[A-Za-z0-9._-]{3,}@[A-Za-z._-]{3,}[.]{1}[A-Za-z.]{2,6}$');

let maxExistente = 3;
let currentExistente = 1;


formulario.style.width = '500%';

// Armazenar dados

$(btnStoreData).click(function(e) {
    var totalEntregue = entregueSpanExistente.innerText.split('Kzs')[0];
    var totalTroco = totalSpanExistente.innerText.split('Kzs')[0];

    valorentregue = parseFloat(totalEntregue.replace(/\ /g, '').replace(/\,/g, '.'));
    valortroco = parseFloat(totalTroco.replace(/\ /g, '').replace(/\,/g, '.'))

    alert('Entregue: '+ valorentregue+' - Troco: '+valortroco)

    alert('Verificar esses dados no: converterdoc.js > Linha: 36');

    console.log("RRRRRRR: ", ArrayTotal);
    createDocumentoExistente();

});

firstNextBtnExistente.addEventListener("click", function (e) {
    e.preventDefault();
    let bool = false;
    let tabela = document.getElementById("tabelaDocumentoExistente");
    if (tabela.rows.length > 1) {
        for (i = 1; i < tabela.rows.length; i++) {
            bool = true;
        }

        if (bool == true) {
            
            formulario.style.width = '0%';
            formulario.style.width = '400%';

            slidePageExistente.style.marginLeft = "-25%";
            bulletExistente[currentExistente - 1].classList.add("active");
            progressTextExistente[currentExistente - 1].classList.add("active");
            progressCheckExistente[currentExistente - 1].classList.add("active");
            currentExistente += 1;
            footerPagamento.style.opacity = 1;
        }
    } else {
        $(function () {
            var Toast = Swal.mixin({
                toast: true,
                position: 'top-end',
                showConfirmButton: false,
                timer: 3000
            });
            Toast.fire({
                icon: 'error',
                title: 'Lista de documentos vazia, selecione um ou mais documentos.'
            });
        });
    }
});


nextBtnSecExistente.addEventListener("click", function (e) {
    // totalEntregueExistente.style.display = "flex";
    e.preventDefault();
    let tabela = document.getElementById("tabelaDocumentoExistenteArtigoSelecionado");
    if (tabela.rows.length > 1) {
        if (switchBetweenScrenn == 1) {
            formulario.style.width = '0%';
            formulario.style.width = '400%';
            slidePageExistente.style.marginLeft = "-75.2%";
        } else if (switchBetweenScrenn == 2) {
            if (valorTotalAPagar == 0) {
                ArrayTotal['aPagar'] = totalSpanExistente.innerText;
            }
            formulario.style.width = '0%';
            formulario.style.width = '400%';
            slidePageExistente.style.marginLeft = "-50%";
            $(totalEntregueExistente).closest('h4').css('display', 'flex')
            $(btnStoreData).attr('disabled', true);
        }
        bulletExistente[currentExistente - 1].classList.add("active");
        progressTextExistente[currentExistente - 1].classList.add("active");
        progressCheckExistente[currentExistente - 1].classList.add("active");
        currentExistente += 1;
        footerPagamento.style.opacity = 1;
    } else {
        if (tabela.rows.length <= 1) {
            $(function () {
                var Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                });
                Toast.fire({
                    icon: 'error',
                    title: 'Lista de artigos vazia, selecione um ou mais artigos.'
                });
            });
        } 
    }
});

tableBody.querySelectorAll('tr').forEach(tr => {
    let td = tr.querySelectorAll('td')[2].querySelector('input');
    td.addEventListener('keyup', (e) => {
        sumMp();
    });
});

submitBtnExistente.addEventListener("click", function (e) {
    e.preventDefault();

    //bulletExistente[currentExistente - 1].classList.add("active");
    progressTextExistente[currentExistente - 1].classList.add("active");
    progressCheckExistente[currentExistente - 1].classList.add("active");
    currentExistente += 1;
    createDocumentoExistente();
});

prevBtnSecExistente.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '500%';
    slidePageExistente.style.marginLeft = "0%";
    bulletExistente[currentExistente - 2].classList.remove("active");
    progressTextExistente[currentExistente - 2].classList.remove("active");
    progressCheckExistente[currentExistente - 2].classList.remove("active");
    currentExistente -= 1;
    footerPagamento.style.opacity = 0;
});

prevBtnThirdExistente.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '400%';
    // $(totalEntregueExistente).closest('h4').css('display', 'none')
    slidePageExistente.style.marginLeft = "-25%";
    bulletExistente[currentExistente - 2].classList.remove("active");
    progressTextExistente[currentExistente - 2].classList.remove("active");
    progressCheckExistente[currentExistente - 2].classList.remove("active");
    currentExistente -= 1;
});

prevBtnExistente3.addEventListener("click", function (e) {
    e.preventDefault();
    // alert(1);
    formulario.style.width = '400%';
    slidePageExistente.style.marginLeft = "-25%";
    $(totalEntregueExistente).closest('h4').css('display', 'none')
    bulletExistente[currentExistente - 2].classList.remove("active");
    progressTextExistente[currentExistente - 2].classList.remove("active");
    progressCheckExistente[currentExistente - 2].classList.remove("active");
    currentExistente -= 1;
});

function resetForm() {
    formulario.style.width = '500%';
    slidePageExistente.style.marginLeft = "0%";
    for (let i = 0; i < progressTextExistente.length; i++) {
        bulletExistente[i].classList.remove("active");
        progressTextExistente[i].classList.remove("active");
        progressCheckExistente[i].classList.remove("active");
    }
    currentExistente = 1;
}




const slidePageNovo = document.querySelector(".slidePage-novo");
const firstNextBtnNovo = document.querySelector(".nextBtn-novo");
const prevBtnSecNovo = document.querySelector(".prev-1-novo");
const nextBtnSecNovo = document.querySelector(".next-1-novo");
const prevBtnThirdNovo = document.querySelector(".prev-2-novo");


const submitBtnNovo = document.querySelector(".submit-novo");
const progressTextNovo = document.querySelectorAll(".step-novo p");
const progressCheckNovo = document.querySelectorAll(".step-novo .check");
const bulletNovo = document.querySelectorAll(".step-novo .bullet");

let maxNovo = 3;
let currentNovo = 1;

firstNextBtnNovo.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '400%';
    if (idEntidadeNovo != undefined && nomeEntidadeNovo.value != '' && nifEntidadeNovo.value != '' && prazoPagamentoNovo.value != 0 && entidadeNovo.value != 0) {
        slidePageNovo.style.marginLeft = "-25%";
        bulletNovo[currentNovo - 1].classList.add("active");
        progressTextNovo[currentNovo - 1].classList.add("active");
        progressCheckNovo[currentNovo - 1].classList.add("active");
        currentNovo += 1;
        footerPagamento.style.opacity = 1;
    } else {
        let smallEntidadeNovo = entidadeNovo.parentElement.parentElement.querySelectorAll("small")[1];
        let smallPrazoPagamentoNovo = prazoPagamentoNovo.parentElement.querySelectorAll("small")[1];
        if (idEntidade == undefined || entidadeNovo.value == "") {
            entidadeNovo.className = "form-control is-invalid";
            smallEntidadeNovo.style.visibility = "visible";
            smallEntidadeNovo.style.color = "#dc3545";
            smallEntidadeNovo.innerText = "Selecione a Entidade e precione a tecla enter!";
        } else {
            smallEntidadeNovo.style.visibility = "hidden";
        }

        if ($("#prazoPagamentoNovo").val() == 0) {
            prazoPagamentoInvalid(smallPrazoPagamentoNovo);
        } else {
            prazoPagamentoValid(smallPrazoPagamentoNovo);
        }
    }
});

nextBtnSecNovo.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '400%';
    let tabela = document.getElementById("tabelaDocumentoNovoArtigoSelecionado");
    if (tabela.rows.length > 1 && motivoEmissaoExistente.value != "") {
        slidePageNovo.style.marginLeft = "-50%";
        bulletNovo[currentNovo - 1].classList.add("active");
        progressTextNovo[currentNovo - 1].classList.add("active");
        progressCheckNovo[currentNovo - 1].classList.add("active");
        currentNovo += 1;
        footerPagamento.style.opacity = 1;
    } else {
        if (tabela.rows.length <= 1) {
            $(function () {
                var Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                });
                Toast.fire({
                    icon: 'error',
                    title: 'Lista de artigos vazia, selecione um ou mais artigos.'
                });
            });
        } else if (motivoEmissaoExistente.value == "") {
            $(function () {
                var Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                });
                Toast.fire({
                    icon: 'error',
                    title: 'Digite o motivo de emissão da nota de crédito.'
                });
            });
        }
    }
});

submitBtnNovo.addEventListener("click", function (e) {
    e.preventDefault();
    bulletNovo[currentNovo - 1].classList.add("active");
    progressTextNovo[currentNovo - 1].classList.add("active");
    progressCheckNovo[currentNovo - 1].classList.add("active");
    currentNovo += 1;
   //createDocumentoNovo();
});

prevBtnSecNovo.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '500%';
    slidePageNovo.style.marginLeft = "0%";
    bulletNovo[currentNovo - 2].classList.remove("active");
    progressTextNovo[currentNovo - 2].classList.remove("active");
    progressCheckNovo[currentNovo - 2].classList.remove("active");
    currentNovo -= 1;
    footerPagamento.style.opacity = 0;
});

prevBtnThirdNovo.addEventListener("click", function (e) {
    e.preventDefault();
    formulario.style.width = '400%';
    slidePageNovo.style.marginLeft = "-25%";
    bulletNovo[currentNovo - 2].classList.remove("active");
    progressTextNovo[currentNovo - 2].classList.remove("active");
    progressCheckNovo[currentNovo - 2].classList.remove("active");
    currentNovo -= 1;
});

function prazoPagamentoNovoInvalid(small) {
    prazoPagamentoNovo.classList.add("select2-danger");
    prazoPagamentoNovo.setAttribute('data-dropdown-css-class', 'select2-danger');
    small.style.visibility = "visible";
    small.style.color = "#dc3545";
    small.innerText = "Selecione um Prazo de Pagamento!";
    firstNextBtnNovo.setAttribute('disabled', 'disabled');
}

function prazoPagamentoNovoValid(small) {
    prazoPagamentoNovo.classList.remove("select2-danger");
    prazoPagamentoNovo.classList.add("is-valid");
    prazoPagamentoNovo.style.borderColor = "#ffc107";
    firstNextBtnNovo.removeAttribute('disabled');
    small.style.visibility = "hidden";
}

$('#prazoPagamentoNovo').select2().on('change', function () {
    let small = prazoPagamentoNovo.parentElement.querySelectorAll("small")[1];
    if ($("#prazoPagamentoNovo").val() == 0) {
        prazoPagamentoNovoInvalid(small);
    } else {
        prazoPagamentoNovoValid(small);
    }
});

function resetForm() {
    formulario.style.width = '500%';
    slidePageNovo.style.marginLeft = "0%";
    for (let i = 0; i < progressTextNovo.length; i++) {
        bulletNovo[i].classList.remove("active");
        progressTextNovo[i].classList.remove("active");
        progressCheckNovo[i].classList.remove("active");
    }
    currentNovo = 1;
}

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, '.'));
    }
  }
  entregueSpanExistente.innerText = parseFloat(all);
  entregueSpanExistente.innerText = parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
  ArrayTotal['entregue'] = parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
  if (parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')) < totalDoc) {
    totalTextExistente.innerText = "VALOR PENDENTE";
    totalTextExistente.className = "text-danger";
    totalSpanExistente.className = "text-danger";
    totalSpanExistente.innerText = totalDoc - parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.'));
    totalSpanExistente.innerText = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    $(btnStoreData).attr('disabled', true);
    recalcular();
  } else if (parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')) == totalDoc && parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')) != 0) {
    entregueSpanExistente.className = "";
    totalEntregueExistente.className = "";
    totalEntregueExistente.innerText = "ENTREGUE";
    totalTextExistente.innerText = "SEM TROCO";
    totalTextExistente.className = "text-success";
    totalSpanExistente.className = "text-success";
    totalSpanExistente.innerText = totalDoc - parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.'));
    totalSpanExistente.innerText = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    $(btnStoreData).attr('disabled', false);
    ArrayTotal['troco'] = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    recalcular();
  } else if (parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')) > totalDoc) {
    entregueSpanExistente.className = "";
    totalEntregueExistente.className = "";
    totalEntregueExistente.innerText = "ENTREGUE";
    totalTextExistente.innerText = "TROCO";
    totalTextExistente.className = "text-success";
    totalSpanExistente.className = "text-success";
    totalSpanExistente.innerText = parseFloat(entregueSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')) - totalDoc;
    totalSpanExistente.innerText = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    ArrayTotal['troco'] = parseFloat(totalSpanExistente.innerText.replace(/\ /g, '').replace(/\,/g, '.')).toFixed(2).replace(/\ /g, '').replace(/\./g, ',').replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " Kzs";
    $(btnStoreData).attr('disabled', false);
    recalcular();
  }
}

function recalcular() {
  let total = 0;
  let trs = tableBody.querySelectorAll("tr");

  // console.log("TB: ", tableBody);

  // return;
  for (i = 0; i < trs.length; i++) {
    var td = trs[i].querySelectorAll('td')[2].querySelector('input');
    
    if (td.value != "") {
      total += parseFloat(td.value.replace(/\ /g, '').replace(/\,/g, '.'));
    }
  }
  console.log("Esse é o meu total: ", total);
}