<main class="common_margin" id="main">
    <div class="main-wrap">
        <div class="dashboard-cover">
            <div class="subsec_sec">
                <div class="subject_r">
                    <div class="subject_lsec">
                        <a href="javascript:history.back()"><button class="btn btn-dark btn-sm">Back</button></a>
                        <div class="common-heading">
                            <h2><?= $title; ?></h2>
                        </div>

                        <div class="alert alert-success" id="success" style="display:none;">
                            <?php if ($idVal == 0) { ?>
                                <strong>Success!</strong> The new book added successfully.
                            <?php } else { ?>
                                <strong>Success!</strong> The book data updated successfully.
                            <?php } ?>
                        </div>

                        <?php
                        $isbn = '';
                        $book_code = '';
                        $title = '';
                        $author = '';
                        $publisher = '';
                        $published_year = '';
                        $price = '';
                        $total_no_of_pages = '';
                        $total_quantity = '';
                        $rack_no = '';
                        $description = '';
                        $can_be_issued_for = '';
                        $fine_per_day = 0;
                        $cat_id = '';
                        $cat_na = '';
                        if (isset($details) && !empty($details)) {
                            $isbn = $details['isbn'];
                            $book_code = $details['book_code'];
                            $title = $details['title'];
                            $author = $details['author'];
                            $publisher = $details['publisher'];
                            $published_year = $details['published_year'];
                            $price = (int)$details['price'];
                            $total_no_of_pages = $details['total_no_of_pages'];
                            $total_quantity = $details['total_quantity'];
                            $rack_no = $details['rack_no'];
                            $description = $details['description'];
                            $can_be_issued_for = $details['can_be_issued_for'];

                            $category_id = $details['category_id'];
                            $data = $this->db->get_where('lms_categories', ['id' => $category_id])->row();
                            if (!empty($data)) {
                                $cat_id = $data->id;
                                $cat_name = $data->name;
                            }
                        }
                        if (isset($gSData) && !empty($gSData) && ($idVal == 0)) {
                            $fine_per_day = $gSData['due_fee_per_day'];
                        }
                        ?>
                        <div class="common-sub-heading">Book Details</div>
                        <form id="bookForm" method="POST">
                            <input type="hidden" id="id" name="id" value="<?= $idVal; ?>" />
                            <input type="hidden" name="fine_per_day" value="<?= $fine_per_day; ?>">
                            <div class="subject_lformarea book-form-area">
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="ISBN*" name="isbn" id="isbn" autocomplete="off" value="<?= $isbn; ?>">
                                    <i class="fas fa-barcode"></i>
                                    <p class="form_err" id="error-isbn"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Book Code" name="book_code" id="book_code" autocomplete="off" value="<?= $book_code; ?>">
                                    <i class="fas fa-barcode"></i>
                                    <p class="form_err" id="error-isbn"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Book Title*" name="title" id="title" autocomplete="off" value="<?= $title; ?>">
                                    <p class="form_err" id="error-title"></p>
                                </div>
                                <div class="form-group assign_subject">
                                    <select class="form-control txtData" name="category_id" id="category_id">
                                        <?php if (!empty($data)) { ?>
                                            <option value="<?= $cat_id; ?>" selected disabled><?= $cat_name; ?></option>
                                        <?php } else { ?>
                                            <option value="">Select Category*</option>
                                        <?php } ?>

                                        <?php if (isset($categoryData) && !empty($categoryData)) {
                                            foreach ($categoryData as $cData) { ?>
                                                <option value="<?= $cData['id']; ?>"><?= $cData['name']; ?></option>
                                        <?php }
                                        } ?>
                                    </select>
                                    <p class="form_err" id="error-category_id"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Author" name="author" id="author" autocomplete="off" value="<?= $author; ?>">
                                    <p class="form_err" id="error-author"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Publisher" name="publisher" id="publisher" autocomplete="off" value="<?= $publisher; ?>">
                                    <p class="form_err" id="error-publisher"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Year" name="published_year" id="published_year" autocomplete="off" value="<?= $published_year; ?>">
                                    <p class="form_err" id="error-year"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Total Pages" name="total_no_of_pages" id="total_no_of_pages" autocomplete="off" value="<?= $total_no_of_pages; ?>">
                                    <p class="form_err" id="error-ttl_page"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Total Quantity*" name="total_quantity" id="total_quantity" autocomplete="off" value="<?= $total_quantity; ?>">
                                    <p class="form_err" id="error-ttl_qty"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Rack no" name="rack_no" id="rack_no" autocomplete="off" value="<?= $rack_no; ?>">
                                    <p class="form_err" id="error-rack_no"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Price" name="price" id="price" autocomplete="off" value="<?= $price; ?>">
                                    <p class="form_err" id="error-price"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control txtData" placeholder="Description" name="description" id="description" autocomplete="off" value="<?= $description; ?>">
                                    <p class="form_err" id="error-description"></p>
                                </div>
                                <div class="form-group">
                                    <div class="form-inner-div">
                                        <input type="checkbox" id="overwriteDays" <?php if ($can_be_issued_for != 0) {
                                                                                        echo 'checked';
                                                                                    } else {
                                                                                        echo '';
                                                                                    } ?> onclick="check()" /><label>Overwrite default lending days</label>
                                        <input type="number" step="1" min="0" class="form-control txtData" name="can_be_issued_for" id="can_be_issued_for" value="<?= $can_be_issued_for; ?>" autocomplete="off" />
                                    </div>
                                    <p class="form_err" id="error-lending_days"></p>
                                </div>
                            </div>
                            <button type="submit" class="subject_addbtn"><?= $button; ?></button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</main>
