<script>
$("#table_filter_purchase_bill_start_date,#table_filter_purchase_bill_end_date").datepicker( {
  todayHighlight:!0, orientation:"bottom left", templates: {
    leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>'
  }
})
$("#table_filter_purchase_bill_supplier").select2({
  placeholder: "Select  Supplier"
})
$("#table_filter_purchase_bill_payment_status").select2({
  placeholder: "Select  Supplier"
})
$("#table_filter_purchase_bill_location").select2({
  placeholder: "Select  Location",
  templateResult: format_project_dropdown
})
<?php if($page_name=='purchase_view' || $page_name=='purchase_order_profile'){?>
  $("#table_filter_material").select2({
    placeholder: "Select  Material"
  })
  $("#table_filter_work").select2({
    placeholder: "Select  Work",
    templateResult: format_project_dropdown
  })


  <?php } ?>
  <?php if($page_name=='user_profile'){?>
    function GetStartDate(){
      return $('#table_filter_start_date').val();
    }
    function GetEndDate(){
      return $('#table_filter_end_date').val();
    }
    <?php } ?>

    function GetSearchStatus(){
      return $('#table_filter_status').val();
    }
    function GetSearchsupplierBill(){
      return $('#table_filter_purchase_bill_supplier').val();
    }
    function GetSearchStartDate(){
      return $('#table_filter_purchase_bill_start_date').val();
    }
    function GetSearchEndDate(){
      return $('#table_filter_purchase_bill_end_date').val();
    }
    function GetSearchLocation(){
      return $('#table_filter_purchase_bill_location').val();
    }
    function GetPayment_status(){
      return $('#table_filter_purchase_bill_payment_status').val();
    }
    <?php if($page_name=='data_entry_approval' || $page_name=='data_entry_approval_2_level'){?>
      function GetStartDate(){
        return $('#table_filter_start_date').val();
      }
      function GetEndDate(){
        return $('#table_filter_end_date').val();
      }
      function GetSearchWork(){
        return $('#table_filter_work').val();
      }
      function GetSearchUser(){
        return $('#table_filter_user').val();
      }
      function GetSearchApprovalStatus(){
        return $('#table_filter_approval_status').val();
      }
      <?php } ?>
      <?php if ($page_name == 'work_summary') { ?>
        function GetStartDate() {
          return $('#table_filter_start_date').val();
        }
        function GetEndDate() {
          return $('#table_filter_end_date').val();
        }
        <?php } ?>
        <?php
        $page_type='';
        if($page_name=='data_entry_approval'){
          $page_type='approval_entries';
        }elseif($page_name=='data_entry_approval_2_level'){
          $page_type='approval_entries_2_level';
        }
        ?>
        var purchase_bills_view_table = $('#purchase_bills_view_table').DataTable({
          "ajax":{
            url :"<?php echo base_url().'purchases/select_purchases/'.$page_type ?>", // json datasource
            type: "post", // type of method  , by default would be get
            data: function(d){
              <?php if(!isset($list_type) || $list_type!="payable"){?>
                d.start_date = GetSearchStartDate();
                d.end_date = GetSearchEndDate();
                <?php } ?>
                <?php if($page_name=='purchase_view'){?>
                  d.supplier = GetSearchsupplierBill();
                  d.location_id = GetSearchLocation();
                  d.payment_status = GetPayment_status();
                  <?php } ?>
                  <?php if($page_name=='work_profile'){?>
                    d.payment_status = GetPayment_status();
                    d.supplier = GetSearchsupplierBill();
                    d.work = "<?php echo $work_data->work_id?>";
                    <?php } ?>
                    <?php if($page_name=='work_profile_master'){?>
                      d.payment_status = GetPayment_status();
                      d.supplier = GetSearchsupplierBill();
                      d.work_ids = "<?php echo implode(',',$sub_project_ids)?>";
                      <?php } ?>
                    <?php if($page_name=='work_summary'){?>
                      d.work = "<?php echo $work_data->work_id?>";
                      d.start_date = GetStartDate();
                      d.end_date = GetEndDate();
                      <?php } ?>
                      <?php if($page_name=='reports_activity'){?>
                        d.date = GetSearchDate();
                        d.work = GetSearchWork();
                        <?php } ?>
                        <?php if($page_name=='supplier_profile'){?>
                          d.supplier = "<?php echo $supplier_data->supplier_id?>";
                          d.location_id = GetSearchLocation();
                          d.payment_status = GetPayment_status();
                          <?php } ?>
                          <?php if($page_name=='user_profile'){?>
                            d.user_id = "<?php echo $user_data->user_id?>";
                            d.start_date = GetStartDate();
                            d.end_date = GetEndDate();
                            <?php } ?>
                            <?php if($page_name=='stock_location_profile'){?>
                              d.location_id = "<?php echo $location_data->location_id?>";
                              <?php } ?>
                              <?php if($page_name=='stage_profile' || $page_name=='stage_summary'){?>
                                d.stage_id = "<?php echo $stage_data->stage_id?>";
                                <?php } ?>
                                <?php if($page_name=='data_entry_approval' || $page_name=='data_entry_approval_2_level'){?>
                                  d.start_date = GetStartDate();
                                  d.end_date = GetEndDate();
                                  d.work = GetSearchWork();
                                  d.approval_status = GetSearchApprovalStatus();
                                  d.user_id = GetSearchUser();
                                  <?php } ?>
                                }
                              },
                              "bProcessing": true,
                              "deferRender": true,
                              "bDeferRender": true,
                              <?php if ($page_name == 'work_summary') { ?> "scrollX": false,
                              bFilter: false,
                              "bLengthChange": false,
                              "bPaginate": false,
                              "bInfo": false,
                              buttons: [{
                                extend: 'colvis',
                                className: 'btn dark btn-outline',
                                text: 'Columns'
                              }],
                              "dom": "<'row' <'col-md-12'B>><'row'<'col-md-6 col-sm-12'l><'col-md-6 col-sm-12'f>r><'table-scrollable't><'row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>>", // horizobtal scrollable datatable
                              <?php } else { ?>
                                "scrollX" : true,
                                buttons: [
                                  { extend: 'print', className: 'btn dark btn-outline',exportOptions: {columns: ':visible'},title: 'Purchase Bills' },
                                  { extend: 'csv', className: 'btn purple btn-outline ' },
                                  { extend: 'colvis', className: 'btn dark btn-outline', text: 'Columns'}
                                ],
                                dom:"<'row'<'col-sm-6 text-left'B><'col-sm-6 text-right'f>>\n\t\t\t<'row'<'col-sm-12'tr>>\n\t\t\t<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7 dataTables_pager'lp>>", // horizobtal scrollable datatable
                                "lengthMenu": [
                                  [25, 50, 100, -1],
                                  [25, 50, 100, "All"] // change per page values here
                                ],
                                <?php } ?>
                                "columnDefs": [
                                  {
                                    "targets": [ 7,17,18,19<?php if($page_name=='work_profile'){ echo ",5"; }?><?php if($page_name=='work_summary'){ echo ",5,16"; }?><?php if($page_name=='reports_activity'){ echo ",16"; }?> ],
                                    className: "hidden"
                                  }
                                ],
                                'order': false,
                                "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                                  if(aData[18]=='0'){
                                    $('td', nRow).css('background-color', '#ffcccc');
                                  }else if(aData[18]=='2'){
                                    $('td', nRow).css('background-color', '#ffcccc');
                                  }
                                  if(aData[18]=='1'){
                                    if(aData[19]=='0'){
                                      $('td', nRow).css('background-color', '#F0FAB3');
                                    }else if(aData[19]=='2'){
                                      $('td', nRow).css('background-color', '#ffcccc');
                                    }
                                  }
                                },
                                fixedColumns:   true,
                                fixedColumns:   {
                                  leftColumns: 2
                                }
                              });
                              $(".table_filter").on("change", function() {
                                purchase_bills_view_table.ajax.reload();
                              });
                              $(".hidden").hide();

                              <?php if($page_name=='purchase_view'){?>
                                // Date Range Picker
                                // var start = moment();
                                // var end = moment();
                                //
                                // function cb(start, end) {
                                //   $('#table_filter_date_range').val(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
                                //   purchase_bills_view_table.ajax.reload();
                                // }
                                //
                                // $('#table_filter_date_range').daterangepicker({
                                //   buttonClasses: "m-btn btn",
                                //   applyClass: "btn-primary",
                                //   cancelClass: "btn-secondary",
                                //   startDate: start,
                                //   endDate: end,
                                //   locale: {
                                //     format: 'MMMM D, YYYY'
                                //   },
                                //   ranges: {
                                //     'Today': [moment(), moment()],
                                //     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                                //     'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                                //     'Last 30 Days': [moment().subtract(29, 'days'), moment()],
                                //     'This Month': [moment().startOf('month'), moment().endOf('month')],
                                //     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
                                //      'All time': [moment('1970-01-01'), moment().add(9999, 'days')],
                                //   }
                                // }, cb);
                                //
                                // cb(start, end);

                                $(".form_submit_btn").click(function (e) {

                                  e.preventDefault();
                                  var a = $(this),
                                  l = $(this).closest("form"),
                                  action = l.attr('action');
                                  var form_id = l.attr('id');
                                  l.validate({
                                    rules: {
                                      "new_paid_amount": {
                                        required: !0,
                                        min: 0,
                                        number: !0
                                      }
                                    }, invalidHandler: function (e, r) {
                                      var i = $("#" + form_id + "_msg");
                                      i.removeClass("m--hide").show(), mUtil.scrollTo(i, -200)
                                    }, submitHandler: function (e) {
                                    }
                                  }), l.valid() && (a.addClass("m-loader m-loader--right m-loader--light").attr("disabled", !0),
                                  l.ajaxSubmit({
                                    url: action,
                                    success: function (e, t, r, s) {
                                      var modal_id = l.attr('data-modal-id');
                                      var form_type = l.attr('data-form-type');
                                      $("#" + form_id + "_msg").addClass("m--hide");
                                      // Block UI
                                      mApp.blockPage({
                                        overlayColor: "#000000",
                                        type: "loader",
                                        state: "success",
                                        message: "Please wait..."
                                      }), setTimeout(function () {
                                        mApp.unblockPage()
                                      }, 2e3);
                                      var obj = $.parseJSON(e);
                                      if (obj.status == 1) {
                                        a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
                                        toastr[obj.flashdata_type](obj.flashdata_msg, obj.flashdata_title);
                                        $("#"+modal_id).modal('toggle');
                                        $("."+form_id+"_fields").val('');
                                        $("."+form_id+"_select").val('').trigger("change");
                                        purchase_bills_view_table.ajax.reload();
                                      } else {
                                        a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
                                        toastr[obj.flashdata_type](obj.flashdata_msg, obj.flashdata_title);
                                      }
                                      if (obj == null) {
                                        setTimeout(function () {
                                          a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
                                          toastr["warning"]("Your Attempt is Timed Out. Please Try Again.", "Timed Out");
                                        }, 2e4)
                                      }
                                    },error: function() {
                                      a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1);
                                      toastr["error"]("Sorry. There Has Been Some Error Occurred. Please Try Again.", "Error");
                                    }
                                  })
                                )
                              });
                              <?php } ?>
                              </script>
