<main class="common_margin" id="main">
        <div class="main-wrap">
            <div class="dashboard-cover">
                <div class="subsec_sec">
                    <div class="subject_l_new">
                        <div class="subject_lsec">
                            <a href="javascript:history.back()"><button class="btn btn-dark btn-sm">Back</button></a>
                            <div class="common-heading">
                                <h2>Issue Book</h2>
                            </div>
                            <?php if ($this->session->flashdata('success')) : ?>
                                <div class="alert alert-success"><strong>Success!</strong><?= $this->session->flashdata('success'); ?></div>
                            <?php endif; ?>

                            <?php if ($this->session->flashdata('failure')) : ?>
                                <div class="alert alert-danger"><strong>Failure!</strong><?= $this->session->flashdata('failure'); ?></div>
                            <?php endif; ?>
                            <form id="issuedBookForm">
                                <input type="hidden" id="divCount" value="1">
                                <input type="hidden" id="no_of_book_per_user" value="<?= $gSData['no_of_book_per_user']; ?>">
                                <div class="common-sub-heading">Student Details</div>
                                <div class="subject_lformarea book-form-area">
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="eu_id" id="eu_id" placeholder="Student ID" onkeyup="getEndUserData(this.value)" autocomplete="off">
                                        <p class="form_err" id="error-eu_unique_id"></p>
                                    </div>

                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="student_class" id="student_class" placeholder="Class" readonly>
                                        <p class="form_err" id="error-student_class"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="fname" id="fname" placeholder="First Name" readonly>
                                        <p class="form_err" id="error-fname"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="lname" id="lname" placeholder="Last Name" readonly>
                                        <p class="form_err" class="error-lname"></p>
                                    </div>
                                </div>
                                <div style="color:red;font-size: small;" id="alertMsg"></div>
                                <input type="hidden" id="rem_issued_book_cnt" value="" />
                                <input type="hidden" id="ttl_issue_book_cnt" value="" />
                                <div class="common-sub-heading" id="bookDetailDiv">Book Details</div>
                                <div class="subject_lformarea book-form-area" id="hidebookDiv1">
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="book_id" id="book_id1" placeholder="ISBN" onkeyup="getBookData(this.value, 1)">
                                        <p class="form_err" id="error-book_id"></p>
                                        <i class="fas fa-barcode"></i>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="title" id="title1" placeholder="Book Title" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="category" id="category1" placeholder="Category" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="author" id="author1" placeholder="Author" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="publisher" id="publisher1" placeholder="Publisher" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="number" class="form-control txtData" name="year" id="year1" placeholder="Year" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="ttl_pages" id="ttl_pages1" placeholder="Total Pages" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="text" class="form-control txtData" name="description" id="description1" placeholder="Description" readonly>
                                        <p class="form_err"></p>
                                    </div>
                                    <div class="form-group assign_subject">
                                        <select class="form-control txtData" name="book_health[]" id="book_health1">
                                            <option value="">Select Book Health</option>
                                            <option value="good">Good</option>
                                            <option value="average">Average</option>
                                            <option value="damaged">Damaged</option>
                                        </select>
                                        <p class="form_err" id="error-book_health"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="date" class="form-control txtData" name="issued_date[]" id="issued_date1" placeholder="Date of Issue" readonly>
                                        <p class="form_err" id="error-issued_date"></p>
                                    </div>
                                    <div class="form-group">
                                        <input type="date" class="form-control txtData" name="return_date[]" id="return_date1" placeholder="Date of Return" readonly>
                                        <p class="form_err" id="error-return_date"></p>
                                    </div>
                                </div>
                                <p class="form_err" id="error-existingBook1"></p>
                                <div class="addBookWrap">
                                    <button type="submit" id="button1" class="subject_addbtn add-btn-border" onclick="addMoreBook()">Add another book</button>
                                </div>
                                <div class="subject_lformarea book-form-area" id="moreBookDetailDiv"></div>
                            </form>
                        </div>
                    </div>
                    <div class="sibject_r_new">
                        <div class="dashboard-cover-wrap">
                            <form id="iBForm" method="POST">
                                <input type="hidden" name="name" value="1">
                                <input type="hidden" name="id" id="id" value="<?= $idVal; ?>">
                                <input type="hidden" name="eu_unique_id" id="eu_unique_id" value="">
                                <input type="hidden" name="issueddate" id="issueddate" value="">
                                <input type="hidden" name="returndate" id="returndate" value="">
                                <input type="hidden" name="bookhealth" id="bookhealth" value="">
                                <input type="hidden" name="ttlrows" id="ttlrows" value="">
                                <table id="tbl" class="display dataTable table-responsive">
                                    <thead>
                                        <tr>
                                            <th>Sl No.</th>
                                            <th>ISBN</th>
                                            <th>Title</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody id="contentBody"></tbody>
                                </table>
                                <div class="issue_book_btn">
                                    <button type="submit" class="subject_addbtn" onclick="saveData()">Issue Book</button>
                                </div>
                                <p style="color:red;" id="error-msg"></p>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </main>
    <!--End right-top side-->
    </div>
    <script defer src="<?= base_url(); ?>assets-lms/js/bootstrap-select.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 getEndUserData(eu_id) {
            $.ajax({
                type: 'post',
                url: '<?= base_url(); ?>LmsAdmin/getStudentDataById',
                data: {
                    'id': eu_id
                },
                success: function(result) {
                    var obj = JSON.parse(result);
                    var stdname = obj.name.split(" ");
                    var rembook = (obj.ttl_issued_book_cnt) - (obj.eu_issued_book_cnt);
                    var html = "You have already issued " + obj.eu_issued_book_cnt + " book out of " + obj.ttl_issued_book_cnt + " books, remaining you can issue " + rembook + " book to this user.";
                    $('#student_class').val(obj.class_name);
                    $('#fname').val(stdname[0]);
                    $('#lname').val(stdname[1]);
                    $('#rem_issued_book_cnt').val(rembook);
                    $('#ttl_issue_book_cnt').val(obj.ttl_issued_book_cnt);
                    $('#alertMsg').text(html);
                }
            });
        }

        function getBookData(isbn, ref) {
            var tableName = 'lms_books';
            $.ajax({
                type: 'post',
                url: '<?= base_url(); ?>LmsAdmin/getDataById',
                data: {
                    'id': isbn,
                    'tableName': tableName
                },
                success: function(result) {
                    var obj = JSON.parse(result);
                    //issed_for = obj.lending_days;
                    //issed_date = getTodayDate();
                    //return_date = getreturndate(issed_for);

                    var crrDateObj = NepaliFunctions.GetCurrentBsDate();
                    issed_date = crrDateObj.year + '-' + NepaliFunctions.Get2DigitNo(crrDateObj.month) + '-' + NepaliFunctions.Get2DigitNo(crrDateObj.day);

                    retDateObj = NepaliFunctions.BsAddDays(crrDateObj, Number(obj.lending_days));
                    return_date = retDateObj.year + '-' + NepaliFunctions.Get2DigitNo(retDateObj.month) + '-' + NepaliFunctions.Get2DigitNo(retDateObj.day);

                    $('#title' + ref).val(obj.title);
                    $('#category' + ref).val(obj.category_name);
                    $('#author' + ref).val(obj.author);
                    $('#publisher' + ref).val(obj.publisher);
                    $('#year' + ref).val(obj.published_year);
                    $('#ttl_pages' + ref).val(obj.total_no_of_pages);
                    $('#description' + ref).val(obj.description);
                    $('#issued_date' + ref).val(issed_date);
                    $('#return_date' + ref).val(return_date);
                }
            });
        }

        function getTodayDate() {
            var today = new Date();
            var dd = String(today.getDate()).padStart(2, '0');
            var mm = String(today.getMonth() + 1).padStart(2, '0');
            var yyyy = today.getFullYear();

            today = yyyy + '-' + mm + '-' + dd;
            return today;
        }

        function getreturndate(issed_for) {
            var today = new Date();
            var newDate = addDays(today, issed_for);
            if (issed_for == 0) {
                var dd = String(today.getDate()).padStart(2, '0');
                var mm = String(today.getMonth() + 1).padStart(2, '0');
                var yyyy = today.getFullYear();
            } else if (issed_for > 0) {
                var dd = String(newDate.getDate()).padStart(2, '0');
                var mm = String(newDate.getMonth() + 1).padStart(2, '0');
                var yyyy = newDate.getFullYear();
            }

            today = yyyy + '-' + mm + '-' + dd;
            return today;
        }

        function addDays(theDate, days) {
            return new Date(theDate.getTime() + days * 24 * 60 * 60 * 1000);
        }
    </script>
    <script>
        function addMoreBook() {
            $("#issuedBookForm").validate({
                errorClass: 'error',
                rules: {
                    eu_id: {
                        required: true
                    },
                    book_id: {
                        required: true
                    },
                    book_health: {
                        required: {
                            depends: function(element) {
                                return $("#book_health").val() == '';
                            }
                        }
                    }
                },
                messages: {
                    eu_id: {
                        required: "Student Id is required"
                    },
                    book_id: {
                        required: "ISBN is required"
                    },
                    book_health: {
                        required: "Book Health is required"
                    }
                },
                errorPlacement: function(error, element) {
                    if (element.attr("name") == "eu_id") {
                        error.appendTo($("#error-eu_unique_id"));
                    } else if (element.attr("name") == "book_id") {
                        error.appendTo($("#error-book_id"));
                    } else if (element.attr("name") == "book_health") {
                        error.appendTo($("#error-book_health"));
                    } else {
                        error.appendTo(element);
                    }
                },
                submitHandler: function(form) {
                    var dcnts = $('#divCount').val();
                    var bookIsbn = $('#book_id' + dcnts).val();
                    $.ajax({
                        type: 'post',
                        url: '<?= base_url(); ?>LmsAdmin/checkExistingBook',
                        data: {
                            'isbn': bookIsbn
                        },
                        success: function(result) {
                            if (result == 0) {
                                $('#error-existingBook' + dcnts).text('The book is out of stock');
                            }
                            if (result == 1) {
                                $('#error-existingBook' + dcnts).html('');

                                var rem_issue_book = $('#rem_issued_book_cnt').val();
                                var ttl_issue_book = $('#ttl_issue_book_cnt').val();
                                var ttlrows = $('#contentBody tr').length;
                                $('#ttlrows').val(ttlrows);
                                var rowCount = $('#tbl tr').length;
                                if (rowCount <= ttl_issue_book) {
                                    var eu_id = $('#eu_id').val();
                                    var iDate = $("input[name='issued_date[]']").map(function() {
                                        return $(this).val();
                                    }).get();
                                    var rDate = $("input[name='return_date[]']").map(function() {
                                        return $(this).val();
                                    }).get();
                                    var bhealth = [];
                                    $('select[name="book_health[]"] option:selected').each(function() {
                                        bhealth.push($(this).val());
                                    });
                                    $('#eu_unique_id').val(eu_id);
                                    $('#issueddate').val(iDate);
                                    $('#returndate').val(rDate);
                                    $('#bookhealth').val(bhealth);

                                    var dcnt = $('#divCount').val();
                                    var incval = Number(dcnt) + 1;
                                    $('#divCount').val(incval);

                                    var nobpu = Number($('#no_of_book_per_user').val());
                                    if (dcnt == 1) {
                                        var extval = dcnt;
                                    } else {
                                        var extvals = $('#divCount').val();
                                        extval = extvals - 1;
                                    }
                                    var isbn = $('#book_id' + extval).val();
                                    var title = $('#title' + extval).val();

                                    htmll = '<tr id="rowcnt' + extval + '"><td><span class="text-center">' + extval + '</span></td><td>' + isbn + '</td><input type="hidden" name="isbn[]" id="isbn" value="' + isbn + '"><td>' + title + '</td><input type="hidden" name="title[]" id="title" value="' + title + '"><td><div class="sub_tabbtnsec"><div class="sub_delbtn"><i class="fa fa-trash" aria-hidden="true"></i></div></div></td></tr>';
                                    $('#contentBody').append(htmll);

                                    $('#button' + extval).hide();

                                    var thestring = '#hidebookDiv' + incval;
                                    var thenum = thestring.replace(/^\D+/g, '');
                                    if (thenum >= dcnt) {
                                        $('#hidebookDiv' + dcnt).hide();
                                    }

                                    if (extval <= nobpu) {

                                        var html = '<div class="subject_lformarea book-form-area morediv" id="hidebookDiv' + incval + '"><div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="book_id" id="book_id' + incval + '"  placeholder="ISBN" onkeyup="getBookData(this.value, ' + incval + ')" autocomplete="off">';
                                        html += '<p class="form_err" id="error-book_id"></p>';
                                        html += '<i class="fas fa-barcode"></i>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="title" id="title' + incval + '" placeholder="Book Title" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="category" id="category' + incval + '" placeholder="Category" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="author" id="author' + incval + '" placeholder="Author" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="publisher" id="publisher' + incval + '" placeholder="Publisher" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="number" class="form-control txtData" name="year" id="year' + incval + '" placeholder="Year" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="ttl_pages" id="ttl_pages' + incval + '" placeholder="Total Pages" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="text" class="form-control txtData" name="description" id="description' + incval + '" placeholder="Description" readonly>';
                                        html += '<p class="form_err"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group assign_subject">';
                                        html += '<select class="form-control txtData" name="book_health[]" id="book_health' + incval + '">';
                                        html += '<option value="">Select Book Health</option>';
                                        html += '<option value="good">Good</option>';
                                        html += '<option value="average">Average</option>';
                                        html += '<option value="damaged">Damaged</option>';
                                        html += '</select><p class="form_err" id="error-book_health"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="date" class="form-control txtData" name="issued_date[]" id="issued_date' + incval + '" placeholder="Date of Issue" readonly>';
                                        html += '<p class="form_err" id="error-issued_date"></p>';
                                        html += '</div>';
                                        html += '<div class="form-group">';
                                        html += '<input type="date" class="form-control txtData" name="return_date[]" id="return_date' + incval + '" placeholder="Date of Return" readonly>';
                                        html += '<p class="form_err" id="error-return_date"></p>';
                                        html += '</div></div><p class="form_err" id="error-existingBook' + incval + '" ></p>';
                                        html += '<div class="addBookWrap">';
                                        html += '<button type="submit" id="button' + incval + '" class="subject_addbtn add-btn-border" onclick="addMoreBook()">Add another book</button>';
                                        html += '</div>';
                                        $('#moreBookDetailDiv').append(html);
                                    }
                                } else {
                                    if (rem_issue_book == 0) {
                                        $('#error-existingBook' + dcnts).text('You can not issue book for this user.');
                                    } else {
                                        $('#error-existingBook' + dcnts).text('You can issue only ' + rem_issue_book + ' book for this user.');
                                    }
                                }
                            }
                        }
                    });
                }
            });
        }
    </script>
    <script>
        $("#tbl").on('click', '.sub_delbtn', function() {
            $(this).closest('tr').remove();
        });

        function saveData() {
            var formdata = new FormData(form);
            var eu_id = $()
            var id = $('#id').val();
            $.ajax({
                type: 'post',
                url: '<?= base_url(); ?>LmsAdmin/add_edit_issue_book/' + id,
                data: formdata,
                cache: false,
                contentType: false,
                processData: false,
                success: function(result) {
                    alert(result);
                }
            });
        }
    </script>
    </body>

    </html>