<?php
// vista/padres/ficha_alumno.php

if (!isset($_SESSION['padre_cedula']) && !isset($_SESSION['usu_id'])) {
    header("Location: login.php");
    exit();
}

$bd = new clsbdd();
$padre_cedula = $_SESSION['padre_cedula'] ?? '';

// 1. Conseguir TODAS las hijas asociadas a este representante
$hijas = [];
if (!empty($padre_cedula)) {
    $sql_hijas = "SELECT b.*, c.cla_categoria, c.cla_nivel 
                  FROM bas_bastoneras b 
                  LEFT JOIN bas_clasificaciones c ON b.cla_id = c.cla_id 
                  WHERE b.bas_rep_cedula = '$padre_cedula' AND b.bas_estado = 1";
    $res_hijas = $bd->ejecutar($sql_hijas);
    if ($res_hijas) {
        while ($r = $res_hijas->fetch_assoc()) {
            $hijas[] = $r;
        }
    }
}

// 2. Determinar cuál hija se está visualizando actualmente
$bas_id = isset($_GET['hija_id']) ? intval($_GET['hija_id']) : ($hijas[0]['bas_id'] ?? 0);

// Si es un administrador testeando la vista
if (isset($_SESSION['usu_id']) && ($_SESSION['usu_rol'] ?? '') !== 'PADRE' && isset($_GET['bas_id'])) {
    $bas_id = intval($_GET['bas_id']);
}

// Buscamos los datos específicos de la alumna seleccionada
$alumna = null;
foreach ($hijas as $h) {
    if (intval($h['bas_id']) === $bas_id) {
        $alumna = $h;
        break;
    }
}

// Si es administrador o por alguna razón no está en el array, la consultamos directo
if (!$alumna && $bas_id > 0) {
    $sql_sel = "SELECT b.*, c.cla_categoria, c.cla_nivel FROM bas_bastoneras b LEFT JOIN bas_clasificaciones c ON b.cla_id = c.cla_id WHERE b.bas_id = $bas_id LIMIT 1";
    $res_sel = $bd->ejecutar($sql_sel);
    $alumna = ($res_sel) ? $res_sel->fetch_assoc() : null;
}

if (!$alumna) {
    echo "<div class='alert alert-danger m-3'>No dispone de alumnas asignadas o activas en este momento.</div>";
    exit();
}

// 3. Obtener las cuentas por cobrar pendientes (Mensualidades, uniformes, etc.)
$sql_cuentas = "SELECT cxc.*, con.con_nombre 
                FROM bas_cuentas_cobrar cxc 
                INNER JOIN bas_conceptos con ON cxc.con_id = con.con_id 
                WHERE cxc.bas_id = $bas_id AND cxc.cxc_estado = 'PENDIENTE' 
                ORDER BY cxc.cxc_fecha_emision ASC";
$res_cuentas = $bd->ejecutar($sql_cuentas);

// 4. Procesar el envío de la justificación de asistencia
$mensaje_justificacion = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action_justificar'])) {
    $asistencia_id = intval($_POST['asistencia_id']);
    $motivo = $bd->esc(trim($_POST['just_motivo'] ?? ''));
    
    if ($asistencia_id > 0 && !empty($motivo)) {
        $sql_update = "UPDATE bas_asistencia SET 
                       asi_justificada = 1, 
                       asi_justificacion_motivo = '$motivo',
                       asi_justificacion_estado = 'PENDIENTE'
                       WHERE asi_id = $asistencia_id AND bas_id = $bas_id";
                       
        if ($bd->ejecutar($sql_update)) {
            $mensaje_justificacion = "<div class='alert alert-success small py-2 mb-3'><i class='fas fa-check-circle me-1'></i>Justificación enviada correctamente. En espera de revisión.</div>";
        } else {
            $mensaje_justificacion = "<div class='alert alert-danger small py-2 mb-3'>Hubo un problema al guardar la justificación.</div>";
        }
    }
}

