<?php
session_start();
require_once('../config/db.php');

// --- إعدادات اللغة ---
$current_lang = $_SESSION['lang'] ?? 'ar';
$lang_file = "../languages/" . $current_lang . ".php";
$translations = file_exists($lang_file) ? include($lang_file) : [];

$selected_student_id = $_GET['student_id'] ?? 0;
$enrolled_courses = [];
$existing_schedule = [];

// 1. جلب قائمة جميع الطلاب للقائمة المنسدلة
$students = $conn->query("SELECT id, full_name FROM students ORDER BY full_name")->fetchAll(PDO::FETCH_ASSOC);

if ($selected_student_id) {
    // 2. جلب الدورات التي سجل بها الطالب فقط
    $stmt = $conn->prepare("SELECT c.id, c.course_name FROM courses c 
                            JOIN enrollments e ON c.id = e.course_id 
                            WHERE e.student_id = ?");
    $stmt->execute([$selected_student_id]);
    $enrolled_courses = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 3. جلب الجدول الدراسي الحالي (يتضمن وقت البداية والنهاية)
    $schedStmt = $conn->prepare("SELECT * FROM student_schedules WHERE student_id = ?");
    $schedStmt->execute([$selected_student_id]);
    $existing_schedule = $schedStmt->fetchAll(PDO::FETCH_ASSOC);
}

include('../includes/header.php');
include('../includes/navbar.php');
?>

<div class="min-h-screen bg-gray-50 dark:bg-gray-900 py-10 font-[Cairo]" dir="<?= $current_lang == 'ar' ? 'rtl' : 'ltr' ?>">
    <div class="max-w-4xl mx-auto px-4">
        
        <?php if(isset($_SESSION['success'])): ?>
            <div class="bg-green-100 text-green-700 p-4 rounded-lg mb-6 shadow-sm flex items-center gap-2">
                <i class="fas fa-check-circle"></i> <?= $_SESSION['success']; unset($_SESSION['success']); ?>
            </div>
        <?php endif; ?>

        <div class="bg-white dark:bg-gray-800 shadow-xl rounded-2xl p-8 border-t-8 border-indigo-600">
            <h2 class="text-3xl font-bold text-center mb-8 text-gray-800 dark:text-white">
                <i class="fas fa-calendar-alt text-indigo-600 <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> 
                <?= $translations['schedule_title'] ?>
            </h2>

            <form method="GET" class="mb-10 bg-indigo-50 dark:bg-gray-700 p-6 rounded-xl border border-indigo-100 dark:border-gray-600">
                <label class="block mb-2 font-bold text-gray-700 dark:text-gray-300"><?= $translations['select_student_label'] ?></label>
                <select name="student_id" onchange="this.form.submit()" class="w-full p-3 rounded-lg border focus:ring-2 focus:ring-indigo-500 dark:bg-gray-600 dark:text-white">
                    <option value="">-- <?= $translations['search_student_placeholder'] ?> --</option>
                    <?php foreach ($students as $s): ?>
                        <option value="<?= $s['id'] ?>" <?= $s['id'] == $selected_student_id ? 'selected' : '' ?>>
                            <?= htmlspecialchars($s['full_name']) ?>
                        </option>
                    <?php endforeach; ?>
                </select>
            </form>

            <?php if ($selected_student_id && !empty($enrolled_courses)): ?>
                <form action="save_schedule.php" method="POST">
                    <input type="hidden" name="student_id" value="<?= $selected_student_id ?>">
                    
                    <div id="schedule_container">
                        <?php 
                        $display_data = !empty($existing_schedule) ? $existing_schedule : [null];
                        foreach ($display_data as $index => $item): 
                        ?>
                        <div class="schedule-item bg-gray-50 dark:bg-gray-700 p-5 rounded-xl mb-4 border border-gray-200 dark:border-gray-600 relative group">
                            <div class="grid grid-cols-1 md:grid-cols-4 gap-4">
                                <div>
                                    <label class="block text-sm font-bold mb-1"><?= $translations['select_course'] ?></label>
                                    <select name="course_id[]" required class="w-full p-2 rounded border dark:bg-gray-800 dark:text-white">
                                        <?php foreach ($enrolled_courses as $course): ?>
                                            <option value="<?= $course['id'] ?>" <?= (isset($item['course_id']) && $item['course_id'] == $course['id']) ? 'selected' : '' ?>>
                                                <?= htmlspecialchars($course['course_name']) ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                                <div>
                                    <label class="block text-sm font-bold mb-1"><?= $translations['day'] ?></label>
                                    <select name="day[]" class="w-full p-2 rounded border dark:bg-gray-800 dark:text-white">
                                        <?php 
                                        $days_list = ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
                                        foreach($days_list as $day_val): ?>
                                            <option value="<?= $day_val ?>" <?= (isset($item['day_name']) && $item['day_name'] == $day_val) ? 'selected' : '' ?>>
                                                <?= $translations[strtolower($day_val)] ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                                <div>
                                    <label class="block text-sm font-bold mb-1"><?= $translations['start_time'] ?></label>
                                    <input type="time" name="start_time[]" required value="<?= $item['start_time'] ?? '' ?>" class="w-full p-2 rounded border dark:bg-gray-800 dark:text-white">
                                </div>
                                <div>
                                    <label class="block text-sm font-bold mb-1"><?= $current_lang == 'ar' ? 'وقت النهاية' : 'End Time' ?></label>
                                    <input type="time" name="end_time[]" required value="<?= $item['end_time'] ?? '' ?>" class="w-full p-2 rounded border dark:bg-gray-800 dark:text-white">
                                </div>
                            </div>
                            <button type="button" onclick="removeSlot(this)" class="absolute -top-3 -<?= $current_lang == 'ar' ? 'left' : 'right' ?>-3 bg-red-500 text-white w-8 h-8 rounded-full shadow-lg opacity-0 group-hover:opacity-100 transition duration-200">
                                <i class="fas fa-times"></i>
                            </button>
                        </div>
                        <?php endforeach; ?>
                    </div>

                    <div class="flex flex-col md:flex-row gap-4 mt-8">
                        <button type="button" onclick="addMore()" class="flex-1 bg-gray-100 dark:bg-gray-700 text-indigo-600 dark:text-indigo-400 py-3 rounded-xl font-bold border-2 border-dashed border-indigo-200 dark:border-indigo-900 hover:bg-indigo-50 transition">
                            <i class="fas fa-plus-circle"></i> <?= $translations['add_slot'] ?>
                        </button>
                        <button type="submit" class="flex-1 bg-indigo-600 text-white py-3 rounded-xl font-bold hover:bg-indigo-700 transition shadow-lg transform hover:-translate-y-1">
                            <i class="fas fa-save"></i> <?= $translations['save_schedule'] ?>
                        </button>
                    </div>

                    <div class="mt-4 text-center">
                        <a href="view_timetable.php?student_id=<?= $selected_student_id ?>" class="text-indigo-500 hover:underline text-sm font-bold">
                            <i class="fas fa-eye"></i> <?= $current_lang == 'ar' ? 'عرض الجدول الحالي بنمط الطباعة' : 'View Current Timetable' ?>
                        </a>
                    </div>
                </form>
            <?php elseif($selected_student_id): ?>
                <div class="text-center p-10 bg-red-50 dark:bg-red-900/20 rounded-xl border border-red-100 dark:border-red-800">
                   <p class="text-red-500 dark:text-red-400 font-bold italic">
                       <i class="fas fa-exclamation-triangle"></i> <?= $translations['enroll_error_msg'] ?>
                   </p>
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<script>
function addMore() {
    const container = document.getElementById('schedule_container');
    const firstItem = container.querySelector('.schedule-item');
    const newItem = firstItem.cloneNode(true);
    
    // تفريغ القيم في الحقل الجديد
    newItem.querySelectorAll('input').forEach(input => input.value = '');
    newItem.classList.add('animate-fade-in');
    container.appendChild(newItem);
}

function removeSlot(btn) {
    const container = document.getElementById('schedule_container');
    if (container.childElementCount > 1) {
        btn.closest('.schedule-item').remove();
    } else {
        alert("<?= $current_lang == 'ar' ? 'يجب وجود موعد واحد على الأقل!' : 'At least one slot is required!' ?>");
    }
}
</script>

<style>
@keyframes fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fade-in 0.3s ease-out forwards; }
</style>

<?php include('../includes/footer.php'); ?>