<script>
$("#table_filter_delivery_challan_location").select2({
  placeholder: "Select  Work",
  templateResult: format_project_dropdown
})
$("#table_filter_delivery_challan_supplier").select2({
  placeholder: "Select  Supplier"
})
$("#table_filter_delivery_challan_start_date,#table_filter_delivery_challan_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>'
  }
})

<?php if($page_name=='delivery_challan_view'){?>
  $("#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 GetSearchStartDate(){
      return $('#table_filter_delivery_challan_start_date').val();
    }
    function GetSearchEndDate(){
      return $('#table_filter_delivery_challan_end_date').val();
    }
    function GetSearchsupplier(){
      return $('#table_filter_delivery_challan_supplier').val();
    }
    function GetSearchLocation(){
      return $('#table_filter_delivery_challan_location').val();
    }
    <?php if($page_name=='data_entry_approval'){?>
      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
      $page_type='';
      if($page_name=='data_entry_approval'){
        $page_type='approval_entries';
      }
      ?>
      var delivery_challan_view_table = $('#delivery_challan_view_table').DataTable({
        "ajax":{
          url :"<?php echo base_url().'purchases/select_delivery_challan/'.$page_type ?>", // json datasource
          type: "post", // type of method  , by default would be get
          data: function(d){
            <?php if($page_name=='delivery_challan_view'){?>
              d.start_date = GetSearchStartDate();
              d.end_date = GetSearchEndDate();
              d.supplier = GetSearchsupplier();
              d.location = GetSearchLocation();
              <?php } ?>
              <?php if($page_name=='work_profile'){?>
                d.work = "<?php echo $work_data->work_id?>";
                d.start_date = GetSearchStartDate();
                d.end_date = GetSearchEndDate();
                d.supplier = GetSearchsupplier();
                <?php } ?>
                <?php if($page_name=='work_profile_master' || $page_name=='work_summary_master'){?>
                  d.work_ids = "<?php echo implode(',',$sub_project_ids)?>";
                  d.start_date = GetSearchStartDate();
                  d.end_date = GetSearchEndDate();
                  d.supplier = GetSearchsupplier();
                  <?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?>";
                    <?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 = "<?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'){?>
                            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,
                        "scrollX" : true,
                        buttons: [
                          { extend: 'print', className: 'btn dark btn-outline',exportOptions: {columns: ':visible'},title: 'Delivery Challans' },
                          { 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
                        ],
                        "columnDefs": [
                          {
                            "targets": [ 12<?php if($page_name=='work_profile'){ echo ",6"; }?><?php if($page_name=='reports_activity'){ echo ",11"; }?> ],
                            className: "hidden"
                          }
                        ],
                        'order': false,
                        // "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                        //   if(aData[12]=='0'){
                        //     $('td', nRow).css('background-color', '#ffcccc');
                        //   }else if(aData[12]=='2'){
                        //     $('td', nRow).css('background-color', '#ffcccc');
                        //   }
                        // }
                      });
                      $(".table_filter").on("change", function() {
                        delivery_challan_view_table.ajax.reload();
                      });

                      $(".hidden").hide();

                      <?php if($page_name=='delivery_challan_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'));
                          delivery_challan_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("");
                                delivery_challan_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>
