<style type="text/css">
    .nav-tabs-custom>.nav-tabs>li.active {
        border-top-color: #faa21c;
    }
</style>
<?php
$currency_symbol = $this->customlib->getSchoolCurrencyFormat();
?>
<div class="content-wrapper" style="min-height: 946px;">
    <section class="content-header">
        <h1>
            <i class="fa fa-line-chart"></i> <?php echo $this->lang->line('reports'); ?> <small> </small>   </h1>
											<a href="<?php  echo base_url(); ?>uniformreport" class="col-md pull-right">Uniform Report</a>
								<b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>												 
								 <a href="<?php  echo base_url(); ?>admin/payroll/payrollreport" class="col-md pull-right">Payroll Report</a> 
								 <b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>
								 <a href="<?php  echo base_url(); ?>admin/transaction/searchtransaction" class="col-md pull-right">Transaction Report</a>	
								 <b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>
								 <a href="<?php  echo base_url(); ?>admin/transaction/studentacademicreport" class="col-md pull-right">Balance Fees Report</a>	
								 <b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>
								 <a href="<?php  echo base_url(); ?>studentfee/reportbyname" class="col-md pull-right">Fee Statement</a>	
								 <b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>
								 <a href="<?php  echo base_url(); ?>admin/users/admissionreport" class="col-md pull-right">Learner History</a>	
								 <b style="padding-left:5px;padding-right:5px;"class="pull-right"> | </b>
								 <a href="<?php  echo base_url(); ?>student/studentreport" class="col-md pull-right">Learner Report</a>	
    </section>
    <!-- Main content -->
    <section class="content">
        <div class="row">
            <div class="col-md-12">
                <div class="box box-primary">
                    <div class="box-header with-border">
                        <h3 class="box-title"><i class="fa fa-search"></i> <?php echo $this->lang->line('search_transaction'); ?></h3>
                    </div>
                    <div class="box-body">
                    <div class="row">
                        <div class="col-md-12">
                            <form role="form" action="<?php echo site_url('admin/transaction/searchtransaction') ?>" method="post" class="form-horizontal">
                                <?php echo $this->customlib->getCSRF(); ?>
                                <div class="form-group">
                                <div class="col-sm-4">
                                        <label for="payment_mode">Currency</label>
                                        <select id="payment_mode" name="payment_mode" class="form-control">
                                            <!-- Include default option -->
                                            <option value="Default" <?php echo ($payment_mode2 === 'Default') ? 'selected' : ''; ?>>
                                                <?php echo $this->lang->line('default'); ?>
                                            </option>
                                            <?php 
                                                foreach ($payment_modes->result() as $payment_mode) {
                                                    // Check if this payment mode is selected
                                                    $selected = ($payment_mode->payment_methods == $payment_mode2) ? 'selected' : '';
                                            ?>
                                            <option value="<?php echo $payment_mode->payment_methods; ?>" <?php echo $selected; ?>>
                                                <?php echo $payment_mode->payment_methods; ?>
                                            </option>
                                            <?php } ?>
                                        </select>
                                        <span class="text-danger"><?php echo form_error('payment_mode'); ?></span>
                                    </div>
                                                                           <div class="col-sm-4">
                                            <label><?php echo $this->lang->line('date_from'); ?></label>
                                            <input autofocus="" id="datefrom" name="date_from" placeholder="" type="text" class="form-control date"  value="<?php echo set_value('date_from', date($this->customlib->getSchoolDateFormat())); ?>" readonly="readonly"/>
                                            <span class="text-danger"><?php echo form_error('class_id'); ?></span>
                                        </div>
                                        <div class="col-sm-4">
                                            <label><?php echo $this->lang->line('date_to'); ?></label>
                                            <input id="dateto" name="date_to" placeholder="" type="text" class="form-control date"  value="<?php echo set_value('date_to', date($this->customlib->getSchoolDateFormat())); ?>" readonly="readonly"/>
                                        </div>
                                </div>

                                <div class="form-group">
                                    <div class="col-sm-12">
                                        <button type="submit" name="search" value="search_filter" class="btn btn-primary btn-sm checkbox-toggle pull-right">
                                            <i class="fa fa-search"></i> <?php echo $this->lang->line('search'); ?>
                                        </button>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
             </div>
    <?php 
