<script>
$("#reminder_type_add").select2({
  placeholder: "Select Type",
  dropdownParent: $("#form_reminder_add")
})
$("#reminder_reference_add").select2({
  placeholder: "Select Reference",
  dropdownParent: $("#form_reminder_add")
})
$("#reminder_date_add,#reminder_date_edit").datepicker({
  todayHighlight:!0, orientation:"bottom left", templates: {
    leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>'
  },
  startDate: '+0d',
})
$("#reminder_type_edit").select2({
  placeholder: "Select Type",
  dropdownParent: $("#form_reminder_edit")
})
$("#reminder_reference_edit").select2({
  placeholder: "Select Reference",
  dropdownParent: $("#form_reminder_edit")
})
$('body').on('change', '#reminder_type_add', function() {
  var reminder_type=$('#reminder_type_add :selected').val();
  if(reminder_type!='Others'){
    $("#reminder_reference_div_add").show();
    $("#reminder_reference_add").attr('required',true);
    $('.references_all').attr('disabled',true);
    if(reminder_type=='Project'){
      $('.references_project').removeAttr('disabled',true);
    }else if(reminder_type=='Employee'){
      $('.references_employee').removeAttr('disabled',true);
    }else if(reminder_type=='Labour'){
      $('.references_labour').removeAttr('disabled',true);
    }else if(reminder_type=='Vehicle'){
      $('.references_vehicle').removeAttr('disabled',true);
    }
    $("#reminder_reference_add").select2("destroy");
    $("#reminder_reference_add").select2();
  }else{
    $("#reminder_reference_div_add").hide();
    $("#reminder_reference_add").removeAttr('required',true);
  }
})
$('body').on('change', '#reminder_type_edit', function() {
  var reminder_type=$('#reminder_type_edit :selected').val();
  if(reminder_type!='Others'){
    $("#reminder_reference_div_edit").show();
    $("#reminder_reference_edit").attr('required',true);
    $('.references_all').attr('disabled',true);
    if(reminder_type=='Project'){
      $('.references_project').removeAttr('disabled',true);
    }else if(reminder_type=='Employee'){
      $('.references_employee').removeAttr('disabled',true);
    }else if(reminder_type=='Labour'){
      $('.references_labour').removeAttr('disabled',true);
    }else if(reminder_type=='Vehicle'){
      $('.references_vehicle').removeAttr('disabled',true);
    }
    $("#reminder_reference_edit").select2("destroy");
    $("#reminder_reference_edit").select2();
  }else{
    $("#reminder_reference_div_edit").hide();
    $("#reminder_reference_edit").removeAttr('required',true);
  }
})
<?php if($page_name=='reminders_view'){?>

  $("#table_filter_reminder_type").select2({
    placeholder: "Select  Type"
  })
  $("#table_filter_reminder_start_date,#table_filter_reminder_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>'
    }
  })


  function GetSearchReminderStartDate(){
    return $('#table_filter_reminder_start_date').val();
  }
  function GetSearchReminderEndDate(){
    return $('#table_filter_reminder_end_date').val();
  }
  function GetSearchReminderType(){
    return $('#table_filter_reminder_type').val();
  }

  <?php } ?>
  var reminders_view_table = $('#reminders_view_table').DataTable({
    "ajax":{
      url :"<?php echo base_url().'reminders/select_reminders' ?>", // json datasource
      type: "post", // type of method  , by default would be get
      data: function(d){
        <?php if($page_name=='reminders_view'){?>
          // d.date = GetSearchDate();
          d.start_date = GetSearchReminderStartDate();
          d.end_date = GetSearchReminderEndDate();
          d.reminder_type = GetSearchReminderType();

          <?php }elseif($page_name=='work_profile' || $page_name=='projects_profile'){ ?>
            d.work =   "<?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 } ?>
          }
        },
        "bProcessing": true,
        "deferRender": true,
        "bDeferRender": true,
        "scrollX" : true,
        buttons: [
          { extend: 'print', className: 'btn dark btn-outline',exportOptions: {columns: ':visible'},title: 'List of Project Reminders' },
          { 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,10,11],
            className: "hidden"
          }
        ],
        'order': false
      });

      $(".table_filter").on("change", function() {
        reminders_view_table.ajax.reload();
      });
      $(".hide_column").hide();
      <?php if($page_name=='reminders_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'));
          reminders_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: {

            }, 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");
                reminders_view_table.ajax.reload();
                select_reminders();
              } 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 } ?>
      $("[data-switch=true]").bootstrapSwitch()

      $("#revision_send_date_add,#revision_send_date_edit").datepicker( {
        todayHighlight:!0, orientation:"bottom left", templates: {
          leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>'
        }
      })
      $('body').on('click', '#reminder_edit_btn', function() {
        var no = $(this).closest('tr').children('td');
        $('#title_edit').val(no.eq(4).text());
        $('#description_edit').val(no.eq(5).text());
        $('#reminder_id_edit').val(no.eq(1).text());
        $('#reminder_type_edit').val(no.eq(2).text()).trigger('change');
        var reminder_type = no.eq(2).text();
        if(reminder_type!='Others'){
          $("#reminder_reference_div_edit").show();
          $("#reminder_reference_edit").attr('required',true);
          $('.references_all').attr('disabled',true);
          if(reminder_type=='Project'){
            $('.references_project').removeAttr('disabled',true);
          }else if(reminder_type=='Employee'){
            $('.references_employee').removeAttr('disabled',true);
          }else if(reminder_type=='Labour'){
            $('.references_labour').removeAttr('disabled',true);
          }else if(reminder_type=='Vehicle'){
            $('.references_vehicle').removeAttr('disabled',true);
          }
          $("#reminder_reference_edit").select2("destroy");
          $("#reminder_reference_edit").select2();
        }else{
          $("#reminder_reference_div_edit").hide();
          $("#reminder_reference_edit").removeAttr('required',true);
        }
        $('#reminder_reference_edit').val(reminder_type+'_'+no.eq(10).text()).trigger('change');
        $('#file_edit').val(no.eq(11).text());
        $('#reminder_date_edit').datepicker("setDate",no.eq(6).text());
      });
      $('body').on('click', '#reminder_delete_btn', function() {
        var no = $(this).closest('tr').children('td');
        $('#reminder_id_delete').val(no.eq(1).text());
      })

      $('#reminder_add_modal').on('hidden.bs.modal', function () {
        $(this).find('form').trigger('reset');
      })
      function select_reminders(){
        $('#reminder_revision_add').html('');
        $("#reminder_revision_add").append("<option disabled selected >Select Reminder</option>");
        var work_id='';
        <?php if($page_name=='work_profile' || $page_name=='projects_profile'){ ?>
          work_id = "<?php echo $work_data->work_id?>";
          <?php } ?>
          $.post("<?php echo base_url() ?>reminders/select",{work:work_id},function(data) {
            var obj = $.parseJSON(data);
            var i=0;
            if(obj.count>0) {
              while (i < obj.data.length) {
                $("#reminder_revision_add").append("<option value=" + obj.data[i]['id'] + ">#" + obj.data[i]['id'] + " - "+obj.data[i]['title']+" [" + obj.data[i]['work_name'] + "][" + obj.data[i]['description'] + "]</option>");
                i++;
              }
            }
          })
        }
        select_reminders();
        $("#work_id").select2({
          placeholder: "Select Work",
          dropdownParent: $("#form_reminder_add"),
          templateResult: format_project_dropdown
        })
        $("#work_id_edit").select2({
          placeholder: "Select Work",
          dropdownParent: $("#form_reminder_edit"),
          templateResult: format_project_dropdown
        })

        </script>
