diff --git a/Resources/Gruntfile.js b/Resources/Gruntfile.js
index dc243f418..e12ab7b59 100644
--- a/Resources/Gruntfile.js
+++ b/Resources/Gruntfile.js
@@ -4,13 +4,14 @@ module.exports = function(grunt) {
chill: {
folders: {
- fonts: './public/fonts',
+ pub: './public',
+ fonts: '<%= chill.folders.pub %>/fonts',
bower: './bower_components/',
css: {
- dist: './public/stylesheets/',
+ dist: '<%= chill.folders.pub %>/stylesheets/',
},
sass: {
- src: './public/stylesheets/sass/',
+ src: '<%= chill.folders.css.dist %>/sass/',
}
}
},
@@ -20,7 +21,8 @@ module.exports = function(grunt) {
targetDir: '<%= chill.folders.bower %>',
install: true,
copy: false,
- cleanBowerDir: true
+ //cleanBowerDir: true,
+ verbose: true
}
}
},
@@ -41,6 +43,26 @@ module.exports = function(grunt) {
}
]
},
+ pikaday: {
+ files: [
+ {
+ cwd: '<%= chill.folders.bower %>pikaday',
+ src: ['css/pikaday.css', 'pikaday.js', 'plugins/pikaday.jquery.js'],
+ dest: '<%= chill.folders.pub %>',
+ expand: true,
+ }
+ ]
+ },
+ moment: {
+ files: [
+ {
+ cwd: '<%= chill.folders.bower %>moment',
+ src: ['moment.js'],
+ dest: '<%= chill.folders.pub %>',
+ expand: true,
+ }
+ ]
+ },
chill_standard: {
files: [
{
diff --git a/Resources/bower.json b/Resources/bower.json
index 43a28bf60..66fd17124 100644
--- a/Resources/bower.json
+++ b/Resources/bower.json
@@ -8,8 +8,9 @@
"description": "JS-CSS files for Chill, a software for social workers",
"private": true,
"devDependencies": {
- "Scratch-CSS-Design": "git@github.com:Champs-Libres/ScratchCSS.git#master",
- "pikaday": "https://github.com/dbushell/Pikaday.git#~1.2.0"
+ "Scratch-CSS-Design": "git@github.com:Champs-Libres/ScratchCSS.git",
+ "pikaday": "https://github.com/dbushell/Pikaday.git#~1.2.0",
+ "moment": "~2.8.3"
},
"license": "MIT"
}
diff --git a/Resources/public/css/pikaday.css b/Resources/public/css/pikaday.css
new file mode 100644
index 000000000..495802417
--- /dev/null
+++ b/Resources/public/css/pikaday.css
@@ -0,0 +1,173 @@
+@charset "UTF-8";
+
+/*!
+ * Pikaday
+ * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/
+ */
+
+.pika-single {
+ z-index: 9999;
+ display: block;
+ position: relative;
+ width: 240px;
+ padding: 8px;
+ color: #333;
+ background: #fff;
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+.pika-single.is-hidden {
+ display: none;
+}
+
+.pika-single.is-bound {
+ position: absolute;
+ box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
+}
+
+.pika-title {
+ position: relative;
+ text-align: center;
+}
+
+.pika-label {
+ display: inline-block;
+ *display: inline;
+ position: relative;
+ z-index: 9999;
+ overflow: hidden;
+ margin: 0;
+ padding: 5px 3px;
+ font-size: 14px;
+ line-height: 20px;
+ font-weight: bold;
+ background-color: #fff;
+}
+.pika-title select {
+ cursor: pointer;
+ position: absolute;
+ z-index: 9998;
+ margin: 0;
+ left: 0;
+ top: 5px;
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+
+.pika-prev,
+.pika-next {
+ display: block;
+ cursor: pointer;
+ position: relative;
+ outline: none;
+ border: 0;
+ padding: 0;
+ width: 20px;
+ height: 30px;
+ /* hide text using text-indent trick, using width value (it's enough) */
+ text-indent: 20px;
+ white-space: nowrap;
+ overflow: hidden;
+ background-color: transparent;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 75% 75%;
+ opacity: .5;
+ *position: absolute;
+ *top: 0;
+}
+
+.pika-prev:hover,
+.pika-next:hover {
+ opacity: 1;
+}
+
+.pika-prev,
+.is-rtl .pika-next {
+ float: left;
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
+ *left: 0;
+}
+
+.pika-next,
+.is-rtl .pika-prev {
+ float: right;
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
+ *right: 0;
+}
+
+.pika-prev.is-disabled,
+.pika-next.is-disabled {
+ cursor: default;
+ opacity: .2;
+}
+
+.pika-select {
+ display: inline-block;
+ *display: inline;
+}
+
+.pika-table {
+ width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+ border: 0;
+}
+
+.pika-table th,
+.pika-table td {
+ width: 14.285714285714286%;
+ padding: 0;
+}
+
+.pika-table th {
+ color: #999;
+ font-size: 12px;
+ line-height: 25px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.pika-button {
+ cursor: pointer;
+ display: block;
+ outline: none;
+ border: 0;
+ margin: 0;
+ width: 100%;
+ padding: 5px;
+ color: #666;
+ font-size: 12px;
+ line-height: 15px;
+ text-align: right;
+ background: #f5f5f5;
+}
+
+.is-today .pika-button {
+ color: #33aaff;
+ font-weight: bold;
+}
+
+.is-selected .pika-button {
+ color: #fff;
+ font-weight: bold;
+ background: #33aaff;
+ box-shadow: inset 0 1px 3px #178fe5;
+ border-radius: 3px;
+}
+
+.is-disabled .pika-button {
+ pointer-events: none;
+ cursor: default;
+ color: #999;
+ opacity: .3;
+}
+
+.pika-button:hover {
+ color: #fff !important;
+ background: #ff8000 !important;
+ box-shadow: none !important;
+ border-radius: 3px !important;
+}
diff --git a/Resources/public/moment.js b/Resources/public/moment.js
new file mode 100644
index 000000000..d100a9c40
--- /dev/null
+++ b/Resources/public/moment.js
@@ -0,0 +1,2856 @@
+//! moment.js
+//! version : 2.8.3
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (undefined) {
+ /************************************
+ Constants
+ ************************************/
+
+ var moment,
+ VERSION = '2.8.3',
+ // the global-scope this is NOT the global object in Node.js
+ globalScope = typeof global !== 'undefined' ? global : this,
+ oldGlobalMoment,
+ round = Math.round,
+ hasOwnProperty = Object.prototype.hasOwnProperty,
+ i,
+
+ YEAR = 0,
+ MONTH = 1,
+ DATE = 2,
+ HOUR = 3,
+ MINUTE = 4,
+ SECOND = 5,
+ MILLISECOND = 6,
+
+ // internal storage for locale config files
+ locales = {},
+
+ // extra moment internal properties (plugins register props here)
+ momentProperties = [],
+
+ // check for nodeJS
+ hasModule = (typeof module !== 'undefined' && module.exports),
+
+ // ASP.NET json date format regex
+ aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+ aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+ isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+ // format tokens
+ formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
+ localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
+
+ // parsing token regexes
+ parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+ parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+ parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999
+ parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+ parseTokenDigits = /\d+/, // nonzero number of digits
+ parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
+ parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
+ parseTokenT = /T/i, // T (ISO separator)
+ parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
+ parseTokenOrdinal = /\d{1,2}/,
+
+ //strict parsing regexes
+ parseTokenOneDigit = /\d/, // 0 - 9
+ parseTokenTwoDigits = /\d\d/, // 00 - 99
+ parseTokenThreeDigits = /\d{3}/, // 000 - 999
+ parseTokenFourDigits = /\d{4}/, // 0000 - 9999
+ parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
+ parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
+
+ // iso 8601 regex
+ // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
+ isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+
+ isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
+
+ isoDates = [
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+ ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
+ ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
+ ['GGGG-[W]WW', /\d{4}-W\d{2}/],
+ ['YYYY-DDD', /\d{4}-\d{3}/]
+ ],
+
+ // iso time formats and regexes
+ isoTimes = [
+ ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
+ ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+ ['HH:mm', /(T| )\d\d:\d\d/],
+ ['HH', /(T| )\d\d/]
+ ],
+
+ // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30']
+ parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+ // getter and setter names
+ proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+ unitMillisecondFactors = {
+ 'Milliseconds' : 1,
+ 'Seconds' : 1e3,
+ 'Minutes' : 6e4,
+ 'Hours' : 36e5,
+ 'Days' : 864e5,
+ 'Months' : 2592e6,
+ 'Years' : 31536e6
+ },
+
+ unitAliases = {
+ ms : 'millisecond',
+ s : 'second',
+ m : 'minute',
+ h : 'hour',
+ d : 'day',
+ D : 'date',
+ w : 'week',
+ W : 'isoWeek',
+ M : 'month',
+ Q : 'quarter',
+ y : 'year',
+ DDD : 'dayOfYear',
+ e : 'weekday',
+ E : 'isoWeekday',
+ gg: 'weekYear',
+ GG: 'isoWeekYear'
+ },
+
+ camelFunctions = {
+ dayofyear : 'dayOfYear',
+ isoweekday : 'isoWeekday',
+ isoweek : 'isoWeek',
+ weekyear : 'weekYear',
+ isoweekyear : 'isoWeekYear'
+ },
+
+ // format function strings
+ formatFunctions = {},
+
+ // default relative time thresholds
+ relativeTimeThresholds = {
+ s: 45, // seconds to minute
+ m: 45, // minutes to hour
+ h: 22, // hours to day
+ d: 26, // days to month
+ M: 11 // months to year
+ },
+
+ // tokens to ordinalize and pad
+ ordinalizeTokens = 'DDD w W M D d'.split(' '),
+ paddedTokens = 'M D H h m s w W'.split(' '),
+
+ formatTokenFunctions = {
+ M : function () {
+ return this.month() + 1;
+ },
+ MMM : function (format) {
+ return this.localeData().monthsShort(this, format);
+ },
+ MMMM : function (format) {
+ return this.localeData().months(this, format);
+ },
+ D : function () {
+ return this.date();
+ },
+ DDD : function () {
+ return this.dayOfYear();
+ },
+ d : function () {
+ return this.day();
+ },
+ dd : function (format) {
+ return this.localeData().weekdaysMin(this, format);
+ },
+ ddd : function (format) {
+ return this.localeData().weekdaysShort(this, format);
+ },
+ dddd : function (format) {
+ return this.localeData().weekdays(this, format);
+ },
+ w : function () {
+ return this.week();
+ },
+ W : function () {
+ return this.isoWeek();
+ },
+ YY : function () {
+ return leftZeroFill(this.year() % 100, 2);
+ },
+ YYYY : function () {
+ return leftZeroFill(this.year(), 4);
+ },
+ YYYYY : function () {
+ return leftZeroFill(this.year(), 5);
+ },
+ YYYYYY : function () {
+ var y = this.year(), sign = y >= 0 ? '+' : '-';
+ return sign + leftZeroFill(Math.abs(y), 6);
+ },
+ gg : function () {
+ return leftZeroFill(this.weekYear() % 100, 2);
+ },
+ gggg : function () {
+ return leftZeroFill(this.weekYear(), 4);
+ },
+ ggggg : function () {
+ return leftZeroFill(this.weekYear(), 5);
+ },
+ GG : function () {
+ return leftZeroFill(this.isoWeekYear() % 100, 2);
+ },
+ GGGG : function () {
+ return leftZeroFill(this.isoWeekYear(), 4);
+ },
+ GGGGG : function () {
+ return leftZeroFill(this.isoWeekYear(), 5);
+ },
+ e : function () {
+ return this.weekday();
+ },
+ E : function () {
+ return this.isoWeekday();
+ },
+ a : function () {
+ return this.localeData().meridiem(this.hours(), this.minutes(), true);
+ },
+ A : function () {
+ return this.localeData().meridiem(this.hours(), this.minutes(), false);
+ },
+ H : function () {
+ return this.hours();
+ },
+ h : function () {
+ return this.hours() % 12 || 12;
+ },
+ m : function () {
+ return this.minutes();
+ },
+ s : function () {
+ return this.seconds();
+ },
+ S : function () {
+ return toInt(this.milliseconds() / 100);
+ },
+ SS : function () {
+ return leftZeroFill(toInt(this.milliseconds() / 10), 2);
+ },
+ SSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ SSSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ Z : function () {
+ var a = -this.zone(),
+ b = '+';
+ if (a < 0) {
+ a = -a;
+ b = '-';
+ }
+ return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2);
+ },
+ ZZ : function () {
+ var a = -this.zone(),
+ b = '+';
+ if (a < 0) {
+ a = -a;
+ b = '-';
+ }
+ return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2);
+ },
+ z : function () {
+ return this.zoneAbbr();
+ },
+ zz : function () {
+ return this.zoneName();
+ },
+ X : function () {
+ return this.unix();
+ },
+ Q : function () {
+ return this.quarter();
+ }
+ },
+
+ deprecations = {},
+
+ lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'];
+
+ // Pick the first defined of two or three arguments. dfl comes from
+ // default.
+ function dfl(a, b, c) {
+ switch (arguments.length) {
+ case 2: return a != null ? a : b;
+ case 3: return a != null ? a : b != null ? b : c;
+ default: throw new Error('Implement me');
+ }
+ }
+
+ function hasOwnProp(a, b) {
+ return hasOwnProperty.call(a, b);
+ }
+
+ function defaultParsingFlags() {
+ // We need to deep clone this object, and es5 standard is not very
+ // helpful.
+ return {
+ empty : false,
+ unusedTokens : [],
+ unusedInput : [],
+ overflow : -2,
+ charsLeftOver : 0,
+ nullInput : false,
+ invalidMonth : null,
+ invalidFormat : false,
+ userInvalidated : false,
+ iso: false
+ };
+ }
+
+ function printMsg(msg) {
+ if (moment.suppressDeprecationWarnings === false &&
+ typeof console !== 'undefined' && console.warn) {
+ console.warn('Deprecation warning: ' + msg);
+ }
+ }
+
+ function deprecate(msg, fn) {
+ var firstTime = true;
+ return extend(function () {
+ if (firstTime) {
+ printMsg(msg);
+ firstTime = false;
+ }
+ return fn.apply(this, arguments);
+ }, fn);
+ }
+
+ function deprecateSimple(name, msg) {
+ if (!deprecations[name]) {
+ printMsg(msg);
+ deprecations[name] = true;
+ }
+ }
+
+ function padToken(func, count) {
+ return function (a) {
+ return leftZeroFill(func.call(this, a), count);
+ };
+ }
+ function ordinalizeToken(func, period) {
+ return function (a) {
+ return this.localeData().ordinal(func.call(this, a), period);
+ };
+ }
+
+ while (ordinalizeTokens.length) {
+ i = ordinalizeTokens.pop();
+ formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
+ }
+ while (paddedTokens.length) {
+ i = paddedTokens.pop();
+ formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
+ }
+ formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
+
+
+ /************************************
+ Constructors
+ ************************************/
+
+ function Locale() {
+ }
+
+ // Moment prototype object
+ function Moment(config, skipOverflow) {
+ if (skipOverflow !== false) {
+ checkOverflow(config);
+ }
+ copyConfig(this, config);
+ this._d = new Date(+config._d);
+ }
+
+ // Duration Constructor
+ function Duration(duration) {
+ var normalizedInput = normalizeObjectUnits(duration),
+ years = normalizedInput.year || 0,
+ quarters = normalizedInput.quarter || 0,
+ months = normalizedInput.month || 0,
+ weeks = normalizedInput.week || 0,
+ days = normalizedInput.day || 0,
+ hours = normalizedInput.hour || 0,
+ minutes = normalizedInput.minute || 0,
+ seconds = normalizedInput.second || 0,
+ milliseconds = normalizedInput.millisecond || 0;
+
+ // representation for dateAddRemove
+ this._milliseconds = +milliseconds +
+ seconds * 1e3 + // 1000
+ minutes * 6e4 + // 1000 * 60
+ hours * 36e5; // 1000 * 60 * 60
+ // Because of dateAddRemove treats 24 hours as different from a
+ // day when working around DST, we need to store them separately
+ this._days = +days +
+ weeks * 7;
+ // It is impossible translate months into days without knowing
+ // which months you are are talking about, so we have to store
+ // it separately.
+ this._months = +months +
+ quarters * 3 +
+ years * 12;
+
+ this._data = {};
+
+ this._locale = moment.localeData();
+
+ this._bubble();
+ }
+
+ /************************************
+ Helpers
+ ************************************/
+
+
+ function extend(a, b) {
+ for (var i in b) {
+ if (hasOwnProp(b, i)) {
+ a[i] = b[i];
+ }
+ }
+
+ if (hasOwnProp(b, 'toString')) {
+ a.toString = b.toString;
+ }
+
+ if (hasOwnProp(b, 'valueOf')) {
+ a.valueOf = b.valueOf;
+ }
+
+ return a;
+ }
+
+ function copyConfig(to, from) {
+ var i, prop, val;
+
+ if (typeof from._isAMomentObject !== 'undefined') {
+ to._isAMomentObject = from._isAMomentObject;
+ }
+ if (typeof from._i !== 'undefined') {
+ to._i = from._i;
+ }
+ if (typeof from._f !== 'undefined') {
+ to._f = from._f;
+ }
+ if (typeof from._l !== 'undefined') {
+ to._l = from._l;
+ }
+ if (typeof from._strict !== 'undefined') {
+ to._strict = from._strict;
+ }
+ if (typeof from._tzm !== 'undefined') {
+ to._tzm = from._tzm;
+ }
+ if (typeof from._isUTC !== 'undefined') {
+ to._isUTC = from._isUTC;
+ }
+ if (typeof from._offset !== 'undefined') {
+ to._offset = from._offset;
+ }
+ if (typeof from._pf !== 'undefined') {
+ to._pf = from._pf;
+ }
+ if (typeof from._locale !== 'undefined') {
+ to._locale = from._locale;
+ }
+
+ if (momentProperties.length > 0) {
+ for (i in momentProperties) {
+ prop = momentProperties[i];
+ val = from[prop];
+ if (typeof val !== 'undefined') {
+ to[prop] = val;
+ }
+ }
+ }
+
+ return to;
+ }
+
+ function absRound(number) {
+ if (number < 0) {
+ return Math.ceil(number);
+ } else {
+ return Math.floor(number);
+ }
+ }
+
+ // left zero fill a number
+ // see http://jsperf.com/left-zero-filling for performance comparison
+ function leftZeroFill(number, targetLength, forceSign) {
+ var output = '' + Math.abs(number),
+ sign = number >= 0;
+
+ while (output.length < targetLength) {
+ output = '0' + output;
+ }
+ return (sign ? (forceSign ? '+' : '') : '-') + output;
+ }
+
+ function positiveMomentsDifference(base, other) {
+ var res = {milliseconds: 0, months: 0};
+
+ res.months = other.month() - base.month() +
+ (other.year() - base.year()) * 12;
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
+ --res.months;
+ }
+
+ res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+ return res;
+ }
+
+ function momentsDifference(base, other) {
+ var res;
+ other = makeAs(other, base);
+ if (base.isBefore(other)) {
+ res = positiveMomentsDifference(base, other);
+ } else {
+ res = positiveMomentsDifference(other, base);
+ res.milliseconds = -res.milliseconds;
+ res.months = -res.months;
+ }
+
+ return res;
+ }
+
+ // TODO: remove 'name' arg after deprecation is removed
+ function createAdder(direction, name) {
+ return function (val, period) {
+ var dur, tmp;
+ //invert the arguments, but complain about it
+ if (period !== null && !isNaN(+period)) {
+ deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
+ tmp = val; val = period; period = tmp;
+ }
+
+ val = typeof val === 'string' ? +val : val;
+ dur = moment.duration(val, period);
+ addOrSubtractDurationFromMoment(this, dur, direction);
+ return this;
+ };
+ }
+
+ function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) {
+ var milliseconds = duration._milliseconds,
+ days = duration._days,
+ months = duration._months;
+ updateOffset = updateOffset == null ? true : updateOffset;
+
+ if (milliseconds) {
+ mom._d.setTime(+mom._d + milliseconds * isAdding);
+ }
+ if (days) {
+ rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding);
+ }
+ if (months) {
+ rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding);
+ }
+ if (updateOffset) {
+ moment.updateOffset(mom, days || months);
+ }
+ }
+
+ // check if is an array
+ function isArray(input) {
+ return Object.prototype.toString.call(input) === '[object Array]';
+ }
+
+ function isDate(input) {
+ return Object.prototype.toString.call(input) === '[object Date]' ||
+ input instanceof Date;
+ }
+
+ // compare two arrays, return the number of differences
+ function compareArrays(array1, array2, dontConvert) {
+ var len = Math.min(array1.length, array2.length),
+ lengthDiff = Math.abs(array1.length - array2.length),
+ diffs = 0,
+ i;
+ for (i = 0; i < len; i++) {
+ if ((dontConvert && array1[i] !== array2[i]) ||
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+ diffs++;
+ }
+ }
+ return diffs + lengthDiff;
+ }
+
+ function normalizeUnits(units) {
+ if (units) {
+ var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
+ units = unitAliases[units] || camelFunctions[lowered] || lowered;
+ }
+ return units;
+ }
+
+ function normalizeObjectUnits(inputObject) {
+ var normalizedInput = {},
+ normalizedProp,
+ prop;
+
+ for (prop in inputObject) {
+ if (hasOwnProp(inputObject, prop)) {
+ normalizedProp = normalizeUnits(prop);
+ if (normalizedProp) {
+ normalizedInput[normalizedProp] = inputObject[prop];
+ }
+ }
+ }
+
+ return normalizedInput;
+ }
+
+ function makeList(field) {
+ var count, setter;
+
+ if (field.indexOf('week') === 0) {
+ count = 7;
+ setter = 'day';
+ }
+ else if (field.indexOf('month') === 0) {
+ count = 12;
+ setter = 'month';
+ }
+ else {
+ return;
+ }
+
+ moment[field] = function (format, index) {
+ var i, getter,
+ method = moment._locale[field],
+ results = [];
+
+ if (typeof format === 'number') {
+ index = format;
+ format = undefined;
+ }
+
+ getter = function (i) {
+ var m = moment().utc().set(setter, i);
+ return method.call(moment._locale, m, format || '');
+ };
+
+ if (index != null) {
+ return getter(index);
+ }
+ else {
+ for (i = 0; i < count; i++) {
+ results.push(getter(i));
+ }
+ return results;
+ }
+ };
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ if (coercedNumber >= 0) {
+ value = Math.floor(coercedNumber);
+ } else {
+ value = Math.ceil(coercedNumber);
+ }
+ }
+
+ return value;
+ }
+
+ function daysInMonth(year, month) {
+ return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
+ }
+
+ function weeksInYear(year, dow, doy) {
+ return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week;
+ }
+
+ function daysInYear(year) {
+ return isLeapYear(year) ? 366 : 365;
+ }
+
+ function isLeapYear(year) {
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+ }
+
+ function checkOverflow(m) {
+ var overflow;
+ if (m._a && m._pf.overflow === -2) {
+ overflow =
+ m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
+ m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
+ m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR :
+ m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
+ m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
+ m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
+ -1;
+
+ if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+ overflow = DATE;
+ }
+
+ m._pf.overflow = overflow;
+ }
+ }
+
+ function isValid(m) {
+ if (m._isValid == null) {
+ m._isValid = !isNaN(m._d.getTime()) &&
+ m._pf.overflow < 0 &&
+ !m._pf.empty &&
+ !m._pf.invalidMonth &&
+ !m._pf.nullInput &&
+ !m._pf.invalidFormat &&
+ !m._pf.userInvalidated;
+
+ if (m._strict) {
+ m._isValid = m._isValid &&
+ m._pf.charsLeftOver === 0 &&
+ m._pf.unusedTokens.length === 0;
+ }
+ }
+ return m._isValid;
+ }
+
+ function normalizeLocale(key) {
+ return key ? key.toLowerCase().replace('_', '-') : key;
+ }
+
+ // pick the locale from the array
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+ function chooseLocale(names) {
+ var i = 0, j, next, locale, split;
+
+ while (i < names.length) {
+ split = normalizeLocale(names[i]).split('-');
+ j = split.length;
+ next = normalizeLocale(names[i + 1]);
+ next = next ? next.split('-') : null;
+ while (j > 0) {
+ locale = loadLocale(split.slice(0, j).join('-'));
+ if (locale) {
+ return locale;
+ }
+ if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+ //the next array item is better than a shallower substring of this one
+ break;
+ }
+ j--;
+ }
+ i++;
+ }
+ return null;
+ }
+
+ function loadLocale(name) {
+ var oldLocale = null;
+ if (!locales[name] && hasModule) {
+ try {
+ oldLocale = moment.locale();
+ require('./locale/' + name);
+ // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales
+ moment.locale(oldLocale);
+ } catch (e) { }
+ }
+ return locales[name];
+ }
+
+ // Return a moment from input, that is local/utc/zone equivalent to model.
+ function makeAs(input, model) {
+ return model._isUTC ? moment(input).zone(model._offset || 0) :
+ moment(input).local();
+ }
+
+ /************************************
+ Locale
+ ************************************/
+
+
+ extend(Locale.prototype, {
+
+ set : function (config) {
+ var prop, i;
+ for (i in config) {
+ prop = config[i];
+ if (typeof prop === 'function') {
+ this[i] = prop;
+ } else {
+ this['_' + i] = prop;
+ }
+ }
+ },
+
+ _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ months : function (m) {
+ return this._months[m.month()];
+ },
+
+ _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ monthsShort : function (m) {
+ return this._monthsShort[m.month()];
+ },
+
+ monthsParse : function (monthName) {
+ var i, mom, regex;
+
+ if (!this._monthsParse) {
+ this._monthsParse = [];
+ }
+
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ if (!this._monthsParse[i]) {
+ mom = moment.utc([2000, i]);
+ regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._monthsParse[i].test(monthName)) {
+ return i;
+ }
+ }
+ },
+
+ _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ weekdays : function (m) {
+ return this._weekdays[m.day()];
+ },
+
+ _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysShort : function (m) {
+ return this._weekdaysShort[m.day()];
+ },
+
+ _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ weekdaysMin : function (m) {
+ return this._weekdaysMin[m.day()];
+ },
+
+ weekdaysParse : function (weekdayName) {
+ var i, mom, regex;
+
+ if (!this._weekdaysParse) {
+ this._weekdaysParse = [];
+ }
+
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+ if (!this._weekdaysParse[i]) {
+ mom = moment([2000, 1]).day(i);
+ regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._weekdaysParse[i].test(weekdayName)) {
+ return i;
+ }
+ }
+ },
+
+ _longDateFormat : {
+ LT : 'h:mm A',
+ L : 'MM/DD/YYYY',
+ LL : 'MMMM D, YYYY',
+ LLL : 'MMMM D, YYYY LT',
+ LLLL : 'dddd, MMMM D, YYYY LT'
+ },
+ longDateFormat : function (key) {
+ var output = this._longDateFormat[key];
+ if (!output && this._longDateFormat[key.toUpperCase()]) {
+ output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
+ return val.slice(1);
+ });
+ this._longDateFormat[key] = output;
+ }
+ return output;
+ },
+
+ isPM : function (input) {
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+ // Using charAt should be more compatible.
+ return ((input + '').toLowerCase().charAt(0) === 'p');
+ },
+
+ _meridiemParse : /[ap]\.?m?\.?/i,
+ meridiem : function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'pm' : 'PM';
+ } else {
+ return isLower ? 'am' : 'AM';
+ }
+ },
+
+ _calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ calendar : function (key, mom) {
+ var output = this._calendar[key];
+ return typeof output === 'function' ? output.apply(mom) : output;
+ },
+
+ _relativeTime : {
+ future : 'in %s',
+ past : '%s ago',
+ s : 'a few seconds',
+ m : 'a minute',
+ mm : '%d minutes',
+ h : 'an hour',
+ hh : '%d hours',
+ d : 'a day',
+ dd : '%d days',
+ M : 'a month',
+ MM : '%d months',
+ y : 'a year',
+ yy : '%d years'
+ },
+
+ relativeTime : function (number, withoutSuffix, string, isFuture) {
+ var output = this._relativeTime[string];
+ return (typeof output === 'function') ?
+ output(number, withoutSuffix, string, isFuture) :
+ output.replace(/%d/i, number);
+ },
+
+ pastFuture : function (diff, output) {
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+ return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
+ },
+
+ ordinal : function (number) {
+ return this._ordinal.replace('%d', number);
+ },
+ _ordinal : '%d',
+
+ preparse : function (string) {
+ return string;
+ },
+
+ postformat : function (string) {
+ return string;
+ },
+
+ week : function (mom) {
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
+ },
+
+ _week : {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ },
+
+ _invalidDate: 'Invalid date',
+ invalidDate: function () {
+ return this._invalidDate;
+ }
+ });
+
+ /************************************
+ Formatting
+ ************************************/
+
+
+ function removeFormattingTokens(input) {
+ if (input.match(/\[[\s\S]/)) {
+ return input.replace(/^\[|\]$/g, '');
+ }
+ return input.replace(/\\/g, '');
+ }
+
+ function makeFormatFunction(format) {
+ var array = format.match(formattingTokens), i, length;
+
+ for (i = 0, length = array.length; i < length; i++) {
+ if (formatTokenFunctions[array[i]]) {
+ array[i] = formatTokenFunctions[array[i]];
+ } else {
+ array[i] = removeFormattingTokens(array[i]);
+ }
+ }
+
+ return function (mom) {
+ var output = '';
+ for (i = 0; i < length; i++) {
+ output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
+ }
+ return output;
+ };
+ }
+
+ // format date using native date object
+ function formatMoment(m, format) {
+ if (!m.isValid()) {
+ return m.localeData().invalidDate();
+ }
+
+ format = expandFormat(format, m.localeData());
+
+ if (!formatFunctions[format]) {
+ formatFunctions[format] = makeFormatFunction(format);
+ }
+
+ return formatFunctions[format](m);
+ }
+
+ function expandFormat(format, locale) {
+ var i = 5;
+
+ function replaceLongDateFormatTokens(input) {
+ return locale.longDateFormat(input) || input;
+ }
+
+ localFormattingTokens.lastIndex = 0;
+ while (i >= 0 && localFormattingTokens.test(format)) {
+ format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+ localFormattingTokens.lastIndex = 0;
+ i -= 1;
+ }
+
+ return format;
+ }
+
+
+ /************************************
+ Parsing
+ ************************************/
+
+
+ // get the regex to find the next token
+ function getParseRegexForToken(token, config) {
+ var a, strict = config._strict;
+ switch (token) {
+ case 'Q':
+ return parseTokenOneDigit;
+ case 'DDDD':
+ return parseTokenThreeDigits;
+ case 'YYYY':
+ case 'GGGG':
+ case 'gggg':
+ return strict ? parseTokenFourDigits : parseTokenOneToFourDigits;
+ case 'Y':
+ case 'G':
+ case 'g':
+ return parseTokenSignedNumber;
+ case 'YYYYYY':
+ case 'YYYYY':
+ case 'GGGGG':
+ case 'ggggg':
+ return strict ? parseTokenSixDigits : parseTokenOneToSixDigits;
+ case 'S':
+ if (strict) {
+ return parseTokenOneDigit;
+ }
+ /* falls through */
+ case 'SS':
+ if (strict) {
+ return parseTokenTwoDigits;
+ }
+ /* falls through */
+ case 'SSS':
+ if (strict) {
+ return parseTokenThreeDigits;
+ }
+ /* falls through */
+ case 'DDD':
+ return parseTokenOneToThreeDigits;
+ case 'MMM':
+ case 'MMMM':
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ return parseTokenWord;
+ case 'a':
+ case 'A':
+ return config._locale._meridiemParse;
+ case 'X':
+ return parseTokenTimestampMs;
+ case 'Z':
+ case 'ZZ':
+ return parseTokenTimezone;
+ case 'T':
+ return parseTokenT;
+ case 'SSSS':
+ return parseTokenDigits;
+ case 'MM':
+ case 'DD':
+ case 'YY':
+ case 'GG':
+ case 'gg':
+ case 'HH':
+ case 'hh':
+ case 'mm':
+ case 'ss':
+ case 'ww':
+ case 'WW':
+ return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits;
+ case 'M':
+ case 'D':
+ case 'd':
+ case 'H':
+ case 'h':
+ case 'm':
+ case 's':
+ case 'w':
+ case 'W':
+ case 'e':
+ case 'E':
+ return parseTokenOneOrTwoDigits;
+ case 'Do':
+ return parseTokenOrdinal;
+ default :
+ a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i'));
+ return a;
+ }
+ }
+
+ function timezoneMinutesFromString(string) {
+ string = string || '';
+ var possibleTzMatches = (string.match(parseTokenTimezone) || []),
+ tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [],
+ parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
+ minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+ return parts[0] === '+' ? -minutes : minutes;
+ }
+
+ // function to convert string input to date
+ function addTimeToArrayFromToken(token, input, config) {
+ var a, datePartArray = config._a;
+
+ switch (token) {
+ // QUARTER
+ case 'Q':
+ if (input != null) {
+ datePartArray[MONTH] = (toInt(input) - 1) * 3;
+ }
+ break;
+ // MONTH
+ case 'M' : // fall through to MM
+ case 'MM' :
+ if (input != null) {
+ datePartArray[MONTH] = toInt(input) - 1;
+ }
+ break;
+ case 'MMM' : // fall through to MMMM
+ case 'MMMM' :
+ a = config._locale.monthsParse(input);
+ // if we didn't find a month name, mark the date as invalid.
+ if (a != null) {
+ datePartArray[MONTH] = a;
+ } else {
+ config._pf.invalidMonth = input;
+ }
+ break;
+ // DAY OF MONTH
+ case 'D' : // fall through to DD
+ case 'DD' :
+ if (input != null) {
+ datePartArray[DATE] = toInt(input);
+ }
+ break;
+ case 'Do' :
+ if (input != null) {
+ datePartArray[DATE] = toInt(parseInt(input, 10));
+ }
+ break;
+ // DAY OF YEAR
+ case 'DDD' : // fall through to DDDD
+ case 'DDDD' :
+ if (input != null) {
+ config._dayOfYear = toInt(input);
+ }
+
+ break;
+ // YEAR
+ case 'YY' :
+ datePartArray[YEAR] = moment.parseTwoDigitYear(input);
+ break;
+ case 'YYYY' :
+ case 'YYYYY' :
+ case 'YYYYYY' :
+ datePartArray[YEAR] = toInt(input);
+ break;
+ // AM / PM
+ case 'a' : // fall through to A
+ case 'A' :
+ config._isPm = config._locale.isPM(input);
+ break;
+ // 24 HOUR
+ case 'H' : // fall through to hh
+ case 'HH' : // fall through to hh
+ case 'h' : // fall through to hh
+ case 'hh' :
+ datePartArray[HOUR] = toInt(input);
+ break;
+ // MINUTE
+ case 'm' : // fall through to mm
+ case 'mm' :
+ datePartArray[MINUTE] = toInt(input);
+ break;
+ // SECOND
+ case 's' : // fall through to ss
+ case 'ss' :
+ datePartArray[SECOND] = toInt(input);
+ break;
+ // MILLISECOND
+ case 'S' :
+ case 'SS' :
+ case 'SSS' :
+ case 'SSSS' :
+ datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
+ break;
+ // UNIX TIMESTAMP WITH MS
+ case 'X':
+ config._d = new Date(parseFloat(input) * 1000);
+ break;
+ // TIMEZONE
+ case 'Z' : // fall through to ZZ
+ case 'ZZ' :
+ config._useUTC = true;
+ config._tzm = timezoneMinutesFromString(input);
+ break;
+ // WEEKDAY - human
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ a = config._locale.weekdaysParse(input);
+ // if we didn't get a weekday name, mark the date as invalid
+ if (a != null) {
+ config._w = config._w || {};
+ config._w['d'] = a;
+ } else {
+ config._pf.invalidWeekday = input;
+ }
+ break;
+ // WEEK, WEEK DAY - numeric
+ case 'w':
+ case 'ww':
+ case 'W':
+ case 'WW':
+ case 'd':
+ case 'e':
+ case 'E':
+ token = token.substr(0, 1);
+ /* falls through */
+ case 'gggg':
+ case 'GGGG':
+ case 'GGGGG':
+ token = token.substr(0, 2);
+ if (input) {
+ config._w = config._w || {};
+ config._w[token] = toInt(input);
+ }
+ break;
+ case 'gg':
+ case 'GG':
+ config._w = config._w || {};
+ config._w[token] = moment.parseTwoDigitYear(input);
+ }
+ }
+
+ function dayOfYearFromWeekInfo(config) {
+ var w, weekYear, week, weekday, dow, doy, temp;
+
+ w = config._w;
+ if (w.GG != null || w.W != null || w.E != null) {
+ dow = 1;
+ doy = 4;
+
+ // TODO: We need to take the current isoWeekYear, but that depends on
+ // how we interpret now (local, utc, fixed offset). So create
+ // a now version of current config (take local/utc/offset flags, and
+ // create now).
+ weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year);
+ week = dfl(w.W, 1);
+ weekday = dfl(w.E, 1);
+ } else {
+ dow = config._locale._week.dow;
+ doy = config._locale._week.doy;
+
+ weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year);
+ week = dfl(w.w, 1);
+
+ if (w.d != null) {
+ // weekday -- low day numbers are considered next week
+ weekday = w.d;
+ if (weekday < dow) {
+ ++week;
+ }
+ } else if (w.e != null) {
+ // local weekday -- counting starts from begining of week
+ weekday = w.e + dow;
+ } else {
+ // default to begining of week
+ weekday = dow;
+ }
+ }
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow);
+
+ config._a[YEAR] = temp.year;
+ config._dayOfYear = temp.dayOfYear;
+ }
+
+ // convert an array to a date.
+ // the array should mirror the parameters below
+ // note: all values past the year are optional and will default to the lowest possible value.
+ // [year, month, day , hour, minute, second, millisecond]
+ function dateFromConfig(config) {
+ var i, date, input = [], currentDate, yearToUse;
+
+ if (config._d) {
+ return;
+ }
+
+ currentDate = currentDateArray(config);
+
+ //compute day of the year from weeks and weekdays
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+ dayOfYearFromWeekInfo(config);
+ }
+
+ //if the day of the year is set, figure out what it is
+ if (config._dayOfYear) {
+ yearToUse = dfl(config._a[YEAR], currentDate[YEAR]);
+
+ if (config._dayOfYear > daysInYear(yearToUse)) {
+ config._pf._overflowDayOfYear = true;
+ }
+
+ date = makeUTCDate(yearToUse, 0, config._dayOfYear);
+ config._a[MONTH] = date.getUTCMonth();
+ config._a[DATE] = date.getUTCDate();
+ }
+
+ // Default to current date.
+ // * if no year, month, day of month are given, default to today
+ // * if day of month is given, default month and year
+ // * if month is given, default only year
+ // * if year is given, don't default anything
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
+ config._a[i] = input[i] = currentDate[i];
+ }
+
+ // Zero out whatever was not defaulted, including time
+ for (; i < 7; i++) {
+ config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+ }
+
+ config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
+ // Apply timezone offset from input. The actual zone can be changed
+ // with parseZone.
+ if (config._tzm != null) {
+ config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm);
+ }
+ }
+
+ function dateFromObject(config) {
+ var normalizedInput;
+
+ if (config._d) {
+ return;
+ }
+
+ normalizedInput = normalizeObjectUnits(config._i);
+ config._a = [
+ normalizedInput.year,
+ normalizedInput.month,
+ normalizedInput.day,
+ normalizedInput.hour,
+ normalizedInput.minute,
+ normalizedInput.second,
+ normalizedInput.millisecond
+ ];
+
+ dateFromConfig(config);
+ }
+
+ function currentDateArray(config) {
+ var now = new Date();
+ if (config._useUTC) {
+ return [
+ now.getUTCFullYear(),
+ now.getUTCMonth(),
+ now.getUTCDate()
+ ];
+ } else {
+ return [now.getFullYear(), now.getMonth(), now.getDate()];
+ }
+ }
+
+ // date from string and format string
+ function makeDateFromStringAndFormat(config) {
+ if (config._f === moment.ISO_8601) {
+ parseISO(config);
+ return;
+ }
+
+ config._a = [];
+ config._pf.empty = true;
+
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
+ var string = '' + config._i,
+ i, parsedInput, tokens, token, skipped,
+ stringLength = string.length,
+ totalParsedInputLength = 0;
+
+ tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+ if (parsedInput) {
+ skipped = string.substr(0, string.indexOf(parsedInput));
+ if (skipped.length > 0) {
+ config._pf.unusedInput.push(skipped);
+ }
+ string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+ totalParsedInputLength += parsedInput.length;
+ }
+ // don't parse if it's not a known token
+ if (formatTokenFunctions[token]) {
+ if (parsedInput) {
+ config._pf.empty = false;
+ }
+ else {
+ config._pf.unusedTokens.push(token);
+ }
+ addTimeToArrayFromToken(token, parsedInput, config);
+ }
+ else if (config._strict && !parsedInput) {
+ config._pf.unusedTokens.push(token);
+ }
+ }
+
+ // add remaining unparsed input length to the string
+ config._pf.charsLeftOver = stringLength - totalParsedInputLength;
+ if (string.length > 0) {
+ config._pf.unusedInput.push(string);
+ }
+
+ // handle am pm
+ if (config._isPm && config._a[HOUR] < 12) {
+ config._a[HOUR] += 12;
+ }
+ // if is 12 am, change hours to 0
+ if (config._isPm === false && config._a[HOUR] === 12) {
+ config._a[HOUR] = 0;
+ }
+
+ dateFromConfig(config);
+ checkOverflow(config);
+ }
+
+ function unescapeFormat(s) {
+ return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+ return p1 || p2 || p3 || p4;
+ });
+ }
+
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+ function regexpEscape(s) {
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+
+ // date from string and array of format strings
+ function makeDateFromStringAndArray(config) {
+ var tempConfig,
+ bestMoment,
+
+ scoreToBeat,
+ i,
+ currentScore;
+
+ if (config._f.length === 0) {
+ config._pf.invalidFormat = true;
+ config._d = new Date(NaN);
+ return;
+ }
+
+ for (i = 0; i < config._f.length; i++) {
+ currentScore = 0;
+ tempConfig = copyConfig({}, config);
+ if (config._useUTC != null) {
+ tempConfig._useUTC = config._useUTC;
+ }
+ tempConfig._pf = defaultParsingFlags();
+ tempConfig._f = config._f[i];
+ makeDateFromStringAndFormat(tempConfig);
+
+ if (!isValid(tempConfig)) {
+ continue;
+ }
+
+ // if there is any input that was not parsed add a penalty for that format
+ currentScore += tempConfig._pf.charsLeftOver;
+
+ //or tokens
+ currentScore += tempConfig._pf.unusedTokens.length * 10;
+
+ tempConfig._pf.score = currentScore;
+
+ if (scoreToBeat == null || currentScore < scoreToBeat) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ }
+ }
+
+ extend(config, bestMoment || tempConfig);
+ }
+
+ // date from iso format
+ function parseISO(config) {
+ var i, l,
+ string = config._i,
+ match = isoRegex.exec(string);
+
+ if (match) {
+ config._pf.iso = true;
+ for (i = 0, l = isoDates.length; i < l; i++) {
+ if (isoDates[i][1].exec(string)) {
+ // match[5] should be 'T' or undefined
+ config._f = isoDates[i][0] + (match[6] || ' ');
+ break;
+ }
+ }
+ for (i = 0, l = isoTimes.length; i < l; i++) {
+ if (isoTimes[i][1].exec(string)) {
+ config._f += isoTimes[i][0];
+ break;
+ }
+ }
+ if (string.match(parseTokenTimezone)) {
+ config._f += 'Z';
+ }
+ makeDateFromStringAndFormat(config);
+ } else {
+ config._isValid = false;
+ }
+ }
+
+ // date from iso format or fallback
+ function makeDateFromString(config) {
+ parseISO(config);
+ if (config._isValid === false) {
+ delete config._isValid;
+ moment.createFromInputFallback(config);
+ }
+ }
+
+ function map(arr, fn) {
+ var res = [], i;
+ for (i = 0; i < arr.length; ++i) {
+ res.push(fn(arr[i], i));
+ }
+ return res;
+ }
+
+ function makeDateFromInput(config) {
+ var input = config._i, matched;
+ if (input === undefined) {
+ config._d = new Date();
+ } else if (isDate(input)) {
+ config._d = new Date(+input);
+ } else if ((matched = aspNetJsonRegex.exec(input)) !== null) {
+ config._d = new Date(+matched[1]);
+ } else if (typeof input === 'string') {
+ makeDateFromString(config);
+ } else if (isArray(input)) {
+ config._a = map(input.slice(0), function (obj) {
+ return parseInt(obj, 10);
+ });
+ dateFromConfig(config);
+ } else if (typeof(input) === 'object') {
+ dateFromObject(config);
+ } else if (typeof(input) === 'number') {
+ // from milliseconds
+ config._d = new Date(input);
+ } else {
+ moment.createFromInputFallback(config);
+ }
+ }
+
+ function makeDate(y, m, d, h, M, s, ms) {
+ //can't just apply() to create a date:
+ //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
+ var date = new Date(y, m, d, h, M, s, ms);
+
+ //the date constructor doesn't accept years < 1970
+ if (y < 1970) {
+ date.setFullYear(y);
+ }
+ return date;
+ }
+
+ function makeUTCDate(y) {
+ var date = new Date(Date.UTC.apply(null, arguments));
+ if (y < 1970) {
+ date.setUTCFullYear(y);
+ }
+ return date;
+ }
+
+ function parseWeekday(input, locale) {
+ if (typeof input === 'string') {
+ if (!isNaN(input)) {
+ input = parseInt(input, 10);
+ }
+ else {
+ input = locale.weekdaysParse(input);
+ if (typeof input !== 'number') {
+ return null;
+ }
+ }
+ }
+ return input;
+ }
+
+ /************************************
+ Relative Time
+ ************************************/
+
+
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+ return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+ }
+
+ function relativeTime(posNegDuration, withoutSuffix, locale) {
+ var duration = moment.duration(posNegDuration).abs(),
+ seconds = round(duration.as('s')),
+ minutes = round(duration.as('m')),
+ hours = round(duration.as('h')),
+ days = round(duration.as('d')),
+ months = round(duration.as('M')),
+ years = round(duration.as('y')),
+
+ args = seconds < relativeTimeThresholds.s && ['s', seconds] ||
+ minutes === 1 && ['m'] ||
+ minutes < relativeTimeThresholds.m && ['mm', minutes] ||
+ hours === 1 && ['h'] ||
+ hours < relativeTimeThresholds.h && ['hh', hours] ||
+ days === 1 && ['d'] ||
+ days < relativeTimeThresholds.d && ['dd', days] ||
+ months === 1 && ['M'] ||
+ months < relativeTimeThresholds.M && ['MM', months] ||
+ years === 1 && ['y'] || ['yy', years];
+
+ args[2] = withoutSuffix;
+ args[3] = +posNegDuration > 0;
+ args[4] = locale;
+ return substituteTimeAgo.apply({}, args);
+ }
+
+
+ /************************************
+ Week of Year
+ ************************************/
+
+
+ // firstDayOfWeek 0 = sun, 6 = sat
+ // the day of the week that starts the week
+ // (usually sunday or monday)
+ // firstDayOfWeekOfYear 0 = sun, 6 = sat
+ // the first week is the week that contains the first
+ // of this day of the week
+ // (eg. ISO weeks use thursday (4))
+ function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
+ var end = firstDayOfWeekOfYear - firstDayOfWeek,
+ daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
+ adjustedMoment;
+
+
+ if (daysToDayOfWeek > end) {
+ daysToDayOfWeek -= 7;
+ }
+
+ if (daysToDayOfWeek < end - 7) {
+ daysToDayOfWeek += 7;
+ }
+
+ adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd');
+ return {
+ week: Math.ceil(adjustedMoment.dayOfYear() / 7),
+ year: adjustedMoment.year()
+ };
+ }
+
+ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+ function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
+ var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
+
+ d = d === 0 ? 7 : d;
+ weekday = weekday != null ? weekday : firstDayOfWeek;
+ daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
+ dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
+
+ return {
+ year: dayOfYear > 0 ? year : year - 1,
+ dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
+ };
+ }
+
+ /************************************
+ Top Level Functions
+ ************************************/
+
+ function makeMoment(config) {
+ var input = config._i,
+ format = config._f;
+
+ config._locale = config._locale || moment.localeData(config._l);
+
+ if (input === null || (format === undefined && input === '')) {
+ return moment.invalid({nullInput: true});
+ }
+
+ if (typeof input === 'string') {
+ config._i = input = config._locale.preparse(input);
+ }
+
+ if (moment.isMoment(input)) {
+ return new Moment(input, true);
+ } else if (format) {
+ if (isArray(format)) {
+ makeDateFromStringAndArray(config);
+ } else {
+ makeDateFromStringAndFormat(config);
+ }
+ } else {
+ makeDateFromInput(config);
+ }
+
+ return new Moment(config);
+ }
+
+ moment = function (input, format, locale, strict) {
+ var c;
+
+ if (typeof(locale) === 'boolean') {
+ strict = locale;
+ locale = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c = {};
+ c._isAMomentObject = true;
+ c._i = input;
+ c._f = format;
+ c._l = locale;
+ c._strict = strict;
+ c._isUTC = false;
+ c._pf = defaultParsingFlags();
+
+ return makeMoment(c);
+ };
+
+ moment.suppressDeprecationWarnings = false;
+
+ moment.createFromInputFallback = deprecate(
+ 'moment construction falls back to js Date. This is ' +
+ 'discouraged and will be removed in upcoming major ' +
+ 'release. Please refer to ' +
+ 'https://github.com/moment/moment/issues/1407 for more info.',
+ function (config) {
+ config._d = new Date(config._i);
+ }
+ );
+
+ // Pick a moment m from moments so that m[fn](other) is true for all
+ // other. This relies on the function fn to be transitive.
+ //
+ // moments should either be an array of moment objects or an array, whose
+ // first element is an array of moment objects.
+ function pickBy(fn, moments) {
+ var res, i;
+ if (moments.length === 1 && isArray(moments[0])) {
+ moments = moments[0];
+ }
+ if (!moments.length) {
+ return moment();
+ }
+ res = moments[0];
+ for (i = 1; i < moments.length; ++i) {
+ if (moments[i][fn](res)) {
+ res = moments[i];
+ }
+ }
+ return res;
+ }
+
+ moment.min = function () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isBefore', args);
+ };
+
+ moment.max = function () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isAfter', args);
+ };
+
+ // creating with utc
+ moment.utc = function (input, format, locale, strict) {
+ var c;
+
+ if (typeof(locale) === 'boolean') {
+ strict = locale;
+ locale = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c = {};
+ c._isAMomentObject = true;
+ c._useUTC = true;
+ c._isUTC = true;
+ c._l = locale;
+ c._i = input;
+ c._f = format;
+ c._strict = strict;
+ c._pf = defaultParsingFlags();
+
+ return makeMoment(c).utc();
+ };
+
+ // creating with unix timestamp (in seconds)
+ moment.unix = function (input) {
+ return moment(input * 1000);
+ };
+
+ // duration
+ moment.duration = function (input, key) {
+ var duration = input,
+ // matching against regexp is expensive, do it on demand
+ match = null,
+ sign,
+ ret,
+ parseIso,
+ diffRes;
+
+ if (moment.isDuration(input)) {
+ duration = {
+ ms: input._milliseconds,
+ d: input._days,
+ M: input._months
+ };
+ } else if (typeof input === 'number') {
+ duration = {};
+ if (key) {
+ duration[key] = input;
+ } else {
+ duration.milliseconds = input;
+ }
+ } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ duration = {
+ y: 0,
+ d: toInt(match[DATE]) * sign,
+ h: toInt(match[HOUR]) * sign,
+ m: toInt(match[MINUTE]) * sign,
+ s: toInt(match[SECOND]) * sign,
+ ms: toInt(match[MILLISECOND]) * sign
+ };
+ } else if (!!(match = isoDurationRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ parseIso = function (inp) {
+ // We'd normally use ~~inp for this, but unfortunately it also
+ // converts floats to ints.
+ // inp may be undefined, so careful calling replace on it.
+ var res = inp && parseFloat(inp.replace(',', '.'));
+ // apply sign while we're at it
+ return (isNaN(res) ? 0 : res) * sign;
+ };
+ duration = {
+ y: parseIso(match[2]),
+ M: parseIso(match[3]),
+ d: parseIso(match[4]),
+ h: parseIso(match[5]),
+ m: parseIso(match[6]),
+ s: parseIso(match[7]),
+ w: parseIso(match[8])
+ };
+ } else if (typeof duration === 'object' &&
+ ('from' in duration || 'to' in duration)) {
+ diffRes = momentsDifference(moment(duration.from), moment(duration.to));
+
+ duration = {};
+ duration.ms = diffRes.milliseconds;
+ duration.M = diffRes.months;
+ }
+
+ ret = new Duration(duration);
+
+ if (moment.isDuration(input) && hasOwnProp(input, '_locale')) {
+ ret._locale = input._locale;
+ }
+
+ return ret;
+ };
+
+ // version number
+ moment.version = VERSION;
+
+ // default format
+ moment.defaultFormat = isoFormat;
+
+ // constant that refers to the ISO standard
+ moment.ISO_8601 = function () {};
+
+ // Plugins that add properties should also add the key here (null value),
+ // so we can properly clone ourselves.
+ moment.momentProperties = momentProperties;
+
+ // This function will be called whenever a moment is mutated.
+ // It is intended to keep the offset in sync with the timezone.
+ moment.updateOffset = function () {};
+
+ // This function allows you to set a threshold for relative time strings
+ moment.relativeTimeThreshold = function (threshold, limit) {
+ if (relativeTimeThresholds[threshold] === undefined) {
+ return false;
+ }
+ if (limit === undefined) {
+ return relativeTimeThresholds[threshold];
+ }
+ relativeTimeThresholds[threshold] = limit;
+ return true;
+ };
+
+ moment.lang = deprecate(
+ 'moment.lang is deprecated. Use moment.locale instead.',
+ function (key, value) {
+ return moment.locale(key, value);
+ }
+ );
+
+ // This function will load locale and then set the global locale. If
+ // no arguments are passed in, it will simply return the current global
+ // locale key.
+ moment.locale = function (key, values) {
+ var data;
+ if (key) {
+ if (typeof(values) !== 'undefined') {
+ data = moment.defineLocale(key, values);
+ }
+ else {
+ data = moment.localeData(key);
+ }
+
+ if (data) {
+ moment.duration._locale = moment._locale = data;
+ }
+ }
+
+ return moment._locale._abbr;
+ };
+
+ moment.defineLocale = function (name, values) {
+ if (values !== null) {
+ values.abbr = name;
+ if (!locales[name]) {
+ locales[name] = new Locale();
+ }
+ locales[name].set(values);
+
+ // backwards compat for now: also set the locale
+ moment.locale(name);
+
+ return locales[name];
+ } else {
+ // useful for testing
+ delete locales[name];
+ return null;
+ }
+ };
+
+ moment.langData = deprecate(
+ 'moment.langData is deprecated. Use moment.localeData instead.',
+ function (key) {
+ return moment.localeData(key);
+ }
+ );
+
+ // returns locale data
+ moment.localeData = function (key) {
+ var locale;
+
+ if (key && key._locale && key._locale._abbr) {
+ key = key._locale._abbr;
+ }
+
+ if (!key) {
+ return moment._locale;
+ }
+
+ if (!isArray(key)) {
+ //short-circuit everything else
+ locale = loadLocale(key);
+ if (locale) {
+ return locale;
+ }
+ key = [key];
+ }
+
+ return chooseLocale(key);
+ };
+
+ // compare moment object
+ moment.isMoment = function (obj) {
+ return obj instanceof Moment ||
+ (obj != null && hasOwnProp(obj, '_isAMomentObject'));
+ };
+
+ // for typechecking Duration objects
+ moment.isDuration = function (obj) {
+ return obj instanceof Duration;
+ };
+
+ for (i = lists.length - 1; i >= 0; --i) {
+ makeList(lists[i]);
+ }
+
+ moment.normalizeUnits = function (units) {
+ return normalizeUnits(units);
+ };
+
+ moment.invalid = function (flags) {
+ var m = moment.utc(NaN);
+ if (flags != null) {
+ extend(m._pf, flags);
+ }
+ else {
+ m._pf.userInvalidated = true;
+ }
+
+ return m;
+ };
+
+ moment.parseZone = function () {
+ return moment.apply(null, arguments).parseZone();
+ };
+
+ moment.parseTwoDigitYear = function (input) {
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+ };
+
+ /************************************
+ Moment Prototype
+ ************************************/
+
+
+ extend(moment.fn = Moment.prototype, {
+
+ clone : function () {
+ return moment(this);
+ },
+
+ valueOf : function () {
+ return +this._d + ((this._offset || 0) * 60000);
+ },
+
+ unix : function () {
+ return Math.floor(+this / 1000);
+ },
+
+ toString : function () {
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+ },
+
+ toDate : function () {
+ return this._offset ? new Date(+this) : this._d;
+ },
+
+ toISOString : function () {
+ var m = moment(this).utc();
+ if (0 < m.year() && m.year() <= 9999) {
+ return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ } else {
+ return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ }
+ },
+
+ toArray : function () {
+ var m = this;
+ return [
+ m.year(),
+ m.month(),
+ m.date(),
+ m.hours(),
+ m.minutes(),
+ m.seconds(),
+ m.milliseconds()
+ ];
+ },
+
+ isValid : function () {
+ return isValid(this);
+ },
+
+ isDSTShifted : function () {
+ if (this._a) {
+ return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
+ }
+
+ return false;
+ },
+
+ parsingFlags : function () {
+ return extend({}, this._pf);
+ },
+
+ invalidAt: function () {
+ return this._pf.overflow;
+ },
+
+ utc : function (keepLocalTime) {
+ return this.zone(0, keepLocalTime);
+ },
+
+ local : function (keepLocalTime) {
+ if (this._isUTC) {
+ this.zone(0, keepLocalTime);
+ this._isUTC = false;
+
+ if (keepLocalTime) {
+ this.add(this._dateTzOffset(), 'm');
+ }
+ }
+ return this;
+ },
+
+ format : function (inputString) {
+ var output = formatMoment(this, inputString || moment.defaultFormat);
+ return this.localeData().postformat(output);
+ },
+
+ add : createAdder(1, 'add'),
+
+ subtract : createAdder(-1, 'subtract'),
+
+ diff : function (input, units, asFloat) {
+ var that = makeAs(input, this),
+ zoneDiff = (this.zone() - that.zone()) * 6e4,
+ diff, output, daysAdjust;
+
+ units = normalizeUnits(units);
+
+ if (units === 'year' || units === 'month') {
+ // average number of days in the months in the given dates
+ diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2
+ // difference in months
+ output = ((this.year() - that.year()) * 12) + (this.month() - that.month());
+ // adjust by taking difference in days, average number of days
+ // and dst in the given months.
+ daysAdjust = (this - moment(this).startOf('month')) -
+ (that - moment(that).startOf('month'));
+ // same as above but with zones, to negate all dst
+ daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) -
+ (that.zone() - moment(that).startOf('month').zone())) * 6e4;
+ output += daysAdjust / diff;
+ if (units === 'year') {
+ output = output / 12;
+ }
+ } else {
+ diff = (this - that);
+ output = units === 'second' ? diff / 1e3 : // 1000
+ units === 'minute' ? diff / 6e4 : // 1000 * 60
+ units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
+ units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
+ units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
+ diff;
+ }
+ return asFloat ? output : absRound(output);
+ },
+
+ from : function (time, withoutSuffix) {
+ return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+ },
+
+ fromNow : function (withoutSuffix) {
+ return this.from(moment(), withoutSuffix);
+ },
+
+ calendar : function (time) {
+ // We want to compare the start of today, vs this.
+ // Getting start-of-today depends on whether we're zone'd or not.
+ var now = time || moment(),
+ sod = makeAs(now, this).startOf('day'),
+ diff = this.diff(sod, 'days', true),
+ format = diff < -6 ? 'sameElse' :
+ diff < -1 ? 'lastWeek' :
+ diff < 0 ? 'lastDay' :
+ diff < 1 ? 'sameDay' :
+ diff < 2 ? 'nextDay' :
+ diff < 7 ? 'nextWeek' : 'sameElse';
+ return this.format(this.localeData().calendar(format, this));
+ },
+
+ isLeapYear : function () {
+ return isLeapYear(this.year());
+ },
+
+ isDST : function () {
+ return (this.zone() < this.clone().month(0).zone() ||
+ this.zone() < this.clone().month(5).zone());
+ },
+
+ day : function (input) {
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+ if (input != null) {
+ input = parseWeekday(input, this.localeData());
+ return this.add(input - day, 'd');
+ } else {
+ return day;
+ }
+ },
+
+ month : makeAccessor('Month', true),
+
+ startOf : function (units) {
+ units = normalizeUnits(units);
+ // the following switch intentionally omits break keywords
+ // to utilize falling through the cases.
+ switch (units) {
+ case 'year':
+ this.month(0);
+ /* falls through */
+ case 'quarter':
+ case 'month':
+ this.date(1);
+ /* falls through */
+ case 'week':
+ case 'isoWeek':
+ case 'day':
+ this.hours(0);
+ /* falls through */
+ case 'hour':
+ this.minutes(0);
+ /* falls through */
+ case 'minute':
+ this.seconds(0);
+ /* falls through */
+ case 'second':
+ this.milliseconds(0);
+ /* falls through */
+ }
+
+ // weeks are a special case
+ if (units === 'week') {
+ this.weekday(0);
+ } else if (units === 'isoWeek') {
+ this.isoWeekday(1);
+ }
+
+ // quarters are also special
+ if (units === 'quarter') {
+ this.month(Math.floor(this.month() / 3) * 3);
+ }
+
+ return this;
+ },
+
+ endOf: function (units) {
+ units = normalizeUnits(units);
+ return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
+ },
+
+ isAfter: function (input, units) {
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this > +input;
+ } else {
+ return +this.clone().startOf(units) > +moment(input).startOf(units);
+ }
+ },
+
+ isBefore: function (input, units) {
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this < +input;
+ } else {
+ return +this.clone().startOf(units) < +moment(input).startOf(units);
+ }
+ },
+
+ isSame: function (input, units) {
+ units = normalizeUnits(units || 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this === +input;
+ } else {
+ return +this.clone().startOf(units) === +makeAs(input, this).startOf(units);
+ }
+ },
+
+ min: deprecate(
+ 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
+ function (other) {
+ other = moment.apply(null, arguments);
+ return other < this ? this : other;
+ }
+ ),
+
+ max: deprecate(
+ 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
+ function (other) {
+ other = moment.apply(null, arguments);
+ return other > this ? this : other;
+ }
+ ),
+
+ // keepLocalTime = true means only change the timezone, without
+ // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]-->
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone
+ // +0200, so we adjust the time as needed, to be valid.
+ //
+ // Keeping the time actually adds/subtracts (one hour)
+ // from the actual represented time. That is why we call updateOffset
+ // a second time. In case it wants us to change the offset again
+ // _changeInProgress == true case, then we have to adjust, because
+ // there is no such time in the given timezone.
+ zone : function (input, keepLocalTime) {
+ var offset = this._offset || 0,
+ localAdjust;
+ if (input != null) {
+ if (typeof input === 'string') {
+ input = timezoneMinutesFromString(input);
+ }
+ if (Math.abs(input) < 16) {
+ input = input * 60;
+ }
+ if (!this._isUTC && keepLocalTime) {
+ localAdjust = this._dateTzOffset();
+ }
+ this._offset = input;
+ this._isUTC = true;
+ if (localAdjust != null) {
+ this.subtract(localAdjust, 'm');
+ }
+ if (offset !== input) {
+ if (!keepLocalTime || this._changeInProgress) {
+ addOrSubtractDurationFromMoment(this,
+ moment.duration(offset - input, 'm'), 1, false);
+ } else if (!this._changeInProgress) {
+ this._changeInProgress = true;
+ moment.updateOffset(this, true);
+ this._changeInProgress = null;
+ }
+ }
+ } else {
+ return this._isUTC ? offset : this._dateTzOffset();
+ }
+ return this;
+ },
+
+ zoneAbbr : function () {
+ return this._isUTC ? 'UTC' : '';
+ },
+
+ zoneName : function () {
+ return this._isUTC ? 'Coordinated Universal Time' : '';
+ },
+
+ parseZone : function () {
+ if (this._tzm) {
+ this.zone(this._tzm);
+ } else if (typeof this._i === 'string') {
+ this.zone(this._i);
+ }
+ return this;
+ },
+
+ hasAlignedHourOffset : function (input) {
+ if (!input) {
+ input = 0;
+ }
+ else {
+ input = moment(input).zone();
+ }
+
+ return (this.zone() - input) % 60 === 0;
+ },
+
+ daysInMonth : function () {
+ return daysInMonth(this.year(), this.month());
+ },
+
+ dayOfYear : function (input) {
+ var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
+ return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+ },
+
+ quarter : function (input) {
+ return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+ },
+
+ weekYear : function (input) {
+ var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
+ return input == null ? year : this.add((input - year), 'y');
+ },
+
+ isoWeekYear : function (input) {
+ var year = weekOfYear(this, 1, 4).year;
+ return input == null ? year : this.add((input - year), 'y');
+ },
+
+ week : function (input) {
+ var week = this.localeData().week(this);
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ },
+
+ isoWeek : function (input) {
+ var week = weekOfYear(this, 1, 4).week;
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ },
+
+ weekday : function (input) {
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+ return input == null ? weekday : this.add(input - weekday, 'd');
+ },
+
+ isoWeekday : function (input) {
+ // behaves the same as moment#day except
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+ // as a setter, sunday should belong to the previous week.
+ return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
+ },
+
+ isoWeeksInYear : function () {
+ return weeksInYear(this.year(), 1, 4);
+ },
+
+ weeksInYear : function () {
+ var weekInfo = this.localeData()._week;
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units]();
+ },
+
+ set : function (units, value) {
+ units = normalizeUnits(units);
+ if (typeof this[units] === 'function') {
+ this[units](value);
+ }
+ return this;
+ },
+
+ // If passed a locale key, it will set the locale for this
+ // instance. Otherwise, it will return the locale configuration
+ // variables for this instance.
+ locale : function (key) {
+ var newLocaleData;
+
+ if (key === undefined) {
+ return this._locale._abbr;
+ } else {
+ newLocaleData = moment.localeData(key);
+ if (newLocaleData != null) {
+ this._locale = newLocaleData;
+ }
+ return this;
+ }
+ },
+
+ lang : deprecate(
+ 'moment().lang() is deprecated. Use moment().localeData() instead.',
+ function (key) {
+ if (key === undefined) {
+ return this.localeData();
+ } else {
+ return this.locale(key);
+ }
+ }
+ ),
+
+ localeData : function () {
+ return this._locale;
+ },
+
+ _dateTzOffset : function () {
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+ // https://github.com/moment/moment/pull/1871
+ return Math.round(this._d.getTimezoneOffset() / 15) * 15;
+ }
+ });
+
+ function rawMonthSetter(mom, value) {
+ var dayOfMonth;
+
+ // TODO: Move this out of here!
+ if (typeof value === 'string') {
+ value = mom.localeData().monthsParse(value);
+ // TODO: Another silent failure?
+ if (typeof value !== 'number') {
+ return mom;
+ }
+ }
+
+ dayOfMonth = Math.min(mom.date(),
+ daysInMonth(mom.year(), value));
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+ return mom;
+ }
+
+ function rawGetter(mom, unit) {
+ return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
+ }
+
+ function rawSetter(mom, unit, value) {
+ if (unit === 'Month') {
+ return rawMonthSetter(mom, value);
+ } else {
+ return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+ }
+ }
+
+ function makeAccessor(unit, keepTime) {
+ return function (value) {
+ if (value != null) {
+ rawSetter(this, unit, value);
+ moment.updateOffset(this, keepTime);
+ return this;
+ } else {
+ return rawGetter(this, unit);
+ }
+ };
+ }
+
+ moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false);
+ moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false);
+ moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false);
+ // Setting the hour should keep the time, because the user explicitly
+ // specified which hour he wants. So trying to maintain the same hour (in
+ // a new timezone) makes sense. Adding/subtracting hours does not follow
+ // this rule.
+ moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true);
+ // moment.fn.month is defined separately
+ moment.fn.date = makeAccessor('Date', true);
+ moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true));
+ moment.fn.year = makeAccessor('FullYear', true);
+ moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true));
+
+ // add plural methods
+ moment.fn.days = moment.fn.day;
+ moment.fn.months = moment.fn.month;
+ moment.fn.weeks = moment.fn.week;
+ moment.fn.isoWeeks = moment.fn.isoWeek;
+ moment.fn.quarters = moment.fn.quarter;
+
+ // add aliased format methods
+ moment.fn.toJSON = moment.fn.toISOString;
+
+ /************************************
+ Duration Prototype
+ ************************************/
+
+
+ function daysToYears (days) {
+ // 400 years have 146097 days (taking into account leap year rules)
+ return days * 400 / 146097;
+ }
+
+ function yearsToDays (years) {
+ // years * 365 + absRound(years / 4) -
+ // absRound(years / 100) + absRound(years / 400);
+ return years * 146097 / 400;
+ }
+
+ extend(moment.duration.fn = Duration.prototype, {
+
+ _bubble : function () {
+ var milliseconds = this._milliseconds,
+ days = this._days,
+ months = this._months,
+ data = this._data,
+ seconds, minutes, hours, years = 0;
+
+ // The following code bubbles up values, see the tests for
+ // examples of what that means.
+ data.milliseconds = milliseconds % 1000;
+
+ seconds = absRound(milliseconds / 1000);
+ data.seconds = seconds % 60;
+
+ minutes = absRound(seconds / 60);
+ data.minutes = minutes % 60;
+
+ hours = absRound(minutes / 60);
+ data.hours = hours % 24;
+
+ days += absRound(hours / 24);
+
+ // Accurately convert days to years, assume start from year 0.
+ years = absRound(daysToYears(days));
+ days -= absRound(yearsToDays(years));
+
+ // 30 days to a month
+ // TODO (iskren): Use anchor date (like 1st Jan) to compute this.
+ months += absRound(days / 30);
+ days %= 30;
+
+ // 12 months -> 1 year
+ years += absRound(months / 12);
+ months %= 12;
+
+ data.days = days;
+ data.months = months;
+ data.years = years;
+ },
+
+ abs : function () {
+ this._milliseconds = Math.abs(this._milliseconds);
+ this._days = Math.abs(this._days);
+ this._months = Math.abs(this._months);
+
+ this._data.milliseconds = Math.abs(this._data.milliseconds);
+ this._data.seconds = Math.abs(this._data.seconds);
+ this._data.minutes = Math.abs(this._data.minutes);
+ this._data.hours = Math.abs(this._data.hours);
+ this._data.months = Math.abs(this._data.months);
+ this._data.years = Math.abs(this._data.years);
+
+ return this;
+ },
+
+ weeks : function () {
+ return absRound(this.days() / 7);
+ },
+
+ valueOf : function () {
+ return this._milliseconds +
+ this._days * 864e5 +
+ (this._months % 12) * 2592e6 +
+ toInt(this._months / 12) * 31536e6;
+ },
+
+ humanize : function (withSuffix) {
+ var output = relativeTime(this, !withSuffix, this.localeData());
+
+ if (withSuffix) {
+ output = this.localeData().pastFuture(+this, output);
+ }
+
+ return this.localeData().postformat(output);
+ },
+
+ add : function (input, val) {
+ // supports only 2.0-style add(1, 's') or add(moment)
+ var dur = moment.duration(input, val);
+
+ this._milliseconds += dur._milliseconds;
+ this._days += dur._days;
+ this._months += dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ subtract : function (input, val) {
+ var dur = moment.duration(input, val);
+
+ this._milliseconds -= dur._milliseconds;
+ this._days -= dur._days;
+ this._months -= dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units.toLowerCase() + 's']();
+ },
+
+ as : function (units) {
+ var days, months;
+ units = normalizeUnits(units);
+
+ if (units === 'month' || units === 'year') {
+ days = this._days + this._milliseconds / 864e5;
+ months = this._months + daysToYears(days) * 12;
+ return units === 'month' ? months : months / 12;
+ } else {
+ // handle milliseconds separately because of floating point math errors (issue #1867)
+ days = this._days + yearsToDays(this._months / 12);
+ switch (units) {
+ case 'week': return days / 7 + this._milliseconds / 6048e5;
+ case 'day': return days + this._milliseconds / 864e5;
+ case 'hour': return days * 24 + this._milliseconds / 36e5;
+ case 'minute': return days * 24 * 60 + this._milliseconds / 6e4;
+ case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000;
+ // Math.floor prevents floating point math errors here
+ case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds;
+ default: throw new Error('Unknown unit ' + units);
+ }
+ }
+ },
+
+ lang : moment.fn.lang,
+ locale : moment.fn.locale,
+
+ toIsoString : deprecate(
+ 'toIsoString() is deprecated. Please use toISOString() instead ' +
+ '(notice the capitals)',
+ function () {
+ return this.toISOString();
+ }
+ ),
+
+ toISOString : function () {
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+ var years = Math.abs(this.years()),
+ months = Math.abs(this.months()),
+ days = Math.abs(this.days()),
+ hours = Math.abs(this.hours()),
+ minutes = Math.abs(this.minutes()),
+ seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
+
+ if (!this.asSeconds()) {
+ // this is the same as C#'s (Noda) and python (isodate)...
+ // but not other JS (goog.date)
+ return 'P0D';
+ }
+
+ return (this.asSeconds() < 0 ? '-' : '') +
+ 'P' +
+ (years ? years + 'Y' : '') +
+ (months ? months + 'M' : '') +
+ (days ? days + 'D' : '') +
+ ((hours || minutes || seconds) ? 'T' : '') +
+ (hours ? hours + 'H' : '') +
+ (minutes ? minutes + 'M' : '') +
+ (seconds ? seconds + 'S' : '');
+ },
+
+ localeData : function () {
+ return this._locale;
+ }
+ });
+
+ moment.duration.fn.toString = moment.duration.fn.toISOString;
+
+ function makeDurationGetter(name) {
+ moment.duration.fn[name] = function () {
+ return this._data[name];
+ };
+ }
+
+ for (i in unitMillisecondFactors) {
+ if (hasOwnProp(unitMillisecondFactors, i)) {
+ makeDurationGetter(i.toLowerCase());
+ }
+ }
+
+ moment.duration.fn.asMilliseconds = function () {
+ return this.as('ms');
+ };
+ moment.duration.fn.asSeconds = function () {
+ return this.as('s');
+ };
+ moment.duration.fn.asMinutes = function () {
+ return this.as('m');
+ };
+ moment.duration.fn.asHours = function () {
+ return this.as('h');
+ };
+ moment.duration.fn.asDays = function () {
+ return this.as('d');
+ };
+ moment.duration.fn.asWeeks = function () {
+ return this.as('weeks');
+ };
+ moment.duration.fn.asMonths = function () {
+ return this.as('M');
+ };
+ moment.duration.fn.asYears = function () {
+ return this.as('y');
+ };
+
+ /************************************
+ Default Locale
+ ************************************/
+
+
+ // Set default locale, other locale will inherit from English.
+ moment.locale('en', {
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (toInt(number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ }
+ });
+
+ /* EMBED_LOCALES */
+
+ /************************************
+ Exposing Moment
+ ************************************/
+
+ function makeGlobal(shouldDeprecate) {
+ /*global ender:false */
+ if (typeof ender !== 'undefined') {
+ return;
+ }
+ oldGlobalMoment = globalScope.moment;
+ if (shouldDeprecate) {
+ globalScope.moment = deprecate(
+ 'Accessing Moment through the global scope is ' +
+ 'deprecated, and will be removed in an upcoming ' +
+ 'release.',
+ moment);
+ } else {
+ globalScope.moment = moment;
+ }
+ }
+
+ // CommonJS module is defined
+ if (hasModule) {
+ module.exports = moment;
+ } else if (typeof define === 'function' && define.amd) {
+ define('moment', function (require, exports, module) {
+ if (module.config && module.config() && module.config().noGlobal === true) {
+ // release the global variable
+ globalScope.moment = oldGlobalMoment;
+ }
+
+ return moment;
+ });
+ makeGlobal(true);
+ } else {
+ makeGlobal();
+ }
+}).call(this);
diff --git a/Resources/public/pikaday.js b/Resources/public/pikaday.js
new file mode 100644
index 000000000..4d74cebfa
--- /dev/null
+++ b/Resources/public/pikaday.js
@@ -0,0 +1,920 @@
+/*!
+ * Pikaday
+ *
+ * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
+ */
+
+(function (root, factory)
+{
+ 'use strict';
+
+ var moment;
+ if (typeof exports === 'object') {
+ // CommonJS module
+ // Load moment.js as an optional dependency
+ try { moment = require('moment'); } catch (e) {}
+ module.exports = factory(moment);
+ } else if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(function (req)
+ {
+ // Load moment.js as an optional dependency
+ var id = 'moment';
+ moment = req.defined && req.defined(id) ? req(id) : undefined;
+ return factory(moment);
+ });
+ } else {
+ root.Pikaday = factory(root.moment);
+ }
+}(this, function (moment)
+{
+ 'use strict';
+
+ /**
+ * feature detection and helper functions
+ */
+ var hasMoment = typeof moment === 'function',
+
+ hasEventListeners = !!window.addEventListener,
+
+ document = window.document,
+
+ sto = window.setTimeout,
+
+ addEvent = function(el, e, callback, capture)
+ {
+ if (hasEventListeners) {
+ el.addEventListener(e, callback, !!capture);
+ } else {
+ el.attachEvent('on' + e, callback);
+ }
+ },
+
+ removeEvent = function(el, e, callback, capture)
+ {
+ if (hasEventListeners) {
+ el.removeEventListener(e, callback, !!capture);
+ } else {
+ el.detachEvent('on' + e, callback);
+ }
+ },
+
+ fireEvent = function(el, eventName, data)
+ {
+ var ev;
+
+ if (document.createEvent) {
+ ev = document.createEvent('HTMLEvents');
+ ev.initEvent(eventName, true, false);
+ ev = extend(ev, data);
+ el.dispatchEvent(ev);
+ } else if (document.createEventObject) {
+ ev = document.createEventObject();
+ ev = extend(ev, data);
+ el.fireEvent('on' + eventName, ev);
+ }
+ },
+
+ trim = function(str)
+ {
+ return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g,'');
+ },
+
+ hasClass = function(el, cn)
+ {
+ return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1;
+ },
+
+ addClass = function(el, cn)
+ {
+ if (!hasClass(el, cn)) {
+ el.className = (el.className === '') ? cn : el.className + ' ' + cn;
+ }
+ },
+
+ removeClass = function(el, cn)
+ {
+ el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' '));
+ },
+
+ isArray = function(obj)
+ {
+ return (/Array/).test(Object.prototype.toString.call(obj));
+ },
+
+ isDate = function(obj)
+ {
+ return (/Date/).test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime());
+ },
+
+ isLeapYear = function(year)
+ {
+ // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
+ },
+
+ getDaysInMonth = function(year, month)
+ {
+ return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
+ },
+
+ setToStartOfDay = function(date)
+ {
+ if (isDate(date)) date.setHours(0,0,0,0);
+ },
+
+ compareDates = function(a,b)
+ {
+ // weak date comparison (use setToStartOfDay(date) to ensure correct result)
+ return a.getTime() === b.getTime();
+ },
+
+ extend = function(to, from, overwrite)
+ {
+ var prop, hasProp;
+ for (prop in from) {
+ hasProp = to[prop] !== undefined;
+ if (hasProp && typeof from[prop] === 'object' && from[prop].nodeName === undefined) {
+ if (isDate(from[prop])) {
+ if (overwrite) {
+ to[prop] = new Date(from[prop].getTime());
+ }
+ }
+ else if (isArray(from[prop])) {
+ if (overwrite) {
+ to[prop] = from[prop].slice(0);
+ }
+ } else {
+ to[prop] = extend({}, from[prop], overwrite);
+ }
+ } else if (overwrite || !hasProp) {
+ to[prop] = from[prop];
+ }
+ }
+ return to;
+ },
+
+
+ /**
+ * defaults and localisation
+ */
+ defaults = {
+
+ // bind the picker to a form field
+ field: null,
+
+ // automatically show/hide the picker on `field` focus (default `true` if `field` is set)
+ bound: undefined,
+
+ // position of the datepicker, relative to the field (default to bottom & left)
+ // ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)
+ position: 'bottom left',
+
+ // the default output format for `.toString()` and `field` value
+ format: 'YYYY-MM-DD',
+
+ // the initial date to view when first opened
+ defaultDate: null,
+
+ // make the `defaultDate` the initial selected value
+ setDefaultDate: false,
+
+ // first day of week (0: Sunday, 1: Monday etc)
+ firstDay: 0,
+
+ // the minimum/earliest date that can be selected
+ minDate: null,
+ // the maximum/latest date that can be selected
+ maxDate: null,
+
+ // number of years either side, or array of upper/lower range
+ yearRange: 10,
+
+ // used internally (don't config outside)
+ minYear: 0,
+ maxYear: 9999,
+ minMonth: undefined,
+ maxMonth: undefined,
+
+ isRTL: false,
+
+ // Additional text to append to the year in the calendar title
+ yearSuffix: '',
+
+ // Render the month after year in the calendar title
+ showMonthAfterYear: false,
+
+ // how many months are visible (not implemented yet)
+ numberOfMonths: 1,
+
+ // internationalization
+ 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','Tue','Wed','Thu','Fri','Sat']
+ },
+
+ // callback function
+ onSelect: null,
+ onOpen: null,
+ onClose: null,
+ onDraw: null
+ },
+
+
+ /**
+ * templating functions to abstract HTML rendering
+ */
+ renderDayName = function(opts, day, abbr)
+ {
+ day += opts.firstDay;
+ while (day >= 7) {
+ day -= 7;
+ }
+ return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day];
+ },
+
+ renderDay = function(i, isSelected, isToday, isDisabled, isEmpty)
+ {
+ if (isEmpty) {
+ return '
| ';
+ }
+ var arr = [];
+ if (isDisabled) {
+ arr.push('is-disabled');
+ }
+ if (isToday) {
+ arr.push('is-today');
+ }
+ if (isSelected) {
+ arr.push('is-selected');
+ }
+ return '' + ' | ';
+ },
+
+ renderRow = function(days, isRTL)
+ {
+ return '' + (isRTL ? days.reverse() : days).join('') + '
';
+ },
+
+ renderBody = function(rows)
+ {
+ return '' + rows.join('') + '';
+ },
+
+ renderHead = function(opts)
+ {
+ var i, arr = [];
+ for (i = 0; i < 7; i++) {
+ arr.push('' + renderDayName(opts, i, true) + ' | ');
+ }
+ return '' + (opts.isRTL ? arr.reverse() : arr).join('') + '';
+ },
+
+ renderTitle = function(instance)
+ {
+ var i, j, arr,
+ opts = instance._o,
+ month = instance._m,
+ year = instance._y,
+ isMinYear = year === opts.minYear,
+ isMaxYear = year === opts.maxYear,
+ html = '',
+ monthHtml,
+ yearHtml,
+ prev = true,
+ next = true;
+
+ for (arr = [], i = 0; i < 12; i++) {
+ arr.push('
');
+ }
+ monthHtml = '
' + opts.i18n.months[month] + '
';
+
+ if (isArray(opts.yearRange)) {
+ i = opts.yearRange[0];
+ j = opts.yearRange[1] + 1;
+ } else {
+ i = year - opts.yearRange;
+ j = 1 + year + opts.yearRange;
+ }
+
+ for (arr = []; i < j && i <= opts.maxYear; i++) {
+ if (i >= opts.minYear) {
+ arr.push('
');
+ }
+ }
+ yearHtml = '
' + year + opts.yearSuffix + '
';
+
+ if (opts.showMonthAfterYear) {
+ html += yearHtml + monthHtml;
+ } else {
+ html += monthHtml + yearHtml;
+ }
+
+ if (isMinYear && (month === 0 || opts.minMonth >= month)) {
+ prev = false;
+ }
+
+ if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
+ next = false;
+ }
+
+ html += '
';
+ html += '
';
+
+ return html += '
';
+ },
+
+ renderTable = function(opts, data)
+ {
+ return '' + renderHead(opts) + renderBody(data) + '
';
+ },
+
+
+ /**
+ * Pikaday constructor
+ */
+ Pikaday = function(options)
+ {
+ var self = this,
+ opts = self.config(options);
+
+ self._onMouseDown = function(e)
+ {
+ if (!self._v) {
+ return;
+ }
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ if (!target) {
+ return;
+ }
+
+ if (!hasClass(target, 'is-disabled')) {
+ if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty')) {
+ self.setDate(new Date(self._y, self._m, parseInt(target.innerHTML, 10)));
+ if (opts.bound) {
+ sto(function() {
+ self.hide();
+ }, 100);
+ }
+ return;
+ }
+ else if (hasClass(target, 'pika-prev')) {
+ self.prevMonth();
+ }
+ else if (hasClass(target, 'pika-next')) {
+ self.nextMonth();
+ }
+ }
+ if (!hasClass(target, 'pika-select')) {
+ if (e.preventDefault) {
+ e.preventDefault();
+ } else {
+ e.returnValue = false;
+ return false;
+ }
+ } else {
+ self._c = true;
+ }
+ };
+
+ self._onChange = function(e)
+ {
+ e = e || window.event;
+ var target = e.target || e.srcElement;
+ if (!target) {
+ return;
+ }
+ if (hasClass(target, 'pika-select-month')) {
+ self.gotoMonth(target.value);
+ }
+ else if (hasClass(target, 'pika-select-year')) {
+ self.gotoYear(target.value);
+ }
+ };
+
+ self._onInputChange = function(e)
+ {
+ var date;
+
+ if (e.firedBy === self) {
+ return;
+ }
+ if (hasMoment) {
+ date = moment(opts.field.value, opts.format);
+ date = (date && date.isValid()) ? date.toDate() : null;
+ }
+ else {
+ date = new Date(Date.parse(opts.field.value));
+ }
+ self.setDate(isDate(date) ? date : null);
+ if (!self._v) {
+ self.show();
+ }
+ };
+
+ self._onInputFocus = function()
+ {
+ self.show();
+ };
+
+ self._onInputClick = function()
+ {
+ self.show();
+ };
+
+ self._onInputBlur = function()
+ {
+ if (!self._c) {
+ self._b = sto(function() {
+ self.hide();
+ }, 50);
+ }
+ self._c = false;
+ };
+
+ self._onClick = function(e)
+ {
+ e = e || window.event;
+ var target = e.target || e.srcElement,
+ pEl = target;
+ if (!target) {
+ return;
+ }
+ if (!hasEventListeners && hasClass(target, 'pika-select')) {
+ if (!target.onchange) {
+ target.setAttribute('onchange', 'return;');
+ addEvent(target, 'change', self._onChange);
+ }
+ }
+ do {
+ if (hasClass(pEl, 'pika-single')) {
+ return;
+ }
+ }
+ while ((pEl = pEl.parentNode));
+ if (self._v && target !== opts.trigger) {
+ self.hide();
+ }
+ };
+
+ self.el = document.createElement('div');
+ self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '');
+
+ addEvent(self.el, 'mousedown', self._onMouseDown, true);
+ addEvent(self.el, 'change', self._onChange);
+
+ if (opts.field) {
+ if (opts.bound) {
+ document.body.appendChild(self.el);
+ } else {
+ opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling);
+ }
+ addEvent(opts.field, 'change', self._onInputChange);
+
+ if (!opts.defaultDate) {
+ if (hasMoment && opts.field.value) {
+ opts.defaultDate = moment(opts.field.value, opts.format).toDate();
+ } else {
+ opts.defaultDate = new Date(Date.parse(opts.field.value));
+ }
+ opts.setDefaultDate = true;
+ }
+ }
+
+ var defDate = opts.defaultDate;
+
+ if (isDate(defDate)) {
+ if (opts.setDefaultDate) {
+ self.setDate(defDate, true);
+ } else {
+ self.gotoDate(defDate);
+ }
+ } else {
+ self.gotoDate(new Date());
+ }
+
+ if (opts.bound) {
+ this.hide();
+ self.el.className += ' is-bound';
+ addEvent(opts.trigger, 'click', self._onInputClick);
+ addEvent(opts.trigger, 'focus', self._onInputFocus);
+ addEvent(opts.trigger, 'blur', self._onInputBlur);
+ } else {
+ this.show();
+ }
+
+ };
+
+
+ /**
+ * public Pikaday API
+ */
+ Pikaday.prototype = {
+
+
+ /**
+ * configure functionality
+ */
+ config: function(options)
+ {
+ if (!this._o) {
+ this._o = extend({}, defaults, true);
+ }
+
+ var opts = extend(this._o, options, true);
+
+ opts.isRTL = !!opts.isRTL;
+
+ opts.field = (opts.field && opts.field.nodeName) ? opts.field : null;
+
+ opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field);
+
+ opts.trigger = (opts.trigger && opts.trigger.nodeName) ? opts.trigger : opts.field;
+
+ var nom = parseInt(opts.numberOfMonths, 10) || 1;
+ opts.numberOfMonths = nom > 4 ? 4 : nom;
+
+ if (!isDate(opts.minDate)) {
+ opts.minDate = false;
+ }
+ if (!isDate(opts.maxDate)) {
+ opts.maxDate = false;
+ }
+ if ((opts.minDate && opts.maxDate) && opts.maxDate < opts.minDate) {
+ opts.maxDate = opts.minDate = false;
+ }
+ if (opts.minDate) {
+ setToStartOfDay(opts.minDate);
+ opts.minYear = opts.minDate.getFullYear();
+ opts.minMonth = opts.minDate.getMonth();
+ }
+ if (opts.maxDate) {
+ setToStartOfDay(opts.maxDate);
+ opts.maxYear = opts.maxDate.getFullYear();
+ opts.maxMonth = opts.maxDate.getMonth();
+ }
+
+ if (isArray(opts.yearRange)) {
+ var fallback = new Date().getFullYear() - 10;
+ opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback;
+ opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback;
+ } else {
+ opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange;
+ if (opts.yearRange > 100) {
+ opts.yearRange = 100;
+ }
+ }
+
+ return opts;
+ },
+
+ /**
+ * return a formatted string of the current selection (using Moment.js if available)
+ */
+ toString: function(format)
+ {
+ return !isDate(this._d) ? '' : hasMoment ? moment(this._d).format(format || this._o.format) : this._d.toDateString();
+ },
+
+ /**
+ * return a Moment.js object of the current selection (if available)
+ */
+ getMoment: function()
+ {
+ return hasMoment ? moment(this._d) : null;
+ },
+
+ /**
+ * set the current selection from a Moment.js object (if available)
+ */
+ setMoment: function(date, preventOnSelect)
+ {
+ if (hasMoment && moment.isMoment(date)) {
+ this.setDate(date.toDate(), preventOnSelect);
+ }
+ },
+
+ /**
+ * return a Date object of the current selection
+ */
+ getDate: function()
+ {
+ return isDate(this._d) ? new Date(this._d.getTime()) : null;
+ },
+
+ /**
+ * set the current selection
+ */
+ setDate: function(date, preventOnSelect)
+ {
+ if (!date) {
+ this._d = null;
+ return this.draw();
+ }
+ if (typeof date === 'string') {
+ date = new Date(Date.parse(date));
+ }
+ if (!isDate(date)) {
+ return;
+ }
+
+ var min = this._o.minDate,
+ max = this._o.maxDate;
+
+ if (isDate(min) && date < min) {
+ date = min;
+ } else if (isDate(max) && date > max) {
+ date = max;
+ }
+
+ this._d = new Date(date.getTime());
+ setToStartOfDay(this._d);
+ this.gotoDate(this._d);
+
+ if (this._o.field) {
+ this._o.field.value = this.toString();
+ fireEvent(this._o.field, 'change', { firedBy: this });
+ }
+ if (!preventOnSelect && typeof this._o.onSelect === 'function') {
+ this._o.onSelect.call(this, this.getDate());
+ }
+ },
+
+ /**
+ * change view to a specific date
+ */
+ gotoDate: function(date)
+ {
+ if (!isDate(date)) {
+ return;
+ }
+ this._y = date.getFullYear();
+ this._m = date.getMonth();
+ this.draw();
+ },
+
+ gotoToday: function()
+ {
+ this.gotoDate(new Date());
+ },
+
+ /**
+ * change view to a specific month (zero-index, e.g. 0: January)
+ */
+ gotoMonth: function(month)
+ {
+ if (!isNaN( (month = parseInt(month, 10)) )) {
+ this._m = month < 0 ? 0 : month > 11 ? 11 : month;
+ this.draw();
+ }
+ },
+
+ nextMonth: function()
+ {
+ if (++this._m > 11) {
+ this._m = 0;
+ this._y++;
+ }
+ this.draw();
+ },
+
+ prevMonth: function()
+ {
+ if (--this._m < 0) {
+ this._m = 11;
+ this._y--;
+ }
+ this.draw();
+ },
+
+ /**
+ * change view to a specific full year (e.g. "2012")
+ */
+ gotoYear: function(year)
+ {
+ if (!isNaN(year)) {
+ this._y = parseInt(year, 10);
+ this.draw();
+ }
+ },
+
+ /**
+ * change the minDate
+ */
+ setMinDate: function(value)
+ {
+ this._o.minDate = value;
+ },
+
+ /**
+ * change the maxDate
+ */
+ setMaxDate: function(value)
+ {
+ this._o.maxDate = value;
+ },
+
+ /**
+ * refresh the HTML
+ */
+ draw: function(force)
+ {
+ if (!this._v && !force) {
+ return;
+ }
+ var opts = this._o,
+ minYear = opts.minYear,
+ maxYear = opts.maxYear,
+ minMonth = opts.minMonth,
+ maxMonth = opts.maxMonth;
+
+ if (this._y <= minYear) {
+ this._y = minYear;
+ if (!isNaN(minMonth) && this._m < minMonth) {
+ this._m = minMonth;
+ }
+ }
+ if (this._y >= maxYear) {
+ this._y = maxYear;
+ if (!isNaN(maxMonth) && this._m > maxMonth) {
+ this._m = maxMonth;
+ }
+ }
+
+ this.el.innerHTML = renderTitle(this) + this.render(this._y, this._m);
+
+ if (opts.bound) {
+ this.adjustPosition();
+ if(opts.field.type !== 'hidden') {
+ sto(function() {
+ opts.trigger.focus();
+ }, 1);
+ }
+ }
+
+ if (typeof this._o.onDraw === 'function') {
+ var self = this;
+ sto(function() {
+ self._o.onDraw.call(self);
+ }, 0);
+ }
+ },
+
+ adjustPosition: function()
+ {
+ var field = this._o.trigger, pEl = field,
+ width = this.el.offsetWidth, height = this.el.offsetHeight,
+ viewportWidth = window.innerWidth || document.documentElement.clientWidth,
+ viewportHeight = window.innerHeight || document.documentElement.clientHeight,
+ scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop,
+ left, top, clientRect;
+
+ if (typeof field.getBoundingClientRect === 'function') {
+ clientRect = field.getBoundingClientRect();
+ left = clientRect.left + window.pageXOffset;
+ top = clientRect.bottom + window.pageYOffset;
+ } else {
+ left = pEl.offsetLeft;
+ top = pEl.offsetTop + pEl.offsetHeight;
+ while((pEl = pEl.offsetParent)) {
+ left += pEl.offsetLeft;
+ top += pEl.offsetTop;
+ }
+ }
+
+ // default position is bottom & left
+ if (left + width > viewportWidth ||
+ (
+ this._o.position.indexOf('right') > -1 &&
+ left - width + field.offsetWidth > 0
+ )
+ ) {
+ left = left - width + field.offsetWidth;
+ }
+ if (top + height > viewportHeight + scrollTop ||
+ (
+ this._o.position.indexOf('top') > -1 &&
+ top - height - field.offsetHeight > 0
+ )
+ ) {
+ top = top - height - field.offsetHeight;
+ }
+ this.el.style.cssText = [
+ 'position: absolute',
+ 'left: ' + left + 'px',
+ 'top: ' + top + 'px'
+ ].join(';');
+ },
+
+ /**
+ * render HTML for a particular month
+ */
+ render: function(year, month)
+ {
+ var opts = this._o,
+ now = new Date(),
+ days = getDaysInMonth(year, month),
+ before = new Date(year, month, 1).getDay(),
+ data = [],
+ row = [];
+ setToStartOfDay(now);
+ if (opts.firstDay > 0) {
+ before -= opts.firstDay;
+ if (before < 0) {
+ before += 7;
+ }
+ }
+ var cells = days + before,
+ after = cells;
+ while(after > 7) {
+ after -= 7;
+ }
+ cells += 7 - after;
+ for (var i = 0, r = 0; i < cells; i++)
+ {
+ var day = new Date(year, month, 1 + (i - before)),
+ isDisabled = (opts.minDate && day < opts.minDate) || (opts.maxDate && day > opts.maxDate),
+ isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
+ isToday = compareDates(day, now),
+ isEmpty = i < before || i >= (days + before);
+
+ row.push(renderDay(1 + (i - before), isSelected, isToday, isDisabled, isEmpty));
+
+ if (++r === 7) {
+ data.push(renderRow(row, opts.isRTL));
+ row = [];
+ r = 0;
+ }
+ }
+ return renderTable(opts, data);
+ },
+
+ isVisible: function()
+ {
+ return this._v;
+ },
+
+ show: function()
+ {
+ if (!this._v) {
+ if (this._o.bound) {
+ addEvent(document, 'click', this._onClick);
+ }
+ removeClass(this.el, 'is-hidden');
+ this._v = true;
+ this.draw();
+ if (typeof this._o.onOpen === 'function') {
+ this._o.onOpen.call(this);
+ }
+ }
+ },
+
+ hide: function()
+ {
+ var v = this._v;
+ if (v !== false) {
+ if (this._o.bound) {
+ removeEvent(document, 'click', this._onClick);
+ }
+ this.el.style.cssText = '';
+ addClass(this.el, 'is-hidden');
+ this._v = false;
+ if (v !== undefined && typeof this._o.onClose === 'function') {
+ this._o.onClose.call(this);
+ }
+ }
+ },
+
+ /**
+ * GAME OVER
+ */
+ destroy: function()
+ {
+ this.hide();
+ removeEvent(this.el, 'mousedown', this._onMouseDown, true);
+ removeEvent(this.el, 'change', this._onChange);
+ if (this._o.field) {
+ removeEvent(this._o.field, 'change', this._onInputChange);
+ if (this._o.bound) {
+ removeEvent(this._o.trigger, 'click', this._onInputClick);
+ removeEvent(this._o.trigger, 'focus', this._onInputFocus);
+ removeEvent(this._o.trigger, 'blur', this._onInputBlur);
+ }
+ }
+ if (this.el.parentNode) {
+ this.el.parentNode.removeChild(this.el);
+ }
+ }
+
+ };
+
+ return Pikaday;
+
+}));
diff --git a/Resources/public/plugins/pikaday.jquery.js b/Resources/public/plugins/pikaday.jquery.js
new file mode 100644
index 000000000..a95ddc59b
--- /dev/null
+++ b/Resources/public/plugins/pikaday.jquery.js
@@ -0,0 +1,52 @@
+/*!
+ * Pikaday jQuery plugin.
+ *
+ * Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
+ */
+
+(function (root, factory)
+{
+ 'use strict';
+
+ if (typeof exports === 'object') {
+ // CommonJS module
+ factory(require('jquery'), require('../pikaday'));
+ } else if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(['jquery', 'pikaday'], factory);
+ } else {
+ // Browser globals
+ factory(root.jQuery, root.Pikaday);
+ }
+}(this, function ($, Pikaday)
+{
+ 'use strict';
+
+ $.fn.pikaday = function()
+ {
+ var args = arguments;
+
+ if (!args || !args.length) {
+ args = [{ }];
+ }
+
+ return this.each(function()
+ {
+ var self = $(this),
+ plugin = self.data('pikaday');
+
+ if (!(plugin instanceof Pikaday)) {
+ if (typeof args[0] === 'object') {
+ var options = $.extend({}, args[0]);
+ options.field = self[0];
+ self.data('pikaday', new Pikaday(options));
+ }
+ } else {
+ if (typeof args[0] === 'string' && typeof plugin[args[0]] === 'function') {
+ plugin[args[0]].apply(plugin, Array.prototype.slice.call(args,1));
+ }
+ }
+ });
+ };
+
+}));
diff --git a/Resources/public/stylesheets/sass/_custom.scss b/Resources/public/stylesheets/sass/_custom.scss
index d4be817cf..83f23b42b 100644
--- a/Resources/public/stylesheets/sass/_custom.scss
+++ b/Resources/public/stylesheets/sass/_custom.scss
@@ -13,4 +13,4 @@ html,body { min-height:100%; }
.subtitle {
font-size: 1.5em;
-}
\ No newline at end of file
+}
diff --git a/Resources/public/stylesheets/scratch.css b/Resources/public/stylesheets/scratch.css
index 5c350024d..507e5df05 100644
--- a/Resources/public/stylesheets/scratch.css
+++ b/Resources/public/stylesheets/scratch.css
@@ -2019,9 +2019,12 @@ th {
content: ""; }
/* etrange pour les forms */
-*, *:before, *:after {
+* {
box-sizing: inherit; }
+html {
+ box-sizing: border-box; }
+
.container:after {
content: "";
display: table;
@@ -2807,7 +2810,7 @@ form li label {
display: inline-block;
font-weight: normal; }
-.button {
+.sc-button {
color: #000;
background: #d9d9d9;
border: medium none;
@@ -2823,18 +2826,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button:hover, .button:active {
+ .sc-button:hover, .sc-button:active {
background: #cccccc;
color: #000;
text-decoration: none; }
- .button:focus {
+ .sc-button:focus {
background: #cccccc; }
- .button[disabled] {
+ .sc-button[disabled] {
background: rgba(217, 217, 217, 0.6);
color: #bfbfbf; }
- .button[disabled]:hover {
+ .sc-button[disabled]:hover {
box-shadow: none; }
- .button.blue {
+ .sc-button.blue {
color: #fff;
background: #2980b9;
border: medium none;
@@ -2850,18 +2853,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.blue:hover, .button.blue:active {
+ .sc-button.blue:hover, .sc-button.blue:active {
background: #2472a4;
color: #fff;
text-decoration: none; }
- .button.blue:focus {
+ .sc-button.blue:focus {
background: #2472a4; }
- .button.blue[disabled] {
+ .sc-button.blue[disabled] {
background: rgba(41, 128, 185, 0.6);
color: #20638f; }
- .button.blue[disabled]:hover {
+ .sc-button.blue[disabled]:hover {
box-shadow: none; }
- .button.green {
+ .sc-button.green {
color: #fff;
background: #4a9b17;
border: medium none;
@@ -2877,18 +2880,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.green:hover, .button.green:active {
+ .sc-button.green:hover, .sc-button.green:active {
background: #3f8514;
color: #fff;
text-decoration: none; }
- .button.green:focus {
+ .sc-button.green:focus {
background: #3f8514; }
- .button.green[disabled] {
+ .sc-button.green[disabled] {
background: rgba(74, 155, 23, 0.6);
color: #356f10; }
- .button.green[disabled]:hover {
+ .sc-button.green[disabled]:hover {
box-shadow: none; }
- .button.orange {
+ .sc-button.orange {
color: #fff;
background: #ff9c00;
border: medium none;
@@ -2904,18 +2907,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.orange:hover, .button.orange:active {
+ .sc-button.orange:hover, .sc-button.orange:active {
background: #e68c00;
color: #fff;
text-decoration: none; }
- .button.orange:focus {
+ .sc-button.orange:focus {
background: #e68c00; }
- .button.orange[disabled] {
+ .sc-button.orange[disabled] {
background: rgba(255, 156, 0, 0.6);
color: #cc7d00; }
- .button.orange[disabled]:hover {
+ .sc-button.orange[disabled]:hover {
box-shadow: none; }
- .button.red {
+ .sc-button.red {
color: #fff;
background: #c91111;
border: medium none;
@@ -2931,18 +2934,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.red:hover, .button.red:active {
+ .sc-button.red:hover, .sc-button.red:active {
background: #b10f0f;
color: #fff;
text-decoration: none; }
- .button.red:focus {
+ .sc-button.red:focus {
background: #b10f0f; }
- .button.red[disabled] {
+ .sc-button.red[disabled] {
background: rgba(201, 17, 17, 0.6);
color: #9a0d0d; }
- .button.red[disabled]:hover {
+ .sc-button.red[disabled]:hover {
box-shadow: none; }
- .button.black {
+ .sc-button.black {
color: #fff;
background: #1a1a1a;
border: medium none;
@@ -2958,18 +2961,18 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.black:hover, .button.black:active {
+ .sc-button.black:hover, .sc-button.black:active {
background: #0d0d0d;
color: #fff;
text-decoration: none; }
- .button.black:focus {
+ .sc-button.black:focus {
background: #0d0d0d; }
- .button.black[disabled] {
+ .sc-button.black[disabled] {
background: rgba(26, 26, 26, 0.6);
color: black; }
- .button.black[disabled]:hover {
+ .sc-button.black[disabled]:hover {
box-shadow: none; }
- .button.white {
+ .sc-button.white {
color: #555;
background: #fff;
border: medium none;
@@ -2985,16 +2988,16 @@ form li label {
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px; }
- .button.white:hover, .button.white:active {
+ .sc-button.white:hover, .sc-button.white:active {
background: #f2f2f2;
color: #555;
text-decoration: none; }
- .button.white:focus {
+ .sc-button.white:focus {
background: #f2f2f2; }
- .button.white[disabled] {
+ .sc-button.white[disabled] {
background: rgba(255, 255, 255, 0.6);
color: #e6e6e6; }
- .button.white[disabled]:hover {
+ .sc-button.white[disabled]:hover {
box-shadow: none; }
/* Tabs */
diff --git a/Resources/public/stylesheets/scratch.css.map b/Resources/public/stylesheets/scratch.css.map
index 5d81ce08d..6f01a8a65 100644
--- a/Resources/public/stylesheets/scratch.css.map
+++ b/Resources/public/stylesheets/scratch.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "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",
+"mappings": "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",
"sources": ["sass/contrib/normalize/_normalize.scss","sass/contrib/fontawesome/_path.scss","sass/contrib/fontawesome/_core.scss","sass/contrib/fontawesome/_larger.scss","sass/contrib/fontawesome/_fixed-width.scss","sass/contrib/fontawesome/_list.scss","sass/contrib/fontawesome/_variables.scss","sass/contrib/fontawesome/_bordered-pulled.scss","sass/contrib/fontawesome/_spinning.scss","sass/contrib/fontawesome/_rotated-flipped.scss","sass/contrib/fontawesome/_mixins.scss","sass/contrib/fontawesome/_stacked.scss","sass/contrib/fontawesome/_icons.scss","sass/scratch.scss","sass/contrib/gridle/gridle/_silent-classes.scss","sass/contrib/gridle/gridle/_generate-mixins.scss","sass/contrib/gridle/gridle/_common-mixins.scss","sass/contrib/gridle/gridle/_mixins.scss","sass/modules/_typography.scss","sass/config/_colors.scss","sass/config/_variables.scss","sass/modules/_navigation.scss","sass/contrib/bourbon/addons/_position.scss","sass/modules/_footer.scss","sass/modules/_alerts.scss","sass/mixins/_alerts.scss","sass/modules/_forms.scss","sass/contrib/bourbon/addons/_prefixer.scss","sass/modules/_buttons.scss","sass/mixins/_buttons.scss","sass/config/_buttons.scss","sass/modules/_tabs.scss","sass/_custom.scss"],
"names": [],
"file": "scratch.css"
diff --git a/Resources/views/layout.html.twig b/Resources/views/layout.html.twig
index 32fc3ff90..28869b5fe 100644
--- a/Resources/views/layout.html.twig
+++ b/Resources/views/layout.html.twig
@@ -7,6 +7,7 @@
{% stylesheets output="css/all.css" filter="cssrewrite"
"bundles/chillmain/stylesheets/scratch.css"
"bundles/chillmain/css/chillmain.css"
+ "bundles/chillmain/css/pikaday.css"
"bundles/chillmain/js/lib_jquery_ui_pickadate/jquery-ui-1.10.3.pickadate.css" %}
{% endstylesheets %}
@@ -16,35 +17,25 @@
{% javascripts output="js/libs.js"
"bundles/chillmain/js/modernizr-2.6.2.min.js"
"bundles/chillmain/js/jquery-2.0.2.min.js"
+ "bundles/chillmain/moment.js"
+ "bundles/chillmain/pikaday.js"
+ "bundles/chillmain/plugins/pikaday.jquery.js"
"bundles/chillmain/js/lib_jquery_ui_pickadate/jquery-ui-1.10.3.pickadate.js" %}
{% endjavascripts %}
-
-
-
- {# Flash messages !
-
- {% if (app.session.flashbag.get('success').length > 0
- OR app.session.flashbag.get('danger').length > 0
- OR app.session.flashbag.get('info').length > 0 ) %}#}
+ {# Flash messages ! #}
{% for flashMessage in app.session.flashbag.get('success') %}
@@ -106,7 +93,6 @@
{% endfor %}
- {# {% endif %} #}
{% block content %}
@@ -122,5 +108,20 @@
+
+
+