<!-- <style>
    :root {
        --contra: #cfbdec;
        --payment: #6f42c1;
        --receipt: #e83e8c;
        --journal: #dc3545;
        --sales: #fd7e14;
        --creditnote: #ffc107;
        --purchase: #28a745;
        --debitnote: #20c997;
        --reversing: #17a2b8;
        .border0 {
            border: 0;
        }
    }
    fieldset {
        padding-bottom: 0 !important;
    }
    table {
        margin-bottom: 0 !important;
    }
    .card-body.p-0 .table tbody>tr>td:first-of-type, .card-body.p-0 .table tbody>tr>th:first-of-type, .card-body.p-0 .table tfoot>tr>td:first-of-type, .card-body.p-0 .table tfoot>tr>th:first-of-type, .card-body.p-0 .table thead>tr>td:first-of-type, .card-body.p-0 .table thead>tr>th:first-of-type {
    padding-left: .5rem;
}
    .form-control1 {
        display: block;
        width: 100%;
        height: calc(1.80rem + 2px);
        padding: .375rem .75rem;
        font-size: .9rem;
        font-weight: 400;
        line-height: 1.5;
        color: #495057;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        box-shadow: inset 0 0 0 transparent;
        transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
        text-align: right;
    }
    .select2-container .select2-selection--single {
        height: calc(1.80rem + 2px);
    }
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: #444;
        line-height: 18px
    }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
        margin-top: 0px !important;
    }
