<?php 
session_start();

if (!isset($_SESSION['ingresado']) || $_SESSION['ingresado'] != true || $_SESSION['rol'] != 'Docente') {
    header("Location: login.php");
    exit();
}

if (isset($_GET['cerrar'])) {
    session_destroy();
    header("Location: login.php");
    exit();
}

$servername = "localhost";
$username_db = "root";
$password_db = "";
$database = "control_atrasos";

$conn = new mysqli($servername, $username_db, $password_db, $database);
$conn->set_charset("utf8mb4");

$mensaje = "";
$tipo_mensaje = "success";

// OBTENER CURSOS PARA EL SELECT
$cursos = $conn->query("SELECT id_curso, nombre_curso, paralelo FROM curso ORDER BY nombre_curso, paralelo");

// Registrar atraso
if (isset($_POST['btn_registrar'])) {
    $id_estudiante = $_POST['id_estudiante'];
    $trimestre = $_POST['trimestre'];
    
    // Usamos la fecha y hora del cliente (se envía desde el formulario)
    $fecha_hora = $_POST['fecha_hora'];
    
    $stmt = $conn->prepare("INSERT INTO registro (id_estudiante, tipo, trimestre, fecha_hora) VALUES (?, 'atrasado', ?, ?)");
    $stmt->bind_param("iss", $id_estudiante, $trimestre, $fecha_hora);
    $stmt->execute();
    $stmt->close();

    // Contar atrasos
    $contar = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '$id_estudiante' AND tipo = 'atrasado'");
    $atrasos = $contar->fetch_assoc()['total'];

    $datos = $conn->query("SELECT nombre, apellido FROM estudiante WHERE id_estudiante = '$id_estudiante'");
    $dato = $datos->fetch_assoc();

    if ($atrasos >= 12) {
        $mensaje = "⚠️ ALERTA CRÍTICA: ".$dato['nombre']." ".$dato['apellido']." ha alcanzado el LÍMITE de 12 ATRASOS. ($atrasos atrasos).";
        $tipo_mensaje = "warning";
    } elseif ($atrasos >= 10) {
        $mensaje = "⚠️ AVISO: ".$dato['nombre']." ".$dato['apellido']." está a punto de llegar al límite. Tiene $atrasos atrasos.";
        $tipo_mensaje = "warning";
    } else {
        $mensaje = "✅ Registro guardado para ".$dato['nombre']." ".$dato['apellido'].". Total atrasos: $atrasos";
    }
}

// FILTRAR ESTUDIANTES POR CURSO
$id_curso_seleccionado = isset($_POST['select_curso']) ? $_POST['select_curso'] : '';