<!--End right-top side-->
</div>

<!-- <script src="assets/js/jquery-3.2.1.slim.min.js"></script> -->
<script src="<?= base_url(); ?>assets-lms/js/jquery-3.4.1.min.js"></script>
<script src="<?= base_url(); ?>assets-lms/js/jquery.validate.js"></script>
<script src="<?= base_url(); ?>assets-lms/js/additional-methods.js"></script>
<script src="<?= base_url(); ?>assets-lms/js/bootstrap.min.js"></script>
<script src="<?= base_url(); ?>assets-lms/js/popper.min.js"></script>

<script defer src="<?= base_url(); ?>assets-lms/js/all.js"></script>
<script defer src="<?= base_url(); ?>assets-lms/js/main.js"></script>
<script src="<?= base_url(); ?>assets-lms/owl-carousel/js/owl.carousel.min.js"></script>
<script>
    $(document).ready(function() {
        $('.user-drpdown').click(function() {
            $('.drpdown-items').toggle();
        });
    });


    //table js
    $('#tbl').DataTable({
        "lengthMenu": [
            [5, 10, 25, 50, -1],
            [5, 10, 25, 50, "All"]
        ]
    });
    //table js end
    //multiple select js start
    $('select').selectpicker();
    //multiple select js end
</script>
<script>
    function check() {
        var id = $('#id').val();
        if ($("#overwriteDays").is(":checked")) {
            $('#error-lending_days').text('Please enter lending days');
        } else {
            if (id > 0) {
                $('#can_be_issued_for').val('');
            } else {
                $('#can_be_issued_for').val('');
            }
            $('#error-lending_days').html('');
        }
    }
