<?php
    date_default_timezone_set("Asia/Karachi");
    header('Content-Type: application/json');
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: GET,HEAD,OPTIONS,POST,PUT");
    header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
    include('../../../../../public/includes/db.php');
    $obj = json_decode(file_get_contents('php://input'), true);
    
    $requiredFields = ['course_id', 'section_id', 'exam_type_id', 'exam_date', 'campus_id'];
    $count = 0;

    foreach ($requiredFields as $field) {
        if (!isset($obj[$field]) || $obj[$field] === '' || $obj[$field] === null) {
            echo json_encode([
                "code" => 400,
                "message" => "Error: '$field' is missing or empty."
            ]);
            exit;
        }
    }
            
    $campus_id = $obj['campus_id'];
    $section_id = $obj['section_id'];
    $course_id = $obj['course_id'];
    $exam_type_id = $obj['exam_type_id'];
    $exam_date = $obj['exam_date'];
    $att_name = 'Test Attendance';

    $query = "UPDATE edu_mark_attendance SET `is_deleted` = unix_timestamp()*1000 WHERE `campus_id` = $campus_id AND `section_id` = '$section_id' AND `course_id` = '$course_id' AND `exam_type_id` = '$exam_type_id' AND `attendance_name` = '$att_name' AND `is_deleted` = 0";
    $runQuery = mysqli_query($con, $query);
    if($runQuery){
        $responseArr = ['code' => 200, 'status' => true, 'message' => 'Deleted Successfully'];
    }
    else{
        $responseArr = ['code' => 420, 'status' => false, 'message' => 'Error'];
    }
    echo json_encode($responseArr);
?>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   <?php
date_default_timezone_set("Asia/Karachi");
header('Content-Type: application/json');
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET,HEAD,OPTIONS,POST,PUT");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
include('../include/definedPaths.php');
$obj = json_decode(file_get_contents("php://input"), true);

$userName       =   $obj['userNumber'];
$userPassword   =   $obj['userPassword'];
$userOtp        =   $obj['userOtp'];
$secureId       =   $obj['secureId'];
$group_id       =   $obj['group_id'];
$studentSection =   $obj['studentSection'];

$authApiResponse = authenticate_user($userName, $userPassword, $userOtp, $secureId);
$authMsg = $authApiResponse['ResponseDetail'];
$authResCode = $authApiResponse['code'];
$authStatus = $authApiResponse['status'];