</style> -->
<style>
    .form-group {
    margin-bottom: .5rem;
}
    .form-control {
        display: block;
        width: 100%;
        height: calc(1.80rem + 2px);
        padding: .375rem .75rem;
        font-size: .9rem;
        font-weight: 400;
        line-height: 1.5;
        color: #495057;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        box-shadow: inset 0 0 0 transparent;
        transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
        text-align: right;
    }

    .custom-file-input {
        position: relative;
        z-index: 2;
        width: 100%;
        height: calc(1.80rem + 2px);
        margin: 0;
        overflow: hidden;
        opacity: 0;
    }

    .custom-file-label {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1;
        height: calc(1.80rem + 2px);
        padding: .350rem .75rem;
        overflow: hidden;
        font-weight: 400;
        line-height: 1.5;
        color: #495057;
        background-color: #fff;
        border: 1px solid #ced4da;
        border-radius: .25rem;
        box-shadow: none;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        padding-left: 0;
        /* height: auto; */
        height: calc(1.80rem + 2px) !important;
        margin-top: -3px;
    }

    .select2-container .select2-selection--single {
        height: 30px;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: #444;
        line-height: 20px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow b {
        margin-top: 0 !important;
    }
</style>
<div class="content-wrapper">
    <div class="content-header">
        <div class="container-fluid">
            <div class="row mb-2">
                <div class="col-sm-6">
                    <h1 class="m-0"></h1>
                </div>
            </div>
        </div>
    </div>
    <div class="content">
        <div class="container-fluid">
            <div class="row">
                <div class="col">
                    <div class="card card-primary card-outline">
                        <!-- <div class="card-header" style="background-color: <?php echo $VoucherType->voucher_color; ?>;">
                            <h5 class="m-0">
                                <?php //echo $pageTitle; 
                                ?>  
                                <a href="<?php //echo site_url("accounts/vouchers/listvouchers"); 
                                            ?>" class="btn btn-sm btn-warning float-right"><i class="nav-icon fas fa-times"></i> Cancel <?php //echo $pageTitle; 
                                                                                                                                        ?></a></h5>
                        </div> -->
                        <div class="card-body" style="background-color: <?php echo $VoucherType->voucher_color; ?>;">
                            <form method=POST action="" enctype="multipart/form-data" name="tbl_accounts">
                                <div class="row">
                                    <div class="col-3">
                                        <fieldset>
                                            <legend>Transaction Date</legend><input type="text" class="form-control nepaliDatePicker" id="voucher_date" value="<?php echo NepaliDate(); ?>" name="voucher_date">
                                        </fieldset>
                                    </div>
                                    <div class="col-6">
                                        <h1 class="text-center"><?php echo $pageTitle; ?> Voucher</h1>
                                        <!-- <fieldset>
                                            <legend><span id="selectedAccountName"></span> Balance</legend><span id="selectedAccountBalance" style="padding: 6px 0px;    display: inline-block;    text-align: right;    width: 100%;">Choose A/C First</span>
                                        </fieldset> -->
                                    </div>
                                    <div class="col-3 ">
                                        <fieldset>
                                            <legend><?php echo $pageTitle; ?> Voucher #</legend><input type="text" readonly class="form-control" id="voucher_no" value="<?php echo generateVoucherNo(); ?>" name="voucher_no">
                                        </fieldset>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col">
                                        <fieldset>
                                            <legend>Enter Transaction</legend>
                                            <table id="EntryTable" class="table  table-sm">
                                                <thead>
                                                    <tr>
                                                        <td class="col-1"></td>
                                                        <td class="col-6 ">
                                                            <div class="row">
                                                                <div class="col-auto"><b>Account</b></div>
                                                                <div class="col text-right">
                                                                </div>
                                                            </div>
                                                        </td>
                                                        <td class="col-1"></td>
                                                        <td class="col-1 text-right"><b>Amount</b></td>
                                                        <td class="col-1"></td>
                                                    </tr>
                                                </thead>
                                                <tbody>
                                                    <tr>
                                                        <td> <select name="posting_side_selector" id="posting_side_selector" class="form-control form-select">
                                                                <option value="debit">Dr</option>
                                                                <option value="credit">Cr</option>
                                                            </select> </td>
                                                        <td>
                                                            <?php
                                                            if ($VoucherType->default_debits != null)
                                                                $VoucherType->default_debits = explode(",", $VoucherType->default_debits);
                                                            if ($VoucherType->default_credits != null)
                                                                $VoucherType->default_credits = explode(",", $VoucherType->default_credits);;
                                                            ?>
                                                            <span id="dr_box"><?php $this->myaccounts->showAccountsComboForVoucher("account_id", "", "account_id_dr", "status=1", $default = "", $CSSclass = "", $VoucherType->default_debits) ?></span>
                                                            <span id="cr_box" style="display: none;"><?php $this->myaccounts->showAccountsComboForVoucher("account_id", "", "account_id_cr", "status=1", $default = "", $CSSclass = "", $VoucherType->default_credits) ?> </span>
                                                        </td>
                                                        <td> <span id="balance_display" class="d-inline-block text-center"></span>
                                                    
                                                    </td>
                                                        <td> <input type="text" name="amount" id="amount" value="0" class="form-control text-right" /> </td>
                                                        <td> <input type="button" class="btn btn-primary btn-block " id="addrow" value="Add" /> </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </fieldset>
                                        <div class="card card-success card-outline mt-4">
                                            <div class="card-header"><b>Transaction List</b> </div>
                                            <div class="card-body p-0">
                                                <table id="myTable" class=" table order-list table-striped table-bordered">
                                                    <thead>
                                                        <tr>
                                                            <td></td>
                                                            <td width="60%"><b>Account</b></td>
                                                            <!-- <td>Narration</td> -->
                                                            <td class="text-right" width="15%"><b>Debit Amount</b></td>
                                                            <td class="text-right" width="15%"><b>Credit Amount</b></td>
                                                        </tr>
                                                    </thead>
                                                    <tbody>
                                                    </tbody>
                                                    <tfoot>
                                                        <tr>
                                                            <th colspan="2" class="text-right">Total</th>
                                                            <td>
                                                                <div id="debitTotal" class="text-right text-bold"></div>
                                                            </td>
                                                            <td>
                                                                <div id="creditTotal" class="text-right text-bold"></div>
                                                            </td>
                                                            <td>
                                                                <!-- <div id="balance" class="text-right text-bold"></div> -->
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <th colspan="2" class="text-right"></th>
                                                            <td>
                                                                <div id="balance_dr" class="text-right text-warning text-bold"></div>
                                                            </td>
                                                            <td>
                                                                <div id="balance_cr" class="text-right text-warning text-bold"></div>
                                                            </td>
                                                            <td>
                                                                <!-- <div id="balance" class="text-right text-bold"></div> -->
                                                            </td>
                                                        </tr>
                                                    </tfoot>
                                                </table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="row">
                                    <!--COL START-->
                                    <div class="col">
                                        <textarea class="form-control" rows="3" name="narration" id="narration" placeholder="Narration:"></textarea>
                                        <!-- <input type="text" name="narration" id="narration" class="form-control" />  -->
                                    </div>
                                </div>
                                <div class="row">
                                    <!--COL START-->
                                    <div class="col">
                                        <div id="errorBox" class="alert alert-secondary hidden" role="alert">
                                            <h5></h5>
                                        </div>
                                    </div>
                                </div>
                                <!--COL END-->
                                <button class="btn btn-primary btn-sm float-right mt-2" type="submit" id="saveButton" name="submit">Save Voucher</button>
                        </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>
<script>
    $(document).ready(function() {
        $("#posting_side_selector").change(function(e) {
            var posting_side = $("#posting_side_selector").val();
            if (posting_side == "debit") {
                $("#dr_box").show();
                $("#cr_box").hide();
            } else {
                {
                    $("#dr_box").hide();
                    $("#cr_box").show();
                }
            }
        });
        $("#posting_side_selector").change();
        $("#account_id_dr").change(function(e) {
            var account_id = this.value;
            $.ajax({
                url: "<?php echo site_url("accounts/Ledger/getaccountbalance/"); ?>" + account_id,
                async: true,
                dataType: "json",
                success: function(data) {
                    // alert("COW");
                    // console.log(data.BalanceRaw);
                    $("#balance_display").html("Current Balance: " + data.BalanceRaw).css("white-space text-center", "nowrap");
                    setTimeout(function() {
                        $("#amount").val('').focus();
                    }, 100); // Delay focus by 100 milliseconds
                }
            });
        });
        $("#account_id_cr").change(function(e) {
            var account_id = this.value;
            $.ajax({
                url: "<?php echo site_url("accounts/Ledger/getaccountbalance/"); ?>" + account_id,
                async: true,
                dataType: "json",
                success: function(data) {
                    // alert("COW");
                    // console.log(data.BalanceRaw);
                    $("#balance_display").html("Current Balance: " + data.BalanceRaw).css("white-space text-center", "nowrap");
                    setTimeout(function() {
                        $("#amount").val('').focus();
                    }, 100); // Delay focus by 100 milliseconds
                }
            });
        });
        var counter = 0;
        $("#addrow").on("click", function() {
            var msg = "Transaction Row Added !!";
            if ($("#account_id").val() != "") {
                if (!isAccountAdded($("#account_id").val())) {
                    var posting_side = $("#posting_side_selector").val();
                    if (posting_side == "debit") {
                        var account_id = $("#account_id_dr").val();
                        var account_name = $("#account_id_dr option:selected").text();
                    } else {
                        var account_id = $("#account_id_cr").val();
                        var account_name = $("#account_id_cr option:selected").text();
                    }
                    var amount = ($.isNumeric($("#amount").val()) ? $("#amount").val() : 0);
                    if ($.isNumeric(amount)) {
                        debit = (posting_side == "debit") ? amount : 0;
                        credit = (posting_side == "credit") ? amount : 0;
                        if (debit > 0 || credit > 0) {
                            addRow(account_id, account_name, debit, credit);
                            $("#amount").val('');
                        } else {
                            msg = "Either debit side or credit side must contain some value";
                        }
                    } else {
                        msg = "Non numberic value entered in debit side or credit side. ";
                    }
                } else {
                    msg = "Account already added in transactions";
                }
            } else {
                msg = "Account Head Not Selected!";
            }
            $("#account_id_cr").val()=0;
            $("#account_id_dr").val()=0;
            $("#errorBox h5").html(msg);
            $("#errorBox").fadeTo(2000, 500).slideUp(500, function() {
                $("#errorBox").slideUp(500);
            });
        });
        $("table.order-list").on("click", ".ibtnDel", function(event) {
            $(this).closest("tr").remove();
            calculateTotals();
        });
    });
    function isAccountAdded(account_id) {
        var arr = $('input[name="account_ids[]"]').map(function() {
            return this.value;
        }).get();
        // console.log(arr);
        if ($.inArray(account_id, arr) >= 0) return true;
        else return false;
    }
    function addRow(account_id, account_name, debit, credit) {
        var newRow = $("<tr>");
        var cols = "";
        cols += (debit == 0) ? '<td class="text-center">Cr</td>' : '<td class="text-center ">Dr</td>';
        cols += '<td class="text-left  col-7"><input type="hidden" class="form-control1 boarder0 " name="account_ids[]" value="' + account_id + '"/><input type="hidden"  class="form-control1 p-0 border0 float-left " name="account_name[]" value="' + account_name + '"/>' + account_name + '</td>';
        // cols += '<td><input type="text" readonly class="form-control" name="narration[]" value="' + $("#narration").val() + '"/></td>';
        cols += '<td class="col-2  text-right"><input type="hidden" readonly class="form-control1 border0  text-right" name="debit[]" value="' + debit + '"/>' + debit + '</td>';
        cols += '<td class="col-2  text-right"><input type="hidden" readonly class="form-control1 border0   text-right" name="credit[]" value="' + credit + '"/>' + credit + '</td>';
        cols += '<td class="col-1 "><input type="button" class="ibtnDel btn btn-xs btn-danger   float-right "  value="Delete"></td>';
        newRow.append(cols);
        $("#myTable.order-list").append(newRow);
        calculateTotals();
    }
    function calculateTotals() {
        var debitTotal = 0;
        var creditTotal = 0;
        var balance = 0;
        $("table.order-list").find('input[name^="debit[]"]').each(function() {
            debitTotal += +$(this).val();
        });
        $("table.order-list").find('input[name^="credit[]"]').each(function() {
            creditTotal += +$(this).val();
        });
        balance = Number(debitTotal) - Number(creditTotal);
        roundbalance = balance.toFixed(2);
        $("#debit").val(0);
        $("#credit").val(0);
        $("#debitTotal").text(debitTotal.toFixed(2));
        $("#creditTotal").text(creditTotal.toFixed(2));
        if (balance > 0) {
            $("#balance_cr").text(balance.toFixed(2));
            $("#balance_dr").text("");
        } else {
            $("#balance_cr").text("");
            $("#balance_dr").text(balance.toFixed(2));
        }
        if (roundbalance != 0) {
            $("#saveButton").prop("disabled", true);
        } else {
            $("#saveButton").prop("disabled", false);
        }
    }
    $("#saveButton").prop("disabled", true);
</script>