document.addEventListener('setup', function(e) {
  "use strict";
    
  if (e.detail.module && e.detail.module !== 'datepicker')
    return;

  var config = {
    dtLocal: {
      enableTime: true,
      altInput: true,
      altFormat: "j. F Y, H:i",
      dateFormat: "Y-m-dTH:i",
      time_24hr: true
    },
    d: {
      altFormat: "j. F Y",
      dateFormat: "Y-m-d",
      altInput: true
    },
    t: {
      enableTime: true,
      noCalendar: true,
      altFormat: "H:i",
      dateFormat: "H:i",
      altInput: true,
      time_24hr: true
    }
  };

  Array.from(e.detail.scope.querySelectorAll('input[type="date"]')).forEach(function(el) {
    flatpickr(el, config.d);
  });
  Array.from(e.detail.scope.querySelectorAll('input[type="time"]')).forEach(function(el) {
    flatpickr(el, config.t);
  });
  Array.from(e.detail.scope.querySelectorAll('input[type="datetime-local"]')).forEach(function(el) {
    flatpickr(el, config.dtLocal);
  });
});

document.addEventListener('DOMContentLoaded', function() {
  document.dispatchEvent(new CustomEvent('setup', { detail: { scope: document.body, module: 'datepicker' }, bubbles: true, cancelable: true }));
});