// 5. Manejar respuestas visuales del controlador de pagos reportados
$mensaje_pago = "";
if (isset($_GET['res'])) {
    if ($_GET['res'] === 'pago_enviado') {
        $mensaje_pago = "<div class='alert alert-success small py-2 mb-3'><i class='fas fa-check-circle me-1'></i>Su comprobante de pago fue reportado con éxito. Está en espera de verificación por el administrador.</div>";
    } elseif ($_GET['res'] === 'error_archivo') {
        $mensaje_pago = "<div class='alert alert-danger small py-2 mb-3'><i class='fas fa-exclamation-triangle me-1'></i>Error al subir el archivo del comprobante. Intente con otro formato (JPG, PNG, PDF).</div>";
    } elseif ($_GET['res'] === 'sin_cuentas') {
        $mensaje_pago = "<div class='alert alert-warning small py-2 mb-3'><i class='fas fa-info-circle me-1'></i>No se encontraron deudas pendientes para asociar este pago.</div>";
    }
}

// 6. Obtener el historial de asistencias de la alumna seleccionada
$sql_asistencias = "SELECT * FROM bas_asistencia WHERE bas_id = $bas_id ORDER BY asi_fecha DESC";
$res_asistencias = $bd->ejecutar($sql_asistencias);
?>

