@extends('admin.index')
@section('content')
<title>{{trans('admin.TotalCollectorDepaitor')}}</title>

<style>
    .TableLabel {
        border: 1px solid #e5e5e5;
        padding: 9px;
        border-radius: 3px;
        background: #f3f3f3;
    }

    .labelss {
        margin-bottom: 5px;
        border: 1px solid #e9e9e9;
        padding: 6px;
        background-color: #fffaee;
        width: 100%;
    }

    @media print {
        .HeaderInvoicee {
            font-size: 14px !important;
        }


    }

</style>
@php
use App\Models\AcccountingManual;
@endphp
@php
    use App\Models\CompanyData;
    $DefC=CompanyData::orderBy('id','desc')->first();
    $title=trans('admin.TotalCollectorDepaitor');
@endphp


<main id="js-page-content" role="main" class="page-content">
    <ol class="breadcrumb page-breadcrumb no-print">
        <li class="breadcrumb-item"><a href="javascript:void(0);">{{trans('admin.Accounts_Reports')}}</a></li>
        <li class="breadcrumb-item active"> {{trans('admin.TotalCollectorDepaitor')}}</li>
        <li class="position-absolute pos-top pos-right d-none d-sm-block"><span class="js-get-date"></span></li>
    </ol>

    @include('admin.layouts.PrintHeader')


    <form action="{{url('TotalCollectorDepaitorFilterTwo')}}" method="get" style="display: none">

        <div class="form-row">
            <div class="form-group col-md-2 col-4">
                <label class="form-label" for="simpleinput">{{trans('admin.From')}}</label>
                <input type="date" id="from" value="{{$from}}" name="from" class="form-control">
            </div>
            <div class="form-group col-md-2 col-4">
                <label class="form-label" for="simpleinput">{{trans('admin.To')}}</label>
                <input type="date" id="to" value="{{$to}}" name="to" class="form-control">
            </div>

            <input type="hidden" name="account" id="account" value="{{$account}}">
            <input type="hidden" name="Collector" id="Collector" value="{{$Collector}}">



            <div class="form-group col-md-2 no-print">


                <div class="buttons m-2">
                    <button type="submit" class="btn btn-primary"><i class="fal fa-search"></i></button>
                </div>
            </div>
        </div>
    </form>


    <div class="row hide-table">
        <div class="col-xl-12">
            <div id="panel-1" class="panel">
                <div class="panel-hdr no-print">
                    <h2>
                        {{trans('admin.TotalCollectorDepaitor')}}
                    </h2>

                    <div class="panel-toolbar">
                        <button class="btn btn-primary btn-sm" data-toggle="dropdown">Table
                            Style</button>
                     @include('admin.layouts.toolbar')
                    </div>
                </div>
                <div class="panel-container show">
                    <div class="panel-content">

                        <!-- datatable start -->
                        <div id="mobile-overflow">
                            <table id="X" class="table table-bordered table-hover table-striped w-100 mobile-width th-td-width">
                                <thead class="bg-highlight">
                                    <tr>
                                        <th> {{trans('admin.Date')}}</th>
                                        <th> {{trans('admin.Code')}} </th>
                                        <th> {{trans('admin.Creditor')}}</th>
                                        <th> {{trans('admin.Account')}}</th>
                                        <th> {{trans('admin.Statement')}} </th>
                                        <th> {{trans('admin.Bill_Num')}} </th>

                                    </tr>
                                </thead>
                                <tbody class="Data" id="data-wrapper">

                                </tbody>
                                <tfoot>
                                    <tr>
                                        <th> {{trans('admin.Date')}}</th>
                                        <th> {{trans('admin.Code')}} </th>
                                        <th> {{trans('admin.Creditor')}}</th>
                                        <th> {{trans('admin.Account')}}</th>
                                        <th> {{trans('admin.Statement')}} </th>
                                        <th> {{trans('admin.Bill_Num')}} </th>
                                    </tr>
                                </tfoot>

                            </table>
                        </div>
                        <button style="width: 100%" class="text-center btn btn-primary" id="btn-more"><i class="fal fa-plus">{{trans('admin.More')}}</i></button>

                        <div class="auto-load text-center">
                            <svg version="1.1" id="L9" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" height="60" viewBox="0 0 100 100" enable-background="new 0 0 0 0" xml:space="preserve">
                                <path fill="#000" d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
                                    <animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="1s" from="0 50 50" to="360 50 50" repeatCount="indefinite" />
                                </path>
                            </svg>
                        </div>

                        <div id="mobile-overflow">
                            <table class="table table-bordered table-hover table-striped w-100 mt-4 mobile-width th-td-width">
                                <tbody>

                                    <tr>

                                        <td> {{trans('admin.Total_Creditor')}}</td>
                                        <td>{{$total}}</td>

                                    </tr>
                                </tbody>
                            </table>
                        </div>
                        <!-- datatable end -->
                    </div>
                </div>
            </div>
        </div>
    </div>
