<?php
/**
 * IBVTE - Admit Card (only if fees cleared)
 */
require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../includes/db.php';

if (empty($_SESSION['student_id'])) { header('Location: login.php'); exit; }

$db = DB();
$studentId = $_SESSION['student_id'];

$student = $db->fetchOne(
    "SELECT s.*, c.course_name, c.course_code, u.institution_name, u.institution_code
     FROM students s
     LEFT JOIN courses c ON s.course_id = c.id
     LEFT JOIN users u ON s.institution_id = u.id
     WHERE s.id = ?",
    [$studentId]
);

if (!$student) { session_destroy(); header('Location: login.php'); exit; }

$feesPending = in_array($student['payment_status'], ['pending', 'partial']);

// Fetch admit card details if available
$admitCard = $db->fetchOne("SELECT * FROM admit_cards WHERE student_id = ? ORDER BY created_at DESC LIMIT 1", [$studentId]);

// If fees pending, block access (existing logic)
if ($feesPending) {
    // Show error message (we can keep the existing stylized error or use the same template)
}

// Fetch subjects for the course
$subjects = $db->fetchAll("SELECT * FROM subjects WHERE course_id = ? ORDER BY type, subject_name", [$student['course_id']]);

// Helper to generate exam dates (fallback if not in DB)
$baseDate = !empty($admitCard['exam_date_from']) ? strtotime($admitCard['exam_date_from']) : strtotime('next monday');
$examSession = $admitCard['exam_session'] ?? $student['session_year'];
$examType = $admitCard['exam_type'] ?? 'Annual';
$examCentre = $admitCard['exam_centre'] ?? ($student['institution_name'] . " (SELF CENTER)");

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Admit Card - <?= htmlspecialchars($student['full_name']) ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap');
        
        body { background: #f4f6fc; font-family: 'Roboto', sans-serif; color: #333; }
        
        /* Dashboard Navbar Fix */
        .top-bar { background: linear-gradient(135deg, #3b0b7c, #6c4ab6); }
        .top-bar .nav-link { color: rgba(255,255,255,.85) !important; padding: 16px 14px !important; }
        .top-bar .nav-link:hover, .top-bar .nav-link.active { color: #fff !important; background: rgba(255,255,255,.12); }
        
        .admit-card-container {
            width: 210mm;
            min-height: 297mm;
            padding: 15mm;
            margin: 20px auto;
            background: white;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            border: 2px solid #333;
            position: relative;
        }
        
        .header-section {
            border-bottom: 2px solid #333;
            padding-bottom: 15px;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
        }
        
        .college-logo { width: 90px; height: 90px; object-fit: contain; }
        .college-info { flex: 1; text-align: center; }
        .college-name { font-size: 22px; font-weight: 900; color: #000; text-transform: uppercase; margin: 0; }
        .college-details { font-size: 12px; margin: 2px 0; font-weight: 400; }
        
        .title-bar {
            background: #f0f0f0;
            text-align: center;
            padding: 10px;
            border: 1px solid #333;
            margin-bottom: 20px;
        }
        .title-bar h3 { margin: 0; font-weight: 700; font-size: 18px; text-transform: uppercase; }
        .title-bar p { margin: 0; font-size: 14px; }
        
        .student-info-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 140px;
            border: 1px solid #333;
            margin-bottom: 20px;
        }
        
        .info-cell { padding: 8px 10px; border: 0.5px solid #333; }
        .info-label { font-size: 11px; color: #555; text-transform: uppercase; display: block; font-weight: 700; }
        .info-value { font-size: 14px; font-weight: 700; color: #000; }
        
        .photo-cell {
            grid-row: span 2;
            display: flex;
            align-items: center;
            justify-content: center;
            border-left: 1px solid #333;
            background: #f9f9f9;
        }
        .student-photo { width: 110px; height: 130px; object-fit: cover; border: 1px solid #ccc; }
        
        .exam-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }
        .exam-table th, .exam-table td {
            border: 1px solid #333;
            padding: 8px;
            text-align: center;
            font-size: 12px;
        }
        .exam-table th { background: #444; color: white; text-transform: uppercase; }
        .exam-table tr:nth-child(even) { background: #f9f9f9; }
        
        .instructions-box {
            border: 1px solid #333;
            padding: 12px;
            margin-bottom: 20px;
        }
        .instructions-box h5 {
            text-align: center;
            font-weight: 900;
            text-decoration: underline;
            margin-bottom: 8px;
            font-size: 15px;
        }
        .instructions-list { font-size: 11px; padding-left: 20px; margin: 0; line-height: 1.4; }
        
        .footer-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin-top: 30px;
        }
        .sign-box {
            text-align: center;
            border-top: 1px dashed #333;
            padding-top: 5px;
            font-size: 11px;
            font-weight: 700;
        }
        
        .stamp-area {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(-30deg);
            opacity: 0.05;
            z-index: 0;
            pointer-events: none;
        }
        .stamp-area img { width: 400px; }

        .btn-print-wrap {
            max-width: 210mm;
            margin: 20px auto 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        @media print {
            .no-print { display: none !important; }
            body { background: white; padding: 0; }
            .admit-card-container { margin: 0; box-shadow: none; border: 2px solid #000; width: 100%; }
            @page { size: A4; margin: 0; }
            .stamp-area { opacity: 0.07; }
        }
    </style>
</head>
<body>

    <nav class="navbar navbar-expand-lg top-bar no-print">
        <div class="container">
            <a class="navbar-brand d-flex align-items-center gap-2 text-white fw-bold" href="dashboard.php">
                <img src="../assets/images/logo.jpeg" alt="IBVTE" style="height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.4);">
                Student Portal
            </a>
            <button class="navbar-toggler border-0 text-white" type="button" data-bs-toggle="collapse" data-bs-target="#navMenu">
                <i class="fas fa-bars"></i>
            </button>
            <div class="collapse navbar-collapse" id="navMenu">
                <ul class="navbar-nav ms-auto">
                    <li class="nav-item"><a class="nav-link" href="dashboard.php"><i class="fas fa-home"></i> Home</a></li>
                    <li class="nav-item"><a class="nav-link active" href="admit-card.php"><i class="fas fa-id-card"></i> Admit Card</a></li>
                    <li class="nav-item"><a class="nav-link" href="result.php"><i class="fas fa-chart-bar"></i> Result</a></li>
                    <li class="nav-item"><a class="nav-link text-warning" href="logout.php"><i class="fas fa-sign-out-alt"></i> Logout</a></li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container py-4">
        
        <?php if ($feesPending): ?>
            <!-- Fees Pending Warning (Existing) -->
            <div class="card shadow-sm border-0 rounded-4 p-5 text-center no-print">
                <div style="width:90px;height:90px;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;">
                    <i class="fas fa-lock fa-2x text-white"></i>
                </div>
                <h4 class="text-danger fw-bold">Admit Card Locked</h4>
                <p class="text-muted">Your admit card is not available because your <strong>fees are pending</strong>.</p>
                <div class="alert alert-warning d-inline-block border-0 shadow-sm px-4">
                    <i class="fas fa-exclamation-triangle me-2"></i> Please clear your dues at your college.
                </div>
            </div>
        <?php elseif (!$admitCard): ?>
            <div class="card shadow-sm border-0 rounded-4 p-5 text-center no-print">
                <div style="width:90px;height:90px;background:linear-gradient(135deg,#fd7e14,#e65100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;">
                    <i class="fas fa-clock fa-2x text-white"></i>
                </div>
                <h4 class="text-warning fw-bold">Admit Card Not Generated</h4>
                <p class="text-muted">Your fees are cleared, but your admit card has not been generated by IBVTE yet.</p>
                <p class="small text-muted">Please wait for 24-48 hours or contact your institution.</p>
            </div>
        <?php else: ?>

            <div class="btn-print-wrap no-print mb-3">
                <a href="dashboard.php" class="btn btn-outline-secondary btn-sm"><i class="fas fa-arrow-left me-1"></i> Dashboard</a>
                <button onclick="window.print()" class="btn btn-dark btn-sm px-4 shadow">
                    <i class="fas fa-print me-2"></i>Print Admit Card
                </button>
            </div>

            <div class="admit-card-container">
                <div class="stamp-area">
                    <img src="../assets/images/logo.jpeg" alt="Watermark">
                </div>
                <!-- Header -->
                <div class="header-section">
                    <img src="../assets/images/logo.jpeg" class="college-logo" alt="Board Logo">
                    <div class="college-info">
                        <h1 class="college-name">Indian Board of Vocational and Technical Education</h1>
                        <p class="college-details">Autonomous Board Registered under NCT of Delhi, Government of India</p>
                        <p class="college-details">60 Futa Road, Samar Garden Colony, Meerut (UP) – 250002</p>
                        <p class="college-details">Website: www.ibvte.com | Email: ibvtenewdelhi@gmail.com</p>
                    </div>
                </div>

                <!-- Title -->
                <div class="title-bar">
                    <h3>Examination Admit Card</h3>
                    <p>(Academic Session <?= htmlspecialchars($examSession) ?>) - <?= strtoupper($examType) ?> EXAMINATION</p>
                </div>

                <!-- Student Info -->
                <div class="student-info-grid">
                    <div class="info-cell">
                        <span class="info-label">Roll Number :</span>
                        <span class="info-value"><?= formatRollNumber($student['roll_number']) ?></span>
                    </div>
                    <div class="info-cell">
                        <span class="info-label">Registration No. :</span>
                        <span class="info-value"><?= htmlspecialchars($student['registration_number']) ?></span>
                    </div>
                    <div class="photo-cell">
                        <?php 
                        $photo = $student['photo_path'] ?: 'assets/images/avatar.png';
                        $photoUrl = (strpos($photo, 'http') === 0) ? $photo : '../' . $photo;
                        ?>
                        <img src="<?= $photoUrl ?>" class="student-photo" alt="Student">
                    </div>
                    <div class="info-cell">
                        <span class="info-label">Student's Name :</span>
                        <span class="info-value"><?= strtoupper($student['full_name']) ?></span>
                    </div>
                    <div class="info-cell">
                        <span class="info-label">Father's Name :</span>
                        <span class="info-value">MR. <?= strtoupper($student['father_name']) ?></span>
                    </div>
                    <div class="info-cell" style="grid-column: span 3;">
                        <span class="info-label">Course / Program :</span>
                        <span class="info-value"><?= strtoupper($student['course_name']) ?></span>
                    </div>
                    <div class="info-cell" style="grid-column: span 3;">
                        <span class="info-label">Institution / Center :</span>
                        <span class="info-value"><?= strtoupper($student['institution_name']) ?> (<?= $student['institution_code'] ?>)</span>
                    </div>
                    <div class="info-cell" style="grid-column: span 3;">
                        <span class="info-label">Examination Center :</span>
                        <span class="info-value"><?= strtoupper($examCentre) ?></span>
                    </div>
                </div>

                <!-- Exam Table -->
                <table class="exam-table">
                    <thead>
                        <tr>
                            <th width="50">#</th>
                            <th style="text-align: left; padding-left: 15px;">Subject Name</th>
                            <th>Exam Date</th>
                            <th>Day</th>
                            <th>Timing</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php 
                        $i = 0;
                        foreach($subjects as $sub): 
                            $examDate = date('d/m/Y', strtotime("+$i days", $baseDate));
                            $day = date('l', strtotime("+$i days", $baseDate));
                            $i++;
                        ?>
                        <tr>
                            <td><?= $i ?></td>
                            <td style="text-align: left; padding-left: 15px; font-weight: 700;"><?= htmlspecialchars($sub['subject_name']) ?></td>
                            <td><?= $examDate ?></td>
                            <td><?= $day ?></td>
                            <td>09.30 AM to 12.30 PM</td>
                        </tr>
                        <?php endforeach; ?>
                        <?php if(empty($subjects)): ?>
                            <tr><td colspan="5">No subjects mapped for this course.</td></tr>
                        <?php endif; ?>
                    </tbody>
                </table>

                <!-- Instructions -->
                <div class="instructions-box">
                    <h5>General Instructions for Examination</h5>
                    <ol class="instructions-list">
                        <li>Candidates must bring this Admit Card to the examination hall.</li>
                        <li>Report at the examination center at least 30 minutes before the scheduled time.</li>
                        <li>Mobile phones, calculators, or any electronic gadgets are strictly prohibited.</li>
                        <li>Any form of unfair means will lead to immediate disqualification.</li>
                        <li>Result will be published on the official website: www.ibvte.com</li>
                    </ol>
                </div>

                <!-- Footer -->
                <div class="footer-grid">
                    <div class="text-center">
                        <div style="font-size: 11px; margin-bottom: 30px;">Date of Issue</div>
                        <div class="sign-box"><?= date('d/m/Y') ?></div>
                    </div>
                    <div class="text-center">
                        <div style="height: 45px;"></div>
                        <div class="sign-box">Candidate Signature</div>
                    </div>
                    <div class="text-center">
                        <div style="height: 45px;"></div>
                        <div class="sign-box">Center Supdt.</div>
                    </div>
                    <div class="text-center">
                        <div style="height: 45px;"></div>
                        <div class="sign-box">Controller of Exams</div>
                    </div>
                </div>

            </div>
        <?php endif; ?>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