if ($authResCode == '200') {
    $authResOTP = $authApiResponse['OTP'];
    function numberToTimeSTR($timeNum) {
        $h = 0;
        $m = $timeNum % 100;
        if ($m < 10) { $m = "0" . $m; }
        if ($m == 0) { $m = "00"; }
        $h = intdiv($timeNum, 100);
        $type = $h >= 12 ? 'PM' : 'AM';
        if ($h > 12) { $h -= 12; }
        if ($h == 0) { $h = 12; }
        return "$h:$m $type";
    }
    
    $TimeTableArr = [];
    $checkPath = "$filePath/groups/$group_id/timeTable/students/$studentSection";
    
    if (is_readable($checkPath)) {

        $files = scandir($checkPath);
        
        foreach ($files as $value) {
            if ($value != "." && $value != "..") {
                $fileToRead = "$checkPath/$value";
                $trimmed = file($fileToRead, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
                
                foreach ($trimmed as $line) {
                    $arr = explode('~@~', $line);
                    $TimeTableArr[] = [
                        'time_table_id'    => $arr[0],
                        'semester_name'    => $arr[6],
                        'course_name'      => $arr[13],
                        'course_ch'        => $arr[14],
                        'course_coh'       => $arr[15],
                        'course_type'      => $arr[16],
                        'teacher_name'     => $arr[19],
                        'start_time'       => numberToTimeSTR($arr[20]),
                        'end_time'         => numberToTimeSTR($arr[21]),
                        'day_string'       => $arr[23],
                        'room_no'          => $arr[25],
                        'gender_criteria'  => $arr[26],
                        'studdent_allowed' => $arr[27],
                        'start_date_no'    => $arr[29],
                        'end_date_no'      => $arr[30],
                        'start_date'       => date("d-M-Y", $arr[29] / 1000),
                        'end_date'         => date("d-M-Y", $arr[30] / 1000),
                        'status'           => $arr[31],
                    ];
                }
            }
        }
        
        if (empty($TimeTableArr)) {
            $TimeTableArr = ['message' => 'No record found', 'status' => false, 'code' => '420'];
        }
    }

    $data = [
        'timeTableArr' => $TimeTableArr,
        'authResCode'  => $authResCode,
        'userNumber'   => $userName,
        'authResOTP'   => $authResOTP,
    ];
} else {
    $data = ['message' => $authMsg, 'authResCode' => '401', 'status' => $authStatus];
}

echo json_encode($data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               </i>
                        </div>
                    </div>

                    <div class="form-group boxed">
                        <div class="input-wrapper">
                            <label class="label" for="selected_date">Select Date</label>
                            <input type="date" class="form-control" id="selected_date" name="selected_date"
                                value="<?php echo date('Y-m-d')?>" required>
                            <i class="clear-input">
                                <ion-icon name="close-circle"></ion-icon>
                            </i>
                        </div>
                    </div>

                    <div class="form-group boxed">
                        <div class="input-wrapper">
                            <label class="label" for="start_time">Start Time</label>
                            <input type="time" class="form-control" id="start_time" name="start_time" required>
                            <i class="clear-input">
                                <ion-icon name="close-circle"></ion-icon>
                            </i>
                        </div>
                    </div>

                    <div class="form-group boxed">
                        <div class="input-wrapper">
                            <label class="label" for="end_time">End Time</label>
                            <input type="time" class="form-control" id="end_time" name="end_time" required>
                            <i class="clear-input">
                                <ion-icon name="close-circle"></ion-icon>
                            </i>
                        </div>
                    </div>

                    <div class="form-group transparent" style="margin-top: 20px;">
                        <button type="submit" id="saveDepartment" class="btn btn-primary btn-block btn-lg" onclick="saveDateSheet()">Save</button>
                    </div>

                </div>
            </div>
        </div>
    </div>


    <!-- Update Modal -->
    <div class="modal fade" id="updateModal" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Update Exam Schedule</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>

                <div class="modal-body">
                    <!-- Hidden Inputs -->
                    <input type="hidden" id="date_sheet_id_update">
                    <input type="hidden" id="section_id_update">
                    <input type="hidden" id="exam_type_id_update">

                    <input type="hidden" id="room_no_hidden">
                    <input type="hidden" id="exam_date_hidden">
                    <input type="hidden" id="start_time_hidden">
                    <input type="hidden" id="end_time_hidden">

                    <!-- Visible Inputs -->
                    <div class="form-group mb-2">
                        <label>Room No:</label>
                        <input type="number" id="room_no_update" class="form-control" placeholder="Enter Room No">
                    </div>

                    <div class="form-group mb-2">
                        <label>Exam Date:</label>
                        <input type="date" id="exam_date_update" class="form-control">
                    </div>

                    <div class="form-group mb-2">
                        <label>Start Time:</label>
                        <input type="time" id="start_time_update" class="form-control">
                    </div>

                    <div class="form-group mb-2">
                        <label>End Time:</label>
                        <input type="time" id="end_time_update" class="form-control">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
                    <button type="button" class="btn btn-primary" onclick="updateDateSheet()">Update</button>
                </div>
            </div>
        </div>
    </div>
    
    <div class="modal fade" id="duplicateModal" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document" style="max-width: 95%; width: 95%;">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">⚠️ Scheduling Conflict</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body" id="duplicateModalBody">
                    <!-- Duplicate data will appear here -->
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

    <!-- App Sidebar -->
    <div class="modal fade panelbox panelbox-left" id="sidebarPanel" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-body p-0">
                    <!-- profile box -->
                    <div class="profileBox pt-2 pb-2">
                        <div class="image-wrapper">
                            <img id="riderImage" style="border-radius: 50%;" alt="img" height="35px" width="35px">
                        </div>
                        <div class="in">
                            <strong id="myName">Ali Rehman</strong>
                        </div>
                        <a href="#" class="btn btn-link btn-icon sidebar-close" data-bs-dismiss="modal">
                            <ion-icon name="close-outline"></ion-icon>
                        </a>
                    </div>
                    <!-- profile box end-->

                    <ul class="listview flush transparent no-line image-listview">
                        <li>
                            <a href="app-settings.html" class="item">
                                <div class="icon-box bg-primary">
                                    <ion-icon name="settings-outline"></ion-icon>
                                </div>
                                <div class="in">
                                    Settings
                                </div>
                            </a>
                        </li>

                        <li>
                            <a class="item" onclick="destroyLocalStorage()">
                                <div class="icon-box bg-primary">
                                    <ion-icon name="log-out-outline"></ion-icon>
                                </div>
                                <div class="in">
                                    Log out
                                </div>
                            </a>
                        </li>
                    </ul>
                    <!-- * others -->
                </div>
            </div>
        </div>
    </div>
    <!-- * App Sidebar -->
    <!-- toast center iconed -->
    <div id="toast-1" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-warning"></ion-icon>
            <div class="text">
                Course Offer
            </div>
        </div>
    </div>
    <!-- toast center iconed -->

    <!-- toast center iconed -->
    <div id="toast-2" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-success"></ion-icon>
            <div class="text">
                Save Successfully
            </div>
        </div>
    </div>
    <!-- toast center iconed -->

    <!-- toast center iconed -->
    <div id="toast-3" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-danger"></ion-icon>
            <div class="text">
                No record found
            </div>
        </div>
    </div>
    <!-- toast center iconed -->

    <!-- toast center iconed -->
    <div id="toast-4" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-success"></ion-icon>
            <div class="text">
                Deleted
            </div>
        </div>
    </div>
    <!-- toast center iconed -->

    <!-- toast center iconed -->
    <div id="toast-5" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-danger"></ion-icon>
            <div class="text">
                Error
            </div>
        </div>
    </div>
    <!-- toast center iconed -->
     
    <!-- toast center iconed -->
    <div id="toast-6" class="toast-box toast-center">
        <div class="in">
            <ion-icon name="information-circle" class="text-success"></ion-icon>
            <div class="text">
                Updated
            </div>
        </div>
    </div>
    <!-- toast center iconed -->


    <script src="../../../../public/assets/js/lib/bootstrap.bundle.min.js"></script>
    <script type="module" src="../../../../public/assets/js/ionicons.js"></script>
    <script src="../../../../public/assets/js/plugins/splide/splide.min.js"></script>
    <script src="../../../../public/assets/js/base.js"></script>


    <script src="../../../../public/assets2/js/app.min.js"></script>
    <script src="../../../../public/assets2/bundles/cleave-js/dist/cleave.min.js"></script>
    <script src="../../../../public/assets2/bundles/cleave-js/dist/addons/cleave-phone.us.js"></script>
    <script src="../../../../public/assets2/bundles/jquery-pwstrength/jquery.pwstrength.min.js"></script>
    <script src="../../../../public/assets2/bundles/bootstrap-daterangepicker/daterangepicker.js"></script>
    <script src="../../../../public/assets2/bundles/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js"></script>
    <script src="../../../../public/assets2/bundles/bootstrap-timepicker/js/bootstrap-timepicker.min.js"></script>
    <script src="../../../../public/assets2/bundles/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js"></script>
    <script src="../../../../public/assets2/bundles/select2/dist/js/select2.full.min.js"></script>
    <script src="../../../../public/assets2/bundles/jquery-selectric/jquery.selectric.min.js"></script>
    <script src="../../../../public/assets2/js/page/forms-advanced-forms.js"></script>
    <script src="../../../../public/assets2/js/scripts.js"></script>
    <script src="../../../../public/assets2/js/custom.js"></script>
    <script src="../../../../public/assets/js/pages/ui/sweetalert.js"></script>
    <script src="../../../../public/assets/plugins/sweetalert/sweetalert.min.js"></script>
    

    <script>
        // ✅ Set default current time for start and end time
        $("#dateSheetData").hide();
        window.addEventListener('DOMContentLoaded', function() {
            const now = new Date();
            const hours = String(now.getHours()).padStart(2, '0');
            const minutes = String(now.getMinutes()).padStart(2, '0');
            const currentTime = `${hours}:${minutes}`;
            document.getElementById('start_time').value = currentTime;
            document.getElementById('end_time').value = currentTime;
        });

        // ✅ Initialize Select2 properly inside modal (no CSS required)
        $(document).ready(function() {
            // Initialize Select2 inside modal
            // Only initialize Select2 when modal actually opens
            $('#ModalBasic').on('shown.bs.modal', function () {

                // Destroy existing Select2 (to avoid duplicates)
                $('#staffShow_insert, #course_offer_insert, #exam_type_insert').select2('destroy');

                // Re-initialize inside modal
                $('#staffShow_insert, #course_offer_insert, #exam_type_insert').select2({
                    dropdownParent: $('#ModalBasic .modal-body'), // attach dropdowns inside modal
                    width: '100%',
                    dropdownAutoWidth: true
                });

                // Fix width (no CSS)
                $('.select2').each(function () {
                    var parentWidth = $(this).closest('.input-wrapper').width();
                    $(this).next('.select2-container').css('width', parentWidth + 'px');
                });
            });

            // Optional: reset when modal closes
            $('#ModalBasic').on('hidden.bs.modal', function () {
                $('#staffShow_insert, #course_offer_insert, #exam_type_insert').select2('destroy');
            });

            // Event listener (runs when staff changes)
            $(document).on('change', '#staffShow_insert', function () {
                courseOfferGet();
            });
        });

        $('.modal').on('show.bs.modal', function(e) {
            window.history.pushState('forward', null, '#modal');
        });

        $('.modal').on('hide.bs.modal', function(e) {
            //pop the forward state to go back to original state before pushing the "Modal!" button
        });

        $(window).on('popstate', function() {
            $('.modal').modal('hide');
    