(function() {
if (typeof Pikaday === 'function') {
return $document.ready(function() {
var DatePicker, checkin, checkout, handleMinDate;
DatePicker = (function() {
function DatePicker(elem, opts) {
if (opts == null) {
opts = {};
}
this.date = new Date();
this.pickers = [];
this.$input = elem;
this.opts = extend({
field: this.$input[0],
position: "bottom left",
format: 'Do MMMM YYYY',
i18n: {
previousMonth: 'Previous Month',
nextMonth: 'Next Month',
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
weekdaysShort: ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat']
},
defaultDate: new Date((this.date.getMonth() + 1) + " " + (this.date.getDay()) + " " + (this.date.getFullYear()) + " 12:00:00 GMT+0200 (SAST)"),
yearRange: [this.date.getFullYear() - 120, this.date.getFullYear() + 10],
minDate: this.date,
bound: true
}, opts);
this._init();
}
DatePicker.prototype._init = function() {
return this.picker = new Pikaday(this.opts);
};
return DatePicker;
})();
checkin = new DatePicker($('.js-pikaday-checkin'));
checkout = new DatePicker($('.js-pikaday-checkout'));
handleMinDate = function(event) {
var char, dateArr, day, i, len, ref;
dateArr = event.target.value.split(' ');
day = '';
ref = dateArr[0];
for (i = 0, len = ref.length; i < len; i++) {
char = ref[i];
if (Number(char)) {
day = day + char;
}
}
return this.picker.setMinDate(new Date(dateArr[1] + ", " + day + ", " + dateArr[2] + " 12:2:00"));
};
return checkin.$input.on('change', handleMinDate.bind(checkout));
});
}
})();