if (isset($feeList)) {
    ?>
    <div class="box bozero">
        <h3 class="titless pull-left"><i class="fa fa-money"></i> <?php echo $exp_title; ?></h3>
        <div class="nav-tabs-custom">    
            <ul class="nav nav-tabs pull-right">  
                <?php if ($this->module_lib->hasActive('fees_collection')): ?>                     
                    <li class="active">
                        <a href="#tab_students" data-toggle="tab"><?php echo $this->lang->line('fees_collection_details'); ?></a>
                    </li>
                <?php endif; ?>                  
            </ul>
            <div class="box-body table-responsive">     
                <div class="tab-content">
                    <div class="tab-pane active table-responsive" id="tab_students">
                        <div class="download_label"><?php echo $exp_title; ?></div>
                        <table class="table table-striped table-bordered table-hover example table-fixed-header">
                            <thead class="header">
                                <tr>
                                    <th>Reference</th>
                                    <th><?php echo $this->lang->line('date'); ?></th>
                                    <th><?php echo $this->lang->line('name'); ?></th>
                                    <th><?php echo $this->lang->line('class'); ?></th>
                                    <th><?php echo $this->lang->line('fee_type'); ?></th>
                                    <th><?php echo $this->lang->line('mode'); ?></th>
                                    <th><?php echo $this->lang->line('amount'); ?></th>
                                    <th class="text text-right"><?php echo $this->lang->line('amount'); ?> <span><?php echo "(" . $currency_symbols . ")"; ?></span></th>
                                    <th class="text text-right"><?php echo $this->lang->line('discount'); ?> <span><?php echo "(" . $currency_symbols . ")"; ?></span></th>
                                    <th class="text text-right"><?php echo $this->lang->line('fine'); ?> <span><?php echo "(" . $currency_symbols . ")"; ?></span></th>
                                    <th class="text text-right"><?php echo $this->lang->line('total'); ?> <span><?php echo "(" . $currency_symbols . ")"; ?></span></th>
                                </tr>
                            </thead>
                        <tbody>
                            <?php
                            // Initialize totals
                            $fee_paid = 0;
                            $discount = 0;
                            $fine = 0;
                            // Debugging output
                            // echo "Payment Mode Selected: " . htmlspecialchars($payment_mode2) . "<br>"; // Output the selected payment mode
                            // echo "<pre>";
                            //  print_r($feeList); // Output the fee list to check its contents
                            //echo "</pre>";
                            // Check if feeList is empty
                            if (empty($feeList)) {
                                echo '<tr><td colspan="11" class="text-danger text-center">' . $this->lang->line('no_transaction_found') . '</td></tr>';
                            } else {
                                foreach ($feeList as $value) {

                                    $original_amount = $value['amount'];
                                    $payment_mode = $value['payment_mode'];
                                     // Initialize variables   
                                    $discount = $value['amount_discount'];
                                    $fine = $value['amount_fine'];// Initialize converted_amount
                                        // Default to original amount
                                        // Check if the payment mode is not USD
                                        if ($payment_mode2 === 'Default') {
                                            $this->db->select('foreign_rate');
                                            $this->db->from('bank_rates');
                                            $this->db->where('foreign_currency', $payment_mode);
                                            $query_rate = $this->db->get();
                                            $foreign_rate = $query_rate->row()->foreign_rate ?? 1;
                                            $converted_amount = $original_amount / $foreign_rate;
                                            $row_total = ($converted_amount + $fine) - $discount;
                                            $fee_paid += $converted_amount;
                                            $discountt +=$discount;
                                            $finee +=  $fine;
                                             
                                        }else{
                                            $converted_amount = $original_amount;
                                            $row_total = ($converted_amount + $fine) - $discount;
                                            $fee_paid += $converted_amount;
                                            $discountt +=$discount;
                                            $finee +=  $fine;

                                        }
                                    ?>
                                    <tr>
                                        <td>
                                            <?php 
                                            // Fetch and display receipt and invoice
                                            $student_fees_deposite_id = $value['id'];
                                            $this->db->select('*');
                                            $this->db->from('student_fees_deposite');
                                            $this->db->where('id', $student_fees_deposite_id);
                                            $query0 = $this->db->get();
                                            $result0 = $query0->row();

                                            $receipt_number = $result0->receipt;															
                                            $invoice_number = sprintf("INV%04s", $result0->invoice);
                                            echo '<i style="color:blue;">' . $receipt_number . '</i> / <i style="color:red;">' . $invoice_number . '</i>'; 
                                            ?>
                                        </td>
                                        <td><?php echo date($this->customlib->getSchoolDateFormat(), $this->customlib->dateyyyymmddTodateformat($value['date'])); ?></td>
                                        <td><?php echo $value['firstname'] . " " . $value['lastname']; ?></td>
                                        <td><?php echo $value['class'] . " (" . $value['section'] . ")"; ?></td>
                                        <td><?php echo $value['type']; ?></td>
                                        <td><?php echo $value['payment_mode']; ?></td>
                                        <td><?php echo $value['amount']; ?></td>
                                        <td class="text text-right">
                                            <?php 
                                            // Display the converted amount if payment mode is 'default'
                                            echo number_format($converted_amount, 2, '.', '');
                                            ?>
                                        </td>
                                        <td class="text text-right"><?php echo number_format($discount, 2, '.', ''); ?></td>
                                        <td class="text text-right"><?php echo number_format($fine, 2, '.', ''); ?></td>
                                        <td class="text text-right"><?php echo number_format($row_total, 2, '.', ''); ?></td>
                                    </tr>
                                    <?php
                                }
                            }
                            ?>
                            <tr class="box box-solid total-bg">
                                <td colspan="7" class="text-right"><?php echo $this->lang->line('grand_total'); ?></td>
                                <td class="text text-right">
                                    <?php 
                                    // Determine the currency to display
                                    $display_currency = ($payment_mode2 === 'Default') ? 'USD' : $payment_mode2; 
                                    echo $display_currency . " " . number_format($fee_paid, 2, '.', '');
                                    ?>
                                </td>
                                <td class="text text-right">
                                    <?php 
                                    echo $display_currency . " " . number_format($discountt, 2, '.', '');
                                    ?>
                                </td>
                                <td class="text text-right">
                                    <?php 
                                    echo $display_currency . " " . number_format($finee, 2, '.', '');
                                    ?>
                                </td>
                                <td class="text text-right">
                                    <?php 
                                    // Calculate total after discount and fine
                                    $total_amount = number_format(($fee_paid + $finee)- $discountt , 2, '.', '');
                                    echo $display_currency . " " . $total_amount; 
                                    ?>
                                </td>                        
                            </tr>
                        </tbody>
                        </table>
                        <!-- Print Button -->
                        <div class="text-right" style="margin-top: 20px;">
                            <button id="printStatementBtn" class="btn btn-info printInv"  
                                    data-date_from="<?php echo $date_from2; ?>"  
                                    data-date_to="<?php echo $date_to2; ?>"                          
                                    data-payment_mode="<?php echo $payment_mode2; ?>" 
                                    title="<?php echo $this->lang->line('print'); ?>">
                                <i class="fa fa-print"></i> Print Statement
                            </button>
                        </div>
                    </div>    
                </div>
            </div>
            <div class="box-footer">
                <div class="mailbox-controls"> 
                    <div class="pull-right"></div>
                </div>
            </div>
        </div>
    </div><!--./tabs--> 
    <?php
}
?>

    </section>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        var date_format = '<?php echo $result = strtr($this->customlib->getSchoolDateFormat(), ['d' => 'dd', 'm' => 'mm', 'Y' => 'yyyy',]) ?>';
        $(".date").datepicker({
            format: date_format,
            autoclose: true,
            todayHighlight: true
        });
    });
