<?php
require '../../conexao/conexao.php';
//require '../sessao.php';
require '../../conexao/acesso.php';
require '../../configuacoes.php';

/////// consultas e funções para o CRUDE DENTRO DO ARQUIVO TAMBÉM ENCONTRA A PREFERENCIA (QUINZENAL OU MENSAL)
require '../../querys/query-metas.php';

require '../../querys/query-vendedores.php';

$Metas = new Metas($connectionmysql);
$detalhesMeta = $Metas->listarMetasDefinidas($_GET['id'])[0];
//print_r($detalhesMeta);

$vendedoresClass = new Vendedores($connection);

if (!isset($detalhesMeta['codigo_vendedor'])) {
    $detalhesMeta['codigo_vendedor'] = 0;
}

$cdcon = $detalhesMeta['codigo_filial'];
$idVendedor = $detalhesMeta['codigo_vendedor'];

$vendedoresArray = $vendedoresClass->listarVendedores($cdcon, $idVendedor);

$Metas->UpdateDefineMeta($connectionmysql);

// print_r($vendedores);

$meu_periodo = $Metas->get_periodo();

require '../../querys/query-filiais.php';

$filiais = new Filiais($connectionmysql);


if (isset($_SESSION['message'])) {
    echo "<script>alert('" . $_SESSION['message'] . "');</script>";
    unset($_SESSION['message']); // Limpa a mensagem após exibição
}

?>

<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Definir Metas"; // Definir o título da página aqui
?>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.min.css">

<style>
    .select-all-container {
        margin-bottom: 10px;
    }

    .months-container {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .month-checkbox {
        display: flex;
        align-items: center;
        gap: 10px;
        /* Espaço entre o checkbox e o nome do mês */
    }

    .month-checkbox input[type="checkbox"] {
        margin: 0;
        /* Remove o espaço extra ao redor do checkbox */
    }

    /* Limitar a largura da coluna da tabela */
    #vendedores_input2 {
        white-space: nowrap;
        /* Impede que o texto quebre para a linha seguinte */
        overflow: hidden;
        /* Esconde o conteúdo que ultrapassa o limite */
        text-overflow: ellipsis;
        /* Adiciona reticências para texto que não cabe */
    }

    /* Ajustar o estilo do input para não expandir a coluna */
    #vendedor_input {
        width: 100%;
        /* Manter a largura do input ocupando toda a coluna */
        max-width: 200px;
        /* Define um limite máximo de largura */
    }

    /* Estilo do dropdown */
    /* Estilo do dropdown */
    #vendedor_dropdown {
        max-height: 200px;
        /* Limitar a altura do dropdown */
        overflow-y: auto;
        /* Adicionar rolagem vertical se o conteúdo for longo */
        width: auto;
        /* Permitir que a largura do dropdown se ajuste ao conteúdo */
        min-width: 200px;
        max-width: 200px;
        position: absolute;
        /* Posicionar o dropdown corretamente em relação ao input */
        z-index: 1000;
        /* Garantir que o dropdown fique acima de outros elementos */
        background-color: white;
        /* Fundo branco para melhor visibilidade */
        border: 1px solid #ccc;
        /* Borda para definir o contorno do dropdown */
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        /* Sombra para dar profundidade */
        display: none;
        /* Começar oculto e será exibido conforme necessário */
    }

    /* Opcional: ajustar a altura da linha da tabela */
    .table th,
    .table td {
        vertical-align: middle;
        /* Centraliza o conteúdo verticalmente */
    }
</style>

<head>
    <link rel="icon" href="\KPI\pages/configuracoes/logo-sm.png">
    <link rel="shortcut icon" href="\KPI\pages/configuracoes/logo-sm.png">

</head>