if ($id_curso_seleccionado && isset($_POST['btn_buscar_curso'])) {
    $estudiantes = $conn->query("SELECT e.*, c.nombre_curso, c.paralelo 
        FROM estudiante e 
        JOIN curso c ON e.id_curso = c.id_curso 
        WHERE e.id_curso = '$id_curso_seleccionado' 
        ORDER BY e.apellido, e.nombre");
} else {
    $estudiantes = null;
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docente - U.E. Jaime Roldós Aguilera</title>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/cssall.min.css">
<script>
function obtenerFechaHora() {
    var ahora = new Date();
    var año = ahora.getFullYear();
    var mes = String(ahora.getMonth() + 1).padStart(2, '0');
    var dia = String(ahora.getDate()).padStart(2, '0');
    var hora = String(ahora.getHours()).padStart(2, '0');
    var minuto = String(ahora.getMinutes()).padStart(2, '0');
    var segundo = String(ahora.getSeconds()).padStart(2, '0');
    return año + '-' + mes + '-' + dia + ' ' + hora + ':' + minuto + ':' + segundo;
}
</script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; }
body { background: #f0f2f5; }
.header { background: linear-gradient(90deg, #002c6b, #003f8c); color: white; padding: 20px 40px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.logo img { width: 90px; margin-right: 20px; }
.titulo h1 { font-size: 28px; font-weight: 700; }
.titulo h2 { font-size: 16px; font-weight: 300; opacity: 0.9; }
.btn-cerrar { background: #f0b323; color: #002c6b; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: bold; }
.btn-cerrar:hover { background: #fff; }
.bienvenido { background: #004a9f; color: white; padding: 15px 40px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.bienvenido span { color: #f0b323; }
.contenedor { max-width: 1300px; margin: 30px auto; padding: 0 20px; }
.card { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); margin-bottom: 30px; }
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 2px solid #f0f0f0; padding-bottom: 15px; }
.card-header h3 { color: #002c6b; font-size: 22px; }
.filtro-curso { display: flex; gap: 15px; align-items: end; background: #f8f9fa; padding: 20px; border-radius: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.form-group { flex: 1; min-width: 200px; margin-bottom: 0; }
.form-group label { font-weight: 600; color: #444; margin-bottom: 5px; display: block; }
.form-group select, .form-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px; }
.boton { padding: 10px 25px; background: #003b8e; color: white; border: none; border-radius: 6px; font-weight: 600; cursor: pointer; }
.boton:hover { background: #00285e; }
.mensaje { padding: 15px 20px; border-radius: 8px; margin-bottom: 20px; font-weight: 500; }
.mensaje.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.mensaje.warning { background: #fff3cd; color: #856404; border: 2px solid #ffc107; animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); } }
.tabla-container { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; min-width: 800px; }
.tabla th { background: #f4f6f9; color: #555; padding: 12px; text-align: left; font-weight: 600; border-bottom: 2px solid #e0e0e0; font-size: 13px; text-transform: uppercase; }
.tabla td { padding: 12px; border-bottom: 1px solid #eee; vertical-align: middle; }
.tabla tr:hover { background: #f8f9fa; }
.btn-accion { padding: 8px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 13px; font-weight: 600; background: #e74c3c; color: white; }
.btn-accion:hover { background: #c0392b; }
.info-box { background: #e7f3ff; border: 1px solid #003b8e; padding: 15px; border-radius: 8px; margin-bottom: 20px; color: #003b8e; }
.footer { background: #002c6b; color: white; text-align: center; padding: 20px; margin-top: 40px; }
.footer p { opacity: 0.8; font-size: 14px; }
@media (max-width: 768px) { .header { flex-direction: column; text-align: center; } .filtro-curso { flex-direction: column; } }
</style>
</head>
<body>
<div class="header">
    <div class="logo"><img src="logo.png" alt="Logo"></div>
    <div class="titulo">
        <h2>UNIDAD EDUCATIVA FISCOMISIONAL</h2>
        <h1>JAIME ROLDÓS AGUILERA</h1>
    </div>
    <a href="?cerrar=1" class="btn-cerrar"><i class="fas fa-sign-out-alt"></i> Cerrar Sesión</a>
</div>
<div class="bienvenido">
    <h2>¡BIENVENIDO, <span><?php echo $_SESSION['nombre'].' '.$_SESSION['apellido']; ?>!</span></h2>
    <p>Rol: <strong><?php echo $_SESSION['rol']; ?></strong></p>
</div>

<div class="contenedor">
    <?php if (!empty($mensaje)) { ?>
        <div class="mensaje <?php echo $tipo_mensaje; ?>">
            <?php echo $mensaje; ?>
        </div>
    <?php } ?>

    <div class="info-box">
        <i class="fas fa-info-circle"></i> 
        <strong>Nota:</strong> Usted solo puede marcar <strong>ATRASADOS</strong>. El Inspector puede ver todos los registros.
    </div>

    <div class="card">
        <div class="card-header">
            <h3><i class="fas fa-search"></i> Seleccionar Curso</h3>
        </div>
        <form method="POST" class="filtro-curso">
            <div class="form-group">
                <label for="select_curso">Seleccione el Curso:</label>
                <select name="select_curso" id="select_curso" required>
                    <option value="">-- Seleccionar --</option>
                    <?php while($c = $cursos->fetch_assoc()) { ?>
                        <option value="<?php echo $c['id_curso']; ?>" <?php echo ($id_curso_seleccionado == $c['id_curso']) ? 'selected' : ''; ?>>
                            <?php echo $c['nombre_curso']; ?> "<?php echo $c['paralelo']; ?>"
                        </option>
                    <?php } ?>
                </select>
            </div>
            <button type="submit" name="btn_buscar_curso" class="boton">
                <i class="fas fa-search"></i> BUSCAR
            </button>
        </form>

        <?php if ($estudiantes && $estudiantes->num_rows > 0) { ?>
        <div class="tabla-container">
            <table class="tabla">
                <thead>
                    <tr>
                        <th style="width:50px;">#</th>
                        <th>Estudiante</th>
                        <th>Atrasos Actuales</th>
                        <th>Marcar Atraso</th>
                    </tr>
                </thead>
                <tbody>
                    <?php 
                    $contador = 1; 
                    while($est = $estudiantes->fetch_assoc()) { 
                        $contar_atrasos = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '".$est['id_estudiante']."' AND tipo = 'atrasado'");
                        $total_atrasos = $contar_atrasos->fetch_assoc()['total'];
                    ?>
                    <tr>
                        <td><?php echo $contador++; ?></td>
                        <td>
                            <strong><?php echo $est['apellido']; ?></strong> <?php echo $est['nombre']; ?>
                        </td>
                        <td>
                            <span style="font-weight:bold; color: <?php echo ($total_atrasos >= 12) ? '#e74c3c' : (($total_atrasos >= 10) ? '#ffc107' : '#27ae60'); ?>">
                                <?php echo $total_atrasos; ?> / 12
                            </span>
                        </td>
                        <td>
                            <form method="POST" onsubmit="this.fecha_hora.value = obtenerFechaHora();" style="display:flex; gap:5px; flex-wrap:wrap;">
                                <input type="hidden" name="id_estudiante" value="<?php echo $est['id_estudiante']; ?>">
                                <input type="hidden" name="fecha_hora" value="">
                                <select name="trimestre" required style="width:90px;">
                                    <option value="1">1er Tri</option>
                                    <option value="2">2do Tri</option>
                                    <option value="3">3er Tri</option>
                                </select>
                                <button type="submit" name="btn_registrar" class="btn-accion">
                                    <i class="fas fa-clock"></i> MARCAR
                                </button>
                            </form>
                        </td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>
        </div>
        <?php } else { ?>
            <div style="text-align:center; padding: 40px; color: #888;">
                <i class="fas fa-info-circle"></i> Seleccione un curso para ver los estudiantes
            </div>
        <?php } ?>
    </div>
</div>

<div class="footer">
    <p>&copy; 2025 U.E. Fiscomisional Jaime Roldós Aguilera - Sistema de Control de Atrasos</p>
</div>

</body>
</html>