/**
 * @file
 * Datepicker JavaScript for the Locale module.
 */

(function ($, Drupal, drupalSettings) {
  /**
   * Attaches language support to the jQuery UI datepicker component.
   *
   * @type {Drupal~behavior}
   */
  Drupal.behaviors.localeDatepicker = {
    attach(context, settings) {
      // This code accesses drupalSettings and localized strings via Drupal.t().
      // So this code should run after these are initialized. By placing it in an
      // attach behavior this is assured.
      $.datepicker.regional['drupal-locale'] = $.extend({
        closeText: Drupal.t('Done'),
        prevText: Drupal.t('Prev'),
        nextText: Drupal.t('Next'),
        currentText: Drupal.t('Today'),
        monthNames: [
          Drupal.t('January', {}, { context: 'Long month name' }),
          Drupal.t('February', {}, { context: 'Long month name' }),
          Drupal.t('March', {}, { context: 'Long month name' }),
          Drupal.t('April', {}, { context: 'Long month name' }),
          Drupal.t('May', {}, { context: 'Long month name' }),
          Drupal.t('June', {}, { context: 'Long month name' }),
          Drupal.t('July', {}, { context: 'Long month name' }),
          Drupal.t('August', {}, { context: 'Long month name' }),
          Drupal.t('September', {}, { context: 'Long month name' }),
          Drupal.t('October', {}, { context: 'Long month name' }),
          Drupal.t('November', {}, { context: 'Long month name' }),
          Drupal.t('December', {}, { context: 'Long month name' }),
        ],
        monthNamesShort: [
          Drupal.t('Jan'),
          Drupal.t('Feb'),
          Drupal.t('Mar'),
          Drupal.t('Apr'),
          Drupal.t('May'),
          Drupal.t('Jun'),
          Drupal.t('Jul'),
          Drupal.t('Aug'),
          Drupal.t('Sep'),
          Drupal.t('Oct'),
          Drupal.t('Nov'),
          Drupal.t('Dec'),
        ],
        dayNames: [
          Drupal.t('Sunday'),
          Drupal.t('Monday'),
          Drupal.t('Tuesday'),
          Drupal.t('Wednesday'),
          Drupal.t('Thursday'),
          Drupal.t('Friday'),
          Drupal.t('Saturday'),
        ],
        dayNamesShort: [
          Drupal.t('Sun'),
          Drupal.t('Mon'),
          Drupal.t('Tue'),
          Drupal.t('Wed'),
          Drupal.t('Thu'),
          Drupal.t('Fri'),
          Drupal.t('Sat'),
        ],
        dayNamesMin: [
          Drupal.t('Su'),
          Drupal.t('Mo'),
          Drupal.t('Tu'),
          Drupal.t('We'),
          Drupal.t('Th'),
          Drupal.t('Fr'),
          Drupal.t('Sa'),
        ],
        dateFormat: Drupal.t('mm/dd/yy'),
        firstDay: 0,
        isRTL: 0,
      }, drupalSettings.jquery.ui.datepicker);
      $.datepicker.setDefaults($.datepicker.regional['drupal-locale']);
    },
  };
}(jQuery, Drupal, drupalSettings));
