<script>

$('body').on('click', '#opening_stock_delete_btn', function() {
  var no = $(this).closest('tr').children('td');
  $('#stock_id_delete_opening').val($(this).data('stock-id'));
})
$('body').on('click', '#opening_stock_edit_btn', function() {
  var no = $(this).closest('tr').children('td');
  $('#stock_id_opening_edit').val($(this).data('stock-id'));
  $('#material_name_opening_edit').val(no.eq(4).text());
  $('#unit_name_opening_edit').val(no.eq(5).text());
  $('#unit_price_opening_edit').val(no.eq(7).text());
  $('#quantity_opening_edit').val(no.eq(6).text());
})
<?php if($page_name!='work_profile'){?>
  $(".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: {
        quantity: {
          number: !0
        }
      }, invalidHandler: function (e, r) {
        var i = $("#" + form_id + "_msg");
        i.removeClass("m--hide").show(), mUtil.scrollTo(i, -200)
      }, submitHandler: function (e) {
      }
    }),
    $(".numeric_fields").each(function () {
      $(this).rules('add', {
        number: !0
      });
    }), 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);
          $("#"+modal_id).modal('toggle');
          $("."+form_id+"_fields").val('');
          $("."+form_id+"_select").val('').trigger("change");
          toastr[obj.flashdata_type](obj.flashdata_msg, obj.flashdata_title);
          swal({
            width: 500,
            title: obj.flashdata_title,
            text: obj.flashdata_msg,
            type: obj.flashdata_type,
            // showCancelButton: !0,
            confirmButtonText: "Ok",
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            reverseButtons: !0,
            closeOnClickOutside: false,
            allowOutsideClick: false
          }).then(function(e) {
            stock_opening_stock_view_table.ajax.reload();
            <?php if($page_name!='work_profile'){?>
              $("#opening_stock_work_add").val('').trigger('change');
              $("#stock_view_div").hide();
              stock_list_table('','');
              <?php } ?>
            })
          } 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 } ?>
  $("#consumed_date").datepicker( {
    todayHighlight:!0, orientation:"bottom left", templates: {
      leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>'
    },
    endDate: '+0d',
    <?php if($this->session->userdata('user_role')!='admin' && $this->config->item('User_calendar_date_restriction_enabled')==1){ ?>
      startDate: '<?php echo $this->config->item('User_calendar_date_restriction_start_days');?>d'
      <?php } ?>
    })

  </script>
  <script>
  <?php if($page_name=='stock_opening_view'){?>
    $("#table_filter_location").select2({
      placeholder: "Select  Work",
      templateResult: format_project_dropdown
    })
    $("#table_filter_material").select2({
      placeholder: "Select  Material"
    })

    function GetSearchLocation(){
      return $('#table_filter_location').val();
    }
    function GetSearchMaterial(){
      return $('#table_filter_material').val();
    }
    function GetSearchDate(){
      return $('#table_filter_date_range').val();
    }
    <?php } ?>
    <?php if($page_name=='data_entry_approval'){?>
      function GetStartDate(){
        return $('#table_filter_start_date').val();
      }
      function GetEndDate(){
        return $('#table_filter_end_date').val();
      }
      function GetSearchLocation(){
        return $('#table_filter_location').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 stock_opening_stock_view_table = $('#stock_opening_stock_view_table').DataTable({
        "ajax":{
          url :"<?php echo base_url().'stock/select_stock_opening/'.$page_type ?>", // json datasource
          type: "post", // type of method  , by default would be get
          data: function(d){
            <?php if($page_name=='stock_opening_view'){?>
              d.location_id = GetSearchLocation();
              d.material_id = GetSearchMaterial();
              d.date = GetSearchDate();
              <?php } ?>
              <?php if($page_name=='work_profile'){?>
                d.work_id = "<?php echo $work_data->work_id?>";
                <?php } ?>
                <?php if($page_name=='work_profile_master' || $page_name=='work_summary_master'){?>
                  d.work_ids = "<?php echo implode(',',$sub_project_ids)?>";
                  <?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.location_id = GetSearchLocation();
                    d.approval_status = GetSearchApprovalStatus();
                    d.user_id = GetSearchUser();
                    <?php } ?>
                  }
                },
                "bProcessing": true,
                "deferRender": true,
                "bDeferRender": true,
                "scrollX" : true,
                scrollX:!0, scrollCollapse:!0,
                buttons: [
                  { extend: 'print', className: 'btn dark btn-outline',exportOptions: {columns: ':visible'} ,title: 'Opening Stocks'},
                  { 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": [ 1,<?php if($page_name!='data_entry_approval'){ echo "10";}?>],
                    className: "hidden"
                  }
                ],
                'order': false
              });
              $(".table_filter").on("change", function() {
                stock_opening_stock_view_table.ajax.reload();
              });
              $(".hide_column").hide();
              <?php if($page_name=='stock_opening_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'));
                  stock_opening_stock_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);

                <?php } ?>
                </script>
