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 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;

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) {
            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) {
    e.preventDefault();
    let tabela = document.getElementById("tabelaDocumentoExistenteArtigoSelecionado");
    if (tabela.rows.length > 1 && motivoEmissaoExistente.value != "") {
        slidePageExistente.style.marginLeft = "-50%";
        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.'
                });
            });
        } 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.'
                });
            });
        }
    }
});

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();
    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();
    slidePageExistente.style.marginLeft = "-25%";
    bulletExistente[currentExistente - 2].classList.remove("active");
    progressTextExistente[currentExistente - 2].classList.remove("active");
    progressCheckExistente[currentExistente - 2].classList.remove("active");
    currentExistente -= 1;
});

function resetForm() {
    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();
    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 o 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();
    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();
    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();
    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() {
    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;
}