</script>
<script>
    $.validator.addMethod("nameRegex", function(value, element) {
        return this.optional(element) || /^[a-zA-Z0-9\s]*$/.test(value);
    }, "Contain only letters.");

    $("#bookForm").validate({
        errorClass: 'error',
        rules: {
            isbn: {
                required: true,
                minlength: 10,
                maxlength: 13,
                digits: true,
                alphanumeric: true
            },
            title: {
                required: true,
                minlength: 3,
                nameRegex: true
            },
            category_id: {
                required: {
                    depends: function(element) {
                        return $("#category_id").val() == '';
                    }
                }
            },
            author: {
                nameRegex: true,
            },
            publisher: {
                nameRegex: true
            },
            published_year: {
                minlength: 4,
                maxlength: 4,
                digits: true
            },
            total_no_of_pages: {
                digits: true,
                alphanumeric: true
            },
            total_quantity: {
                required: true,
                digits: true,
                alphanumeric: true
            },
            rack_no: {
                alphanumeric: true
            },
            price: {
                number: true,
                alphanumeric: true
            },
            can_be_issued_for: {
                min: 0
            }

        },
        messages: {
            isbn: {
                required: "ISBN is required",
                minlength: "At least 10 characters long",
                maxlength: "Should not exceed 13 characters",
                digits: "Accepts only integer",
                alphanumeric: "Special character not allowed"
            },
            title: {
                required: "Title is required",
                minlength: "At least 3 characters long",
                nameRegex: "Contains only characters"
            },
            category_id: {
                required: "category is required"
            },
            author: {
                nameRegex: "Contains only characters"
            },
            publisher: {
                nameRegex: "Contains only characters"
            },
            published_year: {
                minlength: "At least 4 characters long",
                maxlength: "Should not exceed 4 characters",
                digits: "Accepts only integer"
            },
            total_no_of_pages: {
                digits: "Accepts only integer",
                alphanumeric: "Special character not allowed"
            },
            total_quantity: {
                required: "Total quantity is required",
                digits: "Accepts only integer",
                alphanumeric: "Special character not allowed"
            },
            rack_no: {
                alphanumeric: "Special character not allowed"
            },
            price: {
                number: "Accepts only integer",
                alphanumeric: "Special character not allowed"
            },
            can_be_issued_for: {
                min: "Value must be greater than 0"
            }
        },
        errorPlacement: function(error, element) {
            if (element.attr("name") == "isbn") {
                error.appendTo($("#error-isbn"));
            } else if (element.attr("name") == "title") {
                error.appendTo($("#error-title"));
            } else if (element.attr("name") == "category_id") {
                error.appendTo($("#error-category_id"));
            } else if (element.attr("name") == "author") {
                error.appendTo($("#error-author"));
            } else if (element.attr("name") == "publisher") {
                error.appendTo($("#error-publisher"));
            } else if (element.attr("name") == "published_year") {
                error.appendTo($("#error-year"));
            } else if (element.attr("name") == "total_no_of_pages") {
                error.appendTo($("#error-ttl_page"));
            } else if (element.attr("name") == "total_quantity") {
                error.appendTo($("#error-ttl_qty"));
            } else if (element.attr("name") == "rack_no") {
                error.appendTo($("#error-rack_no"));
            } else if (element.attr("name") == "price") {
                error.appendTo($("#error-price"));
            } else if (element.attr("name") == "can_be_issued_for") {
                error.appendTo($("#error-lending_days"));
            } else {
                error.appendTo(element);
            }
        },
        submitHandler: function(form) {
            var formdata = new FormData(form);
            var id = $('#id').val();
            $.ajax({
                type: 'post',
                url: '<?= base_url(); ?>LmsAdmin/add_edit_book/' + id,
                data: formdata,
                cache: false,
                contentType: false,
                processData: false,
                success: function(result) {
                    $('#error-isbn').html('');
                    if (result == 0) {
                        $("#error-ttl_qty").html('');
                        $('#error-isbn').text('Already exists book.');
                    } else if (result == 1) {
                        $('.txtData').val('');
                        $("#error-ttl_qty").html('');
                        $('#error-lending_days').html('');
                        $("#overwriteDays").prop('checked', false);
                        $('#success').show();
                        setTimeout(() => {
                            location.reload();
                        }, 2000);
                    } else {
                        var qtyVals = result.split('_');
                        var issuedQty = qtyVals[0];
                        var remQty = qtyVals[1];
                        $("#error-ttl_qty").text('Total quantity is having remaining and issued quantity respectively    (' + remQty + '+' + issuedQty + '). if u want to edit enter greater than total value.');
                    }
                }
            });
        }
    });
</script>
</body>

</html>