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

$mensagem = "";

// 1. BUSCA OS DADOS ATUAIS DA CONTA
if (!isset($_GET['id'])) {
    header("Location: contas.php");
    exit;
}

$id = intval($_GET['id']);
$dados = $conn->query("SELECT * FROM contas_casa WHERE id = $id")->fetch_assoc();

if (!$dados) {
    header("Location: contas.php");
    exit;
}

// 2. LÓGICA DE ATUALIZAÇÃO
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['btn_atualizar'])) {
    $descricao    = strtoupper($_POST['descricao']);
    $observacao   = strtoupper($_POST['observacao']);
    $melhor_data  = intval($_POST['melhor_data']);

    $meses_db = ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "setem", "outu", "nov", "dez"];
    $valores_sql = [];

    foreach ($meses_db as $m) {
        $valor_digitado = $_POST['val_' . $m] ?? '0,00';
        $valor_limpo = str_replace(',', '.', str_replace('.', '', $valor_digitado));
        
        // RECUPERA O SINAL: Se o valor original no banco era negativo (PAGO) 
        // e o valor digitado no form é o mesmo (em módulo), mantém negativo.
        $valor_original = floatval($dados[$m]);
        if ($valor_original < 0 && abs($valor_original) == floatval($valor_limpo)) {
            $valores_sql[$m] = $valor_original; 
        } else {
            $valores_sql[$m] = $valor_limpo;
        }
    }

    $sql = "UPDATE contas_casa SET 
            descricao = '$descricao', 
            observacao = '$observacao', 
            melhor_data = '$melhor_data',
            jan = '{$valores_sql['jan']}', fev = '{$valores_sql['fev']}', mar = '{$valores_sql['mar']}', 
            abr = '{$valores_sql['abr']}', mai = '{$valores_sql['mai']}', jun = '{$valores_sql['jun']}', 
            jul = '{$valores_sql['jul']}', ago = '{$valores_sql['ago']}', setem = '{$valores_sql['setem']}', 
            outu = '{$valores_sql['outu']}', nov = '{$valores_sql['nov']}', dez = '{$valores_sql['dez']}'
            WHERE id = $id";

    if ($conn->query($sql)) {
        $mensagem = "<div style='background:#00569e; color:white; padding:10px; margin-bottom:15px; border-radius:4px; text-align:center;'>✅ CONTA ATUALIZADA COM SUCESSO!</div>";
        // Recarrega os dados para exibir no form
        $dados = $conn->query("SELECT * FROM contas_casa WHERE id = $id")->fetch_assoc();
    } else {
        $mensagem = "<div style='background:#dc3545; color:white; padding:10px; margin-bottom:15px; border-radius:4px; text-align:center;'>❌ ERRO AO ATUALIZAR: " . $conn->error . "</div>";
    }
}
?>

<style>
    .cadastro-wrapper { padding: 20px; text-transform: uppercase; font-family: 'Segoe UI', sans-serif; max-width: 900px; margin: 0 auto; }
    .form-excel { background: #fff; border: 1px solid #bbb; padding: 25px; border-top: 8px solid #00569e; box-shadow: 0 4px 10px rgba(0,0,0,0.1); border-radius: 4px; }
    
    .row-top { display: grid; grid-template-columns: 2fr 1.5fr 0.5fr; gap: 15px; margin-bottom: 20px; }
    .form-group { display: flex; flex-direction: column; }
    .form-group label { font-size: 10px; font-weight: bold; color: #00569e; margin-bottom: 5px; }
    .form-group input { padding: 10px; border: 1px solid #ccc; font-weight: bold; border-radius: 3px; }

    .section-title { font-size: 10px; font-weight: bold; color: #00569e; margin-bottom: 15px; padding-bottom: 5px; border-bottom: 2px solid #00569e; display: block; }
    
    .valores-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; background: #f8f9fa; padding: 20px; border: 1px solid #ddd; border-radius: 4px; }
    .mes-box { display: flex; align-items: center; justify-content: space-between; background: #fff; padding: 5px 10px; border: 1px solid #eee; border-radius: 3px; }
    .mes-box label { font-size: 10px; font-weight: bold; color: #444; width: 40px; }
    .mes-box input { width: 100%; text-align: right; font-size: 11px; padding: 6px; border: 1px solid #ccc; font-family: monospace; font-weight: bold; }

    .btn-atualizar { background: #00569e; color: white; border: none; padding: 16px; font-weight: bold; cursor: pointer; width: 100%; border-radius: 3px; font-size: 13px; margin-top: 25px; transition: 0.3s; }
    .btn-atualizar:hover { background: #003d6e; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
    .btn-voltar { display: block; text-align: center; margin-top: 20px; color: #666; text-decoration: none; font-size: 10px; font-weight: bold; }
</style>

<div class="cadastro-wrapper">
    <h2 style="text-align:center; color:#00569e; font-size: 16px; margin-bottom: 20px;">📝 ALTERAR CONTA ANUAL</h2>
    
    <?php echo $mensagem; ?>

    <div class="form-excel">
        <form method="POST">
            <div class="row-top">
                <div class="form-group">
                    <label>DESCRIÇÃO DA CONTA</label>
                    <input type="text" name="descricao" required value="<?php echo $dados['descricao']; ?>">
                </div>
                <div class="form-group">
                    <label>OBSERVAÇÃO</label>
                    <input type="text" name="observacao" value="<?php echo $dados['observacao']; ?>">
                </div>
                <div class="form-group">
                    <label>DIA VENC.</label>
                    <input type="number" name="melhor_data" min="1" max="31" required value="<?php echo $dados['melhor_data']; ?>">
                </div>
            </div>

            <span class="section-title">VALORES POR MÊS (EDITAR PLANILHA COMPLETA)</span>
            
            <div class="valores-grid">
                <?php 
                $m_list = [
                    "JAN" => "jan", "FEV" => "fev", "MAR" => "mar", "ABR" => "abr", 
                    "MAI" => "mai", "JUN" => "jun", "JUL" => "jul", "AGO" => "ago", 
                    "SET" => "setem", "OUT" => "outu", "NOV" => "nov", "DEZ" => "dez"
                ];
                foreach ($m_list as $exibir => $banco): 
                    $valor_para_exibir = abs(floatval($dados[$banco])); 
                ?>
                    <div class="mes-box">
                        <label><?php echo $exibir; ?></label>
                        <input type="text" name="val_<?php echo $banco; ?>" 
                               value="<?php echo number_format($valor_para_exibir, 2, ',', '.'); ?>" 
                               oninput="mascaraMoeda(this)">
                    </div>
                <?php endforeach; ?>
            </div>

            <button type="submit" name="btn_atualizar" class="btn-atualizar">💾 SALVAR ALTERAÇÕES</button>
        </form>
    </div>

    <a href="contas.php" class="btn-voltar">⬅️ VOLTAR PARA A PLANILHA PRINCIPAL</a>
</div>

<script>
function mascaraMoeda(i) {
    let 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>