<?php
date_default_timezone_set('America/Sao_Paulo');
include_once('../config.php'); 
include_once('../header.php');

// =================================================================
// FUNÇÃO DE SINCRONIZAÇÃO (CARTÃO -> CONTAS_CASA)
// =================================================================
function sincronizarComContas($conn) {
    $meses_col = ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "setem", "outu", "nov", "dez"];
    $somas = array_fill_keys($meses_col, 0);
    $res = $conn->query("SELECT * FROM cartao_credito");
    if($res){
        while($row = $res->fetch_assoc()) {
            foreach($meses_col as $m) { $somas[$m] += abs(floatval($row[$m])); }
        }
        $sql_up = "UPDATE contas_casa SET 
            `jan`='{$somas['jan']}', `fev`='{$somas['fev']}', `mar`='{$somas['mar']}', 
            `abr`='{$somas['abr']}', `mai`='{$somas['mai']}', `jun`='{$somas['jun']}', 
            `jul`='{$somas['jul']}', `ago`='{$somas['ago']}', `setem`='{$somas['setem']}', 
            `outu`='{$somas['outu']}', `nov`='{$somas['nov']}', `dez`='{$somas['dez']}' 
            WHERE UPPER(descricao) = 'CARTÃO DE CRÉDITO'";
        $conn->query($sql_up);
    }
}

// 1. BUSCA OS DADOS ATUAIS DO LANÇAMENTO
if (isset($_GET['id'])) {
    $id = intval($_GET['id']);
    $dados_query = $conn->query("SELECT * FROM cartao_credito WHERE id = $id");
    $d = $dados_query->fetch_assoc();
    if (!$d) { die("Lançamento não encontrado."); }
}

// 2. PROCESSA A ATUALIZAÇÃO (POST)
if (isset($_POST['atualizar'])) {
    $id = intval($_POST['id']);
    $descricao = mysqli_real_escape_string($conn, $_POST['descricao']);
    $observacao = mysqli_real_escape_string($conn, $_POST['observacao']);
    $dono = mysqli_real_escape_string($conn, $_POST['dono']);
    $dia = intval($_POST['dia_vencimento']);

    // Prepara os valores dos meses (converte vírgula em ponto)
    $meses_sql = [];
    $meses_nomes_db = ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "setem", "outu", "nov", "dez"];
    
    foreach ($meses_nomes_db as $m) {
        $valor = str_replace(',', '.', str_replace('.', '', $_POST[$m]));
        // Se o valor era negativo no banco (PAGO), mantemos o sinal negativo na edição
        if (floatval($d[$m]) < 0 && $valor > 0) { $valor = $valor * -1; }
        $meses_sql[] = "`$m` = '$valor'";
    }

    $sql_update = "UPDATE cartao_credito SET 
                    descricao = '$descricao', 
                    observacao = '$observacao', 
                    dono = '$dono', 
                    dia_vencimento = '$dia', " . 
                    implode(', ', $meses_sql) . 
                    " WHERE id = $id";

    if ($conn->query($sql_update)) {
        sincronizarComContas($conn);
        echo "<script>alert('ATUALIZADO COM SUCESSO!'); window.location.href='exibir_cartao.php';</script>";
        exit;
    } else {
        echo "Erro ao atualizar: " . $conn->error;
    }
}
?>

<style>
    .form-container { padding: 20px; font-family: 'Segoe UI', sans-serif; text-transform: uppercase; max-width: 900px; margin: auto; }
    .card-form { background: #fff; border: 1px solid #bbb; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
    .grid-meses { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 20px; }
    .form-group { margin-bottom: 15px; display: flex; flex-direction: column; }
    .form-group label { font-size: 10px; font-weight: bold; color: #00569e; margin-bottom: 5px; }
    .form-control { padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 12px; font-weight: bold; }
    .btn-save { background: #00569e; color: white; border: none; padding: 12px; width: 100%; font-weight: bold; cursor: pointer; border-radius: 4px; margin-top: 20px; }
    .btn-save:hover { background: #00447a; }
</style>

<div class="form-container">
    <div class="card-form">
        <h2 style="color: #00569e; font-size: 16px; margin-top: 0;">📝 ALTERAR LANÇAMENTO NO CARTÃO</h2>
        <form method="POST">
            <input type="hidden" name="id" value="<?php echo $d['id']; ?>">
            
            <div style="display: flex; gap: 15px;">
                <div class="form-group" style="flex: 2;">
                    <label>DESCRIÇÃO</label>
                    <input type="text" name="descricao" class="form-control" value="<?php echo $d['descricao']; ?>" required>
                </div>
                <div class="form-group" style="flex: 1;">
                    <label>DONO</label>
                    <select name="dono" class="form-control">
                        <option value="ALEXANDRE" <?php if($d['dono'] == 'ALEXANDRE') echo 'selected'; ?>>ALEXANDRE</option>
                        <option value="FRAN" <?php if($d['dono'] == 'FRAN') echo 'selected'; ?>>FRAN</option>
                    </select>
                </div>
                <div class="form-group" style="flex: 0.5;">
                    <label>DIA VENC.</label>
                    <input type="number" name="dia_vencimento" class="form-control" value="<?php echo $d['dia_vencimento']; ?>" min="1" max="31">
                </div>
            </div>

            <div class="form-group">
                <label>OBSERVAÇÃO</label>
                <input type="text" name="observacao" class="form-control" value="<?php echo $d['observacao']; ?>">
            </div>

            <hr style="border: 0; border-top: 1px solid #eee; margin: 20px 0;">
            <label style="font-size: 10px; font-weight: bold; color: #00569e;">VALORES POR MÊS (R$):</label>
            
            <div class="grid-meses">
                <?php 
                $meses_lista = ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "setem", "outu", "nov", "dez"];
                foreach ($meses_lista as $m): 
                ?>
                <div class="form-group">
                    <label><?php echo strtoupper($m); ?></label>
                    <input type="text" name="<?php echo $m; ?>" class="form-control" 
                           value="<?php echo number_format(abs($d[$m]), 2, ',', '.'); ?>" 
                           onkeyup="moeda(this)">
                </div>
                <?php endforeach; ?>
            </div>

            <button type="submit" name="atualizar" class="btn-save">💾 SALVAR ALTERAÇÕES</button>
            <a href="exibir_cartao.php" style="display:block; text-align:center; margin-top:15px; font-size:11px; color:#666; text-decoration:none;">CANCELAR E VOLTAR</a>
        </form>
    </div>
</div>

<script>
// Máscara de moeda simples
function moeda(i) {
    var v = i.value.replace(/\D/g,'');
    v = (v/100).toFixed(2) + '';
    v = v.replace(".", ",");
    v = v.replace(/(\d)(\d{3})(\d{3}),/g, "$1.$2.$3,");
    v = v.replace(/(\d)(\d{3}),/g, "$1.$2,");
    i.value = v;
}
</script>