//= require moment //= require moment-timezone //= require datetimepicker

Date.parseDate = function( input, format ){

return moment(input,format).toDate();

}; Date.prototype.dateFormat = function( format ){

return moment(this).format(format);

};

if (typeof window.WCC == “undefined”) window.WCC = {};

WCC.datetimepicker = (function() {

var dtp = {};
var DDF = "MM/DD/YYYY";
var DTF = "h:mm a";

dtp.defaultConfig = {
  format:      DDF + " " + DTF,
  formatDate:  DDF,
  formatTime:  DTF,
  scrollMonth: false,
  step: 30,
  timezone: "America/Chicago"
};

dtp.initializeAll = function($, selector) {
  selector = selector ? selector : "[data-datetimepicker]";
  $(selector).each(function(i, item) {
    var $item = $(item);
    var $input = $($item.data('datetimepicker'));
    var options = $item.data('datetimepicker-options');

    item.config = $.extend({}, WCC.datetimepicker.defaultConfig, options);
    $item.datetimepicker(item.config);

    if (!$input.length) return;

    $item
      .off('change.datetimepicker')
      .on('change.datetimepicker', function(event) {
        var time = moment.tz(this.value, this.config.format, this.config.timezone);
        if (time.isValid()) {
          $input.val(time.toISOString());
        } else {
          $input.val('');
        }
      });
  });
};

return dtp;

}());

$(WCC.datetimepicker.initializeAll);