<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
<section class="content-header">
    <h1>
        <i class="fa fa-plus-circle"></i>
        <?php echo $page_title ?>
    </h1>
    <ol class="breadcrumb">
        <li><a href="<?php echo site_url('admin/financeiro') ?>"><i class="fa fa-money"></i> Financeiro</a></li>
        <li class="active"><?php echo $page_title ?></li>
    </ol>
</section>

<section class="content">
<?php if ($this->session->flashdata('message')): ?>
<div class="alert alert-success alert-dismissible">
    <button class="close" data-dismiss="alert">&times;</button>
    <?php echo $this->session->flashdata('message') ?>
</div>
<?php endif; ?>

<div class="row">
<div class="col-md-9">
<div class="box box-primary">
    <div class="box-header with-border">
        <h3 class="box-title"><?php echo $page_title ?></h3>
    </div>
    <form method="post" action="<?php echo site_url('admin/financeiro/add_lancamento/' . ($lancamento->id ?? 0)) ?>">
    <input type="hidden" name="submitted" value="1">
    <div class="box-body">

        <!-- Tipo -->
        <div class="form-group">
            <label>Tipo <span class="text-danger">*</span></label>
            <div class="btn-group" id="grupo-tipo">
                <button type="button" class="btn btn-sm btn-tipo <?php echo ($lancamento->tipo ?? $tipo_pre) === 'receber' ? 'btn-success active' : 'btn-default' ?>" data-val="receber">
                    <i class="fa fa-arrow-down"></i> Receita
                </button>
                <button type="button" class="btn btn-sm btn-tipo <?php echo ($lancamento->tipo ?? $tipo_pre) === 'pagar' ? 'btn-danger active' : 'btn-default' ?>" data-val="pagar">
                    <i class="fa fa-arrow-up"></i> Despesa
                </button>
            </div>
            <input type="hidden" name="tipo" id="campo-tipo" value="<?php echo htmlspecialchars($lancamento->tipo ?? $tipo_pre) ?>">
        </div>

        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label>Descrição <span class="text-danger">*</span></label>
                    <input type="text" name="descricao" class="form-control" required value="<?php echo htmlspecialchars($lancamento->descricao ?? '') ?>">
                </div>
            </div>
            <div class="col-md-3">
                <div class="form-group">
                    <label>Valor (R$) <span class="text-danger">*</span></label>
                    <input type="text" name="valor" class="form-control money" required value="<?php echo isset($lancamento->valor) ? number_format($lancamento->valor, 2, ',', '.') : '' ?>">
                </div>
            </div>
            <div class="col-md-3">
                <div class="form-group">
                    <label>Vencimento <span class="text-danger">*</span></label>
                    <input type="date" name="vencimento" class="form-control" required value="<?php echo $lancamento->vencimento ?? date('Y-m-d') ?>">
                </div>
            </div>
        </div>

        <!-- STATUS — CORRIGIDO (itens 1 e 2) -->
        <div class="row">
            <div class="col-md-4">
                <div class="form-group">
                    <label>Status <span class="text-danger">*</span></label>
                    <select name="status" id="select-status" class="form-control" onchange="toggleDataPagamento(this.value)">
                        <option value="pendente" <?php echo ($lancamento->status ?? 'pendente') === 'pendente' ? 'selected' : '' ?>>Pendente</option>
                        <option value="pago"     <?php echo ($lancamento->status ?? '') === 'pago'     ? 'selected' : '' ?>>Pago / Recebido</option>
                        <option value="cancelado"<?php echo ($lancamento->status ?? '') === 'cancelado'? 'selected' : '' ?>>Cancelado</option>
                    </select>
                </div>
            </div>
            <div class="col-md-4" id="div-data-pagamento" style="<?php echo ($lancamento->status ?? 'pendente') !== 'pago' ? 'display:none' : '' ?>">
                <div class="form-group">
                    <label>Data do Pagamento</label>
                    <input type="date" name="data_pagamento" id="data_pagamento" class="form-control"
                           value="<?php echo $lancamento->data_pagamento ?? '' ?>">
                </div>
            </div>
            <div class="col-md-4">
                <div class="form-group">
                    <label>Competência / Mês Ref.</label>
                    <input type="text" name="competencia_mes" class="form-control" placeholder="Ex: Maio/2026"
                           value="<?php echo htmlspecialchars($lancamento->competencia_mes ?? '') ?>">
                </div>
            </div>
        </div>

        <div class="row">
            <div class="col-md-4">
                <div class="form-group">
                    <label>Categoria</label>
                    <select name="categoria" class="form-control">
                        <option value="">— Selecione —</option>
                        <?php foreach ($categorias as $cat): ?>
                        <option value="<?php echo htmlspecialchars($cat->nome) ?>"
                            <?php echo ($lancamento->categoria ?? '') === $cat->nome ? 'selected' : '' ?>>
                            <?php echo htmlspecialchars($cat->nome) ?> (<?php echo $cat->tipo ?>)
                        </option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>
            <div class="col-md-4">
                <div class="form-group">
                    <label>Forma de Pagamento</label>
                    <select name="forma_pagamento" class="form-control">
                        <option value="">— Selecione —</option>
                        <?php foreach (['Dinheiro','PIX','Transferência Bancária','Boleto','Cartão de Crédito','Cartão de Débito','Cheque','Depósito'] as $fp): ?>
                        <option value="<?php echo $fp ?>" <?php echo ($lancamento->forma_pagamento ?? '') === $fp ? 'selected' : '' ?>><?php echo $fp ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>
            <div class="col-md-4">
                <div class="form-group">
                    <label>Conta Bancária</label>
                    <select name="conta_id" class="form-control">
                        <option value="">— Nenhuma —</option>
                        <?php foreach ($contas as $conta): ?>
                        <option value="<?php echo $conta->id ?>" <?php echo ($lancamento->conta_id ?? '') == $conta->id ? 'selected' : '' ?>>
                            <?php echo htmlspecialchars($conta->nome) ?>
                        </option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>
        </div>

        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label>Cliente</label>
                    <select name="client_id" class="form-control">
                        <option value="">— Nenhum —</option>
                        <?php foreach ($clientes as $cl): ?>
                        <option value="<?php echo $cl->id ?>" <?php echo ($lancamento->client_id ?? '') == $cl->id ? 'selected' : '' ?>>
                            <?php echo htmlspecialchars($cl->name) ?>
                        </option>
                        <?php endforeach; ?>
                    </select>
                </div>
            </div>
            <div class="col-md-3">
                <div class="form-group">
                    <label>Fornecedor / Credor</label>
                    <input type="text" name="fornecedor" class="form-control" value="<?php echo htmlspecialchars($lancamento->fornecedor ?? '') ?>">
                </div>
            </div>
            <div class="col-md-3">
                <div class="form-group">
                    <label>Nº Documento</label>
                    <input type="text" name="numero_documento" class="form-control" value="<?php echo htmlspecialchars($lancamento->numero_documento ?? '') ?>">
                </div>
            </div>
        </div>

        <div class="form-group">
            <label>Observação</label>
            <textarea name="observacao" class="form-control" rows="2"><?php echo htmlspecialchars($lancamento->observacao ?? '') ?></textarea>
        </div>

        <!-- RECORRÊNCIA (item 5) -->
        <?php if (empty($lancamento->id)): // Só exibe no cadastro novo ?>
        <div class="box box-warning box-solid" style="margin-top:10px">
            <div class="box-header with-border">
                <h3 class="box-title">
                    <i class="fa fa-repeat"></i> Lançamento Recorrente
                    <small class="text-muted">(opcional)</small>
                </h3>
                <div class="box-tools pull-right">
                    <div class="custom-control custom-switch" style="margin-top:2px">
                        <input type="checkbox" id="chk-recorrente" name="recorrente" value="1" onchange="toggleRecorrente(this.checked)"
                               <?php echo !empty($lancamento->recorrente) ? 'checked' : '' ?>>
                        <label for="chk-recorrente" style="margin-left:5px;cursor:pointer">Ativar recorrência</label>
                    </div>
                </div>
            </div>
            <div class="box-body" id="div-recorrencia" style="<?php echo empty($lancamento->recorrente) ? 'display:none' : '' ?>">
                <div class="row">
                    <div class="col-md-4">
                        <div class="form-group">
                            <label>Periodicidade</label>
                            <select name="recorrencia_tipo" class="form-control">
                                <option value="mensal"     <?php echo ($lancamento->recorrencia_tipo ?? '') === 'mensal'      ? 'selected' : '' ?>>Mensal</option>
                                <option value="bimestral"  <?php echo ($lancamento->recorrencia_tipo ?? '') === 'bimestral'   ? 'selected' : '' ?>>Bimestral</option>
                                <option value="trimestral" <?php echo ($lancamento->recorrencia_tipo ?? '') === 'trimestral'  ? 'selected' : '' ?>>Trimestral</option>
                                <option value="semestral"  <?php echo ($lancamento->recorrencia_tipo ?? '') === 'semestral'   ? 'selected' : '' ?>>Semestral</option>
                                <option value="anual"      <?php echo ($lancamento->recorrencia_tipo ?? '') === 'anual'       ? 'selected' : '' ?>>Anual</option>
                            </select>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="form-group">
                            <label>Quantidade de parcelas</label>
                            <input type="number" name="recorrencia_total" class="form-control" min="2" max="120"
                                   placeholder="Ex: 12 (0 = indeterminado)"
                                   value="<?php echo $lancamento->recorrencia_total ?? 12 ?>">
                            <span class="help-block" style="font-size:11px">0 = gera indefinidamente até cancelar</span>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="form-group">
                            <label>&nbsp;</label>
                            <div class="alert alert-info" style="padding:8px;font-size:12px;margin:0">
                                <i class="fa fa-info-circle"></i>
                                Cada parcela será criada como <strong>pendente</strong>.
                                Ao vencer sem baixa, muda para <strong>vencido</strong> automaticamente.
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php endif; ?>

    </div><!-- /box-body -->
    <div class="box-footer">
        <button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> Salvar</button>
        <a href="<?php echo site_url('admin/financeiro/lancamentos/' . ($lancamento->tipo ?? $tipo_pre)) ?>" class="btn btn-default">Cancelar</a>
    </div>
    </form>