</script>

<script type="text/javascript">
    $(document).ready(function () {
        $.extend($.fn.dataTable.defaults, {
            ordering: false,
            paging: false,
            bSort: false,
            info: false
        });
    })
    $(document).ready(function () {
        $('.table-fixed-header').fixedHeader();
    });

    (function ($) {

        $.fn.fixedHeader = function (options) {
            var config = {
                topOffset: 50

            };
            if (options) {
                $.extend(config, options);
            }

            return this.each(function () {
                var o = $(this);

                var $win = $(window);
                var $head = $('thead.header', o);
                var isFixed = 0;
                var headTop = $head.length && $head.offset().top - config.topOffset;

                function processScroll() {
                    if (!o.is(':visible')) {
                        return;
                    }
                    if ($('thead.header-copy').size()) {
                        $('thead.header-copy').width($('thead.header').width());
                    }
                    var i;
                    var scrollTop = $win.scrollTop();
                    var t = $head.length && $head.offset().top - config.topOffset;
                    if (!isFixed && headTop !== t) {
                        headTop = t;
                    }
                    if (scrollTop >= headTop && !isFixed) {
                        isFixed = 1;
                    } else if (scrollTop <= headTop && isFixed) {
                        isFixed = 0;
                    }
                    isFixed ? $('thead.header-copy', o).offset({
                        left: $head.offset().left
                    }).removeClass('hide') : $('thead.header-copy', o).addClass('hide');
                }
                $win.on('scroll', processScroll);

                // hack sad times - holdover until rewrite for 2.1
                $head.on('click', function () {
                    if (!isFixed) {
                        setTimeout(function () {
                            $win.scrollTop($win.scrollTop() - 47);
                        }, 10);
                    }
                });

                $head.clone().removeClass('header').addClass('header-copy header-fixed').appendTo(o);
                var header_width = $head.width();
                o.find('thead.header-copy').width(header_width);
                o.find('thead.header > tr:first > th').each(function (i, h) {
                    var w = $(h).width();
                    o.find('thead.header-copy> tr > th:eq(' + i + ')').width(w);
                });
                $head.css({
                    margin: '0 auto',
                    width: o.width(),
                    'background-color': config.bgColor
                });
                processScroll();
            });
        };

    })(jQuery);

