document.addEventListener("DOMContentLoaded", function(event) {

  // Clear the hash in the URL
  location.hash = '';

  $('.settings').on('click', '.add-bonus', function(event) {
    event.preventDefault();
    let email = $(this).closest('tr').find('.email').html();
    let name = $(this).closest('tr').find('.name').html();
    let id = $(this).closest('tr').data('id');
    $('#modal-add .modal-title .user').html(name + '(' + email + ')');
    $('#modal-add input[name="bonus_id"]').val(id);
    $('#modal-add input[name="customer_id"]').val($(this).closest('tr').data('customer'));
    $('#modal-add').modal();
  });

  $('.settings').on('click', '.remove-bonus', function(event) {
    event.preventDefault();
    let email = $(this).closest('tr').find('.email').html();
    let name = $(this).closest('tr').find('.name').html();
    let id = $(this).closest('tr').data('id');
    let sum = $(this).closest('tr').data('sum');
    $('#modal-remove .modal-title .user').html(name + '(' + email + ')');
    $('#modal-remove input[name="bonus_id"]').val(id);
    $('#modal-remove input[name="customer_id"]').val($(this).closest('tr').data('customer'));
    $('#modal-remove input[name="bonus_value"]').attr('max', sum);
    $('#modal-remove').modal();
  });

  $('.settings-content').on('change', '#rate', function() {
    $('#bonus-rate-label').html($(this).val());
  });

  $('.modal-ajax').on('click', function(event) {
    event.preventDefault();
    $('#modal').modal();
  });

  $('#sd-bonuspunkte-plugin').DataTable({
    columns: [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      { "orderable": false }
    ],
    language: {
      "sEmptyTable": "Keine Daten in der Tabelle vorhanden",
      "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
      "sInfoEmpty": "0 bis 0 von 0 Einträgen",
      "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
      "sInfoPostFix": "",
      "sInfoThousands": ".",
      "sLengthMenu": "_MENU_ Einträge anzeigen",
      "sLoadingRecords": "Wird geladen...",
      "sProcessing": "Bitte warten...",
      "sSearch": "Suchen",
      "sZeroRecords": "Keine Einträge vorhanden.",
      "oPaginate": {
        "sFirst": "Erste",
        "sPrevious": "Zur&uuml;ck",
        "sNext": "Nähste",
        "sLast": "Letzte"
      },
      "oAria": {
        "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
        "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
      },
      select: {
        rows: {
          _: '%d Zeilen ausgewählt',
          0: 'Zum Auswählen auf eine Zeile klicken',
          1: '1 Zeile ausgewählt'
        }
      }
    }
  });
});
