<?php
require_once 'config.php';

$selected_group = isset($_GET['group']) ? trim($_GET['group']) : '';
$groups = getAllGroups($pdo);

// Если пользователь авторизован и не выбрал группу, предлагаем его группу
if(empty($selected_group) && isLoggedIn() && !empty($_SESSION['group_name'])) {
    $selected_group = $_SESSION['group_name'];
}

if($selected_group && $selected_group !== '') {
    $stmt = $pdo->prepare("SELECT * FROM schedule WHERE group_name = ? ORDER BY FIELD(weekday, 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'), start_time");
    $stmt->execute([$selected_group]);
} else {
    $stmt = $pdo->prepare("SELECT * FROM schedule ORDER BY group_name, FIELD(weekday, 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'), start_time");
    $stmt->execute();
}
$schedule = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Группируем расписание по дням недели
$schedule_by_day = [];
foreach($schedule as $item) {
    $schedule_by_day[$item['weekday']][] = $item;
}

// Порядок дней недели
$weekdays_order = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'];
?>
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Расписание занятий - Учебный центр</title>
    <meta name="description" content="Расписание занятий по группам. Фильтр по группе: П-101, В-201, М-301, Д-401.">
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Segoe UI', Arial, sans-serif; background: #f0f9ff; line-height: 1.6; }
        header, footer { background: #0f172a; color: #f8fafc; padding: 1rem; text-align: center; }
        nav a { color: #f8fafc; margin: 0 15px; text-decoration: none; transition: 0.3s; }
        nav a:hover { color: #3b82f6; }
        main { max-width: 1300px; margin: 30px auto; padding: 0 20px; min-height: 60vh; }
        h1 { text-align: center; color: #0f172a; margin-bottom: 10px; }
        .subtitle { text-align: center; color: #475569; margin-bottom: 30px; }
        
        .filter-section { background: #fff; padding: 20px; border-radius: 16px; margin-bottom: 30px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
        .filter-title { font-size: 1.1rem; font-weight: bold; margin-bottom: 15px; color: #0f172a; }
        .filter-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
        .filter-btn { background: #e2e8f0; color: #0f172a; border: none; padding: 8px 20px; border-radius: 30px; cursor: pointer; transition: 0.3s; text-decoration: none; display: inline-block; font-size: 0.9rem; }
        .filter-btn:hover { background: #cbd5e1; }
        .filter-btn.active { background: #2563eb; color: #fff; }
        
        .schedule-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 25px; border-bottom: 2px solid #e2e8f0; }
        .tab-btn { background: none; border: none; padding: 12px 24px; font-size: 1rem; cursor: pointer; transition: 0.3s; color: #64748b; font-weight: bold; }
        .tab-btn:hover { color: #2563eb; }
        .tab-btn.active { color: #2563eb; border-bottom: 2px solid #2563eb; margin-bottom: -2px; }
        
        .schedule-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 5px 20px rgba(0,0,0,0.05); }
        .schedule-table th, .schedule-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e2e8f0; }
        .schedule-table th { background: #2563eb; color: #fff; font-weight: bold; }
        .schedule-table tr:hover { background: #f8fafc; }
        .day-title { font-size: 1.3rem; font-weight: bold; color: #0f172a; margin: 30px 0 15px 0; padding-bottom: 10px; border-bottom: 2px solid #2563eb; }
        .teacher-info { color: #64748b; font-size: 0.85rem; }
        .empty-message { text-align: center; padding: 50px; background: #fff; border-radius: 16px; }
        .group-badge { display: inline-block; background: #2563eb; color: #fff; padding: 5px 15px; border-radius: 20px; font-size: 0.85rem; margin-bottom: 20px; }
        footer { margin-top: 50px; }
        @media (max-width: 768px) { .schedule-table { display: block; overflow-x: auto; } .filter-buttons { justify-content: center; } .tab-btn { padding: 8px 16px; font-size: 0.85rem; } }
    </style>
</head>
<body>
<header>
    <div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;">
        <h1 style="margin: 0;">🎓 Учебный центр "Знания"</h1>
        <nav>
            <a href="index.php">📰 Новости</a>
            <a href="schedule.php">📅 Расписание</a>
            <?php if(isLoggedIn()): ?>
                <a href="logout.php">🚪 Выйти (<?= h($_SESSION['username']) ?>)</a>
            <?php else: ?>
                <a href="login.php">🔐 Вход</a>
                <a href="register.php">📝 Регистрация</a>
            <?php endif; ?>
        </nav>
    </div>
</header>

<main>
    <h1>📅 Расписание занятий</h1>
    <p class="subtitle">Выберите группу для просмотра расписания</p>
    
    <div class="filter-section">
        <div class="filter-title">👥 Фильтр по группе</div>
        <div class="filter-buttons">
            <a href="schedule.php" class="filter-btn <?= empty($selected_group) ? 'active' : '' ?>">Все группы</a>
            <?php foreach($groups as $group): ?>
                <a href="?group=<?= urlencode($group) ?>" class="filter-btn <?= $selected_group == $group ? 'active' : '' ?>">
                    <?= h($group) ?>
                </a>
            <?php endforeach; ?>
        </div>
    </div>
    
    <?php if($selected_group): ?>
        <div style="text-align: center; margin-bottom: 20px;">
            <span class="group-badge">🎓 Группа: <?= h($selected_group) ?></span>
        </div>
    <?php endif; ?>
    
    <?php if(count($schedule) > 0): ?>
        <?php if($selected_group): ?>
            <!-- Показываем расписание по дням для выбранной группы -->
            <?php foreach($weekdays_order as $day): ?>
                <?php if(isset($schedule_by_day[$day]) && count($schedule_by_day[$day]) > 0): ?>
                    <div class="day-title">📌 <?= h($day) ?></div>
                    <table class="schedule-table">
                        <thead>
                            <tr><th>Время</th><th>Дисциплина</th><th>Преподаватель</th><th>Аудитория</th></tr>
                        </thead>
                        <tbody>
                            <?php foreach($schedule_by_day[$day] as $item): ?>
                                <tr>
                                    <td><?= date('H:i', strtotime($item['start_time'])) ?> - <?= date('H:i', strtotime($item['end_time'])) ?></td>
                                    <td><strong><?= h($item['subject']) ?></strong></td>
                                    <td><?= h($item['teacher']) ?></td>
                                    <td><?= h($item['classroom'] ?: '—') ?></td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                <?php endif; ?>
            <?php endforeach; ?>
        <?php else: ?>
            <!-- Показываем расписание всех групп -->
            <?php
            $current_group = '';
            foreach($schedule as $item):
                if($current_group != $item['group_name']):
                    $current_group = $item['group_name'];
            ?>
                <div class="day-title" style="margin-top: 30px;">🎓 Группа <?= h($current_group) ?></div>
                <table class="schedule-table">
                    <thead>
                        <tr><th>День</th><th>Время</th><th>Дисциплина</th><th>Преподаватель</th><th>Аудитория</th></tr>
                    </thead>
                    <tbody>
            <?php endif; ?>
                        <tr>
                            <td><?= h($item['weekday']) ?></td>
                            <td><?= date('H:i', strtotime($item['start_time'])) ?> - <?= date('H:i', strtotime($item['end_time'])) ?></td>
                            <td><strong><?= h($item['subject']) ?></strong></td>
                            <td><?= h($item['teacher']) ?></td>
                            <td><?= h($item['classroom'] ?: '—') ?></td>
                        </tr>
            <?php
                endforeach;
                if(count($schedule) > 0):
            ?>
                    </tbody>
                </table>
            <?php endif; ?>
        <?php endif; ?>
    <?php else: ?>
        <div class="empty-message">
            <p>😕 Расписание для выбранной группы не найдено.</p>
            <a href="schedule.php" class="filter-btn active">Показать все группы</a>
        </div>
    <?php endif; ?>
</main>

<footer>
    <p>&copy; 2025 Учебный центр "Знания". Качественное образование.</p>
</footer>
</body>
</html>