<?php
ob_start();
$pageTitle = 'إدارة شركات النقل السياحى';
ini_set('serialize_precision', '-1');
include 'init.php';
use classs\ManagerCars;
use classs\ManagerAgent;
use classs\ManagerTransportation;
/* use src\ManagerCars; 
use src\FileManager; */
$do = isset($_GET['do']) ? $_GET['do'] : '';
$department_id = 3;
if ($do === 'add') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة شركة نقل <i class="fa-solid fa-bus"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert" method="post">
                        <div class="row">
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name" class="form-control" placeholder="إسم الشركة" required>
                                    <label for="name" class="form-label">إسم الشركة</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="phone" class="form-control" placeholder="رقم الهاتف">
                                    <label for="phone" class="form-label">رقم الهاتف</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-4">
                                <div class="form-floating">
                                    <input type="text" name="email" class="form-control" placeholder="البريد الالكترونى">
                                    <label for="email" class="form-label">البريد الالكترونى</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-4">
                                <div class="form-floating">
                                    <input type="text" name="address" class="form-control" placeholder="المحافظة أو العنوان">
                                    <label for="address" class="form-label">المحافظة أو العنوان</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add">Save</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert') {
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add'])) {
        $ManagerAgent = new ManagerTransportation($con);
        // استلام البيانات من الفورم
        $name = filter_input(INPUT_POST, 'name');
        $phone = filter_input(INPUT_POST, 'phone');
        $email = filter_input(INPUT_POST, 'email');
        $address = filter_input(INPUT_POST, 'address');
        // $cost_centers_id = filter_input(INPUT_POST, 'cost_centers_id');
        // $tourism_management_id = filter_input(INPUT_POST, 'tourism_management');

        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name)) {
            $formErrors[] = 'لا يجب أن يكون إسم الشركة <strong>فارغ</strong>';
        }
        $cost_centers_id = '';
        if (!empty($cost_centers_id)) {
            $lv1 = getName("cost_centers", "ID", $cost_centers_id, "cost_center_code");
            $new_cost_center_id = getNextCostCenterCode($con, $lv1, $cost_centers_id, $name);
        } else {
            $new_cost_center_id = "";
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $con->beginTransaction();

                $lv1 = "";
                $lv2 = "";
                $lv3 = "";
                $lv4 = "";
                $lv5 = "";
                $lvacc = 4;


                $id_lv3 = 224 ;
                $id_lv2 = getId("level_acc", "ID", $id_lv3, "acc_up");
                $id_lv1 = getId("level_acc", "ID", $id_lv2, "acc_up");
                $lv1 = getId("level_acc", "ID", $id_lv1, "lv1");
                $lv2 = getId("level_acc", "ID", $id_lv2, "lv2");
                $lv3 = getId("level_acc", "ID", $id_lv3, "lv3");
                $acc_up = $id_lv3;

                $account = $con->prepare("SELECT MAX(CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(lv4, '.', -1), '.', -1), '.', -1) AS UNSIGNED)) AS last_code_account FROM level_acc where lev_acc = 4 AND acc_up = $id_lv3 ");
                $account->execute();
                $result = $account->fetch(PDO::FETCH_ASSOC);
                $last_code_account = $result['last_code_account'];
                    if (!empty($last_code_account)) {
                        $lv4 = $last_code_account + 1;
                        $lv4 = $lv3.".".$lv4;
                    } else {
                        $lv4 = $lv3 . ".1";
                    }
                $lv = $lv4;

                if ($lvacc != 1){
                    $list_account = getId("level_acc", "ID", $id_lv1, "list_account");
                    $nature = getId("level_acc", "ID", $id_lv1, "nature_account");
                }
                $nameacc = $name;
                // Insert Userinfo In Database
                $stmt = $con->prepare("INSERT INTO 
                level_acc(name_account, lev_acc, lv, lv1, lv2, lv3, lv4, lv5, acc_up, nature_account, list_account, user_id_add, DateInsert)
                            VALUES(:zname_account, :zlev_acc, :zlv, :zlv1, :zlv2, :zlv3, :zlv4, :zlv5, :zacc_up, :znature_account, :zlist_account, :zuser_id_add, now()) ");
                $stmt->execute(
                    array(
                    'zname_account' => $nameacc,
                    'zlev_acc' => $lvacc,
                    'zlv' => $lv,
                    'zlv1' => $lv1,
                    'zlv2' => $lv2,
                    'zlv3' => $lv3,
                    'zlv4' => $lv4,
                    'zlv5' => $lv5,
                    'zacc_up' => $acc_up,
                    'znature_account' => $nature,
                    'zlist_account' => $list_account,
                    'zuser_id_add' => $_SESSION['admin']
                    )
                );
                $id_level_acc = $con->lastInsertId();

                $result = $ManagerAgent->insertData(1, $name, $phone, $email, $address, $id_level_acc);
                $con->commit();
                if ($result) {
                    $theMsg = "تمت إضافة شركة النقل بنجاح!";
                    redirectlink($theMsg, $url = "transportation?do=all_companies_transportation", $name = "عرض الشركات", $seconds = 2);
                } else {
                    echo "حدث خطأ أثناء إضافة الشركة.";
                }
            } catch (PDOException $e) {
                $con->rollBack();
                echo "حدث خطأ فى السيرفر أثناء إضافة الشركة: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'edit') {
    if (checkadmin($_SESSION['admin'], $department_id, 4) == 1 ) {
        if (isset($_GET['id']) && is_numeric($_GET['id'])) {
            $car_id = $_GET['id'];

            $ManagerCars = new ManagerCars($con);
            $cars = $ManagerCars->getcarById($car_id);

            if ($cars != null) {
                // استخدم $reservationData لملء حقول النموذج
                ?>
                <div class="container mt-5">
                    <div class="card">
                        <div class="card-header">
                            <h3 class="card-title"><i class="fa-solid fa-bus fa-sm"></i> تعديل بيانات السيارة رقم <?php echo $cars['vehicle_plate_number']; ?> </h3>
                        </div>
                        <div class="card-body">
                            <form action="?do=update" method="post">
                                <input type="hidden" name="car_id" value="<?php echo $cars['ID']; ?>">
                                <div class="row">
                                    <div class="col-md-4 mb-3">
                                        <label for="name_car" class="form-label">اسم السيارة</label>
                                        <input type="text" name="name_car" value="<?php echo $cars['vehicle_model']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-3 mb-3">
                                        <label for="num_car" class="form-label">رقم السيارة</label>
                                        <input type="text" name="num_car" value="<?php echo $cars['vehicle_plate_number']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-3 mb-3">
                                        <label for="number_passengers" class="form-label">عدد الركاب</label>
                                        <input type="text" name="number_passengers" value="<?php echo $cars['seating_capacity']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-2 mb-3">
                                        <br>
                                        <button type="submit" class="btn btn-primary" name="edit_car">save</button>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>

                <?php
                // }
            } else {
                // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
                echo "خطأ: لا يوجدسيارة بهذا الرقم.";
                exit;
            }
        } else {
            // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
            echo "خطأ: يجب تحديد رقم السيارة.";
            exit;
        }
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'update') {
    // معالجة تعديل السيارة
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_car'])) {

        $ManagerCars = new ManagerCars($con);

        // استلام البيانات من الفورم
        $car_id = $_POST['car_id'];
        $name_car           = $_POST['name_car'];
        $num_car            = $_POST['num_car'];
        $number_passengers  = $_POST['number_passengers'];
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name_car)) {
            $formErrors[] = 'لا يجب أن يكون إسم السيارة  <strong>فارغ</strong>';
        }
        if (empty($num_car)) {
            $formErrors[] = 'لا يجب أن يكون رقم السيارة <strong>فارغ</strong>';
        }
        if (empty($number_passengers)) {
            $formErrors[] = 'لا يجب أن يكون عدد الركاب <strong>فارغ</strong>';
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                // إضافة الحجز باستخدام فئة ReservationsManager
                $result = $ManagerCars->updateCar($car_id, $name_car, $num_car, $number_passengers);
                // $result = $reservationsManager->addReservation($agent_id, $client_id, $arrival_date, $departure_date, $remarks);

                if ($result) {
                    $theMsg = "تم تحديث بيانات السيارة بنجاح!";
                    redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 0);
                } else {
                    echo "حدث خطأ أثناء تحديث البيانات.";
                }
            } catch (PDOException $e) {
                echo "حدث خطأ أثناء تعديل بيانات السيارة: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'delete') {
    if (checkadmin($_SESSION['admin'], $department_id, 5) == 1 ) {
        // معالجة حذف الحجز
        echo "<h3 class='text-center'>حذف</h3>";
        echo "<div class='container'>";
        // Check If Get Request id Is Numeric & Get The Integer Value Of It
        $id = isset($_GET['id']) && is_numeric($_GET['id']) ? intval($_GET['id']) : 0;
        // Select All Data Depend On This ID
        $check = checkItem('id', 'vehicles', $id);
        // If There's Such ID Show The Form
        if ($check > 0) {
            $stmt = $con->prepare("DELETE FROM vehicles WHERE ID = :zid");
            $stmt->bindParam(":zid", $id);
            $stmt->execute();
            $theMsg = "<div class='alert alert-success'>" . $stmt->rowCount() . ' تم الحذف بنجاح</div>';
            redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 0);
        } else {
            $theMsg = '<div class="alert alert-danger">برجاء إتباع رابط صحيح</div>';
            redirectHome($theMsg);
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 3);
    }
    echo '</div>';
} elseif ($do === 'add_operation_statement') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة بيان تشغيل <i class="fa-solid fa-bus"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert_operation_statement" method="post">
                        <div class="row">
                            <div class="col-md-4 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name" class="form-control" placeholder="بيان التشغيل" required>
                                    <label for="name" class="form-label">بيان التشغيل</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add">Save</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert_operation_statement') {
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add'])) {
        $ManagerAgent = new ManagerTransportation($con);
        // استلام البيانات من الفورم
        $name = filter_input(INPUT_POST, 'name');
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name)) {
            $formErrors[] = 'لا يجب أن يكون إسم البيان <strong>فارغ</strong>';
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $con->beginTransaction();

                $result = $ManagerAgent->insert('vehicle_operation_statement', 'operation_statement', $name);
                $con->commit();
                if ($result) {
                    $theMsg = "تمت إضافة البيان بنجاح!";
                    redirectlink($theMsg, $url = "transportation?do=all_companies_transportation", "عرض الشركات", $seconds = 2);
                } else {
                    echo "حدث خطأ أثناء إضافة البيان.";
                }
            } catch (PDOException $e) {
                $con->rollBack();
                echo "حدث خطأ فى السيرفر أثناء إضافة البيان: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'add_vehicle_capacity') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة بيان تشغيل <i class="fa-solid fa-bus"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert_vehicle_capacity" method="post">
                        <div class="row">
                            <div class="col-md-4 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name" class="form-control" placeholder="الاسم" required>
                                    <label for="name" class="form-label">الاسم</label>
                                </div>
                            </div>
                            <div class="col-md-4 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="capacity" class="form-control" placeholder="سعة السيارة" required>
                                    <label for="capacity" class="form-label">سعة السيارة</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add">Save</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert_vehicle_capacity') {
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add'])) {
        $ManagerAgent = new ManagerTransportation($con);
        // استلام البيانات من الفورم
        $name = filter_input(INPUT_POST, 'name');
        $capacity = filter_input(INPUT_POST, 'capacity');
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name)) {
            $formErrors[] = 'لا يجب أن يكون إسم البيان <strong>فارغ</strong>';
        }
        if (empty($capacity)) {
            $formErrors[] = 'لا يجب أن يكون سعة السيارة <strong>فارغ</strong>';
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $con->beginTransaction();

                $result = $ManagerAgent->insert('vehicle_capacity', 'name', $name, 'capacity', $capacity);
                $con->commit();
                if ($result) {
                    $theMsg = "تمت الإضافة بنجاح!";
                    redirectlink($theMsg, $url = "transportation?do=all_companies_transportation", "عرض الشركات", $seconds = 2);
                } else {
                    echo "حدث خطأ أثناء الإضافة.";
                }
            } catch (PDOException $e) {
                $con->rollBack();
                echo "حدث خطأ فى السيرفر أثناء الإضافة: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'add_run_command') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة أمر تشغيل <i class="fa-solid fa-folder-plus fa-sm"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert_run_command" method="post">
                        <div class="row">
                            <div class="col-md-3 mb-3">
                                <div class="form-floating mb-3">
                                    <input type="date" name="date_run" class="form-control" placeholder="تاريخ أمر التشغيل" required>
                                    <label for="date_run" class="form-label">تاريخ أمر التشغيل:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <select name="drivers" id="drivers" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM drivers";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر السائق</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$agent['ID']}'>{$agent['driver_name']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="drivers" class="form-label">السائق:</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="companies_transportation" id="companies_transportation" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM companies_transportation";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر الشركة</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$agent['ID']}'>{$agent['name_companie']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="companies_transportation" class="form-label">الشركة المؤجرة:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-check">
                                    <input class="form-check-input" type="radio" name="client_selection" id="existing_client_radio" value="existing" >
                                    <label class="form-check-label" style=" font-size: 12px;" for="existing_client_radio">سيارة الشركة</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-check">
                                    <input class="form-check-input" type="radio" name="client_selection" id="new_client_radio" value="new">
                                    <label class="form-check-label" style=" font-size: 12px;" for="new_client_radio">سيارة خارجية</label>
                                </div>
                            </div>
                            
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="location_now" class="form-control" placeholder="مكان التواجد" required>
                                    <label for="location_now" class="form-label">مكان التواجد</label>
                                </div>
                            </div>
                            
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <select name="id_currency_codes" class="form-select" >
                                            <?php
                                            // Query to retrieve agents from the agents table
                                            $personsQuery = "SELECT * FROM currency where ID = 2";
                                            $personsResult = $con->query($personsQuery);
                                            while ($persons = $personsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$persons['ID']}'>{$persons['currency_shortcut']}</option>";
                                            }
                                            $personsQuery = "SELECT * FROM currency where ID != 2";
                                            $personsResult = $con->query($personsQuery);
                                            while ($persons = $personsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$persons['ID']}'>{$persons['currency_shortcut']}</option>";
                                            }
                                            ?>
                                    </select>
                                    <label for="id_currency_codes" class="form-label">العملة:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                <input type="text" name="currencyExchangeRate" class="form-control form-control-sm" placeholder="سعر الصرف" >
                                    <label for="operation_statement" class="form-label">سعر الصرف</label>
                                </div>
                            </div>

                            <div class="col-md-4 mb-3" >
                                <div class="form-floating" id="existingClientSelect" style="display: none;">
                                    <select name="vehicles_id" id="clientSelect" class="form-select">
                                        <?php
                                        $clientsQuery = "SELECT * FROM vehicles";
                                        $clientsResult = $con->query($clientsQuery);
                                        echo "<option value=''>إختر السيارة</option>";
                                        if ($clientsResult->rowCount() > 0) {
                                            while ($client = $clientsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$client['ID']}'>{$client['vehicle_model']} {$client['vehicle_plate_number']} ({$client['seating_capacity']} فرد)</option>";
                                            }
                                        }
                                        ?>
                                    </select>
                                    <label for="vehicles_id" class="form-label">السيارة:</label>
                                </div>
                                <div class="form-floating" id="newClientFields" style="display: none">
                                    <div class="row">
                                        <div class="col-md-6 ">
                                            <div class="form-floating">
                                                <input type="text" name="car_num" class="form-control" placeholder="رقم السيارة" required>
                                                <label for="car_num" class="form-label">رقم السيارة</label>
                                            </div>
                                        </div>
                                        <div class="col-md-6 ">
                                            <div class="form-floating">
                                                <input type="text" name="vehicle_capacity" class="form-control" placeholder="سعة السيارة" required>
                                                <label for="vehicle_capacity" class="form-label">سعة السيارة</label>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="operation_statement" class="form-control" placeholder="بيان التشغيل" required>
                                    <label for="operation_statement" class="form-label">بيان التشغيل</label>
                                </div>
                            </div>
                            
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                <input type="text" name="price" class="form-control form-control-sm" placeholder="التكلفة" >
                                    <label for="operation_statement" class="form-label">التكلفة</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="price_sale" class="form-control form-control-sm" placeholder="سعر البيع" >
                                    <label for="operation_statement" class="form-label">سعر البيع</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="companies_client" id="companies_client" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM companies_transportation";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر العميل</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                                echo "<option value='{$agent['ID']}'>{$agent['name_companie']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="companies_client" class="form-label">العميل:</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="id_employees" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $personsQuery = "SELECT * FROM employees where id_department_employees = 1 OR id_department_employees = 2 ";
                                        $personsResult = $con->query($personsQuery);
                                        echo "<option value=''>اختر المرشد او المندوب</option>";
                                        while ($persons = $personsResult->fetch(PDO::FETCH_ASSOC)) {
                                            echo "<option value='{$persons['ID']}'>{$persons['full_name']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="copany_id" class="form-label">المندوب / المرشد:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="time" name="time_in" class="form-control" placeholder="ساعة القيام">
                                    <label for="time_in" class="form-label">ساعة القيام</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="time" name="time_out" class="form-control" placeholder="ساعة العودة">
                                    <label for="time_out" class="form-label">ساعة العودة</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="id_employee_mang" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $personsQuery = "SELECT * FROM employees ";
                                        $personsResult = $con->query($personsQuery);
                                        echo "<option value=''>اختر مدير الحركة</option>";
                                        while ($persons = $personsResult->fetch(PDO::FETCH_ASSOC)) {
                                            echo "<option value='{$persons['ID']}'>{$persons['full_name']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="id_employee_mang" class="form-label">مدير الحركة:</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="number_individuals" class="form-control" placeholder="عدد الافراد" required>
                                    <label for="number_individuals" class="form-label">عدد الافراد</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="counter_doing" class="form-control" placeholder="عداد القيام">
                                    <label for="counter_doing" class="form-label">عداد القيام</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="counter_return" class="form-control" placeholder="عداد العودة">
                                    <label for="counter_return" class="form-label">عداد العودة</label>
                                </div>
                            </div>
                            <script>
                                    // كود جافا سكريبت لإظهار أو إخفاء حقول إضافة العميل الجديد
                                    document.querySelectorAll('input[name="client_selection"]').forEach(function(radio) {
                                        radio.addEventListener('change', function () {
                                            var existingClientSelect = document.getElementById('existingClientSelect');
                                            var newClientFields = document.getElementById('newClientFields');
                                            
                                            if (this.value === 'existing') {
                                                existingClientSelect.style.display = 'block';
                                                newClientFields.style.display = 'none';
                                            } else if (this.value === 'new') {
                                                existingClientSelect.style.display = 'none';
                                                newClientFields.style.display = 'block';
                                            }
                                        });
                                    });
                                </script>

                            <div class="mb-3">
                            <div class="form-floating">
                                <textarea name="remarks" class="form-control"></textarea>
                                <label for="remarks" class="form-label">ملحوظة:</label>
                            </div>
                            </div>

                            <div class="row">
                                <div class="col-md-6 mb-3">
                                    <button type="submit" class="btn btn-primary" name="add_run">Add Run</button>
                                </div>
                            </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert_run_command') {
    // معالجة إضافة الحجز الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_run'])) {
        $reservationsManager = new ManagerTransportation($con);
        
        $date_run = $_POST['date_run'];
        $id_driver = $_POST['drivers'];
        $id_companies_transportation = $_POST['companies_transportation'];

        $vehicles_id = ($_POST['client_selection'] === 'new') ? null : $_POST['vehicles_id'];
        $car_num = ($_POST['client_selection'] === 'new') ? $_POST['car_num'] : null;
        $vehicle_capacity = ($_POST['client_selection'] === 'new') ? $_POST['vehicle_capacity'] : null;

        $location_now = $_POST['location_now'];

        $id_currency_codes = $_POST['id_currency_codes'];
        $currencyExchangeRate = $_POST['currencyExchangeRate'];
        $price = $_POST['price'];
        $price_sale = $_POST['price_sale'];
        
        $companies_client = $_POST['companies_client'];
        $operation_statement = $_POST['operation_statement'];
        $id_employee_M = $_POST['id_employees'];
        $time_in = $_POST['time_in'];
        $time_out = $_POST['time_out'];
        $id_employee_mang = $_POST['id_employee_mang'];
        $number_individuals = $_POST['number_individuals'];
        $counter_doing = $_POST['counter_doing'];
        $counter_return = $_POST['counter_return'];
        $remarks = $_POST['remarks'];
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($id_drivers)) {
            $formErrors[] = 'برجاء إختر السائق<strong>فارغ</strong>';
        }
        if (empty($id_companies_transportation)) {
            $formErrors[] = 'إختر الشركة المؤجرة <strong>فارغ</strong>';
        }
        if (empty($companies_client)) {
            $formErrors[] = 'برجاء إختر العميل<strong>فارغ</strong>';
        }
        if (empty($id_employee_mang)) {
            $formErrors[] = 'لا يجب أن يكون إسم مدير الحركة  <strong>فارغ</strong>';
        }
        if (empty($arrival_date)) {
            $formErrors[] = 'لا يجب أن يكون تاريخ الوصول <strong>فارغ</strong>';
        }
        if ($_POST['client_selection'] === 'new') {
            if (empty($car_num)) {
                $formErrors[] = 'لا يجب أن يكون رقم السيارة <strong>فارغ</strong>';
            }
            if (empty($vehicle_capacity)) {
                $formErrors[] = 'لا يجب أن لا تكون سعة السيارة <strong>فارغة</strong>';
            }
        } else {
            if (empty($vehicles_id)) {
                $formErrors[] = 'برجاء قم بإختيار السيارة<strong>فارغة</strong>';
            }
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $con->beginTransaction();
                $new_NO_run = $reservationsManager->generateNoRunCommand();
                
                if ($_POST['client_selection'] != 'new' ) {
                    $car_num = getName('vehicles','ID',$vehicles_id, 'vehicle_plate_number');
                    $vehicle_capacity = getName('vehicles','ID',$vehicles_id, 'seating_capacity');
                }
                
                $lv1 = getName("cost_centers", "ID", $cost_centers_id, "cost_center_code");
                $new_cost_center_id = getNextCostCenterCode($con, $lv1, $cost_centers_id, $FileNumber);
                
                $id_addReservation = $reservationsManager->addRunCommand(
                    $date_run, 
                    $id_driver, 
                    $id_companies_transportation, 
                    $vehicles_id, 
                    $car_num, 
                    $location_now, 
                    $vehicle_capacity, 
                    $operation_statement, 
                    1, 
                    $companies_client, 
                    $id_employee_M, 
                    $number_individuals, 
                    $new_NO_run, 
                    $time_in, 
                    $time_out, 
                    $counter_doing, 
                    $counter_return, 
                    '', 
                    $id_employee_mang, 
                    $remarks, 
                    $sessionUser
                );
                $con->commit();
                if ($id_addReservation) {
                    $theMsg = "تمت إضافة الحجز بنجاح!";
                    redirectlink($theMsg, $url = "reservations?do=all_data_file&id=".$id_addReservation."", $name = "عرض الملفات", $seconds = 0);
                } else {
                    echo "حدث خطأ أثناء إضافة الحجز.";
                }
            } catch (PDOException $e) {
                $con->rollBack();
                echo "حدث خطأ أثناء إضافة الحجز: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'all_companies_transportation') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        ?>
        <h1 class="input-group-text text-center">إدارة شركات النقل السياحى</h1>
        <div class="row">
                <div class="form-group form-group-lg col-sm-1">
                </div>
                <div class="form-group form-group-lg col-sm-3">
                    <label></label>
                    <a href="?do=add" class="btn btn-warning form-control">
                        <i class="fa-solid fa-bus fa-xl"></i> إضافة شركة جديدة
                    </a>
                </div>
            </div>
        <br>
        <?php
        $ManagerAgent = new ManagerTransportation($con);
        $Agents = $ManagerAgent->getAll();
        $msgres = "لا توجد بيانات.";
        if (!empty($Agents)) {
            echo "<table class='main-table text-center table table-bordered'>";
            echo "<tr>
                <td>اسم الشركة</td>
                <td>رقم الهاتف</td>
                <td>البريد الإلكترونى</td>
                <td>العنوان</td>
                <td>Control</td>
            </tr>";
            foreach ($Agents as $reservation) {
                echo "<tr>
                    <td>{$reservation['name_companie']}</td>
                    <td>{$reservation['phone']}</td>
                    <td>{$reservation['email']}</td>
                    <td>{$reservation['address_companie']}</td>";
                if (checkadmin($_SESSION['admin'], 2, 2) == 2 || checkadmin($_SESSION['admin'], 1, 0) == 0 || checkadmin($_SESSION['admin'], 2, 1) == 1) {
                    echo "<td>
                    <a href='?do=all_data_hotel&id=" . $reservation['ID'] . "' class='btn btn-primary'><i class=\"fa-solid fa-gear\"></i></i></i> </a>
                </td>";
                }
                echo "</tr>";
                ?>
                <script>
                    function toggleDescription(button) {
                        var row = button.closest('tr');
                        var shortDescription = row.querySelector('.short-description');
                        var fullDescription = row.querySelector('.full-description');

                        if (shortDescription.style.display === 'none') {
                            shortDescription.style.display = 'inline';
                            fullDescription.style.display = 'none';
                            button.innerText = 'أكثر';
                        } else {
                            shortDescription.style.display = 'none';
                            fullDescription.style.display = 'inline';
                            button.innerText = 'أقل';
                        }
                    }
                </script>

                <?php
            }
            echo "</table>";
        } else {
            echo $msgres;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'all_data_agent') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        if (isset($_GET['id']) && is_numeric($_GET['id'])) {
            $car_id = $_GET['id'];
            $ManagerCars = new ManagerCars($con);
            $carDatas = $ManagerCars->getcarById($car_id);
            // $file_number = explode("/", $reservationDatas['file_number']);
            ?>
            <h1 class="input-group-text text-center">بيان تحليل ايراد السيارة <?php echo $carDatas['vehicle_model']; ?> رقم  : <?php echo $carDatas['vehicle_plate_number']; ?>
            </h1>
            <form action="?do=all_data_car&id=<?=$car_id?>" method="post">
                    <div class="row">
                        <div class="form-group form-group-lg col-sm-3">
                            <div class="col-sm-12">
                                <label for="start_date" class="control-label">من تاريخ:</label>
                                <input type="date" name="start_date" class="form-control" value="<?php echo $start_date_default; ?>"
                                    required>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-3">
                            <div class="col-sm-12">
                                <label for="end_date" class="control-label">الى تاريخ:</label>
                                <input type="date" name="end_date" class="form-control" value="<?php echo $end_date_default; ?>"
                                    required>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-1">
                            <div class="col-sm-12">
                                <label></label>
                                <button type="submit" class="btn btn-primary form-control" name="view_cars">بحث</button>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-1">
                            
                        </div>
                    </div>
                </form>
            <a href="?do=add_exp&id=<?=$car_id?>" class="btn btn-primary">
                <i class="fa fa-plus"></i> إضافة مصاريف
            </a>
            <a href="?do=add_rev&id=<?=$car_id?>" class="btn btn-primary">
                <i class="fa fa-plus"></i> أمر تشغيل جديد
            </a>
            <br>
            <?php
            if ($carDatas != null) {
                if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['view_cars'])) {
                    $start_date = $_POST['start_date'];
                    $end_date = $_POST['end_date'];
                    $carrevenues = $ManagerCars->getRecordsByIdCar($car_id, 5, $start_date, $end_date);
                    $carexpenses = $ManagerCars->getRecordsByIdCar($car_id, 4);
                } else {
                    /* $start_date = $start_date_default;
                    $end_date = $end_date_default; */
                    $carrevenues = $ManagerCars->getRecordsByIdCar($car_id, 5);
                    $carexpenses = $ManagerCars->getRecordsByIdCar($car_id, 4);
                }
                ?>
                <h1 class="input-group-text text-center">بيان تحليل ايراد السيارة
                </h1>
                <br>
                <?php
                echo "<table class='main-table text-center table table-bordered'>";
                echo "<tr>
                        <td>التاريخ</td>
                        <td>البيان</td>
                        <td>الشركة المستأجرة</td>
                        <td>اسم السائق</td>
                        <td>المبلغ</td>
                    </tr>";
                    $allrevamountUSD = 0;
                    foreach ($carrevenues as $carrevenue) {
                        $allrevamountUSD += $carrevenue['amountUSD'];
                        echo "<tr>
                            <td>{$carrevenue['date_operation']}</td>
                            <td>{$carrevenue['payan']}</td>
                            <td>{$carrevenue['id_operator']}</td>
                            <td>{$carrevenue['driver_name']}</td>
                            <td>\${$carrevenue['amountUSD']}</td>";
                        echo "</tr>";
                    }
                    $allrevamountUSD = (strpos($allrevamountUSD, '.') !== false) ? rtrim($allrevamountUSD, '0') : $allrevamountUSD . '.00';
                    echo "<tr>
                        <td>الإجمالى</td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>\${$allrevamountUSD}</td>";
                    echo "</tr>";
                echo "</table>";
                ?>
                <h1 class="input-group-text text-center">بيان مصاريف السيارة
            </h1>
            <br>
            <?php
                echo "<table class='main-table text-center table table-bordered'>";
                echo "<tr>
                        <td>التاريخ</td>
                        <td>البيان</td>
                        <td>البند</td>
                        <td>السائق</td>
                        <td>المبلغ</td>
                    </tr>";
                $allexpamountUSD = 0;
                foreach ($carexpenses as $carexpense) {
                    $allexpamountUSD += $carexpense['amountUSD'];
                    echo "<tr>
                        <td>{$carexpense['date_operation']}</td>
                        <td>{$carexpense['payan']}</td>
                        <td>{$carexpense['id_operator']}</td>
                        <td>{$carexpense['driver_name']}</td>
                        <td>\${$carexpense['amountUSD']}</td>";
                    echo "</tr>";
                }
                $allexpamountUSD = (strpos($allexpamountUSD, '.') !== false) ? rtrim($allexpamountUSD, '0') : $allexpamountUSD . '.00';
                echo "<tr>
                        <td>الإجمالى</td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>\${$allexpamountUSD}</td>";
                    echo "</tr>";
                echo "</table>";
            } else {
                // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
                echo "خطأ: لا يوجد سيارة بهذا الرقم.";
                exit;
            }
        } else {
            // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
            echo "خطأ: يجب تحديد رقم السيارة.";
            exit;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'all_drivers') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        ?>
        <h1 class="input-group-text text-center">عرض بيانات السيارات</h1>
        <form action="?do=all_file" method="post">
            <div class="row">
                
                <div class="form-group form-group-lg col-sm-1">
                </div>
                <div class="form-group form-group-lg col-sm-3">
                    <label></label>
                    <a href="?do=add" class="btn btn-warning form-control">
                        <i class="fa-solid fa-bus fa-xl"></i> إضافة سيارة جديد
                    </a>
                </div>
            </div>
        </form>
        <br>
        <?php
        $ManagerCars = new ManagerCars($con);
        
            $cars = $ManagerCars->getAll();
            $msgres = "No reservations found.";
        
        if (!empty($cars)) {
            echo "<table class='main-table text-center table table-bordered'>";
            echo "<tr>
                <td>اسم السيارة</td>
                <td>رقم السيارة</td>
                <td>سعة السيارة</td>
                <td>Control</td>
            </tr>";
            foreach ($cars as $car) {
                echo "<tr>
                    <td>{$car['vehicle_model']}</td>
                    <td>{$car['vehicle_plate_number']}</td>
                    <td>{$car['seating_capacity']} <i class='fa-solid fa-users-between-lines fa-xl'></i></td>";
                if ( checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
                    echo "<td>
                    <a href='?do=all_data_car&id=" . $car['ID'] . "' class='btn btn-primary'><i class=\"fa-solid fa-gear\"></i></i></i> </a>
                    <a href='?do=edit&id=" . $car['ID'] . "' class='btn btn-success'><i class=\"fa-solid fa-user-pen\"></i></i> </a>
                    <a href='?do=delete&id=" . $car['ID'] . "' class='btn btn-danger confirm'><i class='fa-solid fa-user-xmark'></i></i> </a>
                </td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        } else {
            echo $msgres;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'insert_in_car') {
    // معالجة إضافة الحجز الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        
    }
} elseif ($do === 'add_driver') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة سائق <i class="fa-solid fa-bus"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert_driver" method="post">
                        <div class="row">
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name_driver" class="form-control" placeholder="<?= $lang['name_driver'] ?>">
                                    <label for="name_driver" class="form-label"><?= $lang['name_driver'] ?></label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="num_driver" class="form-control" placeholder="رقم الرخصة ?>">
                                    <label for="num_driver" class="form-label">رقم الرخصة</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="phone" class="form-control" placeholder="رقم الهاتف">
                                    <label for="phone" class="form-label">رقم الهاتف</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="car_id" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM vehicles";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر السيارة</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                            echo "<option value='{$agent['ID']}'>{$agent['vehicle_model']} - {$agent['vehicle_plate_number']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="car_id" class="form-label">السيارة:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add_driver">Add Driver</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert_driver') {
    // معالجة إضافة السيارة الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_driver'])) {
        
        $ManagerCars = new ManagerCars($con);
        // استلام البيانات من الفورم
        $name_driver            = $_POST['name_driver'];
        $num_driver             = $_POST['num_driver'];
        $phone                  = $_POST['phone'];
        $car_id                 = $_POST['car_id'];
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name_driver)) {
            $formErrors[] = 'لا يجب أن يكون إسم السائق  <strong>فارغ</strong>';
        }
        if (empty($num_driver)) {
            $formErrors[] = 'لا يجب أن يكون رقم الرخصة <strong>فارغ</strong>';
        }
        if (empty($car_id)) {
            $formErrors[] = 'برجا إختر <strong>السيارة</strong>';
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $result = $ManagerCars->addDriver($name_driver, $num_driver, $phone, $car_id);

                if ($result) {
                    $theMsg = "تمت إضافة السائق بنجاح!";
                    redirectlink($theMsg, $url = "cars?do=all_drivers", $name = "عرض السائقين", $seconds = 0);
                } else {
                    echo "حدث خطأ أثناء إضافة السيارة.";
                }
            } catch (PDOException $e) {
                echo "حدث خطأ فى السيرفر أثناء إضافة السيارة: " . $e->getMessage();
            }
        }
    }
} else {
    $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    redirectHome($theMsg);
}

include $tpl . 'footer.php';
?>