<?php
include "pin/header.php";
include "pin/sidenav.php";

$user_id = $_SESSION['user_id'];
$emp_id = $_SESSION['emp_id'];
$user_role = $_SESSION['user_role'];

$edit_id = mysqli_real_escape_string($db, base64_decode($_GET['edit']));
$edit = mysqli_fetch_assoc(mysqli_query($db, "SELECT * FROM `internship_letter` WHERE `id`='$edit_id' "));

?>


<!-- ============================================================== -->
<!-- Start Page Content here -->
<!-- ============================================================== -->

<div class="content-page">
    <div class="content">
        <div class="container-fluid">
            <div class="mt-5"></div>

            <div class="row">
                <div class="col-lg-12">
                    <form id="form_submit" class="parsley-examples">
                        <h4 class="header-title mt-1 mb-4">Internship Letter</h4>

                        <div class="card">
                            <div class="card-body p-4">
                                <h4 class="header-title mt-1 mb-4">Employee Details</h4>

                                <div class="row">

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label class="form-label" for="employee_id">Employee Id</label>
                                            <select required id="employee_id" name="employee_id" data-tags="true" data-plugin="customselect" class="form-control custom-select-picker-ajax" data-search="employees" data-param="<?php echo htmlspecialchars(json_encode(['default'=>$edit['employee_id'], 'current_page'=>$currentPageName])); ?>" data-placeholder="Select user">
                                                <option></option>
                                            </select>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="name">User Name<span class="text-danger">*</span></label>
                                            <input type="text" name="name" required placeholder="Enter User name" class="form-control" id="name" value="">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="email">Email</label>
                                            <input type="text" name="email" placeholder="Enter user email" class="form-control" id="email" value="">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="phone">Phone</label>
                                            <input type="text" name="phone" placeholder="Enter user phone" class="form-control" id="phone" value="">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="joiningDate">Joining Date<span class="text-danger">*</span></label>
                                            <input type="date" name="joiningDate" required class="form-control" id="joiningDate" value="">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="probationDate">Probation Date</label>
                                            <input type="date" name="probationDate" class="form-control" id="probationDate" value="">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="noticePeriod">Notice Period (In Days)<span class="text-danger">*</span></label>
                                            <input type="text" name="noticePeriod" pattern="[0-9]+" data-parsley-type="number" required placeholder="Enter Notice Period" class="form-control" id="noticePeriod" value="">
                                        </div>
                                    </div>


                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="department">Department<span class="text-danger">*</span></label>
                                            <select data-plugin="customselect" name="department" class="form-control custom-select-picker-ajax" data-search="departments" data-param="<?php echo htmlspecialchars(json_encode(['default'=>'', 'current_page'=>$currentPageName])); ?>" data-placeholder="Select Department" id="department" required>
                                                <option></option>
                                            </select>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="designation">Designation<span class="text-danger">*</span></label>
                                            <select data-plugin="customselect" name="designation" class="form-control custom-select-picker-ajax" data-search="designations" data-param="<?php echo htmlspecialchars(json_encode(['default'=>'', 'current_page'=>$currentPageName])); ?>" data-placeholder="Select Designation" id="designation" required>
                                                <option></option>
                                            </select>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label>Role<span class="text-danger">*</span></label>
                                            <select data-plugin="customselect" id="user_role" name="user_role" class="form-control custom-select-picker" data-placeholder="Select Role" required>
                                                <option></option>
                                                <?php if ($user_role == 0) { ?>
                                                    <option value="0">Boss</option>
                                                    <option value="1">Manager</option>
                                                <?php } ?>
                                                <option value="2">Employee</option>
                                            </select>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label>Leader<span class="text-danger">*</span></label>
                                            <select data-plugin="customselect" name="leader" id="leader" class="form-control custom-select-picker-ajax" data-search="managers" data-param="<?php echo htmlspecialchars(json_encode(['default'=>'', 'current_page'=>$currentPageName])); ?>" data-placeholder="Select Leader" required>
                                                <option></option>
                                            </select>
                                        </div>
                                    </div>

                                </div>

                            </div>
                        </div>


                        <div class="card">
                            <div class="card-body p-4">

                                <div class="row">

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="issueDate">Issue Date<span class="text-danger">*</span></label>
                                            <input type="date" name="issueDate" class="form-control" id="issueDate" required value="<?php echo (isset($edit['issue_date']) ? ((!empty($edit['issue_date'])) ? date("Y-m-d", strtotime($edit['issue_date'])) : '') : ''); ?>">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="domain">Domain<span class="text-danger">*</span></label>
                                            <input type="text" name="domain" required placeholder="Enter Domain" class="form-control" id="domain" value="<?php echo $edit['domain']; ?>">
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label for="duration">Duration<span class="text-danger">*</span></label>
                                            <div class="d-flex gap-2">
                                                <input type="date" name="durationStart" class="form-control" id="durationStart" required value="<?php echo (isset($edit['duration_start']) ? ((!empty($edit['duration_start'])) ? date("Y-m-d", strtotime($edit['duration_start'])) : '') : ''); ?>">
                                                <input type="date" name="durationEnd" required class="form-control" id="durationEnd" value="<?php echo (isset($edit['duration_end']) ? ((!empty($edit['duration_end'])) ? date("Y-m-d", strtotime($edit['duration_end'])) : '') : ''); ?>">
                                            </div>
                                        </div>
                                    </div>

                                    <div class="col-md-12">
                                        <div class="form-group">
                                            <label for="stipend">Stipend (&#8377;)<span class="text-danger">*</span></label>
                                            <textarea name="stipend" id="stipend"><?php echo $edit['stipend']; ?></textarea>
                                        </div>
                                    </div>

                                </div>

                                <?php if (isset($edit['id'])) { ?>
                                    <input type="hidden" name="editInternId" value="<?php echo $edit['id']; ?>">
                                    <input class="btn btn-primary mr-1" name="updateIntern" id="updateIntern" type="hidden">
                                <?php } else { ?>
                                    <input class="btn btn-primary mr-1" name="addIntern" id="addIntern" type="hidden">
                                <?php } ?>

                                <div class="form-group text-right mb-0 mt-4">
                                    <?php if (isset($edit['id'])) { ?>
                                        <button class="btn btn-primary mr-1" name="updateIntern" id="updateIntern" type="submit">Update Intern</button>
                                    <?php } else { ?>
                                        <button class="btn btn-primary mr-1" name="addIntern" id="addIntern" type="submit">Add Intern</button>
                                    <?php } ?>
                                </div>

                            </div>
                        </div>
                    </form>
                </div>
                <!-- end col -->

            </div>
            <!-- end row -->

        </div>
    </div> <!-- content -->

</div>

<!-- ============================================================== -->
<!-- End Page content -->
<!-- ============================================================== -->



<?php
include "pin/footer.php";
?>
<script src="https://cdn.ckeditor.com/4.21.0/standard/ckeditor.js"></script>
<script>
    CKEDITOR.replace('stipend');
</script>
<script>

    $('#employee_id').change(function() {
        let emp_id = $(this).val();
        if (emp_id) {
            $.ajax({
                url: 'fun/letters_backend',
                type: 'POST',
                data: { fetch_employee: emp_id, letter_name:'internship_letter' },
                dataType: 'json',
                success: function(res) {
                    // console.log(res);
                    if (res.status === 200) {
                        if(res.user_data){
                            $('#name').val(res.user_data.name);
                            $('#email').val(res.user_data.email);
                            $('#phone').val(res.user_data.phone);
                            $('#joiningDate').val(res.user_data.joining_date);
                            $('#probationDate').val(res.user_data.probation_date);
                            $('#noticePeriod').val(res.user_data.notice_period);
                            $('#department').val(res.user_data.department).trigger('change');
                            $('#designation').val(res.user_data.designation).trigger('change');
                            $('#user_role').val(res.user_data.role).trigger('change');
                            $('#leader').val(res.user_data.leader).trigger('change');
                        }

                    } else {
                        failedMessage(res.message, '<?php echo $_SESSION['user_name']; ?>');
                        // clear employee_id
                        $('#employee_id').val('').trigger('change');
                    }
                },
                error: function(xhr, status, error) {
                    console.log(`Error: ${JSON.stringify(error)}`);
                }
            });
        }
    });

    function hasEmptyFields(form) {
        // Get all input elements within the form
        const inputs = form.querySelectorAll('input, select, textarea');

        // Check if any input is empty or null
        return Array.from(inputs).some(input => {
            // console.log(input.required, input.value.trim(), input.id);
            return input.required && input.value.trim() === ''
        });
    }

    $('#form_submit').submit(function(e) {
        e.preventDefault();
        let form = document.getElementById('form_submit');
        // let form_data = new FormData(form);
        let form_data = $('#form_submit').serialize();
        var stipend = CKEDITOR.instances['stipend'].getData();
        form_data = form_data.replace(/(^|&)(stipend=[^&]*)/g, '&stipend=' + encodeURIComponent(stipend));
        // console.log(form_data);

        if (hasEmptyFields(form)) {
            failedMessage('Please, Fill all the Fields.', '<?php echo $_SESSION['user_name']; ?>');
            return false;
        }
        $.ajax({
            url: 'fun/letters_backend',
            type: 'POST',
            data: form_data,
            dataType: 'json',
            success: function(res) {
                // console.log(res);
                if (res.status === 200) {
                    successMessage(res.message, '<?php echo $_SESSION['user_name']; ?>');
                    setTimeout(() => {
                        location.href = 'all_letters';
                    }, 2000);
                } else {
                    failedMessage(res.message, '<?php echo $_SESSION['user_name']; ?>');
                }
            },
            error: function(xhr, status, error) {
                console.log(`Error: ${JSON.stringify(error)}`);
            }
        });
    });
</script>