</script>


<script type="text/javascript">
    $(document).ready(function () {
        var date_format = '<?php echo $result = strtr($this->customlib->getSchoolDateFormat(), ['d' => 'dd', 'm' => 'mm', 'Y' => 'yyyy',]) ?>';
        $(".date").datepicker({
            format: date_format,
            autoclose: true,
            todayHighlight: true
        });

       
        $(document).on('click', '#printStatementBtn', function () {
            var date_from = $(this).data('date_from');
            var date_to = $(this).data('date_to');
            var payment_mode = $(this).data('payment_mode');  // Get the payment mode

            $.ajax({
                url: '<?php echo site_url("admin/transaction/printTransactionzz") ?>',
                type: 'POST',
                data: {
                    'date_from': date_from,
                    'date_to': date_to,
                    'payment_mode': payment_mode  // Send payment mode
                },
                success: function (response) {
                    // Assuming Popup is a function to display the response
                    Popup(response);
                },
                error: function (xhr, status, error) {
                    console.error("AJAX Error: " + status + error);
                }
            });
        });

    });
</script>

<script>

    var base_url = '<?php echo base_url() ?>';
    function Popup(data)
    {

        var frame1 = $('<iframe />');
        frame1[0].name = "frame1";
        frame1.css({"position": "absolute", "top": "-1000000px"});
        $("body").append(frame1);
        var frameDoc = frame1[0].contentWindow ? frame1[0].contentWindow : frame1[0].contentDocument.document ? frame1[0].contentDocument.document : frame1[0].contentDocument;
        frameDoc.document.open();
        //Create a new HTML document.
        frameDoc.document.write('<html>');
        frameDoc.document.write('<head>');
        frameDoc.document.write('<title></title>');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/bootstrap/css/bootstrap.min.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/dist/css/font-awesome.min.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/dist/css/ionicons.min.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/dist/css/AdminLTE.min.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/dist/css/skins/_all-skins.min.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/plugins/iCheck/flat/blue.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/plugins/morris/morris.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/plugins/jvectormap/jquery-jvectormap-1.2.2.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/plugins/datepicker/datepicker3.css">');
        frameDoc.document.write('<link rel="stylesheet" href="' + base_url + 'backend/plugins/daterangepicker/daterangepicker-bs3.css">');
        frameDoc.document.write('</head>');
        frameDoc.document.write('<body>');
        frameDoc.document.write(data);
        frameDoc.document.write('</body>');
        frameDoc.document.write('</html>');
        frameDoc.document.close();
        setTimeout(function () {
            window.frames["frame1"].focus();
            window.frames["frame1"].print();
            frame1.remove();
        }, 500);


        return true;
    }
    $(document).ready(function () {
        $('.delmodal').modal({
            backdrop: 'static',
            keyboard: false,
            show: false
        })
        $('#confirm-delete').on('show.bs.modal', function (e) {
            $('.invoice_no', this).text("");
            $('#main_invoice', this).val("");
            $('#sub_invoice', this).val("");

            $('.invoice_no', this).text($(e.relatedTarget).data('invoiceno'));
            $('#main_invoice', this).val($(e.relatedTarget).data('main_invoice'));
            $('#sub_invoice', this).val($(e.relatedTarget).data('sub_invoice'));


        });

        $('#confirm-discountdelete').on('show.bs.modal', function (e) {
            $('.discount_title', this).text("");
            $('#discount_id', this).val("");
            $('.discount_title', this).text($(e.relatedTarget).data('discounttitle'));
            $('#discount_id', this).val($(e.relatedTarget).data('discountid'));
        });

        $('#confirm-delete').on('click', '.btn-ok', function (e) {
            var $modalDiv = $(e.delegateTarget);
            var main_invoice = $('#main_invoice').val();
            var sub_invoice = $('#sub_invoice').val();

            $modalDiv.addClass('modalloading');
            $.ajax({
                type: "post",
                url: '<?php echo site_url("studentfee/deleteFee") ?>',
                dataType: 'JSON',
                data: {'main_invoice': main_invoice, 'sub_invoice': sub_invoice},
                success: function (data) {
                    $modalDiv.modal('hide').removeClass('modalloading');
                    location.reload(true);
                }
            });


        });

        $('#confirm-discountdelete').on('click', '.btn-discountdel', function (e) {
            var $modalDiv = $(e.delegateTarget);
            var discount_id = $('#discount_id').val();


            $modalDiv.addClass('modalloading');
            $.ajax({
                type: "post",
                url: '<?php echo site_url("studentfee/deleteStudentDiscount") ?>',
                dataType: 'JSON',
                data: {'discount_id': discount_id},
                success: function (data) {
                    $modalDiv.modal('hide').removeClass('modalloading');
                    location.reload(true);
                }
            });


        });


        $(document).on('click', '.btn-ok', function (e) {
            var $modalDiv = $(e.delegateTarget);
            var main_invoice = $('#main_invoice').val();
            var sub_invoice = $('#sub_invoice').val();

            $modalDiv.addClass('modalloading');
            $.ajax({
                type: "post",
                url: '<?php echo site_url("studentfee/deleteFee") ?>',
                dataType: 'JSON',
                data: {'main_invoice': main_invoice, 'sub_invoice': sub_invoice},
                success: function (data) {
                    $modalDiv.modal('hide').removeClass('modalloading');
                    location.reload(true);
                }
            });


        });


        $('.detail_popover').popover({
            placement: 'right',
            title: '',
            trigger: 'hover',
            container: 'body',
            html: true,
            content: function () {
                return $(this).closest('td').find('.fee_detail_popover').html();
            }
        });
    });