<div class="container-fluid px-2 py-3">

    <?php if (count($hijas) > 1): ?>
        <div class="mb-3">
            <label class="form-label text-muted small fw-bold mb-1"><i class="fas fa-exchange-alt me-1"></i> Cambiar de Alumna:</label>
            <select class="form-select form-select-sm rounded-pill border-secondary-subtle" onchange="location = this.value;">
                <?php foreach ($hijas as $h): ?>
                    <option value="index.php?page=padres/ficha_alumno&hija_id=<?php echo $h['bas_id']; ?>" <?php echo ($h['bas_id'] == $bas_id) ? 'selected' : ''; ?>>
                        <?php echo $h['bas_nombres'] . " " . $h['bas_apellidos']; ?>
                    </option>
                <?php endforeach; ?>
            </select>
        </div>
    <?php endif; ?>

    <div class="card border-0 shadow-sm rounded-4 mb-3 text-white" style="background: linear-gradient(135deg, #f26a8d 0%, #db5375 100%);">
        <div class="card-body p-3 d-flex align-items-center">
            <div class="bg-white text-dark rounded-circle d-flex align-items-center justify-content-center shadow-sm" style="width: 55px; height: 55px; min-width: 55px;">
                <i class="fas fa-user text-pink" style="color: #f26a8d; font-size: 1.3rem;"></i>
            </div>
            <div class="ms-3">
                <h6 class="fw-bold mb-0 text-uppercase"><?php echo $alumna['bas_nombres'] . " " . $alumna['bas_apellidos']; ?></h6>
                <p class="small mb-0 opacity-75">C.I: <?php echo $alumna['bas_cedula']; ?></p>
                <span class="badge bg-white text-dark mt-1 px-2 py-1" style="font-size: 0.7rem;">
                    <?php echo ($alumna['cla_categoria'] ?? 'Sin Categoría') . " - " . ($alumna['cla_nivel'] ?? 'Sin Nivel'); ?>
                </span>
            </div>
        </div>
    </div>

    <?php echo $mensaje_justificacion; ?>
    <?php echo $mensaje_pago; ?>

    <ul class="nav nav-pills nav-fill bg-light p-1 rounded-pill mb-3 small" id="pills-tab" role="tablist">
        <li class="nav-item" role="presentation">
            <button class="nav-link active rounded-pill fw-bold py-2" id="pills-datos-tab" data-bs-toggle="pill" data-bs-target="#pills-datos" type="button" role="tab" aria-controls="pills-datos" aria-selected="true">
                <i class="fas fa-id-card me-1"></i> Mis Datos
            </button>
        </li>
        <li class="nav-item" role="presentation">
            <button class="nav-link rounded-pill fw-bold py-2" id="pills-asistencias-tab" data-bs-toggle="pill" data-bs-target="#pills-asistencias" type="button" role="tab" aria-controls="pills-asistencias" aria-selected="false">
                <i class="fas fa-calendar-check me-1"></i> Asistencia
            </button>
        </li>
        <li class="nav-item" role="presentation">
            <button class="nav-link rounded-pill fw-bold py-2" id="pills-pagos-tab" data-bs-toggle="pill" data-bs-target="#pills-pagos" type="button" role="tab" aria-controls="pills-pagos" aria-selected="false">
                <i class="fas fa-file-invoice-dollar me-1"></i> Saldos / Pagos
            </button>
        </li>
        <li class="nav-item">
        <button class="nav-link rounded-pill fw-bold py-2" id="pills-editar-tab" data-bs-toggle="pill" data-bs-target="#pills-editar" type="button">
            <i class="fas fa-user-edit me-1"></i> Editar Perfil
        </button>
    </li>
    </ul>

    <div class="tab-content" id="pills-tabContent">
        
        <!-- PESTAÑA 1: DATOS -->
        <div class="tab-pane fade show active" id="pills-datos" role="tabpanel" aria-labelledby="pills-datos-tab">
            <div class="card border-0 shadow-sm rounded-4 mb-3">
                <div class="card-body p-3">
                    <h6 class="fw-bold mb-3 small text-uppercase border-bottom pb-2 text-secondary">Representante</h6>
                    <div class="row g-2 mb-2">
                        <div class="col-6"><span class="text-muted d-block small">Nombre:</span><strong><?php echo $alumna['bas_rep_nombre']; ?></strong></div>
                        <div class="col-6"><span class="text-muted d-block small">Cédula:</span><strong><?php echo $alumna['bas_rep_cedula']; ?></strong></div>
                    </div>
                </div>
            </div>
        </div>

        <!-- PESTAÑA 2: ASISTENCIAS -->
        <div class="tab-pane fade" id="pills-asistencias" role="tabpanel" aria-labelledby="pills-asistencias-tab">
            <div class="card border-0 shadow-sm rounded-4">
                <div class="card-body p-3">
                    <h6 class="fw-bold mb-3 small text-uppercase border-bottom pb-2 text-secondary">Historial Diario</h6>

                    <?php if ($res_asistencias && $res_asistencias->num_rows > 0): ?>
                        <div class="d-flex flex-column gap-2">
                            <?php while ($asi = $res_asistencias->fetch_assoc()): 
                                $fecha_formateada = date('d/m/Y', strtotime($asi['asi_fecha']));
                                $es_falta = (strtoupper($asi['asi_estado']) === 'FALTA'); 
                                $justificada = intval($asi['asi_justificada'] ?? 0); 
                                $just_estado = $asi['asi_justificacion_estado'] ?? ''; 
                            ?>
                                <div class="p-3 rounded-4 border d-flex justify-content-between align-items-center <?php echo !$es_falta ? 'bg-light border-light' : 'bg-white border-danger-subtle'; ?>">
                                    <div>
                                        <span class="d-block fw-bold small text-dark"><?php echo $fecha_formateada; ?></span>
                                        <span class="text-muted" style="font-size:0.75rem;"><?php echo $asi['asi_observaciones'] ? $asi['asi_observaciones'] : 'Clase Regular'; ?></span>
                                        
                                        <?php if ($es_falta): ?>
                                            <div class="mt-1">
                                                <?php if ($justificada === 0): ?>
                                                    <span class="badge bg-danger-subtle text-danger px-2 py-1 rounded-pill" style="font-size:0.65rem;">Inasistencia</span>
                                                <?php elseif ($just_estado === 'PENDIENTE'): ?>
                                                    <span class="badge bg-warning-subtle text-warning px-2 py-1 rounded-pill" style="font-size:0.65rem;"><i class="fas fa-clock me-1"></i>Revisión Pendiente</span>
                                                <?php else: ?>
                                                    <span class="badge bg-success-subtle text-success px-2 py-1 rounded-pill" style="font-size:0.65rem;"><i class="fas fa-check me-1"></i>Justificada</span>
                                                <?php endif; ?>
                                            </div>
                                        <?php endif; ?>
                                    </div>

                                    <div class="text-end">
                                        <?php if (!$es_falta): ?>
                                            <span class="badge bg-success rounded-circle p-2"><i class="fas fa-check text-white"></i></span>
                                        <?php else: ?>
                                            <?php if ($justificada === 0): ?>
                                                <button class="btn btn-outline-danger btn-sm rounded-pill fw-bold px-3 py-1 shadow-sm" 
                                                        style="font-size: 0.7rem;" 
                                                        data-bs-toggle="modal" 
                                                        data-bs-target="#modalJustificar" 
                                                        data-id="<?php echo $asi['asi_id']; ?>" 
                                                        data-fecha="<?php echo $fecha_formateada; ?>">
                                                    Justificar <i class="fas fa-file-alt ms-1"></i>
                                                </button>
                                            <?php else: ?>
                                                <span class="badge bg-secondary rounded-pill px-2 py-1 text-white" style="font-size:0.65rem;">Enviada</span>
                                            <?php endif; ?>
                                        <?php endif; ?>
                                    </div>
                                </div>
                            <?php endwhile; ?>
                        </div>
                    <?php else: ?>
                        <div class="text-center py-4 text-muted">
                            <p class="small mb-0">No se registran asistencias para esta alumna.</p>
                        </div>
                    <?php endif; ?>
                </div>
            </div>
        </div>

        <!-- PESTAÑA 3: SALDOS Y PAGOS -->
        <div class="tab-pane fade" id="pills-pagos" role="tabpanel" aria-labelledby="pills-pagos-tab">
            <div class="card border-0 shadow-sm rounded-4 mb-3">
                <div class="card-body p-3">
                    
                    <!-- 1. Listado de deudas reales en el sistema -->
                    <h6 class="fw-bold mb-3 small text-uppercase border-bottom pb-2 text-secondary">Valores Pendientes de Pago</h6>

                    <?php 
                    $total_deuda = 0;
                    if ($res_cuentas && $res_cuentas->num_rows > 0): 
                    ?>
                        <div class="d-flex flex-column gap-2 mb-4">
                            <?php 
                            while ($c = $res_cuentas->fetch_assoc()): 
                                $total_deuda += $c['cxc_saldo_pendiente'];
                                $fecha_emision = date('d/m/Y', strtotime($c['cxc_fecha_emision']));
                            ?>
                                <div class="p-3 rounded-4 border bg-white border-warning-subtle d-flex justify-content-between align-items-center">
                                    <div>
                                        <span class="d-block fw-bold small text-dark"><?php echo $c['con_nombre']; ?></span>
                                        <span class="text-muted" style="font-size:0.75rem;">Fecha Emisión: <?php echo $fecha_emision; ?></span>
                                        <div class="mt-1">
                                            <span class="badge bg-danger-subtle text-danger px-2 py-1 rounded-pill" style="font-size:0.65rem;">Por Pagar</span>
                                        </div>
                                    </div>
                                    <div class="text-end">
                                        <span class="text-muted d-block small" style="font-size:0.7rem;">Saldo Pendiente:</span>
                                        <strong class="text-danger" style="font-size: 1.05rem;">$<?php echo number_format($c['cxc_saldo_pendiente'], 2); ?></strong>
                                    </div>
                                </div>
                            <?php endwhile; ?>
                            
                            <div class="p-3 rounded-4 bg-danger text-white d-flex justify-content-between align-items-center shadow-sm mt-1">
                                <div>
                                    <h6 class="mb-0 fw-bold small text-uppercase">Total Acumulado</h6>
                                    <span class="small opacity-75">Saldo global adeudado</span>
                                </div>
                                <div class="text-end">
                                    <h5 class="mb-0 fw-bold" style="font-size:1.3rem;">$<?php echo number_format($total_deuda, 2); ?></h5>
                                </div>
                            </div>
                        </div>
                    <?php else: ?>
                        <div class="text-center py-4 text-success mb-3">
                            <div class="mb-2"><i class="fas fa-check-circle fa-2x"></i></div>
                            <p class="small fw-bold mb-0">¡Felicitaciones! Se encuentra al día en todos sus valores.</p>
                        </div>
                    <?php endif; ?>

                    <!-- 2. HISTORIAL DE PAGOS REPORTADOS EN ESPERA DE REVISIÓN -->
                    <?php 
                    $sql_revision = "SELECT p.*, con.con_nombre 
                                     FROM bas_pagos p
                                     INNER JOIN bas_cuentas_cobrar cxc ON p.cxc_id = cxc.cxc_id
                                     INNER JOIN bas_conceptos con ON cxc.con_id = con.con_id
                                     WHERE cxc.bas_id = $bas_id AND p.pag_estado = 'PENDIENTE'
                                     ORDER BY p.pag_fecha DESC";
                    $res_revision = $bd->ejecutar($sql_revision);

                    if ($res_revision && $res_revision->num_rows > 0):
                    ?>
                        <div class="border-top pt-3 mb-4">
                            <h6 class="fw-bold mb-3 small text-uppercase text-warning">
                                <i class="fas fa-clock me-1"></i> Pagos en Espera de Revisión
                            </h6>
                            <div class="d-flex flex-column gap-2">
                                <?php while ($p_rev = $res_revision->fetch_assoc()): ?>
                                    <div class="p-2 px-3 rounded-4 border bg-light-subtle border-warning d-flex justify-content-between align-items-center" style="background-color: #fffdf6;">
                                        <div>
                                            <span class="d-block fw-bold small text-dark" style="font-size:0.8rem;"><?php echo $p_rev['con_nombre']; ?></span>
                                            <span class="text-muted d-block" style="font-size:0.7rem;">Ref: <?php echo $p_rev['pag_comprobante']; ?> | <?php echo date('d/m/Y', strtotime($p_rev['pag_fecha'])); ?></span>
                                            <span class="badge bg-warning text-dark mt-1" style="font-size:0.6rem;"><i class="fas fa-hourglass-half me-1"></i>Validando en Banco</span>
                                        </div>
                                        <div class="text-end">
                                            <strong class="text-warning" style="font-size: 1rem;">$<?php echo number_format($p_rev['pag_monto'], 2); ?></strong>
                                        </div>
                                    </div>
                                <?php endwhile; ?>
                            </div>
                        </div>
                    <?php endif; ?>

                    <!-- 3. FORMULARIO PARA REPORTAR EL PAGO (Muestra solo si hay deudas pendientes) -->
                    <?php if ($total_deuda > 0): ?>
                        <div class="border-top pt-3">
                            <h6 class="fw-bold mb-3 small text-uppercase text-secondary">
                                <i class="fas fa-cloud-upload-alt me-1 text-success"></i> Reportar Depósito o Transferencia
                            </h6>
                            <form action="controlador/procesar_pago.php" method="POST" enctype="multipart/form-data">
                                <input type="hidden" name="bas_id" value="<?php echo $bas_id; ?>">
                                
                                <div class="mb-3">
                                    <label class="form-label small fw-bold text-muted mb-1">Valor Transferido ($) *</label>
                                    <div class="input-group input-group-sm">
                                        <span class="input-group-text bg-light border-secondary-subtle">$</span>
                                        <input type="number" step="0.01" min="0.01" max="<?php echo $total_deuda; ?>" class="form-control border-secondary-subtle" name="pag_monto" required placeholder="0.00">
                                    </div>
                                </div>

                                <div class="mb-3">
                                    <label class="form-label small fw-bold text-muted mb-1">Número de Comprobante / Referencia *</label>
                                    <input type="text" class="form-control form-control-sm border-secondary-subtle" name="pag_comprobante" required placeholder="Ej: 485962">
                                </div>

                                <div class="mb-3">
                                    <label class="form-label small fw-bold text-muted mb-1">Subir Foto o PDF del Comprobante *</label>
                                    <input type="file" class="form-control form-control-sm border-secondary-subtle" name="comprobante_file" accept="image/*,application/pdf" required>
                                    <div class="text-muted mt-1" style="font-size: 0.65rem;">Formatos admitidos: JPG, JPEG, PNG, PDF. Máx 3MB.</div>
                                </div>

                                <button type="submit" class="btn btn-success btn-sm w-100 fw-bold rounded-pill py-2 shadow-sm">
                                    <i class="fas fa-paper-plane me-1"></i> Enviar Notificación de Pago
                                </button>
                            </form>
                        </div>
                    <?php endif; ?>

                </div>
            </div>
        </div>
        <!-- PESTAÑA 4: EDITAR DATOS -->
        <div class="tab-pane fade" id="pills-editar" role="tabpanel">
            <div class="card border-0 shadow-sm rounded-4">
                <div class="card-body p-3">
                    <h6 class="fw-bold mb-3 small text-uppercase border-bottom pb-2 text-primary">Editar Información</h6>
                    <form action="controlador/actualizar_perfil_bastonera.php" method="POST">
                        <input type="hidden" name="bas_id" value="<?php echo $bas_id; ?>">
                        
                        <div class="row g-3">
                            <div class="col-12 col-md-6">
                                <label class="small fw-bold text-muted">Teléfono Alumna:</label>
                                <input type="text" name="bas_telefono" class="form-control form-control-sm" value="<?php echo $alumna['bas_telefono']; ?>">
                            </div>
                            <div class="col-12 col-md-6">
                                <label class="small fw-bold text-muted">Correo:</label>
                                <input type="text" name="bas_correo" class="form-control form-control-sm" value="<?php echo $alumna['bas_correo']; ?>">
                            </div>
                            <div class="col-12">
                                <label class="small fw-bold text-muted">Información Médica / Observaciones:</label>
                                <textarea name="bas_info_medica" class="form-control form-control-sm" rows="2"><?php echo $alumna['bas_alergias_lesiones']; ?></textarea>
                            </div>
                        </div>
                        <button type="submit" class="btn btn-primary btn-sm w-100 mt-3 rounded-pill fw-bold">Guardar Cambios</button>
                    </form>
                </div>
            </div>
        </div>

    </div>