</main>


<input type="hidden" id="COUNT" value="0">
@endsection


@push('js')
<link rel="stylesheet" media="screen, print" href="{{asset('Admin/css/datagrid/datatables/datatables.bundle.css')}}">
<link rel="stylesheet" media="screen, print" href="{{asset('Admin/css/formplugins/summernote/summernote.css')}}">
<link rel="stylesheet" media="screen, print" href="{{asset('Admin/css/formplugins/select2/select2.bundle.css')}}">

<script src="{{asset('Admin/js/datagrid/datatables/datatables.export.js')}}"></script>
<script src="{{asset('Admin/js/datagrid/datatables/datatables.bundle.js')}}"></script>
<script src="{{asset('Admin/js/formplugins/summernote/summernote.js')}}"></script>
<script src="{{asset('Admin/js/formplugins/select2/select2.bundle.js')}}"></script>
<script>
    //_fnFeatureHtmlLength();
    $(document).ready(function() {
        // Setup - add a text input to each footer cell
        $('#dt-basic-example thead tr').clone(true).appendTo('#dt-basic-example thead');
        $('#dt-basic-example thead tr:eq(1) th').each(function(i) {
            var title = $(this).text();
            $(this).html('<input type="text" class="form-control form-control-sm" placeholder="Search ' + '" />');

            $('input', this).on('keyup change', function() {
                if (table.column(i).search() !== this.value) {
                    table
                        .column(i)
                        .search(this.value)
                        .draw();
                }
            });
        });
        var table = $('#dt-basic-example').DataTable({
            // responsive: true,
            orderCellsTop: true,
            fixedHeader: true,
            lengthChange: true,

            dom: "<'row mb-3'<'col-sm-12 col-md-3 d-flex align-items-center justify-content-start'f><'col-sm-12 col-md-9 d-flex align-items-center justify-content-end'B>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",

            buttons: [{
                    extend: 'pageLength',
                    className: 'btn-outline-default'
                },
                {
                    extend: 'colvis',
                    text: 'Column Visibility',
                    titleAttr: 'Col visibility',
                    className: 'btn-outline-default'
                },
                {
                    extend: 'pdfHtml5',
                    text: 'PDF',
                    titleAttr: 'Generate PDF',
                    className: 'btn-outline-danger btn-sm mr-1'
                },
                {
                    extend: 'excelHtml5',
                    text: 'Excel',
                    titleAttr: 'Generate Excel',
                    className: 'btn-outline-success btn-sm mr-1'
                },
                {
                    extend: 'csvHtml5',
                    text: 'CSV',
                    titleAttr: 'Generate CSV',
                    className: 'btn-outline-primary btn-sm mr-1'
                },
                {
                    extend: 'copyHtml5',
                    text: 'Copy',
                    titleAttr: 'Copy to clipboard',
                    className: 'btn-outline-primary btn-sm mr-1'
                },
                {
                    extend: 'print',
                    text: 'Print',
                    titleAttr: 'Print Table',
                    className: 'btn-outline-primary btn-sm'
                }
            ],
        });
        $('.js-thead-colors a').on('click', function() {
            var theadColor = $(this).attr("data-bg");
            console.log(theadColor);
            $('#dt-basic-example thead').removeClassPrefix('bg-').addClass(theadColor);
        });

        $('.js-tbody-colors a').on('click', function() {
            var theadColor = $(this).attr("data-bg");
            console.log(theadColor);
            $('#dt-basic-example').removeClassPrefix('bg-').addClass(theadColor);
        });

    });