</script>

<script type="text/javascript">


    $("#myFeesModal").on('shown.bs.modal', function (e) {
        console.log("sdrere");
        e.stopPropagation();
        var discount_group_dropdown = '<option value=""><?php echo $this->lang->line('select'); ?></option>';
        var data = $(e.relatedTarget).data();
        $('#discount_group').html("");
        $("span[id$='_error']").html("");
        $('.fees_title').html("");
        $('#amount').val("");
        $('#amount_discount').val("0");
        $('#amount_fine').val("0");
        var type = data.type;
        var amount = data.amount;
        var group = data.group;
        var fee_groups_feetype_id = data.fee_groups_feetype_id;
        var student_fees_master_id = data.student_fees_master_id;
        var student_session_id = data.student_session_id;

        $('.fees_title').html("<b>" + group + ":</b> " + type);
        $('#fee_groups_feetype_id').val(fee_groups_feetype_id);
        $('#student_fees_master_id').val(student_fees_master_id);



        $.ajax({
            type: "post",
            url: '<?php echo site_url("studentfee/geBalanceFee") ?>',
            dataType: 'JSON',
            data: {'fee_groups_feetype_id': fee_groups_feetype_id,
                'student_fees_master_id': student_fees_master_id,
                'student_session_id': student_session_id
            },
            success: function (data) {

                if (data.status == "success") {
                    fee_amount = data.balance;

                    $('#amount').val(data.balance);
                    console.log(data.discount_not_applied);

                    $.each(data.discount_not_applied, function (i, obj)
                    {
                        discount_group_dropdown += "<option value=" + obj.student_fees_discount_id + " data-disamount=" + obj.amount + ">" + obj.code + "</option>";
                    });
                    $('#discount_group').append(discount_group_dropdown);




                }
            }
        });


    });