</div>
</div><!-- /col-md-9 -->

<div class="col-md-3">
    <div class="box box-default">
        <div class="box-header"><h3 class="box-title">Ajuda</h3></div>
        <div class="box-body" style="font-size:12px;color:#555">
            <p><strong>Pendente:</strong> lançamento aguardando pagamento. Não preencha data de pagamento.</p>
            <p><strong>Pago/Recebido:</strong> informe a data em que foi liquidado.</p>
            <p><strong>Recorrente:</strong> o sistema criará automaticamente as próximas parcelas com status pendente.</p>
        </div>
    </div>
</div>

</div><!-- /row -->
</section>

<script>
function toggleDataPagamento(status) {
    var div = document.getElementById('div-data-pagamento');
    var inp = document.getElementById('data_pagamento');
    if (status === 'pago') {
        div.style.display = 'block';
        if (!inp.value) inp.value = '<?php echo date('Y-m-d') ?>';
    } else {
        div.style.display = 'none';
        inp.value = ''; // Limpa a data quando pendente
    }
}

function toggleRecorrente(checked) {
    document.getElementById('div-recorrencia').style.display = checked ? 'block' : 'none';
}

// Botões de tipo
document.querySelectorAll('.btn-tipo').forEach(function(btn) {
    btn.addEventListener('click', function() {
        document.querySelectorAll('.btn-tipo').forEach(function(b) {
            b.classList.remove('active', 'btn-success', 'btn-danger');
            b.classList.add('btn-default');
        });
        var val = this.getAttribute('data-val');
        this.classList.remove('btn-default');
        this.classList.add('active', val === 'receber' ? 'btn-success' : 'btn-danger');
        document.getElementById('campo-tipo').value = val;
    });
});
</script>