</script>
<script>
    var autoSave = $('#autoSave');
    var interval;
    var timer = function() {
        interval = setInterval(function() {
            //start slide...
            if (autoSave.prop('checked'))
                saveToLocal();

            clearInterval(interval);
        }, 3000);
    };

    //save
    var saveToLocal = function() {
        localStorage.setItem('summernoteData', $('#saveToLocal').summernote("code"));
        console.log("saved");
    }

    //delete
    var removeFromLocal = function() {
        localStorage.removeItem("summernoteData");
        $('#saveToLocal').summernote('reset');
    }

    $(document).ready(function() {
        //init default
        $('.js-summernote').summernote({
            height: 200,
            tabsize: 2,
            placeholder: "Type here...",
            dialogsFade: true,
            toolbar: [
                ['style', ['style']],
                ['font', ['strikethrough', 'superscript', 'subscript']],
                ['font', ['bold', 'italic', 'underline', 'clear']],
                ['fontsize', ['fontsize']],
                ['fontname', ['fontname']],
                ['color', ['color']],
                ['para', ['ul', 'ol', 'paragraph']],
                ['height', ['height']]
                ['table', ['table']],
                ['insert', ['link', 'picture', 'video']],
                ['view', ['fullscreen', 'codeview', 'help']]
            ],
            callbacks: {
                //restore from localStorage
                onInit: function(e) {
                    $('.js-summernote').summernote("code", localStorage.getItem("summernoteData"));
                },
                onChange: function(contents, $editable) {
                    clearInterval(interval);
                    timer();
                }
            }
        });

        //load emojis
        $.ajax({
            url: 'https://api.github.com/emojis',
            async: false
        }).then(function(data) {
            window.emojis = Object.keys(data);
            window.emojiUrls = data;
        });

        //init emoji example
        $(".js-hint2emoji").summernote({
            height: 100,
            toolbar: false,
            placeholder: 'type starting with : and any alphabet',
            hint: {
                match: /:([\-+\w]+)$/,
                search: function(keyword, callback) {
                    callback($.grep(emojis, function(item) {
                        return item.indexOf(keyword) === 0;
                    }));
                },
                template: function(item) {
                    var content = emojiUrls[item];
                    return '<img src="' + content + '" width="20" /> :' + item + ':';
                },
                content: function(item) {
                    var url = emojiUrls[item];
                    if (url) {
                        return $('<img />').attr('src', url).css('width', 20)[0];
                    }
                    return '';
                }
            }
        });

        //init mentions example
        $(".js-hint2mention").summernote({
            height: 100,
            toolbar: false,
            placeholder: "type starting with @",
            hint: {
                mentions: ['jayden', 'sam', 'alvin', 'david'],
                match: /\B@(\w*)$/,
                search: function(keyword, callback) {
                    callback($.grep(this.mentions, function(item) {
                        return item.indexOf(keyword) == 0;
                    }));
                },
                content: function(item) {
                    return '@' + item;
                }
            }
        });

    });

</script>
<script type="text/javascript">
    $(".show-table").click(function() {
        $(".hide-table").show();
    });

</script>


<!-- Search Selecet -->
<script>
    $(document).ready(function() {
        $(function() {
            $('.select2').select2();

            $(".select2-placeholder-multiple").select2({
                placeholder: "Select State"
            });
            $(".js-hide-search").select2({
                minimumResultsForSearch: 1 / 0
            });
            $(".js-max-length").select2({
                maximumSelectionLength: 2,
                placeholder: "Select maximum 2 items"
            });
            $(".select2-placeholder").select2({
                placeholder: "Select a state",
                allowClear: true
            });

            $(".js-select2-icons").select2({
                minimumResultsForSearch: 1 / 0,
                templateResult: icon,
                templateSelection: icon,
                escapeMarkup: function(elm) {
                    return elm
                }
            });

            function icon(elm) {
                elm.element;
                return elm.id ? "<i class='" + $(elm.element).data("icon") + " mr-2'></i>" + elm.text : elm.text
            }


            $('#Type').select2({
                placeholder: "select...",
                ajax: {
                    type: "GET",
                    dataType: 'json',
                    url: 'AllMainAccounts',
                    processResults: function(data) {
                        return {
                            results: $.map(data, function(obj, index) {
                                return {
                                    id: index,
                                    text: obj
                                };
                            })
                        };

                        console.log(data);

                    },
                    data: function(params) {


                        var query = {
                            search: params.term,
                        };


                        $.ajax({
                            url: 'MainAccountss/' + params.term,
                            type: "GET",
                            dataType: "json",
                            beforeSend: function() {
                                $('#loader').css("visibility", "visible");
                            },

                            success: function(data) {
                                $('#Type').empty();
                                $.each(data, function(key, value) {

                                    $('#Type').append('<option value="' + key + '">' + value + '</option>');

                                });




                            },
                            complete: function() {
                                $('#loader').css("visibility", "hidden");
                            }
                        });



                    }
                }
            });


            $('#Type').on('select2:select', function(e) {
                console.log("select done", e.params.data);
            });






        });
    });

</script>