<body>


    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->
    <div class="container-fluid">
        <div class="row">
            <?php
            include('../lateral.php');
            ?>

            <main class="col-md-9 col-lg-10 content">
                <div class="wrapper candidato">
                    <div class="container-fluid">

                        <div class="card-box mt-3">
                            <div class="row">

                                <div class="col-6 text-left">
                                    <?php
                                    // Array de meses em português
                                    $meses = [
                                        '01' => 'Janeiro',
                                        '02' => 'Fevereiro',
                                        '03' => 'Março',
                                        '04' => 'Abril',
                                        '05' => 'Maio',
                                        '06' => 'Junho',
                                        '07' => 'Julho',
                                        '08' => 'Agosto',
                                        '09' => 'Setembro',
                                        '10' => 'Outubro',
                                        '11' => 'Novembro',
                                        '12' => 'Dezembro',
                                    ];

                                    // Obtém o número do mês
                                    $mesNumero = str_pad($detalhesMeta['mes'], 2, '0', STR_PAD_LEFT); // Adiciona zero à esquerda se necessário
                                    $mesNome = $meses[$mesNumero]; // Obtém o nome do mês

                                    ?>
                                    <h4 class="page-title">Alterar meta (referente ao mês de <?php echo $mesNome; ?>)</h4>
                                </div>

                                <div class="col-6 text-right">
                                    <button onclick="history.back()" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</button>
                                </div>

                                <div class="col-12">
                                    <hr>
                                </div>

                                <div class="col-12">
                                    <form method="post">
                                        <div class="form-row mb-3">


                                            <table width="1213" class="table table-striped table-bordered dt-responsive nowrap" id="datatable-buttons">
                                                <thead>
                                                    <tr class="text-center">
                                                        <th width="125" nowrap="nowrap">Filial</th>
                                                        <th width="113" nowrap="nowrap">Nome Meta</th>
                                                        <th width="130" nowrap="nowrap">Tipo Meta</th>

                                                        <?php if (isset($detalhesMeta['codigo_vendedor']) and $detalhesMeta['codigo_vendedor'] <> 0) { ?>
                                                            <th width="164" nowrap="nowrap">Código Vendedor</th>
                                                        <?php } ?>


                                                        <th width="149" nowrap="nowrap">Ano </th>
                                                        <?php if ($meu_periodo !== 'Mês') { ?>
                                                            <th width="166" nowrap="nowrap">Valor (1° Quinzena)</th>
                                                            <th width="183" nowrap="nowrap">Valor (2° Quinzena)</th>
                                                        <?php } else { ?>
                                                            <th width="147" nowrap="nowrap">Valor da Meta</th>
                                                        <?php } ?>
                                                    </tr>
                                                    <tr class="text-center">
                                                        <th>
                                                            <select name="codigo_filial" class="form-control" id="codigo_filial">
                                                                <option value=""></option>
                                                                <?php $listagemFiliais = $filiais->listarFiliais();
                                                                foreach ($listagemFiliais as $itens) { ?>
                                                                    <option value="<?php echo $itens['id']; ?>" <?php if ($detalhesMeta['codigo_filial'] == $itens['id']) {
                                                                                                                    echo 'selected';
                                                                                                                } ?>><?php echo $itens['nome_filial']; ?></option>
                                                                <?php } ?>
                                                            </select>
                                                        </th>
                                                        <th>
                                                            <select name="codigo_meta" class="form-control" id="codigo_meta" readonly>
                                                                <option value=""></option>
                                                                <?php $ListaMetas = $Metas->listarMetas();
                                                                foreach ($ListaMetas as $itens) { ?>
                                                                    <option value="<?php echo $itens['id']; ?>" <?php if ($detalhesMeta['codigo_meta'] == $itens['id']) {
                                                                                                                    echo 'selected';
                                                                                                                } ?>><?php echo $itens['nome_meta']; ?></option>
                                                                <?php } ?>
                                                            </select>
                                                        </th>
                                                        <th>
                                                            <?php if ($detalhesMeta['tipo_meta'] == 2) {
                                                                echo 'Vendedores';
                                                            } elseif ($detalhesMeta['tipo_meta'] == 3) {
                                                                echo 'Loja';
                                                            } ?>

                                                            <input type="hidden" name="tipo_meta" value="<?php echo $detalhesMeta['tipo_meta'];?>">
                                                        </th>

                                                        <?php if (isset($detalhesMeta['codigo_vendedor']) and $detalhesMeta['codigo_vendedor'] <> 0) { ?>
                                                            <th>
                                                                <input type="text" class="form-control" value="<?php if (!empty($vendedoresArray) && isset($vendedoresArray[0])) {
                                                                                                                    $vendedores = $vendedoresArray[0];
                                                                                                                    echo $vendedores['NOME_VENDEDOR'];
                                                                                                                } else {
                                                                                                                    // Caso não haja vendedores, defina um valor padrão ou trate o erro
                                                                                                                    $vendedores = null;
                                                                                                                    echo "Nenhum vendedor encontrado.";
                                                                                                                } ?>" readonly>


                                                                <input type="hidden" name="codigo_vendedor" value="<?php echo $detalhesMeta['codigo_vendedor']; ?>" readonly>

                                                            </th>
                                                        <?php } ?>
                                                        <th><input type="text" class="form-control" name="ano" id="ano" value="<?php echo htmlspecialchars($detalhesMeta['ano'] ?? ''); ?>"></th>

                                                        <?php
                                                        $valor_meta = $detalhesMeta['valor_meta'];
                                                        ?>

                                                        <?php

                                                        if ($meu_periodo !== 'Mês') {
                                                        ?>
                                                            <th>
                                                                <input type="text" class="form-control" name="valor_meta" id="valor_meta1"
                                                                    value="<?php echo htmlspecialchars(number_format($detalhesMeta['valor_meta'], 2, ',', '.')); ?>">
                                                            </th>
                                                            <th>
                                                                <input type="text" class="form-control" name="valor_meta_2" id="valor_meta2"
                                                                    value="<?php echo htmlspecialchars(number_format($detalhesMeta['valor_meta_2'], 2, ',', '.')); ?>">
                                                            </th>

                                                        <?php
                                                        } else {
                                                            $soma_metas_mes = $detalhesMeta['valor_meta'] + $detalhesMeta['valor_meta_2'];
                                                        ?>
                                                            <th>
                                                                <input type="text" class="form-control" name="valor_meta" id="valor_meta" value="<?php echo number_format($soma_metas_mes, 2, ',', '.'); ?>">
                                                            </th>
                                                        <?php
                                                        }
                                                        ?>
                                                    </tr>
                                                </thead>
                                            </table>


                                            <div class="col-12 text-right">
                                                <!--  <a href="index.php" class="btn btn-warning mr-2"> Limpar</a> -->

                                                <input type="hidden" name="ids" id="ids" value="<?php echo $_GET['id']; ?>">
                                                <input type="hidden" name="meu_periodo" id="meu_periodo" value="<?php echo $meu_periodo; ?>">
                                                <input type="hidden" name="mes" id="mes" value="<?php echo $detalhesMeta['mes'] ?>">
                                                <button type="submit" class="btn btn-primary"><i class="mdi mdi-plus"></i> Alterar Dados</button>
                                            </div>
                                    </form>
                                </div>
                            </div>



                        </div>
                    </div>

                </div> <!-- end container -->
            </main>
        </div>
    </div>

    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

    <?php
    include('../../geral/mensagens_modais.php');
    ?>

    <script>
        // Selecionar todos os checkboxes quando o checkbox "Selecionar Todos" for marcado
        document.getElementById('select-all').addEventListener('change', function() {
            const checked = this.checked;
            document.querySelectorAll('.month').forEach(checkbox => {
                checkbox.checked = checked;
            });
        });

        // Desmarcar o checkbox "Selecionar Todos" se algum checkbox individual for desmarcado
        document.querySelectorAll('.month').forEach(checkbox => {
            checkbox.addEventListener('change', function() {
                if (!this.checked) {
                    document.getElementById('select-all').checked = false;
                } else {
                    // Verifica se todos os checkboxes estão marcados
                    const allChecked = Array.from(document.querySelectorAll('.month')).every(checkbox => checkbox.checked);
                    document.getElementById('select-all').checked = allChecked;
                }
            });
        });

        document.getElementById('tipo_meta').addEventListener('change', function() {
            var tipoMeta = this.value;
            var vendedoresInput = document.getElementById('vendedores_input');

            if (tipoMeta === '2') { // Verifica se a opção 'Vendedores' foi selecionada
                vendedoresInput.style.display = 'block'; // Mostra o campo de input
            } else {
                vendedoresInput.style.display = 'none'; // Esconde o campo de input para outras opções
            }
        });

        document.getElementById('tipo_meta').addEventListener('change', function() {
            var tipoMeta = this.value;
            var vendedoresInput = document.getElementById('vendedores_input2');

            if (tipoMeta === '2') { // Verifica se a opção 'Vendedores' foi selecionada
                vendedores_input2.style.display = 'block'; // Mostra o campo de input
            } else {
                vendedores_input2.style.display = 'none'; // Esconde o campo de input para outras opções
            }
        });

        document.addEventListener('DOMContentLoaded', function() {
            const dropdown = document.getElementById('vendedor_dropdown');
            const selectAllCheckbox = document.getElementById('select_all');
            const hiddenField = document.getElementById('vendedorselecionados');
            const filialSelect = document.getElementById('codigo_filial'); // Campo de seleção de filial
            const filterInput = document.getElementById('vendedor_input'); // Campo de input para filtrar

            // Capturar o evento de mudança no campo de seleção de filial
            filialSelect.addEventListener('change', function() {
                const filialSelecionada = this.value; // Obtém o valor selecionado no select

                // Verifica se a filial está definida
                if (filialSelecionada) {
                    // Carregar vendedores com base na filial selecionada
                    carregarVendedores(filialSelecionada);
                } else {
                    dropdown.innerHTML = ''; // Se nenhuma filial for selecionada, limpa a lista de vendedores
                    dropdown.style.display = 'none'; // Oculta o dropdown
                }
            });

            function carregarVendedores(filial) {
                // Enviar requisição AJAX para obter os vendedores de acordo com a filial
                fetch('get_vendedores.php', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded'
                        },
                        body: 'filial=' + encodeURIComponent(filial)
                    })
                    .then(response => response.json())
                    .then(data => {
                        console.log('Resposta recebida do servidor:', data);

                        if (Array.isArray(data)) {
                            dropdown.innerHTML = ''; // Limpar o dropdown

                            // Armazenar vendedores em uma variável global para filtragem
                            window.vendedoresData = data;

                            data.forEach(vendedor => {
                                const nomeVendedor = vendedor.NOME_VENDEDOR; // Ajuste conforme necessário
                                const idVendedor = vendedor.COD_VENDEDOR; // Ajuste conforme necessário

                                const divItem = document.createElement('div');
                                divItem.className = 'dropdown-item';
                                divItem.innerHTML = `
                        <input type="checkbox" class="vendedor-checkbox" data-id="${idVendedor}" data-name="${nomeVendedor}" id="vendedor_${idVendedor}" onchange="updateSelectedVendedores()">
                        <label for="vendedor_${idVendedor}">${idVendedor} - ${nomeVendedor}</label>
                    `;
                                dropdown.appendChild(divItem);
                            });

                            // Atualiza o campo de seleção para garantir que os checkboxes não sejam afetados erroneamente
                            updateSelectedVendedores();

                            // Mostra o dropdown após adicionar os itens
                            dropdown.style.display = 'block';
                        } else {
                            console.error('A resposta não é um array:', data);
                            dropdown.innerHTML = '<div class="dropdown-item">Nenhum vendedor encontrado.</div>'; // Mensagem de erro para o usuário
                            dropdown.style.display = 'block'; // Garante que o dropdown seja exibido
                        }
                    })
                    .catch(error => console.error('Erro ao obter vendedores:', error));
            }

            // Função para marcar/desmarcar todos os checkboxes
            window.toggleSelectAll = function(selectAllCheckbox) {
                const checkboxes = document.querySelectorAll('.vendedor-checkbox');
                checkboxes.forEach(checkbox => (checkbox.checked = selectAllCheckbox.checked));
                updateSelectedVendedores();
            };

            // Atualizar vendedores selecionados e atualizar o campo oculto
            window.updateSelectedVendedores = function() {
                const selectedNames = Array.from(document.querySelectorAll('.vendedor-checkbox'))
                    .filter(checkbox => checkbox.checked)
                    .map(checkbox => checkbox.getAttribute('data-name')); // Obter os nomes dos vendedores
                const selectedIds = Array.from(document.querySelectorAll('.vendedor-checkbox'))
                    .filter(checkbox => checkbox.checked)
                    .map(checkbox => checkbox.getAttribute('data-id')); // Obter os IDs dos vendedores

                // Atualiza o campo oculto com os IDs para envio via GET
                hiddenField.value = selectedIds.join(',');

                // Exibir os nomes dos vendedores selecionados em algum lugar na interface
                filterInput.value = selectedNames.join(', '); // Exibe os nomes no campo de input
            };

            // Manter o dropdown aberto
            filterInput.addEventListener('focus', function() {
                const filialSelecionada = filialSelect.value; // Obtém o valor selecionado na filial
                if (filialSelecionada) {
                    carregarVendedores(filialSelecionada); // Carregar vendedores quando o input recebe foco
                }
            });

            // Fechar o dropdown ao clicar fora
            document.addEventListener('click', function(e) {
                if (!filterInput.contains(e.target) && !dropdown.contains(e.target)) {
                    dropdown.style.display = 'none';
                }
            });

            // Função para filtrar vendedores com base na pesquisa do input
            filterInput.addEventListener('input', function() {
                const searchValue = this.value.toLowerCase(); // Obtém o valor de pesquisa em minúsculas
                const filteredVendedores = window.vendedoresData.filter(vendedor =>
                    vendedor.NOME_VENDEDOR.toLowerCase().includes(searchValue) || // Filtra os vendedores pelo nome
                    vendedor.COD_VENDEDOR.toString().toLowerCase().includes(searchValue) // Filtra também pelo ID
                );

                // Atualiza o dropdown com os vendedores filtrados
                dropdown.innerHTML = ''; // Limpar o dropdown
                filteredVendedores.forEach(vendedor => {
                    const nomeVendedor = vendedor.NOME_VENDEDOR; // Ajuste conforme necessário
                    const idVendedor = vendedor.COD_VENDEDOR; // Ajuste conforme necessário

                    const divItem = document.createElement('div');
                    divItem.className = 'dropdown-item';
                    divItem.innerHTML = `
                <input type="checkbox" class="vendedor-checkbox" data-id="${idVendedor}" data-name="${nomeVendedor}" id="vendedor_${idVendedor}" onchange="updateSelectedVendedores()">
                <label for="vendedor_${idVendedor}">${idVendedor} - ${nomeVendedor}</label>
            `;
                    dropdown.appendChild(divItem);
                });

                // Se não houver vendedores filtrados, exibe mensagem
                if (filteredVendedores.length === 0) {
                    dropdown.innerHTML = '<div class="dropdown-item">Nenhum vendedor encontrado.</div>'; // Mensagem de erro para o usuário
                }

                // Mostra o dropdown após adicionar os itens filtrados
                dropdown.style.display = 'block';
            });
        });
    </script>

    <!-- jQuery (precisa para o Chosen) -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <!-- Chosen JS -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js"></script>
    <!-- Inicializar Chosen -->
    <script>
        var $j = jQuery.noConflict();
        $j(document).ready(function() {
            $j('#id_cidade').chosen();
        });
    </script>


    <!-- Vendor js -->
    <script src="../../../assets/js/vendor.min.js"></script>

    <!-- knob plugin -->
    <script src="../../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <!-- App js-->
    <script src="../../../assets/js/app.min.js"></script>

    <script src="../../geral/javascript.js"></script>


</body>

</html>