</script>

<script type="text/javascript">
    $(document).ready(function () {
        $(document).on('click', '.printSelected', function () {
            var array_to_print = [];
            $.each($("input[name='fee_checkbox']:checked"), function () {
                var section_id = $(this).data('section_id');
                var class_id = $(this).data('class_id');
                var student_id = $(this).data('student_id');
                item = {}
                item ["section_id"] = section_id;
                item ["class_id"] = class_id;
                item ["student_id"] = student_id;

                array_to_print.push(item);
            });
            if (array_to_print.length == 0) {
                alert("no record selected");
            } else {
                $.ajax({
                    url: '<?php echo site_url("studentfee/printFeesStatementByGroup") ?>',
                    type: 'post',
                    data: {'data': JSON.stringify(array_to_print)},
                    success: function (response) {
                        Popup(response);
                    }
                });
            }
        });
    });


    $(function () {
        $(document).on('change', "#discount_group", function () {
            var amount = $('option:selected', this).data('disamount');

            var balance_amount = (parseFloat(fee_amount) - parseFloat(amount)).toFixed(2);
            if (typeof amount !== typeof undefined && amount !== false) {
                $('div#myFeesModal').find('input#amount_discount').prop('readonly', true).val(amount);
                $('div#myFeesModal').find('input#amount').val(balance_amount);

            } else {
                $('div#myFeesModal').find('input#amount').val(fee_amount);
                $('div#myFeesModal').find('input#amount_discount').prop('readonly', false).val(0);
            }

        });
    });
</script>

          