</div>

<!-- MODAL PARA JUSTIFICAR ASISTENCIAS -->
<div class="modal fade" id="modalJustificar" data-bs-backdrop="static" tabindex="-1" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered px-3">
        <div class="modal-content border-0 shadow rounded-4">
            <div class="modal-header border-0 pb-0">
                <h6 class="modal-title fw-bold text-dark text-uppercase">Justificar Falta</h6>
                <button type="button" class="btn-close small" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <form action="" method="POST">
                <div class="modal-body py-3">
                    <input type="hidden" name="action_justificar" value="1">
                    <input type="hidden" name="asistencia_id" id="modal_asi_id" value="">
                    
                    <p class="text-muted small">Escriba el motivo para la falta del día: <strong id="modal_asi_fecha" class="text-dark"></strong>.</p>
                    
                    <div class="mb-2">
                        <textarea name="just_motivo" class="form-control bg-light border-0 small rounded-3" rows="4" placeholder="Ej: Por motivos de salud..." required></textarea>
                    </div>
                </div>
                <div class="modal-footer border-0 pt-0">
                    <button type="button" class="btn btn-light btn-sm rounded-pill px-3 text-muted fw-bold" data-bs-dismiss="modal">Cancelar</button>
                    <button type="submit" class="btn btn-danger btn-sm rounded-pill px-4 fw-bold shadow-sm">Enviar</button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function () {
    const modalJustificar = document.getElementById('modalJustificar');
    if (modalJustificar) {
        modalJustificar.addEventListener('show.bs.modal', function (event) {
            const button = event.relatedTarget;
            document.getElementById('modal_asi_id').value = button.getAttribute('data-id');
            document.getElementById('modal_asi_fecha').textContent = button.getAttribute('data-fecha');
        });
    }
});
</script>