<?php
include 'verifica_login.php';
include 'conexao.php';
include 'config/cliente_projeto_utils.php';
$conn = conectar_banco();
garantir_estrutura_clientes_projetos($conn);

$filtro_projeto = (int)($_GET['filtro_projeto'] ?? 0);

// Buscar projetos ativos para filtro/criação
$projetos_disponiveis = listar_projetos($conn, true);

// Buscar todos os templates de questionário (com projeto/cliente)
$sql = "
    SELECT qt.*, p.nome_projeto, c.nome_cliente
    FROM questionario_template qt
    LEFT JOIN projetos p ON p.id_projeto = qt.id_projeto_fk
    LEFT JOIN clientes_bms c ON c.id_cliente = p.id_cliente_fk
";

if ($filtro_projeto > 0) {
    $sql .= " WHERE qt.id_projeto_fk = " . $filtro_projeto;
}

$sql .= " ORDER BY qt.data_criacao DESC";
$result = $conn->query($sql);

// Buscar nome da empresa da tabela config
$empresa = '';
$sql_config = "SELECT empresa FROM config LIMIT 1";
$res_config = $conn->query($sql_config);
if ($res_config && $res_config->num_rows > 0) {
    $row_config = $res_config->fetch_assoc();
    $empresa = $row_config['empresa'];
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Montagem de Questionário</title>
    <style>
        body { font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px; }
        .container { max-width: 1200px; margin: 0 auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
        h1 { color: #004d99; border-bottom: 2px solid #ccc; padding-bottom: 10px; }
        .alert { padding: 15px; margin: 20px 0; border-radius: 6px; }
        .alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .alert-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .btn { background-color: #004d99; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; font-size: 0.95em; margin: 5px; }
        .btn:hover { background-color: #003366; }
        .btn-success { background-color: #28a745; }
        .btn-success:hover { background-color: #218838; }
        .btn-warning { background-color: #ffc107; color: #000; }
        .btn-warning:hover { background-color: #e0a800; }
        .btn-danger { background-color: #dc3545; }
        .btn-danger:hover { background-color: #c82333; }
        .btn-info { background-color: #17a2b8; }
        .btn-info:hover { background-color: #138496; }
        .btn-secondary { background-color: #6c757d; }
        .btn-secondary:hover { background-color: #5a6268; }
        .btn-small { padding: 6px 12px; font-size: 0.85em; }
        
        table { width: 100%; border-collapse: collapse; margin-top: 20px; background: white; }
        th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; }
        th { background: #004d99; color: white; }
        tr:hover { background: #f5f5f5; }
        
        .badge { padding: 5px 10px; border-radius: 20px; font-size: 0.8em; font-weight: bold; display: inline-block; }
        .badge-active { background: #c8e6c9; color: #1b5e20; }
        .badge-inactive { background: #ffcdd2; color: #b71c1c; }
        
        .actions { display: flex; gap: 5px; flex-wrap: wrap; }
        
        /* Modal */
        .modal { display: none; position: fixed; z-index: 100; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); overflow: auto; }
        .modal-content { background: white; margin: 5% auto; padding: 30px; border-radius: 8px; width: 60%; max-width: 600px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
        .modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
        .modal-header h2 { margin: 0; color: #004d99; }
        .close { font-size: 28px; font-weight: bold; cursor: pointer; color: #aaa; }
        .close:hover { color: #000; }
        
        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; font-weight: bold; margin-bottom: 5px; color: #555; }
        .form-group input[type="text"], .form-group textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
        .form-group textarea { min-height: 100px; resize: vertical; }
        
        .empty-state { text-align: center; padding: 60px 20px; color: #999; }
        .empty-state-icon { font-size: 64px; margin-bottom: 20px; }
    </style>
</head>
<body>

<div class="container">
    <h1>📋 Montagem de Questionário<?php if ($empresa): ?> - <?= htmlspecialchars($empresa) ?><?php endif; ?></h1>
    
    <div style="margin-bottom: 20px;">
        <button onclick="showNewModal()" class="btn btn-success">➕ Novo Questionário</button>
        <a href="pesquisas.php" class="btn btn-info">📊 Pesquisas</a>
        <a href="principal.php" class="btn btn-secondary">← Voltar</a>
    </div>

    <form method="get" action="montagem_questionario.php" style="background:#f8f9fa; border:1px solid #e0e0e0; border-radius:8px; padding:10px; margin-bottom:14px; display:flex; gap:8px; align-items:end; flex-wrap:wrap;">
        <div style="min-width:300px; flex:1;">
            <label style="font-weight:bold; margin-bottom:4px; display:block;">Filtro por Projeto</label>
            <select name="filtro_projeto" style="width:100%; padding:8px; border:1px solid #ccc; border-radius:4px;">
                <option value="">Todos os projetos</option>
                <?php foreach ($projetos_disponiveis as $proj): ?>
                    <option value="<?= (int)$proj['id_projeto'] ?>" <?= $filtro_projeto === (int)$proj['id_projeto'] ? 'selected' : '' ?>>
                        <?= htmlspecialchars($proj['nome_projeto']) ?> — <?= htmlspecialchars($proj['nome_cliente']) ?>
                    </option>
                <?php endforeach; ?>
            </select>
        </div>
        <button type="submit" class="btn">Filtrar</button>
        <a href="montagem_questionario.php" class="btn btn-secondary">Limpar</a>
    </form>
    
    <?php if (isset($_GET['msg'])): ?>
        <?php if ($_GET['msg'] === 'success'): ?>
            <div class="alert alert-success">
                ✓ <?= htmlspecialchars($_GET['detalhe'] ?? 'Operação realizada com sucesso!') ?>
            </div>
        <?php elseif ($_GET['msg'] === 'error'): ?>
            <div class="alert alert-error">
                ✗ Erro ao realizar operação. <?= htmlspecialchars($_GET['detalhe'] ?? '') ?>
            </div>
        <?php endif; ?>
    <?php endif; ?>
    
    <?php if ($result && $result->num_rows > 0): ?>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nome</th>
                <th>Projeto</th>
                <th>Cliente</th>
                <th>Descrição</th>
                <th>Status</th>
                <th>Data Criação</th>
                <th>Ações</th>
            </tr>
        </thead>
        <tbody>
            <?php while($row = $result->fetch_assoc()): ?>
            <tr>
                <td><?= $row['id'] ?></td>
                <td><strong><?= htmlspecialchars($row['nome']) ?></strong></td>
                <td><?= htmlspecialchars($row['nome_projeto'] ?? '-') ?></td>
                <td><?= htmlspecialchars($row['nome_cliente'] ?? '-') ?></td>
                <td><?= htmlspecialchars(substr($row['descricao'] ?? '', 0, 80)) ?><?= strlen($row['descricao'] ?? '') > 80 ? '...' : '' ?></td>
                <td>
                    <span class="badge <?= $row['ativo'] === 'S' ? 'badge-active' : 'badge-inactive' ?>">
                        <?= $row['ativo'] === 'S' ? 'Ativo' : 'Inativo' ?>
                    </span>
                </td>
                <td><?= date('d/m/Y H:i', strtotime($row['data_criacao'])) ?></td>
                <td>
                    <div class="actions">
                        <a href="editar_questionario_template.php?id=<?= $row['id'] ?>" class="btn btn-small">✏️ Editar</a>
                        <button onclick="duplicateTemplate(<?= $row['id'] ?>)" class="btn btn-info btn-small" title="Duplicar questionário">📋 Duplicar</button>
                        <button onclick="toggleStatus(<?= $row['id'] ?>, '<?= $row['ativo'] ?>')" class="btn btn-warning btn-small">
                            <?= $row['ativo'] === 'S' ? '🔒 Desativar' : '✅ Ativar' ?>
                        </button>
                        <button onclick="deleteTemplate(<?= $row['id'] ?>)" class="btn btn-danger btn-small">🗑️ Excluir</button>
                    </div>
                </td>
            </tr>
            <?php endwhile; ?>
        </tbody>
    </table>
    <?php else: ?>
    <div class="empty-state">
        <div class="empty-state-icon">📝</div>
        <h3>Nenhum questionário encontrado</h3>
        <p>Clique em "Novo Questionário" para criar seu primeiro questionário personalizado.</p>
    </div>
    <?php endif; ?>
</div>

<!-- Modal Novo Questionário -->
<div id="modalNovo" class="modal">
    <div class="modal-content">
        <div class="modal-header">
            <h2>Novo Questionário</h2>
            <span class="close" onclick="closeModal('modalNovo')">&times;</span>
        </div>
        <form method="POST" action="processar_questionario_template.php">
            <input type="hidden" name="action" value="create">

            <div class="form-group">
                <label for="id_projeto_fk">Projeto *</label>
                <select id="id_projeto_fk" name="id_projeto_fk" required>
                    <option value="">Selecione...</option>
                    <?php foreach ($projetos_disponiveis as $proj): ?>
                        <option value="<?= (int)$proj['id_projeto'] ?>">
                            <?= htmlspecialchars($proj['nome_projeto']) ?> — <?= htmlspecialchars($proj['nome_cliente']) ?>
                        </option>
                    <?php endforeach; ?>
                </select>
            </div>
            
            <div class="form-group">
                <label for="nome">Nome do Questionário *</label>
                <input type="text" id="nome" name="nome" required maxlength="255" placeholder="Ex: Questionário de Qualificação 2026">
            </div>
            
            <div class="form-group">
                <label for="descricao">Descrição</label>
                <textarea id="descricao" name="descricao" placeholder="Descreva o objetivo deste questionário..."></textarea>
            </div>
            
            <div class="form-group">
                <label for="introducao">Texto de Introdução</label>
                <textarea id="introducao" name="introducao" placeholder="Texto que será exibido no início do questionário para o respondente..."></textarea>
            </div>
            
            <div style="text-align: right; margin-top: 20px;">
                <button type="button" onclick="closeModal('modalNovo')" class="btn btn-secondary">Cancelar</button>
                <button type="submit" class="btn btn-success">Criar Questionário</button>
            </div>
        </form>
    </div>
</div>

<script>
function showNewModal() {
    document.getElementById('modalNovo').style.display = 'block';
}

function closeModal(modalId) {
    document.getElementById(modalId).style.display = 'none';
}

function toggleStatus(id, currentStatus) {
    const newStatus = currentStatus === 'S' ? 'N' : 'S';
    const action = newStatus === 'S' ? 'ativar' : 'desativar';
    
    if (confirm(`Confirma ${action} este questionário?`)) {
        const form = document.createElement('form');
        form.method = 'POST';
        form.action = 'processar_questionario_template.php';
        
        const inputAction = document.createElement('input');
        inputAction.type = 'hidden';
        inputAction.name = 'action';
        inputAction.value = 'toggle_status';
        
        const inputId = document.createElement('input');
        inputId.type = 'hidden';
        inputId.name = 'id';
        inputId.value = id;
        
        const inputStatus = document.createElement('input');
        inputStatus.type = 'hidden';
        inputStatus.name = 'status';
        inputStatus.value = newStatus;
        
        form.appendChild(inputAction);
        form.appendChild(inputId);
        form.appendChild(inputStatus);
        
        document.body.appendChild(form);
        form.submit();
    }
}

function duplicateTemplate(id) {
    if (confirm('📋 Deseja duplicar este questionário? Será criada uma cópia com todas as perguntas.')) {
        const form = document.createElement('form');
        form.method = 'POST';
        form.action = 'processar_questionario_template.php';
        
        const inputAction = document.createElement('input');
        inputAction.type = 'hidden';
        inputAction.name = 'action';
        inputAction.value = 'duplicate';
        
        const inputId = document.createElement('input');
        inputId.type = 'hidden';
        inputId.name = 'id';
        inputId.value = id;
        
        form.appendChild(inputAction);
        form.appendChild(inputId);
        
        document.body.appendChild(form);
        form.submit();
    }
}

function deleteTemplate(id) {
    if (confirm('⚠️ ATENÇÃO: Isso irá excluir o questionário e todas as suas perguntas. Confirma a exclusão?')) {
        const form = document.createElement('form');
        form.method = 'POST';
        form.action = 'processar_questionario_template.php';
        
        const inputAction = document.createElement('input');
        inputAction.type = 'hidden';
        inputAction.name = 'action';
        inputAction.value = 'delete';
        
        const inputId = document.createElement('input');
        inputId.type = 'hidden';
        inputId.name = 'id';
        inputId.value = id;
        
        form.appendChild(inputAction);
        form.appendChild(inputId);
        
        document.body.appendChild(form);
        form.submit();
    }
}

// Fechar modal ao clicar fora
window.onclick = function(event) {
    const modal = document.getElementById('modalNovo');
    if (event.target === modal) {
        closeModal('modalNovo');
    }
}
</script>

</body>
</html>