<!--  Filter Paginate -->
<script>
    var from = $('#from').val();
    var to = $('#to').val();
    var account = $('#account').val();
    var Collector = $('#Collector').val();

    var page = 1;
    infinteLoadMore(page);
    $(document).on('click', '#btn-more', function() {
        page++;

        var Auto = $('.auto-load').text();
        if (Auto != 'No More') {
            infinteLoadMore(page);
        } else {




            if ($.fn.DataTable.isDataTable('#X')) {

                $('#X').dataTable().fnDestroy();

            }

            var table = $('#X').DataTable({
                retrieve: true,
                responsive: true,
                orderCellsTop: true,
                fixedHeader: false,
                lengthChange: false,
                pageLength: 1000000,
                dom: 'Bfrtip',

                buttons: [{
                        extend: 'pageLength',
                        className: 'btn-outline-default'
                    },
                    {
                        extend: 'colvis',
                        text: 'Column Visibility',
                        titleAttr: 'Col visibility',
                        className: 'btn-outline-default'
                    },

                    {
                        extend: 'excelHtml5',
                        exportOptions: {
                            format: {
                                body: function ( inner, rowidx, colidx, node ) {
                                    if ($(node).children("select").length > 0) {
                                        // we are in a cell containing a "select" drop-down - so, get it:
                                        var selectNode = node.firstElementChild;
                                        var txt = selectNode.options[selectNode.selectedIndex].text;
                                        //var txt = selectNode.options[selectNode.selectedIndex].text;
                                        return txt;
                                    } else {

                                        if ($(node).children("input").length > 0) {
                                            return $(node).children("input").first().val();
                                        } else {
                                            return inner;
                                        }


                                    }
                                }
                            }
                        },
                        text: 'Excel',
                        titleAttr: 'Generate Excel',
                        className: 'btn-outline-success btn-sm mr-1'
                    },

                    {
                        extend: 'print',
                        text: 'Print',
                        titleAttr: 'Print Table',
                        className: 'btn-outline-primary btn-sm'
                    }
                ],
            });

            $('#btn-more').hide();
        }
    });

    function infinteLoadMore(page) {
        $.ajax({
                url: "TotalCollectorDepaitorFilterTwo?page=" + page,
                datatype: "html",
                data: {
                    from: from,
                    to: to,
                    account: account,
                    Collector: Collector

                },
                type: "get",
                beforeSend: function() {
                    $('.auto-load').show();
                    $('#btn-more').show();
                },
                success: function(data) {

                    if (data == '') {

                        $('.auto-load').html("No More");
                        return;

                    } else {
                        $('.auto-load').hide();
                        $("#data-wrapper").append(data);
                    }
                }

            })

            .fail(function(jqXHR, ajaxOptions, thrownError) {
                console.log('Server error occured');
            });


    }

</script>

<script>
    function Autoo() {

        setInterval(function() {
            var Auto = $('.auto-load').text();
            var Stop = $('#Stop').val();
            var iScroll = $(window).scrollTop();
            if (Auto != 'No More') {
                iScroll = iScroll + 200;

                $('html, body').animate({
                    scrollTop: iScroll
                }, 1000);

            } else {


                var sum1 = 0;
                $('.DBBEFORE').each(function() {
                    sum1 += parseFloat($(this).val());
                });

                var sum2 = 0;
                $('.CRBEFORE').each(function() {
                    sum2 += parseFloat($(this).val());
                });

                var sum3 = 0;
                $('.DBTOTAL').each(function() {
                    sum3 += parseFloat($(this).val());
                });


                var sum4 = 0;
                $('.CRTOTAL').each(function() {
                    sum4 += parseFloat($(this).val());
                });

                var sum5 = 0;
                $('.DBBALANCE').each(function() {
                    sum5 += parseFloat($(this).val());
                });


                var sum6 = 0;
                $('.CRBALANCE').each(function() {
                    sum6 += parseFloat($(this).val());
                });


                $('#TDB').text(sum1);
                $('#TD').text(sum3);
                $('#TDBL').text(sum5);
                $('#TCB').text(sum2);
                $('#TC').text(sum4);
                $('#TCBL').text(sum6);
                if ($.fn.DataTable.isDataTable('#X')) {

                    $('#X').dataTable().fnDestroy();

                }

                var table = $('#X').DataTable({
                    retrieve: true,
                    responsive: true,
                    orderCellsTop: true,
                    fixedHeader: false,
                    lengthChange: false,
                    pageLength: 1000000,
                    dom: 'Bfrtip',

                    buttons: [{
                            extend: 'pageLength',
                            className: 'btn-outline-default'
                        },
                        {
                            extend: 'colvis',
                            text: 'Column Visibility',
                            titleAttr: 'Col visibility',
                            className: 'btn-outline-default'
                        },

                        {
                            extend: 'excelHtml5',
                            text: 'Excel',
                            titleAttr: 'Generate Excel',
                            className: 'btn-outline-success btn-sm mr-1'
                        },

                        {
                            extend: 'print',
                            text: 'Print',
                            titleAttr: 'Print Table',
                            className: 'btn-outline-primary btn-sm'
                        }
                    ],
                });

            }
        }, 2000);


    }

</script>




@endpush
