diff --git a/.env.example b/.env.example
index af38e89a..9b80b3d3 100644
--- a/.env.example
+++ b/.env.example
@@ -1,6 +1,6 @@
APP_ENV=production
-APP_DEBUG=true
-APP_URL=http://dev.attendize.com
+APP_DEBUG=false
+APP_URL=
APP_CIPHER=rijndael-128
APP_KEY=SomeRandomString
APP_TIMEZONE
@@ -8,17 +8,18 @@ APP_TIMEZONE
DB_TYPE=mysql
DB_HOST=localhost
DB_DATABASE=attendize
-DB_USERNAME
-DB_PASSWORD
+DB_USERNAME=
+DB_PASSWORD=
MAIL_DRIVER=smtp
MAIL_PORT=587
MAIL_ENCRYPTION=tls
-MAIL_HOST=smtp.mandrillapp.com
-MAIL_FROM_ADDRESS=info@attendize.com
-MAIL_FROM_NAME=Attendize.com
-MAIL_PASSWORD=b038a015-8162-4a7a-bb8b-abb63fa7c112
-MAIL_USERNAME=dave.m.earley@gmail.com
+MAIL_HOST=
+MAIL_FROM_ADDRESS=
+MAIL_FROM_NAME=
+MAIL_PASSWORD=
+MAIL_USERNAME=
+GOOGLE_ANALYTICS_ID=
LOG=single
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
index 2c4bfe01..bcbe53c3 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -51,7 +51,6 @@ module.exports = function(grunt) {
'./public/vendor/jquery-form/jquery.form.js',
'./public/vendor/humane-js/humane.js',
'./public/vendor/RRSSB/js/rrssb.js',
- './public/vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.js',
'./public/vendor/curioussolutions-datetimepicker/dist/DateTimePicker.js',
'./public/assets/javascript/app.js'
],
diff --git a/bower.json b/bower.json
index 5ee792fe..540e7cc1 100644
--- a/bower.json
+++ b/bower.json
@@ -17,22 +17,14 @@
"dependencies": {
"bootstrap": "~3.2.0",
"curioussolutions-datetimepicker": "~0.1.1",
- "humane-js": "~3.2.0",
"chartjs": "~0.2.0",
+ "humane-js": "~3.2.0",
"geocomplete": "~1.6.4",
- "wysiwyg-editor": "~1.2.3",
"modernizr": "~2.8.3",
"jquery-form": "malsup/form#~3.46.0",
"RRSSB": "~1.6.0",
"jquery-backstretch": "~2.0.4",
- "flot": "~0.8.3",
- "morrisjs": "~0.5.1",
- "jquery.countdown": "~2.0.4",
"fontawesome": "~4.2.0",
- "jquery-fastLiveFilter": "awbush/jquery-fastLiveFilter#~1.0.3",
- "hint.css": "~1.3.3",
- "wysihtml": "~0.4.17",
- "bootstrap-touchspin": "~3.0.1",
"simplemde": "~1.8.1"
},
"resolutions": {
diff --git a/public/assets/javascript/backend.js b/public/assets/javascript/backend.js
index bf0d42ee..34d09eeb 100644
--- a/public/assets/javascript/backend.js
+++ b/public/assets/javascript/backend.js
@@ -5212,2352 +5212,2582 @@ function log() {
window.rrssbInit = rrssbInit;
})(window, jQuery);
-;(function($) {
- 'use strict';
+;$.DateTimePicker = $.DateTimePicker || {
- var _currentSpinnerId = 0;
+ name: "DateTimePicker",
- function _scopedEventName(name, id) {
- return name + '.touchspin_' + id;
- }
+ i18n: {}, // Internationalization Objects
- function _scopeEventNames(names, id) {
- return $.map(names, function(name) {
- return _scopedEventName(name, id);
- });
- }
-
- $.fn.TouchSpin = function(options) {
-
- if (options === 'destroy') {
- this.each(function() {
- var originalinput = $(this),
- originalinput_data = originalinput.data();
- $(document).off(_scopeEventNames([
- 'mouseup',
- 'touchend',
- 'touchcancel',
- 'mousemove',
- 'touchmove',
- 'scroll',
- 'scrollstart'], originalinput_data.spinnerid).join(' '));
- });
- return;
- }
-
- var defaults = {
- min: 0,
- max: 100,
- initval: '',
- step: 1,
- decimals: 0,
- stepinterval: 100,
- forcestepdivisibility: 'round', // none | floor | round | ceil
- stepintervaldelay: 500,
- verticalbuttons: false,
- verticalupclass: 'glyphicon glyphicon-chevron-up',
- verticaldownclass: 'glyphicon glyphicon-chevron-down',
- prefix: '',
- postfix: '',
- prefix_extraclass: '',
- postfix_extraclass: '',
- booster: true,
- boostat: 10,
- maxboostedstep: false,
- mousewheel: true,
- buttondown_class: 'btn btn-default',
- buttonup_class: 'btn btn-default'
- };
-
- var attributeMap = {
- min: 'min',
- max: 'max',
- initval: 'init-val',
- step: 'step',
- decimals: 'decimals',
- stepinterval: 'step-interval',
- verticalbuttons: 'vertical-buttons',
- verticalupclass: 'vertical-up-class',
- verticaldownclass: 'vertical-down-class',
- forcestepdivisibility: 'force-step-divisibility',
- stepintervaldelay: 'step-interval-delay',
- prefix: 'prefix',
- postfix: 'postfix',
- prefix_extraclass: 'prefix-extra-class',
- postfix_extraclass: 'postfix-extra-class',
- booster: 'booster',
- boostat: 'boostat',
- maxboostedstep: 'max-boosted-step',
- mousewheel: 'mouse-wheel',
- buttondown_class: 'button-down-class',
- buttonup_class: 'button-up-class'
- };
-
- return this.each(function() {
-
- var settings,
- originalinput = $(this),
- originalinput_data = originalinput.data(),
- container,
- elements,
- value,
- downSpinTimer,
- upSpinTimer,
- downDelayTimeout,
- upDelayTimeout,
- spincount = 0,
- spinning = false;
-
- init();
-
-
- function init() {
- if (originalinput.data('alreadyinitialized')) {
- return;
- }
-
- originalinput.data('alreadyinitialized', true);
- _currentSpinnerId += 1;
- originalinput.data('spinnerid', _currentSpinnerId);
-
-
- if (!originalinput.is('input')) {
- console.log('Must be an input.');
- return;
- }
-
- _initSettings();
- _setInitval();
- _checkValue();
- _buildHtml();
- _initElements();
- _hideEmptyPrefixPostfix();
- _bindEvents();
- _bindEventsInterface();
- elements.input.css('display', 'block');
- }
-
- function _setInitval() {
- if (settings.initval !== '' && originalinput.val() === '') {
- originalinput.val(settings.initval);
- }
- }
-
- function changeSettings(newsettings) {
- _updateSettings(newsettings);
- _checkValue();
-
- var value = elements.input.val();
-
- if (value !== '') {
- value = Number(elements.input.val());
- elements.input.val(value.toFixed(settings.decimals));
- }
- }
-
- function _initSettings() {
- settings = $.extend({}, defaults, originalinput_data, _parseAttributes(), options);
- }
-
- function _parseAttributes() {
- var data = {};
- $.each(attributeMap, function(key, value) {
- var attrName = 'bts-' + value + '';
- if (originalinput.is('[data-' + attrName + ']')) {
- data[key] = originalinput.data(attrName);
- }
- });
- return data;
- }
-
- function _updateSettings(newsettings) {
- settings = $.extend({}, settings, newsettings);
- }
-
- function _buildHtml() {
- var initval = originalinput.val(),
- parentelement = originalinput.parent();
-
- if (initval !== '') {
- initval = Number(initval).toFixed(settings.decimals);
- }
-
- originalinput.data('initvalue', initval).val(initval);
- originalinput.addClass('form-control');
-
- if (parentelement.hasClass('input-group')) {
- _advanceInputGroup(parentelement);
- }
- else {
- _buildInputGroup();
- }
- }
-
- function _advanceInputGroup(parentelement) {
- parentelement.addClass('bootstrap-touchspin');
-
- var prev = originalinput.prev(),
- next = originalinput.next();
-
- var downhtml,
- uphtml,
- prefixhtml = '' + settings.prefix + '',
- postfixhtml = '' + settings.postfix + '';
-
- if (prev.hasClass('input-group-btn')) {
- downhtml = '';
- prev.append(downhtml);
- }
- else {
- downhtml = '';
- $(downhtml).insertBefore(originalinput);
- }
-
- if (next.hasClass('input-group-btn')) {
- uphtml = '';
- next.prepend(uphtml);
- }
- else {
- uphtml = '';
- $(uphtml).insertAfter(originalinput);
- }
-
- $(prefixhtml).insertBefore(originalinput);
- $(postfixhtml).insertAfter(originalinput);
-
- container = parentelement;
- }
-
- function _buildInputGroup() {
- var html;
-
- if (settings.verticalbuttons) {
- html = '
' + settings.prefix + '' + settings.postfix + '
';
- }
- else {
- html = '' + settings.prefix + '' + settings.postfix + '
';
- }
-
- container = $(html).insertBefore(originalinput);
-
- $('.bootstrap-touchspin-prefix', container).after(originalinput);
-
- if (originalinput.hasClass('input-sm')) {
- container.addClass('input-group-sm');
- }
- else if (originalinput.hasClass('input-lg')) {
- container.addClass('input-group-lg');
- }
- }
-
- function _initElements() {
- elements = {
- down: $('.bootstrap-touchspin-down', container),
- up: $('.bootstrap-touchspin-up', container),
- input: $('input', container),
- prefix: $('.bootstrap-touchspin-prefix', container).addClass(settings.prefix_extraclass),
- postfix: $('.bootstrap-touchspin-postfix', container).addClass(settings.postfix_extraclass)
- };
- }
-
- function _hideEmptyPrefixPostfix() {
- if (settings.prefix === '') {
- elements.prefix.hide();
- }
-
- if (settings.postfix === '') {
- elements.postfix.hide();
- }
- }
-
- function _bindEvents() {
- originalinput.on('keydown', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 38) {
- if (spinning !== 'up') {
- upOnce();
- startUpSpin();
- }
- ev.preventDefault();
- }
- else if (code === 40) {
- if (spinning !== 'down') {
- downOnce();
- startDownSpin();
- }
- ev.preventDefault();
- }
- });
-
- originalinput.on('keyup', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 38) {
- stopSpin();
- }
- else if (code === 40) {
- stopSpin();
- }
- });
-
- originalinput.on('blur', function() {
- _checkValue();
- });
-
- elements.down.on('keydown', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 32 || code === 13) {
- if (spinning !== 'down') {
- downOnce();
- startDownSpin();
- }
- ev.preventDefault();
- }
- });
-
- elements.down.on('keyup', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 32 || code === 13) {
- stopSpin();
- }
- });
-
- elements.up.on('keydown', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 32 || code === 13) {
- if (spinning !== 'up') {
- upOnce();
- startUpSpin();
- }
- ev.preventDefault();
- }
- });
-
- elements.up.on('keyup', function(ev) {
- var code = ev.keyCode || ev.which;
-
- if (code === 32 || code === 13) {
- stopSpin();
- }
- });
-
- elements.down.on('mousedown.touchspin', function(ev) {
- elements.down.off('touchstart.touchspin'); // android 4 workaround
-
- if (originalinput.is(':disabled')) {
- return;
- }
-
- downOnce();
- startDownSpin();
-
- ev.preventDefault();
- ev.stopPropagation();
- });
-
- elements.down.on('touchstart.touchspin', function(ev) {
- elements.down.off('mousedown.touchspin'); // android 4 workaround
-
- if (originalinput.is(':disabled')) {
- return;
- }
-
- downOnce();
- startDownSpin();
-
- ev.preventDefault();
- ev.stopPropagation();
- });
-
- elements.up.on('mousedown.touchspin', function(ev) {
- elements.up.off('touchstart.touchspin'); // android 4 workaround
-
- if (originalinput.is(':disabled')) {
- return;
- }
-
- upOnce();
- startUpSpin();
-
- ev.preventDefault();
- ev.stopPropagation();
- });
-
- elements.up.on('touchstart.touchspin', function(ev) {
- elements.up.off('mousedown.touchspin'); // android 4 workaround
-
- if (originalinput.is(':disabled')) {
- return;
- }
-
- upOnce();
- startUpSpin();
-
- ev.preventDefault();
- ev.stopPropagation();
- });
-
- elements.up.on('mouseout touchleave touchend touchcancel', function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.stopPropagation();
- stopSpin();
- });
-
- elements.down.on('mouseout touchleave touchend touchcancel', function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.stopPropagation();
- stopSpin();
- });
-
- elements.down.on('mousemove touchmove', function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.stopPropagation();
- ev.preventDefault();
- });
-
- elements.up.on('mousemove touchmove', function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.stopPropagation();
- ev.preventDefault();
- });
-
- $(document).on(_scopeEventNames(['mouseup', 'touchend', 'touchcancel'], _currentSpinnerId).join(' '), function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.preventDefault();
- stopSpin();
- });
-
- $(document).on(_scopeEventNames(['mousemove', 'touchmove', 'scroll', 'scrollstart'], _currentSpinnerId).join(' '), function(ev) {
- if (!spinning) {
- return;
- }
-
- ev.preventDefault();
- stopSpin();
- });
-
- originalinput.on('mousewheel DOMMouseScroll', function(ev) {
- if (!settings.mousewheel || !originalinput.is(':focus')) {
- return;
- }
-
- var delta = ev.originalEvent.wheelDelta || -ev.originalEvent.deltaY || -ev.originalEvent.detail;
-
- ev.stopPropagation();
- ev.preventDefault();
-
- if (delta < 0) {
- downOnce();
- }
- else {
- upOnce();
- }
- });
- }
-
- function _bindEventsInterface() {
- originalinput.on('touchspin.uponce', function() {
- stopSpin();
- upOnce();
- });
-
- originalinput.on('touchspin.downonce', function() {
- stopSpin();
- downOnce();
- });
-
- originalinput.on('touchspin.startupspin', function() {
- startUpSpin();
- });
-
- originalinput.on('touchspin.startdownspin', function() {
- startDownSpin();
- });
-
- originalinput.on('touchspin.stopspin', function() {
- stopSpin();
- });
-
- originalinput.on('touchspin.updatesettings', function(e, newsettings) {
- changeSettings(newsettings);
- });
- }
-
- function _forcestepdivisibility(value) {
- switch (settings.forcestepdivisibility) {
- case 'round':
- return (Math.round(value / settings.step) * settings.step).toFixed(settings.decimals);
- case 'floor':
- return (Math.floor(value / settings.step) * settings.step).toFixed(settings.decimals);
- case 'ceil':
- return (Math.ceil(value / settings.step) * settings.step).toFixed(settings.decimals);
- default:
- return value;
- }
- }
-
- function _checkValue() {
- var val, parsedval, returnval;
-
- val = originalinput.val();
-
- if (val === '') {
- return;
- }
-
- if (settings.decimals > 0 && val === '.') {
- return;
- }
-
- parsedval = parseFloat(val);
-
- if (isNaN(parsedval)) {
- parsedval = 0;
- }
-
- returnval = parsedval;
-
- if (parsedval.toString() !== val) {
- returnval = parsedval;
- }
-
- if (parsedval < settings.min) {
- returnval = settings.min;
- }
-
- if (parsedval > settings.max) {
- returnval = settings.max;
- }
-
- returnval = _forcestepdivisibility(returnval);
-
- if (Number(val).toString() !== returnval.toString()) {
- originalinput.val(returnval);
- originalinput.trigger('change');
- }
- }
-
- function _getBoostedStep() {
- if (!settings.booster) {
- return settings.step;
- }
- else {
- var boosted = Math.pow(2, Math.floor(spincount / settings.boostat)) * settings.step;
-
- if (settings.maxboostedstep) {
- if (boosted > settings.maxboostedstep) {
- boosted = settings.maxboostedstep;
- value = Math.round((value / boosted)) * boosted;
- }
- }
-
- return Math.max(settings.step, boosted);
- }
- }
-
- function upOnce() {
- _checkValue();
-
- value = parseFloat(elements.input.val());
- if (isNaN(value)) {
- value = 0;
- }
-
- var initvalue = value,
- boostedstep = _getBoostedStep();
-
- value = value + boostedstep;
-
- if (value > settings.max) {
- value = settings.max;
- originalinput.trigger('touchspin.on.max');
- stopSpin();
- }
-
- elements.input.val(Number(value).toFixed(settings.decimals));
-
- if (initvalue !== value) {
- originalinput.trigger('change');
- }
- }
-
- function downOnce() {
- _checkValue();
-
- value = parseFloat(elements.input.val());
- if (isNaN(value)) {
- value = 0;
- }
-
- var initvalue = value,
- boostedstep = _getBoostedStep();
-
- value = value - boostedstep;
-
- if (value < settings.min) {
- value = settings.min;
- originalinput.trigger('touchspin.on.min');
- stopSpin();
- }
-
- elements.input.val(value.toFixed(settings.decimals));
-
- if (initvalue !== value) {
- originalinput.trigger('change');
- }
- }
-
- function startDownSpin() {
- stopSpin();
-
- spincount = 0;
- spinning = 'down';
-
- originalinput.trigger('touchspin.on.startspin');
- originalinput.trigger('touchspin.on.startdownspin');
-
- downDelayTimeout = setTimeout(function() {
- downSpinTimer = setInterval(function() {
- spincount++;
- downOnce();
- }, settings.stepinterval);
- }, settings.stepintervaldelay);
- }
-
- function startUpSpin() {
- stopSpin();
-
- spincount = 0;
- spinning = 'up';
-
- originalinput.trigger('touchspin.on.startspin');
- originalinput.trigger('touchspin.on.startupspin');
-
- upDelayTimeout = setTimeout(function() {
- upSpinTimer = setInterval(function() {
- spincount++;
- upOnce();
- }, settings.stepinterval);
- }, settings.stepintervaldelay);
- }
-
- function stopSpin() {
- clearTimeout(downDelayTimeout);
- clearTimeout(upDelayTimeout);
- clearInterval(downSpinTimer);
- clearInterval(upSpinTimer);
-
- switch (spinning) {
- case 'up':
- originalinput.trigger('touchspin.on.stopupspin');
- originalinput.trigger('touchspin.on.stopspin');
- break;
- case 'down':
- originalinput.trigger('touchspin.on.stopdownspin');
- originalinput.trigger('touchspin.on.stopspin');
- break;
- }
-
- spincount = 0;
- spinning = false;
- }
-
- });
-
- };
-
-})(jQuery);
-;;(function ( $, window, document, undefined ) {
+ defaults: //Plugin Defaults
+ {
+ mode: "date",
+ defaultDate: null,
- var pluginName = "DateTimePicker";
+ dateSeparator: "-",
+ timeSeparator: ":",
+ timeMeridiemSeparator: " ",
+ dateTimeSeparator: " ",
+ monthYearSeparator: " ",
- var defaults = {
-
- mode: "date",
- defaultDate: new Date(),
-
- dateSeparator: "-",
- timeSeparator: ":",
- timeMeridiemSeparator: " ",
- dateTimeSeparator: " ",
-
- dateTimeFormat: "dd-MM-yyyy HH:mm:ss",
- dateFormat: "dd-MM-yyyy",
- timeFormat: "HH:mm",
-
- maxDate: null,
- minDate: null,
-
- maxTime: null,
- minTime: null,
-
- maxDateTime: null,
- minDateTime: null,
-
- shortDayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
- fullDayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- shortMonthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- fullMonthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
-
- titleContentDate: "Set Date",
- titleContentTime: "Set Time",
- titleContentDateTime: "Set Date & Time",
-
- setButtonContent: "Set",
- clearButtonContent: "Clear",
-
- animationDuration: 400,
-
- isPopup: true,
-
- addEventHandlers: null
- };
+ dateTimeFormat: "dd-MM-yyyy HH:mm",
+ dateFormat: "dd-MM-yyyy",
+ timeFormat: "HH:mm",
- var dataObject = {
-
- dCurrentDate: new Date(),
- iCurrentDay: 0,
- iCurrentMonth: 0,
- iCurrentYear: 0,
- iCurrentHour: 0,
- iCurrentMinutes: 0,
- sCurrentMeridiem: "",
- iMaxNumberOfDays: 0,
-
- sDateFormat: "",
- sTimeFormat: "",
- sDateTimeFormat: "",
-
- dMinValue: null,
- dMaxValue: null,
-
- sArrInputDateFormats: [],
- sArrInputTimeFormats: [],
- sArrInputDateTimeFormats: [],
-
- oInputElement: null,
-
- bIs12Hour: false
- };
+ maxDate: null,
+ minDate: null,
- function DateTimePicker(element, options)
+ maxTime: null,
+ minTime: null,
+
+ maxDateTime: null,
+ minDateTime: null,
+
+ shortDayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
+ fullDayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
+ shortMonthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+ fullMonthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
+ labels: null, /*{"year": "Year", "month": "Month", "day": "Day", "hour": "Hour", "minutes": "Minutes", "seconds": "Seconds", "meridiem": "Meridiem"}*/
+
+ minuteInterval: 1,
+ roundOffMinutes: true,
+
+ secondsInterval: 1,
+ roundOffSeconds: true,
+
+ titleContentDate: "Set Date",
+ titleContentTime: "Set Time",
+ titleContentDateTime: "Set Date & Time",
+
+ buttonsToDisplay: ["HeaderCloseButton", "SetButton", "ClearButton"],
+ setButtonContent: "Set",
+ clearButtonContent: "Clear",
+ incrementButtonContent: "+",
+ decrementButtonContent: "-",
+ setValueInTextboxOnEveryClick: false,
+
+ animationDuration: 400,
+
+ isPopup: true,
+ parentElement: "body",
+
+ language: "",
+
+ init: null, // init(oDateTimePicker)
+ addEventHandlers: null, // addEventHandlers(oDateTimePicker)
+ beforeShow: null, // beforeShow(oInputElement)
+ afterShow: null, // afterShow(oInputElement)
+ beforeHide: null, // beforeHide(oInputElement)
+ afterHide: null, // afterHide(oInputElement)
+ buttonClicked: null, // buttonClicked(sButtonType, oInputElement) where sButtonType = "SET"|"CLEAR"|"CANCEL"|"TAB"
+ settingValueOfElement: null, // settingValueOfElement(sValue, dDateTime, oInputElement)
+ formatHumanDate: null, // formatHumanDate(oDateTime, sMode, sFormat)
+
+ parseDateTimeString: null, // parseDateTimeString(sDateTime, sMode, oInputField)
+ formatDateTimeString: null, // formatDateTimeString(oDateTime, sMode, oInputField)
+ },
+
+ dataObject: // Temporary Variables For Calculation Specific to DateTimePicker Instance
+ {
+
+ dCurrentDate: new Date(),
+ iCurrentDay: 0,
+ iCurrentMonth: 0,
+ iCurrentYear: 0,
+ iCurrentHour: 0,
+ iCurrentMinutes: 0,
+ iCurrentSeconds: 0,
+ sCurrentMeridiem: "",
+ iMaxNumberOfDays: 0,
+
+ sDateFormat: "",
+ sTimeFormat: "",
+ sDateTimeFormat: "",
+
+ dMinValue: null,
+ dMaxValue: null,
+
+ sArrInputDateFormats: [],
+ sArrInputTimeFormats: [],
+ sArrInputDateTimeFormats: [],
+
+ bArrMatchFormat: [],
+ bDateMode: false,
+ bTimeMode: false,
+ bDateTimeMode: false,
+
+ oInputElement: null,
+
+ iTabIndex: 0,
+ bElemFocused: false,
+
+ bIs12Hour: false
+ }
+
+};
+
+$.cf = {
+
+ _isValid: function(sValue)
+ {
+ return (sValue !== undefined && sValue !== null && sValue !== "");
+ },
+
+ _compare: function(sString1, sString2)
+ {
+ var bString1 = (sString1 !== undefined && sString1 !== null),
+ bString2 = (sString2 !== undefined && sString2 !== null);
+ if(bString1 && bString2)
{
- this.element = element;
- this.settings = $.extend({}, defaults, options);
- this.dataObject = dataObject;
- this._defaults = defaults;
- this._name = pluginName;
-
- this.init();
+ if(sString1.toLowerCase() === sString2.toLowerCase())
+ return true;
+ else
+ return false;
}
-
- $.fn.DateTimePicker = function (options)
- {
- return this.each(function()
+ else
+ return false;
+ }
+
+};
+
+(function (factory)
+{
+ if(typeof define === 'function' && define.amd)
+ {
+ // AMD. Register as an anonymous module.
+ define(['jquery'], factory);
+ }
+ else if(typeof exports === 'object')
+ {
+ // Node/CommonJS
+ module.exports = factory(require('jquery'));
+ }
+ else
+ {
+ // Browser globals
+ factory(jQuery);
+ }
+}(function ($)
+{
+ "use strict";
+
+ function DateTimePicker(element, options)
+ {
+ this.element = element;
+
+ var sLanguage = "";
+ sLanguage = ($.cf._isValid(options) && $.cf._isValid(options.language)) ? options.language : $.DateTimePicker.defaults.language;
+ this.settings = $.extend({}, $.DateTimePicker.defaults, $.DateTimePicker.i18n[sLanguage], options);
+ this.options = options;
+
+ this.oData = $.extend({}, $.DateTimePicker.dataObject);
+ this._defaults = $.DateTimePicker.defaults;
+ this._name = $.DateTimePicker.name;
+
+ this.init();
+ }
+
+ $.fn.DateTimePicker = function (options)
+ {
+ var oDTP = $(this).data(),
+ sArrDataKeys = oDTP ? Object.keys(oDTP) : [],
+ iKey, sKey;
+
+ if(typeof options === "string")
+ {
+ if($.cf._isValid(oDTP))
{
- if (!$.data(this, "plugin_" + pluginName))
+ if(options === "destroy")
{
- $.data(this, "plugin_" + pluginName, new DateTimePicker(this, options));
- }
- });
- };
-
- DateTimePicker.prototype = {
-
- init: function ()
- {
- var dtPickerObj = this;
-
- dtPickerObj._setDateFormatArray(); // Set DateFormatArray
- dtPickerObj._setTimeFormatArray(); // Set TimeFormatArray
- dtPickerObj._setDateTimeFormatArray(); // Set DateTimeFormatArray
-
- if(dtPickerObj.settings.isPopup)
- {
- dtPickerObj._createPicker();
- $(dtPickerObj.element).addClass("dtpicker-mobile");
- }
- dtPickerObj._addEventHandlersForInput();
- },
-
- _setDateFormatArray: function()
- {
- var dtPickerObj = this;
-
- dtPickerObj.dataObject.sArrInputDateFormats = new Array();
- var sDate = "";
-
- // "dd-MM-yyyy"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "yyyy";
- dtPickerObj.dataObject.sArrInputDateFormats.push(sDate);
-
- // "MM-dd-yyyy"
- sDate = "MM" + dtPickerObj.settings.dateSeparator + "dd" + dtPickerObj.settings.dateSeparator + "yyyy";
- dtPickerObj.dataObject.sArrInputDateFormats.push(sDate);
-
- // "yyyy-MM-dd"
- sDate = "yyyy" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "dd";
- dtPickerObj.dataObject.sArrInputDateFormats.push(sDate);
-
- // "dd-MMM-yyyy"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MMM" + dtPickerObj.settings.dateSeparator + "yyyy";
- dtPickerObj.dataObject.sArrInputDateFormats.push(sDate);
- },
-
- _setTimeFormatArray: function()
- {
- var dtPickerObj = this;
-
- dtPickerObj.dataObject.sArrInputTimeFormats = new Array();
- var sTime = "";
-
- // "hh:mm AA"
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeMeridiemSeparator + "AA";
- dtPickerObj.dataObject.sArrInputTimeFormats.push(sTime);
-
- // "HH:mm"
- sTime = "HH" + dtPickerObj.settings.timeSeparator + "mm";
- dtPickerObj.dataObject.sArrInputTimeFormats.push(sTime);
- },
-
- _setDateTimeFormatArray: function()
- {
- var dtPickerObj = this;
-
- dtPickerObj.dataObject.sArrInputDateTimeFormats = new Array();
- var sDate = "", sTime = "", sDateTime = "";
-
- // "dd-MM-yyyy HH:mm:ss"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "HH" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "dd-MM-yyyy hh:mm:ss AA"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss" + dtPickerObj.settings.timeMeridiemSeparator + "AA";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "MM-dd-yyyy HH:mm:ss"
- sDate = "MM" + dtPickerObj.settings.dateSeparator + "dd" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "HH" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "MM-dd-yyyy hh:mm:ss AA"
- sDate = "MM" + dtPickerObj.settings.dateSeparator + "dd" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss" + dtPickerObj.settings.timeMeridiemSeparator + "AA";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "yyyy-MM-dd HH:mm:ss"
- sDate = "yyyy" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "dd";
- sTime = "HH" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "yyyy-MM-dd hh:mm:ss AA"
- sDate = "yyyy" + dtPickerObj.settings.dateSeparator + "MM" + dtPickerObj.settings.dateSeparator + "dd";
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss" + dtPickerObj.settings.timeMeridiemSeparator + "AA";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "dd-MMM-yyyy hh:mm:ss"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MMM" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
-
- // "dd-MMM-yyyy hh:mm:ss AA"
- sDate = "dd" + dtPickerObj.settings.dateSeparator + "MMM" + dtPickerObj.settings.dateSeparator + "yyyy";
- sTime = "hh" + dtPickerObj.settings.timeSeparator + "mm" + dtPickerObj.settings.timeSeparator + "ss" + dtPickerObj.settings.timeMeridiemSeparator + "AA";
- sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
- dtPickerObj.dataObject.sArrInputDateTimeFormats.push(sDateTime);
- },
-
- _createPicker: function()
- {
- var dtPickerObj = this;
-
- $(dtPickerObj.element).addClass("dtpicker-overlay");
-
- var sTempStr = "";
- sTempStr += "";
- sTempStr += "
";
- sTempStr += "
";
- sTempStr += "
";
- sTempStr += "
";
- sTempStr += "
";
- sTempStr += "
";
- sTempStr += "
";
- $(dtPickerObj.element).html(sTempStr);
- },
-
- _addEventHandlersForInput: function()
- {
- var dtPickerObj = this;
-
- $("input[type='date'], input[type='time'], input[type='datetime']").each(function()
- {
- var sType = $(this).attr("type");
- $(this).attr("type", "text");
- $(this).attr("data-field", sType);
- });
-
- $("[data-field='date'], [data-field='time'], [data-field='datetime']").unbind("focus", dtPickerObj._inputFieldFocus);
- $("[data-field='date'], [data-field='time'], [data-field='datetime']").on("focus", {"obj": dtPickerObj}, dtPickerObj._inputFieldFocus);
-
- $("[data-field='date'], [data-field='time'], [data-field='datetime']").not('input').click(function()
- {
- if(dtPickerObj.dataObject.oInputElement == null)
+ if(sArrDataKeys.length > 0)
{
- dtPickerObj.showDateTimePicker(this);
- }
- });
-
- if(dtPickerObj.settings.addEventHandlers)
- dtPickerObj.settings.addEventHandlers.call(dtPickerObj);
- },
-
- _inputFieldFocus: function(e)
- {
- var dtPickerObj = e.data.obj;
-
- if(dtPickerObj.dataObject.oInputElement == null)
- {
- dtPickerObj.showDateTimePicker(e.target);
- }
- },
-
- showDateTimePicker: function(element)
- {
- var dtPickerObj = this;
-
- if(dtPickerObj.dataObject.oInputElement == null)
- {
- dtPickerObj.dataObject.oInputElement = element;
-
- var sMode = $(element).data("field") || "";
- var sMinValue = $(element).data("min") || "";
- var sMaxValue = $(element).data("max") || "";
- var sFormat = $(element).data("format") || "";
- var sView = $(element).data("view") || "";
- var sStartEnd = $(element).data("startend") || "";
- var sStartEndElem = $(element).data("startendelem") || "";
- var sCurrent = dtPickerObj._getValueOfElement(element) || "";
-
- if(sView != "")
- {
- if(dtPickerObj._compare(sView, "Popup"))
- dtPickerObj.setIsPopup(true);
- else
- dtPickerObj.setIsPopup(false);
- }
-
- if(! dtPickerObj.settings.isPopup)
- {
- dtPickerObj._createPicker();
-
- var iElemTop = $(dtPickerObj.dataObject.oInputElement).offset().top + $(dtPickerObj.dataObject.oInputElement).outerHeight();
- var iElemLeft = $(dtPickerObj.dataObject.oInputElement).offset().left;
- var iElemWidth = $(dtPickerObj.dataObject.oInputElement).outerWidth();
-
- $(dtPickerObj.element).css({position: "absolute", top: iElemTop, left: iElemLeft, width: iElemWidth, height: "auto"});
- }
-
- dtPickerObj._showPicker(sMode, sMinValue, sMaxValue, sFormat, sCurrent, element, sStartEnd, sStartEndElem);
- }
- },
-
- _setButtonAction: function()
- {
- var dtPickerObj = this;
-
- if(dtPickerObj.dataObject.oInputElement != null)
- {
- var sOutput = dtPickerObj._setOutput();
- dtPickerObj._setValueOfElement(sOutput);
- dtPickerObj._hidePicker();
- }
- },
-
- _setOutput: function()
- {
- var dtPickerObj = this;
-
- var sOutput = "";
-
- var iDate = dtPickerObj.dataObject.dCurrentDate.getDate();
- var iMonth = dtPickerObj.dataObject.dCurrentDate.getMonth();
- var iYear = dtPickerObj.dataObject.dCurrentDate.getFullYear();
- var iHour = dtPickerObj.dataObject.dCurrentDate.getHours();
- var iMinutes = dtPickerObj.dataObject.dCurrentDate.getMinutes();
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "date"))
- {
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[0]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sOutput = sDate + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + iYear;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[1]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sOutput = sMonth + dtPickerObj.settings.dateSeparator + sDate + dtPickerObj.settings.dateSeparator + iYear;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[2]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sOutput = iYear + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + sDate;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[3]))
- {
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = dtPickerObj.settings.shortMonthNames[iMonth];
-
- sOutput = sDate + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + iYear;
- }
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[0]))
- {
- var sMeridiem = "";
- if(iHour > 12)
+ for(iKey in sArrDataKeys)
{
- iHour -= 12;
- sMeridiem = "PM";
+ sKey = sArrDataKeys[iKey];
+ if(sKey.search("plugin_DateTimePicker") !== -1)
+ {
+ $(document).unbind("click.DateTimePicker");
+ $(document).unbind("keydown.DateTimePicker");
+ $(document).unbind("keyup.DateTimePicker");
+
+ $(this).children().remove();
+ $(this).removeData();
+ $(this).unbind();
+ $(this).removeClass("dtpicker-overlay dtpicker-mobile");
+
+ oDTP = oDTP[sKey];
+
+ console.log("Destroyed DateTimePicker Object");
+ console.log(oDTP);
+
+ break;
+ }
}
- else if(iHour == 12 && iMinutes > 0)
- {
- sMeridiem = "PM";
- }
- else
- {
- sMeridiem = "AM";
- }
-
- var sHour = (iHour < 10) ? ("0" + iHour) : iHour;
- var sMinutes = (iMinutes < 10) ? ("0" + iMinutes) : iMinutes;
-
- sOutput = sHour + dtPickerObj.settings.timeSeparator + sMinutes + dtPickerObj.settings.timeMeridiemSeparator + sMeridiem;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[1]))
- {
- var sHour = (iHour < 10) ? ("0" + iHour) : iHour;
- var sMinutes = (iMinutes < 10) ? ("0" + iMinutes) : iMinutes;
-
- sOutput = sHour + dtPickerObj.settings.timeSeparator + sMinutes;
- }
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- var sDateStr = "";
- var sTimeStr = "";
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[0]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[1]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sDateStr = sDate + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + iYear;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[2]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[3]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sDateStr = sMonth + dtPickerObj.settings.dateSeparator + sDate + dtPickerObj.settings.dateSeparator + iYear;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[4]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[5]))
- {
- iMonth++;
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = (iMonth < 10) ? ("0" + iMonth) : iMonth;
-
- sDateStr = iYear + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + sDate;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[6]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[7]))
- {
- var sDate = (iDate < 10) ? ("0" + iDate) : iDate;
- var sMonth = dtPickerObj.settings.shortMonthNames[iMonth];
-
- sDateStr = sDate + dtPickerObj.settings.dateSeparator + sMonth + dtPickerObj.settings.dateSeparator + iYear;
- }
-
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- var sMeridiem = "";
- if(iHour > 12)
- {
- iHour -= 12;
- sMeridiem = "PM";
- }
- else if(iHour == 12 && iMinutes > 0)
- {
- sMeridiem = "PM";
- }
- else
- {
- sMeridiem = "AM";
- }
-
- var sHour = (iHour < 10) ? ("0" + iHour) : iHour;
- var sMinutes = (iMinutes < 10) ? ("0" + iMinutes) : iMinutes;
-
- sTimeStr = sHour + dtPickerObj.settings.timeSeparator + sMinutes + dtPickerObj.settings.timeMeridiemSeparator + sMeridiem;
}
else
{
- var sHour = (iHour < 10) ? ("0" + iHour) : iHour;
- var sMinutes = (iMinutes < 10) ? ("0" + iMinutes) : iMinutes;
-
- sTimeStr = sHour + dtPickerObj.settings.timeSeparator + sMinutes;
+ console.log("No DateTimePicker Object Defined For This Element");
}
-
- sOutput = sDateStr + dtPickerObj.settings.dateTimeSeparator + sTimeStr;
}
-
- return sOutput;
- },
-
- _clearButtonAction: function()
- {
- var dtPickerObj = this;
-
- if(dtPickerObj.dataObject.oInputElement != null)
+ else if(options === "object")
{
- dtPickerObj._setValueOfElement("");
- }
- dtPickerObj._hidePicker();
- },
-
- _showPicker: function(sMode, sMinValue, sMaxValue, sFormat, sCurrent, oElement, sStartEnd, sStartEndElem)
- {
- var dtPickerObj = this;
-
- if(sMode != "")
- dtPickerObj.settings.mode = sMode;
-
- dtPickerObj.dataObject.dMinValue = null;
- dtPickerObj.dataObject.dMaxValue = null;
- dtPickerObj.dataObject.bIs12Hour = false;
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "date"))
- {
- var sMin = sMinValue || dtPickerObj.settings.minDate;
- var sMax = sMaxValue || dtPickerObj.settings.maxDate;
-
- var sDateFormat = sFormat || dtPickerObj.settings.dateFormat;
- if(sDateFormat != "" && sDateFormat != null)
- dtPickerObj.dataObject.sDateFormat = sDateFormat;
-
- if(sMin != "" && sMin != null)
- dtPickerObj.dataObject.dMinValue = dtPickerObj._parseDate(sMin);
- if(sMax != "" && sMax != null)
- dtPickerObj.dataObject.dMaxValue = dtPickerObj._parseDate(sMax);
-
-
-
- if(sStartEnd != "" && (dtPickerObj._compare(sStartEnd, "start") || dtPickerObj._compare(sStartEnd, "end")) && sStartEndElem != "")
+ if(sArrDataKeys.length > 0)
{
- if($(sStartEndElem).length >= 1)
+ for(iKey in sArrDataKeys)
{
- var sTempDate = dtPickerObj._getValueOfElement($(sStartEndElem));
- if(sTempDate != "")
+ sKey = sArrDataKeys[iKey];
+ if(sKey.search("plugin_DateTimePicker") !== -1)
{
- var dTempDate = dtPickerObj._parseDate(sTempDate);
- if(dtPickerObj._compare(sStartEnd, "start"))
- {
- if(sMax != "" && sMax != null)
- {
- if(dtPickerObj._compareDates(dTempDate, dtPickerObj.dataObject.dMaxValue) == 2)
- dtPickerObj.dataObject.dMaxValue = new Date(dTempDate);
- }
- else
- dtPickerObj.dataObject.dMaxValue = new Date(dTempDate);
- }
- else if(dtPickerObj._compare(sStartEnd, "end"))
- {
- if(sMin != "" && sMin != null)
- {
- if(dtPickerObj._compareDates(dTempDate, dtPickerObj.dataObject.dMinValue) == 3)
- dtPickerObj.dataObject.dMinValue = new Date(dTempDate);
- }
- else
- dtPickerObj.dataObject.dMinValue = new Date(dTempDate);
- }
+ return oDTP[sKey];
}
}
}
-
- dtPickerObj.dataObject.dCurrentDate = dtPickerObj._parseDate(sCurrent);
- dtPickerObj.dataObject.dCurrentDate.setHours(0);
- dtPickerObj.dataObject.dCurrentDate.setMinutes(0);
- dtPickerObj.dataObject.dCurrentDate.setSeconds(0);
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- var sMin = sMinValue || dtPickerObj.settings.minTime;
- var sMax = sMaxValue || dtPickerObj.settings.maxTime;
-
- var sTimeFormat = sFormat || dtPickerObj.settings.timeFormat;
- if(sTimeFormat != "" && sTimeFormat != null)
- dtPickerObj.dataObject.sTimeFormat = sTimeFormat;
-
- if(sMin != "" && sMin != null)
- dtPickerObj.dataObject.dMinValue = dtPickerObj._parseTime(sMin);
- if(sMax != "" && sMax != null)
- dtPickerObj.dataObject.dMaxValue = dtPickerObj._parseTime(sMax);
-
- if(sStartEnd != "" && (dtPickerObj._compare(sStartEnd, "start") || dtPickerObj._compare(sStartEnd, "end")) && sStartEndElem != "")
+ else
{
- if($(sStartEndElem).length >= 1)
- {
- var sTempTime = dtPickerObj._getValueOfElement($(sStartEndElem));
-
- if(sTempTime != "")
- {
- var dTempTime = dtPickerObj._parseTime(sTempTime);
- if(dtPickerObj._compare(sStartEnd, "start"))
- {
- dTempTime.setMinutes(dTempTime.getMinutes() - 1);
- if(sMax != "" && sMax != null)
- {
- if(dtPickerObj._compareTime(dTempTime, dtPickerObj.dataObject.dMaxValue) == 2)
- dtPickerObj.dataObject.dMaxValue = new Date(dTempTime);
- }
- else
- dtPickerObj.dataObject.dMaxValue = new Date(dTempTime);
- }
- else if(dtPickerObj._compare(sStartEnd, "end"))
- {
- dTempTime.setMinutes(dTempTime.getMinutes() + 1);
- if(sMin != "" && sMin != null)
- {
- if(dtPickerObj._compareTime(dTempTime, dtPickerObj.dataObject.dMinValue) == 3)
- dtPickerObj.dataObject.dMinValue = new Date(dTempTime);
- }
- else
- dtPickerObj.dataObject.dMinValue = new Date(dTempTime);
- }
- }
- }
+ console.log("No DateTimePicker Object Defined For This Element");
}
-
- dtPickerObj.dataObject.dCurrentDate = dtPickerObj._parseTime(sCurrent);
- dtPickerObj.dataObject.bIs12Hour = dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[0]);
}
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- var sMin = sMinValue || dtPickerObj.settings.minDateTime;
- var sMax = sMaxValue || dtPickerObj.settings.maxDateTime;
-
- var sDateTimeFormat = sFormat || dtPickerObj.settings.dateTimeFormat;
- if(sDateTimeFormat != "" && sDateTimeFormat != null)
- dtPickerObj.dataObject.sDateTimeFormat = sDateTimeFormat;
-
- if(sMin != "" && sMin != null)
- dtPickerObj.dataObject.dMinValue = dtPickerObj._parseDateTime(sMin);
- if(sMax != "" && sMax != null)
- dtPickerObj.dataObject.dMaxValue = dtPickerObj._parseDateTime(sMax);
-
- if(sStartEnd != "" && (dtPickerObj._compare(sStartEnd, "start") || dtPickerObj._compare(sStartEnd, "end")) && sStartEndElem != "")
- {
- if($(sStartEndElem).length >= 1)
- {
- var sTempDateTime = dtPickerObj._getValueOfElement($(sStartEndElem));
- if(sTempDateTime != "")
- {
- var dTempDateTime = dtPickerObj._parseDateTime(sTempDateTime);
- if(dtPickerObj._compare(sStartEnd, "start"))
- {
- if(sMax != "" && sMax != null)
- {
- if(dtPickerObj._compareDateTime(dTempDateTime, dtPickerObj.dataObject.dMaxValue) == 2)
- dtPickerObj.dataObject.dMaxValue = new Date(dTempDateTime);
- }
- else
- dtPickerObj.dataObject.dMaxValue = new Date(dTempDateTime);
- }
- else if(dtPickerObj._compare(sStartEnd, "end"))
- {
- if(sMin != "" && sMin != null)
- {
- if(dtPickerObj._compareDateTime(dTempDateTime, dtPickerObj.dataObject.dMinValue) == 3)
- dtPickerObj.dataObject.dMinValue = new Date(dTempDateTime);
- }
- else
- dtPickerObj.dataObject.dMinValue = new Date(dTempDateTime);
- }
- }
- }
- }
-
- dtPickerObj.dataObject.dCurrentDate = dtPickerObj._parseDateTime(sCurrent);
-
- dtPickerObj.dataObject.bIs12Hour = dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[1]) ||
- dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[3]) ||
- dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[5]) ||
- dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[7]);
- }
-
- dtPickerObj._setVariablesForDate();
- dtPickerObj._modifyPicker();
- $(dtPickerObj.element).fadeIn(dtPickerObj.settings.animationDuration);
- },
-
- _hidePicker: function(iDuration)
+ }
+ }
+ else
+ {
+ return this.each(function()
{
- var dtPickerObj = this;
-
- if(dtPickerObj.dataObject.oInputElement != null)
- {
- $(dtPickerObj.dataObject.oInputElement).blur();
- dtPickerObj.dataObject.oInputElement = null;
- }
-
- $(dtPickerObj.element).fadeOut(iDuration || dtPickerObj.settings.animationDuration);
- setTimeout(function()
- {
- $(dtPickerObj.element).find('.dtpicker-subcontent').html("");
- }, (iDuration || dtPickerObj.settings.animationDuration));
- },
+ $.removeData(this, "plugin_DateTimePicker");
+ if(!$.data(this, "plugin_DateTimePicker"))
+ $.data(this, "plugin_DateTimePicker", new DateTimePicker(this, options));
+ });
+ }
+ };
+
+ DateTimePicker.prototype = {
+
+ // Public Method
+ init: function ()
+ {
+ var oDTP = this;
- _modifyPicker: function()
- {
- var dtPickerObj = this;
-
- var sTitleContent, iNumberOfColumns;
- var sArrFields = new Array();
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "date"))
- {
- sTitleContent = dtPickerObj.settings.titleContentDate;
- iNumberOfColumns = 3;
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[0])) // "dd-MM-yyyy"
- {
- sArrFields = ["day", "month", "year"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[1])) // "MM-dd-yyyy"
- {
- sArrFields = ["month", "day", "year"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[2])) // "yyyy-MM-dd"
- {
- sArrFields = ["year", "month", "day"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[3])) // "dd-MMM-yyyy"
- {
- sArrFields = ["day", "month", "year"];
- }
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- sTitleContent = dtPickerObj.settings.titleContentTime;
- if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[0]))
- {
- iNumberOfColumns = 3;
- sArrFields = ["hour", "minutes", "meridiem"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[1]))
- {
- iNumberOfColumns = 2;
- sArrFields = ["hour", "minutes"];
- }
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- sTitleContent = dtPickerObj.settings.titleContentDateTime;
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[0]))
- {
- iNumberOfColumns = 5;
- sArrFields = ["day", "month", "year", "hour", "minutes"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[1]))
- {
- iNumberOfColumns = 6;
- sArrFields = ["day", "month", "year", "hour", "minutes", "meridiem"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[2]))
- {
- iNumberOfColumns = 5;
- sArrFields = ["month", "day", "year", "hour", "minutes"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[3]))
- {
- iNumberOfColumns = 6;
- sArrFields = ["month", "day", "year", "hour", "minutes", "meridiem"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[4]))
- {
- iNumberOfColumns = 5;
- sArrFields = ["year", "month", "day", "hour", "minutes"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[5]))
- {
- iNumberOfColumns = 6;
- sArrFields = ["year", "month", "day", "hour", "minutes", "meridiem"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[6]))
- {
- iNumberOfColumns = 5;
- sArrFields = ["day", "month", "year", "hour", "minutes"];
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[7]))
- {
- iNumberOfColumns = 6;
- sArrFields = ["day", "month", "year", "hour", "minutes", "meridiem"];
- }
- }
- var sColumnClass = "dtpicker-comp" + iNumberOfColumns;
-
- //--------------------------------------------------------------------
-
- var sHeader = "";
- sHeader += "";
-
- //--------------------------------------------------------------------
-
- var sDTPickerComp = "";
- sDTPickerComp += "";
-
- for(var iTempIndex = 0; iTempIndex < iNumberOfColumns; iTempIndex++)
- {
- var sFieldName = sArrFields[iTempIndex];
-
- sDTPickerComp += "
";
- sDTPickerComp += "
";
- sDTPickerComp += "
+";
- sDTPickerComp += "
";
- sDTPickerComp += "
-";
- sDTPickerComp += "
";
- sDTPickerComp += "
";
- }
-
- sDTPickerComp += "
";
-
- //--------------------------------------------------------------------
-
- var sDTPickerButtons = "";
- sDTPickerButtons += "";
-
- //--------------------------------------------------------------------
-
- sTempStr = sHeader + sDTPickerComp + sDTPickerButtons;
-
- $(dtPickerObj.element).find('.dtpicker-subcontent').html(sTempStr);
-
- dtPickerObj._setCurrentDate();
- dtPickerObj._addEventHandlersForPicker();
- },
+ oDTP._setDateFormatArray(); // Set DateFormatArray
+ oDTP._setTimeFormatArray(); // Set TimeFormatArray
+ oDTP._setDateTimeFormatArray(); // Set DateTimeFormatArray
- _addEventHandlersForPicker: function()
+ if(oDTP.settings.isPopup)
{
- var dtPickerObj = this;
-
- $('.dtpicker-compValue').not('.month .dtpicker-compValue, .meridiem .dtpicker-compValue').keyup(function()
- {
- this.value = this.value.replace(/[^0-9\.]/g,'');
- });
-
- $('.dtpicker-compValue').blur(function()
- {
- dtPickerObj._getValuesFromInputBoxes();
- dtPickerObj._setCurrentDate();
- });
-
- $(".dtpicker-comp .dtpicker-compValue").keyup(function()
- {
- var $oTextField = $(this);
-
- var sTextBoxVal = $oTextField.val();
- var iLength = sTextBoxVal.length;
-
- if($oTextField.parent().hasClass("day") || $oTextField.parent().hasClass("hour") || $oTextField.parent().hasClass("minutes") || $oTextField.parent().hasClass("meridiem"))
- {
- if(iLength > 2)
- {
- var sNewTextBoxVal = sTextBoxVal.slice(0, 2);
- $oTextField.val(sNewTextBoxVal);
- }
- }
- else if($oTextField.parent().hasClass("month"))
- {
- if(iLength > 3)
- {
- var sNewTextBoxVal = sTextBoxVal.slice(0, 3);
- $oTextField.val(sNewTextBoxVal);
- }
- }
- else if($oTextField.parent().hasClass("year"))
- {
- if(iLength > 4)
- {
- var sNewTextBoxVal = sTextBoxVal.slice(0, 4);
- $oTextField.val(sNewTextBoxVal);
- }
- }
- });
-
- //-----------------------------------------------------------------------
-
- $(dtPickerObj.element).find('.dtpicker-close').click(function()
- {
- dtPickerObj._hidePicker();
- });
-
- $(dtPickerObj.element).find('.dtpicker-buttonSet').click(function()
- {
- dtPickerObj._setButtonAction();
- });
-
- $(dtPickerObj.element).find('.dtpicker-buttonClear').click(function()
- {
- dtPickerObj._clearButtonAction();
- });
-
- // ----------------------------------------------------------------------------
-
- $(dtPickerObj.element).find(".day .increment").click(function()
- {
- dtPickerObj.dataObject.iCurrentDay++;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".day .decrement").click(function()
- {
- dtPickerObj.dataObject.iCurrentDay--;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".month .increment").click(function()
- {
- dtPickerObj.dataObject.iCurrentMonth++;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".month .decrement").click(function()
- {
- dtPickerObj.dataObject.iCurrentMonth--;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".year .increment").click(function()
- {
- dtPickerObj.dataObject.iCurrentYear++;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".year .decrement").click(function()
- {
- dtPickerObj.dataObject.iCurrentYear--;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".hour .increment").click(function()
- {
- dtPickerObj.dataObject.iCurrentHour++;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".hour .decrement").click(function()
- {
- dtPickerObj.dataObject.iCurrentHour--;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".minutes .increment").click(function()
- {
- dtPickerObj.dataObject.iCurrentMinutes++;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".minutes .decrement").click(function()
- {
- dtPickerObj.dataObject.iCurrentMinutes--;
- dtPickerObj._setCurrentDate();
- });
-
- $(dtPickerObj.element).find(".meridiem .dtpicker-compButton").click(function()
- {
- if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "AM"))
- {
- dtPickerObj.dataObject.sCurrentMeridiem = "PM";
- dtPickerObj.dataObject.iCurrentHour += 12;
- }
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "PM"))
- {
- dtPickerObj.dataObject.sCurrentMeridiem = "AM";
- dtPickerObj.dataObject.iCurrentHour -= 12;
- }
- dtPickerObj._setCurrentDate();
- });
- },
+ oDTP._createPicker();
+ $(oDTP.element).addClass("dtpicker-mobile");
+ }
+
+ if(oDTP.settings.init)
+ oDTP.settings.init.call(oDTP);
+
+ oDTP._addEventHandlersForInput();
+ },
+
+ _setDateFormatArray: function()
+ {
+ var oDTP = this;
- _getValueOfElement: function(oElem)
- {
- var dtPickerObj = this;
- var sElemValue = "";
+ oDTP.oData.sArrInputDateFormats = [];
+ var sDate = "";
+
+ // 0 - "dd-MM-yyyy"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 1 - "MM-dd-yyyy"
+ sDate = "MM" + oDTP.settings.dateSeparator + "dd" + oDTP.settings.dateSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 2 - "yyyy-MM-dd"
+ sDate = "yyyy" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "dd";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 3 - "dd-MMM-yyyy"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MMM" + oDTP.settings.dateSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 4 - "MM yyyy"
+ sDate = "MM" + oDTP.settings.monthYearSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 5 - "MMM yyyy"
+ sDate = "MMM" + oDTP.settings.monthYearSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+
+ // 6 - "MMM yyyy"
+ sDate = "MMMM" + oDTP.settings.monthYearSeparator + "yyyy";
+ oDTP.oData.sArrInputDateFormats.push(sDate);
+ },
+
+ _setTimeFormatArray: function()
+ {
+ var oDTP = this;
+
+ oDTP.oData.sArrInputTimeFormats = [];
+ var sTime = "";
+
+ // 0 - "hh:mm:ss AA"
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss" + oDTP.settings.timeMeridiemSeparator + "AA";
+ oDTP.oData.sArrInputTimeFormats.push(sTime);
+
+ // 1 - "HH:mm:ss"
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss";
+ oDTP.oData.sArrInputTimeFormats.push(sTime);
+
+ // 2 - "hh:mm AA"
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeMeridiemSeparator + "AA";
+ oDTP.oData.sArrInputTimeFormats.push(sTime);
+
+ // 3 - "HH:mm"
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm";
+ oDTP.oData.sArrInputTimeFormats.push(sTime);
+ },
+
+ _setDateTimeFormatArray: function()
+ {
+ var oDTP = this;
+
+ oDTP.oData.sArrInputDateTimeFormats = [];
+ var sDate = "", sTime = "", sDateTime = "";
+
+ // 0 - "dd-MM-yyyy HH:mm:ss"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 1 - "dd-MM-yyyy hh:mm:ss AA"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 2 - "MM-dd-yyyy HH:mm:ss"
+ sDate = "MM" + oDTP.settings.dateSeparator + "dd" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 3 - "MM-dd-yyyy hh:mm:ss AA"
+ sDate = "MM" + oDTP.settings.dateSeparator + "dd" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 4 - "yyyy-MM-dd HH:mm:ss"
+ sDate = "yyyy" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "dd";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 5 - "yyyy-MM-dd hh:mm:ss AA"
+ sDate = "yyyy" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "dd";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
- if(dtPickerObj._compare($(oElem).prop("tagName"), "INPUT"))
- sElemValue = $(oElem).val();
+ // 6 - "dd-MMM-yyyy hh:mm:ss"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MMM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 7 - "dd-MMM-yyyy hh:mm:ss AA"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MMM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeSeparator + "ss" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ //--------------
+
+ // 8 - "dd-MM-yyyy HH:mm"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 9 - "dd-MM-yyyy hh:mm AA"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 10 - "MM-dd-yyyy HH:mm"
+ sDate = "MM" + oDTP.settings.dateSeparator + "dd" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 11 - "MM-dd-yyyy hh:mm AA"
+ sDate = "MM" + oDTP.settings.dateSeparator + "dd" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 12 - "yyyy-MM-dd HH:mm"
+ sDate = "yyyy" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "dd";
+ sTime = "HH" + oDTP.settings.timeSeparator + "mm";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 13 - "yyyy-MM-dd hh:mm AA"
+ sDate = "yyyy" + oDTP.settings.dateSeparator + "MM" + oDTP.settings.dateSeparator + "dd";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 14 - "dd-MMM-yyyy hh:mm"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MMM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+
+ // 15 - "dd-MMM-yyyy hh:mm AA"
+ sDate = "dd" + oDTP.settings.dateSeparator + "MMM" + oDTP.settings.dateSeparator + "yyyy";
+ sTime = "hh" + oDTP.settings.timeSeparator + "mm" + oDTP.settings.timeMeridiemSeparator + "AA";
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ oDTP.oData.sArrInputDateTimeFormats.push(sDateTime);
+ },
+
+ _matchFormat: function(sMode, sFormat)
+ {
+ var oDTP = this;
+
+ oDTP.oData.bArrMatchFormat = [];
+ oDTP.oData.bDateMode = false;
+ oDTP.oData.bTimeMode = false;
+ oDTP.oData.bDateTimeMode = false;
+ var oArrInput = [], iTempIndex;
+
+ sMode = $.cf._isValid(sMode) ? sMode : oDTP.settings.mode;
+ if($.cf._compare(sMode, "date"))
+ {
+ sFormat = $.cf._isValid(sFormat) ? sFormat : oDTP.oData.sDateFormat;
+ oDTP.oData.bDateMode = true;
+ oArrInput = oDTP.oData.sArrInputDateFormats;
+ }
+ else if($.cf._compare(sMode, "time"))
+ {
+ sFormat = $.cf._isValid(sFormat) ? sFormat : oDTP.oData.sTimeFormat;
+ oDTP.oData.bTimeMode = true;
+ oArrInput = oDTP.oData.sArrInputTimeFormats;
+ }
+ else if($.cf._compare(sMode, "datetime"))
+ {
+ sFormat = $.cf._isValid(sFormat) ? sFormat : oDTP.oData.sDateTimeFormat;
+ oDTP.oData.bDateTimeMode = true;
+ oArrInput = oDTP.oData.sArrInputDateTimeFormats;
+ }
+
+ for(iTempIndex = 0; iTempIndex < oArrInput.length; iTempIndex++)
+ {
+ oDTP.oData.bArrMatchFormat.push(
+ $.cf._compare(sFormat, oArrInput[iTempIndex])
+ );
+ }
+ },
+
+ _setMatchFormat: function(iArgsLength, sMode, sFormat)
+ {
+ var oDTP = this;
+
+ if(iArgsLength > 0)
+ oDTP._matchFormat(sMode, sFormat);
+ },
+
+ _createPicker: function()
+ {
+ var oDTP = this;
+
+ $(oDTP.element).addClass("dtpicker-overlay");
+ $(".dtpicker-overlay").click(function(e)
+ {
+ oDTP._hidePicker("");
+ });
+
+ var sTempStr = "";
+ sTempStr += "";
+ sTempStr += "
";
+ sTempStr += "
";
+ sTempStr += "
";
+ sTempStr += "
";
+ sTempStr += "
";
+ sTempStr += "
";
+ sTempStr += "
";
+ $(oDTP.element).html(sTempStr);
+ },
+
+ _addEventHandlersForInput: function()
+ {
+ var oDTP = this;
+
+ oDTP.oData.oInputElement = null;
+
+ $(oDTP.settings.parentElement).find("input[type='date'], input[type='time'], input[type='datetime']").each(function()
+ {
+ $(this).attr("data-field", $(this).attr("type"));
+ $(this).attr("type", "text");
+ });
+
+ var sel = "[data-field='date'], [data-field='time'], [data-field='datetime']";
+ $(oDTP.settings.parentElement).off("focus", sel, oDTP._inputFieldFocus);
+ $(oDTP.settings.parentElement).on ("focus", sel, {"obj": oDTP}, oDTP._inputFieldFocus);
+
+ $(oDTP.settings.parentElement).off("click", sel, oDTP._inputFieldClick);
+ $(oDTP.settings.parentElement).on ("click", sel, {"obj": oDTP}, oDTP._inputFieldClick);
+
+ if(oDTP.settings.addEventHandlers) //this is not an event-handler really. Its just a function called
+ oDTP.settings.addEventHandlers.call(oDTP); // which could add EventHandlers
+ },
+
+ _inputFieldFocus: function(e)
+ {
+ var oDTP = e.data.obj;
+ oDTP.showDateTimePicker(this);
+ oDTP.oData.bMouseDown = false;
+ },
+
+ _inputFieldClick: function(e)
+ {
+ var oDTP = e.data.obj;
+ if(!$.cf._compare($(this).prop("tagName"), "input"))
+ {
+ oDTP.showDateTimePicker(this);
+ }
+ e.stopPropagation();
+ },
+
+ // Public Method
+ getDateObjectForInputField: function(oInputField)
+ {
+ var oDTP = this;
+
+ if($.cf._isValid(oInputField))
+ {
+ var sDateTime = oDTP._getValueOfElement(oInputField),
+ sMode = $(oInputField).data("field"),
+ sFormat = "",
+ dInput;
+
+ if(!$.cf._isValid(sMode))
+ sMode = oDTP.settings.mode;
+ if(! oDTP.settings.formatDateTimeString)
+ {
+ sFormat = $(oInputField).data("format");
+ if(!$.cf._isValid(sFormat))
+ {
+ if($.cf._compare(sMode, "date"))
+ sFormat = oDTP.settings.dateFormat;
+ else if($.cf._compare(sMode, "time"))
+ sFormat = oDTP.settings.timeFormat;
+ else if($.cf._compare(sMode, "datetime"))
+ sFormat = oDTP.settings.dateTimeFormat;
+ }
+
+ oDTP._matchFormat(sMode, sFormat);
+
+ if($.cf._compare(sMode, "date"))
+ dInput = oDTP._parseDate(sDateTime);
+ else if($.cf._compare(sMode, "time"))
+ dInput = oDTP._parseTime(sDateTime);
+ else if($.cf._compare(sMode, "datetime"))
+ dInput = oDTP._parseDateTime(sDateTime);
+
+ }
else
- sElemValue = $(oElem).html();
-
- return sElemValue;
- },
+ {
+ dInput = oDTP.settings.parseDateTimeString.call(oDTP, sDateTime, sMode, $(oInputField));
+ }
+
+ return dInput;
+ }
+ },
+
+ // Public Method
+ setDateTimeStringInInputField: function(oInputField, dInput)
+ {
+ var oDTP = this;
+
+ dInput = dInput || oDTP.oData.dCurrentDate;
- _setValueOfElement: function(sElemValue)
+ var oArrElements;
+ if($.cf._isValid(oInputField))
{
- var dtPickerObj = this;
-
- var $oElem = $(dtPickerObj.dataObject.oInputElement);
- if(dtPickerObj._compare($oElem.prop("tagName"), "INPUT"))
- $oElem.val(sElemValue);
+ oArrElements = [];
+ if(typeof oInputField === "string")
+ oArrElements.push(oInputField);
+ else if(typeof oInputField === "object")
+ oArrElements = oInputField;
+ }
+ else
+ {
+ if($.cf._isValid(oDTP.settings.parentElement))
+ {
+ oArrElements = $(oDTP.settings.parentElement).find("[data-field='date'], [data-field='time'], [data-field='datetime']");
+ }
else
- $oElem.html(sElemValue);
-
- $oElem.change();
-
- return sElemValue;
- },
-
- //-----------------------------------------------------------------
-
- _parseDate: function(sDate)
- {
- var dtPickerObj = this;
-
- var dTempDate = new Date(dtPickerObj.settings.defaultDate);
- var iDate = dTempDate.getDate();
- var iMonth = dTempDate.getMonth();
- var iYear = dTempDate.getFullYear();
-
- if(sDate != "" && sDate != undefined && sDate != null)
{
- var sArrDate = sDate.split(dtPickerObj.settings.dateSeparator);
+ oArrElements = $("[data-field='date'], [data-field='time'], [data-field='datetime']");
+ }
+ }
+
+ oArrElements.each(function()
+ {
+ var oElement = this,
+ sMode, sFormat, bIs12Hour, sOutput;
+
+ sMode = $(oElement).data("field");
+ if(!$.cf._isValid(sMode))
+ sMode = oDTP.settings.mode;
+
+ sFormat = "Custom";
+ bIs12Hour = false;
+ if(! oDTP.settings.formatDateTimeString)
+ {
+ sFormat = $(oElement).data("format");
+ if(!$.cf._isValid(sFormat))
+ {
+ if($.cf._compare(sMode, "date"))
+ sFormat = oDTP.settings.dateFormat;
+ else if($.cf._compare(sMode, "time"))
+ sFormat = oDTP.settings.timeFormat;
+ else if($.cf._compare(sMode, "datetime"))
+ sFormat = oDTP.settings.dateTimeFormat;
+ }
+
+ bIs12Hour = oDTP.getIs12Hour(sMode, sFormat);
+ }
+
+ sOutput = oDTP._setOutput(sMode, sFormat, bIs12Hour, dInput, oElement);
+ oDTP._setValueOfElement(sOutput, $(oElement));
+ });
+ },
+
+ // Public Method
+ getDateTimeStringInFormat: function(sMode, sFormat, dInput)
+ {
+ var oDTP = this;
+ return oDTP._setOutput(sMode, sFormat, oDTP.getIs12Hour(sMode, sFormat), dInput);
+ },
+
+ // Public Method
+ showDateTimePicker: function(oElement)
+ {
+ var oDTP = this;
+
+ if(oDTP.oData.oInputElement !== null)
+ oDTP._hidePicker(0, oElement);
+ else
+ oDTP._showPicker(oElement);
+ },
+
+ _setButtonAction: function(bFromTab)
+ {
+ var oDTP = this;
+
+ if(oDTP.oData.oInputElement !== null)
+ {
+ oDTP._setValueOfElement(oDTP._setOutput());
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[0])) // "dd-MM-yyyy"
+ if(bFromTab)
+ {
+ if(oDTP.settings.buttonClicked)
+ oDTP.settings.buttonClicked.call(oDTP, "TAB", oDTP.oData.oInputElement);
+ oDTP._hidePicker(0);
+ }
+ else
+ oDTP._hidePicker("");
+ }
+ },
+
+ _setOutput: function(sMode, sFormat, bIs12Hour, dCurrentDate, oElement)
+ {
+ var oDTP = this;
+
+ dCurrentDate = $.cf._isValid(dCurrentDate) ? dCurrentDate : oDTP.oData.dCurrentDate;
+ bIs12Hour = bIs12Hour || oDTP.oData.bIs12Hour;
+
+ var oDTV = oDTP._setVariablesForDate(dCurrentDate, true, true);
+
+ var sOutput = "",
+ oFDate = oDTP._formatDate(oDTV),
+ oFTime = oDTP._formatTime(oDTV),
+ oFDT = $.extend({}, oFDate, oFTime),
+
+ sDateStr = "", sTimeStr = "",
+ iArgsLength = Function.length,
+ bAddSeconds;
+
+ if(oDTP.settings.formatDateTimeString)
+ {
+ sOutput = oDTP.settings.formatDateTimeString.call(oDTP, oFDT, sMode, oElement);
+ }
+ else
+ {
+ // Set bDate, bTime, bDateTime & bArrMatchFormat based on arguments of this function
+ oDTP._setMatchFormat(iArgsLength, sMode, sFormat);
+
+ if(oDTP.oData.bDateMode)
+ {
+ if(oDTP.oData.bArrMatchFormat[0])
{
- iDate = parseInt(sArrDate[0]);
- iMonth = parseInt(sArrDate[1] - 1);
- iYear = parseInt(sArrDate[2]);
+ sOutput = oFDT.dd + oDTP.settings.dateSeparator + oFDT.MM + oDTP.settings.dateSeparator + oFDT.yyyy;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[1])) // "MM-dd-yyyy"
+ else if(oDTP.oData.bArrMatchFormat[1])
{
- iMonth = parseInt(sArrDate[0] - 1);
- iDate = parseInt(sArrDate[1]);
- iYear = parseInt(sArrDate[2]);
+ sOutput = oFDT.MM + oDTP.settings.dateSeparator + oFDT.dd + oDTP.settings.dateSeparator + oFDT.yyyy;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[2])) // "yyyy-MM-dd"
+ else if(oDTP.oData.bArrMatchFormat[2])
{
- iYear = parseInt(sArrDate[0]);
- iMonth = parseInt(sArrDate[1] - 1);
- iDate = parseInt(sArrDate[2]);
+ sOutput = oFDT.yyyy + oDTP.settings.dateSeparator + oFDT.MM + oDTP.settings.dateSeparator + oFDT.dd;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateFormat, dtPickerObj.dataObject.sArrInputDateFormats[3])) // "dd-MMM-yyyy"
+ else if(oDTP.oData.bArrMatchFormat[3])
{
- iDate = parseInt(sArrDate[0]);
- iMonth = dtPickerObj.getShortMonthIndex(sArrDate[1]);
- iYear = parseInt(sArrDate[2]);
+ sOutput = oFDT.dd + oDTP.settings.dateSeparator + oFDT.monthShort + oDTP.settings.dateSeparator + oFDT.yyyy;
+ }
+ else if(oDTP.oData.bArrMatchFormat[4])
+ {
+ sOutput = oFDT.MM + oDTP.settings.monthYearSeparator + oFDT.yyyy;
+ }
+ else if(oDTP.oData.bArrMatchFormat[5])
+ {
+ sOutput = oFDT.monthShort + oDTP.settings.monthYearSeparator + oFDT.yyyy;
+ }
+ else if(oDTP.oData.bArrMatchFormat[6])
+ {
+ sOutput = oFDT.month + oDTP.settings.monthYearSeparator + oFDT.yyyy;
}
}
-
- dTempDate = new Date(iYear, iMonth, iDate, 0, 0, 0, 0);
- return dTempDate;
- },
-
- _parseTime: function(sTime)
- {
- var dtPickerObj = this;
-
- var dTempDate = new Date(dtPickerObj.settings.defaultDate);
- var iDate = dTempDate.getDate();
- var iMonth = dTempDate.getMonth();
- var iYear = dTempDate.getFullYear();
- var iHour = dTempDate.getHours();
- var iMinutes = dTempDate.getMinutes();
-
- if(sTime != "" && sTime != undefined && sTime != null)
+ else if(oDTP.oData.bTimeMode)
{
- if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[0])) // "hh:mm AA"
+ if(oDTP.oData.bArrMatchFormat[0])
{
- var sArrTime = sTime.split(dtPickerObj.settings.timeMeridiemSeparator);
- var sMeridiem = sArrTime[1];
-
- var sArrTimeComp = sArrTime[0].split(dtPickerObj.settings.timeSeparator);
- iHour = parseInt(sArrTimeComp[0]);
- iMinutes = parseInt(sArrTimeComp[1]);
-
- if(dtPickerObj._compare(sMeridiem, "PM"))
- iHour += 12;
+ sOutput = oFDT.hh + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeSeparator + oFDT.ss + oDTP.settings.timeMeridiemSeparator + oFDT.ME;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[1])) // "HH:mm"
+ else if(oDTP.oData.bArrMatchFormat[1])
{
- var sArrTimeComp = sTime.split(dtPickerObj.settings.timeSeparator);
- iHour = parseInt(sArrTimeComp[0]);
- iMinutes = parseInt(sArrTimeComp[1]);
+ sOutput = oFDT.HH + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeSeparator + oFDT.ss;
+ }
+ else if(oDTP.oData.bArrMatchFormat[2])
+ {
+ sOutput = oFDT.hh + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeMeridiemSeparator + oFDT.ME;
+ }
+ else if(oDTP.oData.bArrMatchFormat[3])
+ {
+ sOutput = oFDT.HH + oDTP.settings.timeSeparator + oFDT.mm;
}
}
-
- dTempDate = new Date(iYear, iMonth, iDate, iHour, iMinutes, 0, 0);
-
- return dTempDate;
- },
-
- _parseDateTime: function(sDateTime)
- {
- var dtPickerObj = this;
-
- var dTempDate = new Date(dtPickerObj.settings.defaultDate);
- var iDate = dTempDate.getDate();
- var iMonth = dTempDate.getMonth();
- var iYear = dTempDate.getFullYear();
- var iHour = dTempDate.getHours();
- var iMinutes = dTempDate.getMinutes();
- var sMeridiem = "";
-
- if(sDateTime != "" && sDateTime != undefined && sDateTime != null)
+ else if(oDTP.oData.bDateTimeMode)
{
- var sArrDateTime = sDateTime.split(dtPickerObj.settings.dateTimeSeparator);
- var sArrDate = sArrDateTime[0].split(dtPickerObj.settings.dateSeparator);
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[0]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[1])) // "dd-MM-yyyy HH:mm:ss", "dd-MM-yyyy hh:mm:ss AA"
+ // Date Part - "dd-MM-yyyy"
+ if(oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[1] ||
+ oDTP.oData.bArrMatchFormat[8] ||
+ oDTP.oData.bArrMatchFormat[9])
{
- iDate = parseInt(sArrDate[0]);
- iMonth = parseInt(sArrDate[1] - 1);
- iYear = parseInt(sArrDate[2]);
+ sDateStr = oFDT.dd + oDTP.settings.dateSeparator + oFDT.MM + oDTP.settings.dateSeparator + oFDT.yyyy;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[2]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[3])) // "MM-dd-yyyy HH:mm:ss", "MM-dd-yyyy hh:mm:ss AA"
+ // Date Part - "MM-dd-yyyy"
+ else if(oDTP.oData.bArrMatchFormat[2] ||
+ oDTP.oData.bArrMatchFormat[3] ||
+ oDTP.oData.bArrMatchFormat[10] ||
+ oDTP.oData.bArrMatchFormat[11])
{
- iMonth = parseInt(sArrDate[0] - 1);
- iDate = parseInt(sArrDate[1]);
- iYear = parseInt(sArrDate[2]);
+ sDateStr = oFDT.MM + oDTP.settings.dateSeparator + oFDT.dd + oDTP.settings.dateSeparator + oFDT.yyyy;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[4]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[5])) // "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd hh:mm:ss AA"
+ // Date Part - "yyyy-MM-dd"
+ else if(oDTP.oData.bArrMatchFormat[4] ||
+ oDTP.oData.bArrMatchFormat[5] ||
+ oDTP.oData.bArrMatchFormat[12] ||
+ oDTP.oData.bArrMatchFormat[13])
{
- iYear = parseInt(sArrDate[0]);
- iMonth = parseInt(sArrDate[1] - 1);
- iDate = parseInt(sArrDate[2]);
+ sDateStr = oFDT.yyyy + oDTP.settings.dateSeparator + oFDT.MM + oDTP.settings.dateSeparator + oFDT.dd;
}
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[6]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[7])) // "dd-MMM-yyyy HH:mm:ss", "dd-MMM-yyyy hh:mm:ss AA"
+ // Date Part - "dd-MMM-yyyy"
+ else if(oDTP.oData.bArrMatchFormat[6] ||
+ oDTP.oData.bArrMatchFormat[7] ||
+ oDTP.oData.bArrMatchFormat[14] ||
+ oDTP.oData.bArrMatchFormat[15])
{
- iDate = parseInt(sArrDate[0]);
- iMonth = dtPickerObj.getShortMonthIndex(sArrDate[1]);
- iYear = parseInt(sArrDate[2]);
+ sDateStr = oFDT.dd + oDTP.settings.dateSeparator + oFDT.monthShort + oDTP.settings.dateSeparator + oFDT.yyyy;
}
- var sTime;
- if(dtPickerObj.dataObject.bIs12Hour)
+ bAddSeconds = oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[1] ||
+ oDTP.oData.bArrMatchFormat[2] ||
+ oDTP.oData.bArrMatchFormat[3] ||
+ oDTP.oData.bArrMatchFormat[4] ||
+ oDTP.oData.bArrMatchFormat[5] ||
+ oDTP.oData.bArrMatchFormat[6] ||
+ oDTP.oData.bArrMatchFormat[7];
+ if(bIs12Hour)
{
- if(dtPickerObj._compare(dtPickerObj.settings.dateTimeSeparator, dtPickerObj.settings.timeMeridiemSeparator) && (sArrDateTime.length == 3))
+ if(bAddSeconds)
{
- sMeridiem = sArrDateTime[2];
+ sTimeStr = oFDT.hh + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeSeparator + oFDT.ss + oDTP.settings.timeMeridiemSeparator + oFDT.ME;
}
else
{
- var sArrTimeComp = sArrDateTime[1].split(dtPickerObj.settings.timeMeridiemSeparator);
+ sTimeStr = oFDT.hh + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeMeridiemSeparator + oFDT.ME;
+ }
+ }
+ else
+ {
+ if(bAddSeconds)
+ {
+ sTimeStr = oFDT.HH + oDTP.settings.timeSeparator + oFDT.mm + oDTP.settings.timeSeparator + oFDT.ss;
+ }
+ else
+ {
+ sTimeStr = oFDT.HH + oDTP.settings.timeSeparator + oFDT.mm;
+ }
+ }
+
+ if(sDateStr !== "" && sTimeStr !== "")
+ sOutput = sDateStr + oDTP.settings.dateTimeSeparator + sTimeStr;
+ }
+
+ // Reset bDate, bTime, bDateTime & bArrMatchFormat to original values
+ oDTP._setMatchFormat(iArgsLength);
+ }
+
+ return sOutput;
+ },
+
+ _clearButtonAction: function()
+ {
+ var oDTP = this;
+
+ if(oDTP.oData.oInputElement !== null)
+ {
+ oDTP._setValueOfElement("");
+ }
+ oDTP._hidePicker("");
+ },
+
+ _setOutputOnIncrementOrDecrement: function()
+ {
+ var oDTP = this;
+
+ if($.cf._isValid(oDTP.oData.oInputElement) && oDTP.settings.setValueInTextboxOnEveryClick)
+ {
+ oDTP._setValueOfElement(oDTP._setOutput());
+ }
+ },
+
+ _showPicker: function(oElement)
+ {
+ var oDTP = this;
+
+ if(oDTP.oData.oInputElement === null)
+ {
+ oDTP.oData.oInputElement = oElement;
+ oDTP.oData.iTabIndex = parseInt($(oElement).attr("tabIndex"));
+
+ var sMode = $(oElement).data("field") || "",
+ sMinValue = $(oElement).data("min") || "",
+ sMaxValue = $(oElement).data("max") || "",
+ sFormat = $(oElement).data("format") || "",
+ sView = $(oElement).data("view") || "",
+ sStartEnd = $(oElement).data("startend") || "",
+ sStartEndElem = $(oElement).data("startendelem") || "",
+ sCurrent = oDTP._getValueOfElement(oElement) || "";
+
+ if(sView !== "")
+ {
+ if($.cf._compare(sView, "Popup"))
+ oDTP.setIsPopup(true);
+ else
+ oDTP.setIsPopup(false);
+ }
+
+ if(!oDTP.settings.isPopup)
+ {
+ oDTP._createPicker();
+
+ var iElemTop = $(oDTP.oData.oInputElement).offset().top + $(oDTP.oData.oInputElement).outerHeight(),
+ iElemLeft = $(oDTP.oData.oInputElement).offset().left,
+ iElemWidth = $(oDTP.oData.oInputElement).outerWidth();
+
+ $(oDTP.element).css({position: "absolute", top: iElemTop, left: iElemLeft, width: iElemWidth, height: "auto"});
+ }
+
+ if(oDTP.settings.beforeShow)
+ oDTP.settings.beforeShow.call(oDTP, oElement);
+
+ sMode = $.cf._isValid(sMode) ? sMode : oDTP.settings.mode;
+ oDTP.settings.mode = sMode;
+ if(!$.cf._isValid(sFormat))
+ {
+ if($.cf._compare(sMode, "date"))
+ sFormat = oDTP.settings.dateFormat;
+ else if($.cf._compare(sMode, "time"))
+ sFormat = oDTP.settings.timeFormat;
+ else if($.cf._compare(sMode, "datetime"))
+ sFormat = oDTP.settings.dateTimeFormat;
+ }
+
+ oDTP._matchFormat(sMode, sFormat);
+
+ oDTP.oData.dMinValue = null;
+ oDTP.oData.dMaxValue = null;
+ oDTP.oData.bIs12Hour = false;
+
+ var sMin, sMax,
+ sTempDate, dTempDate,
+ sTempTime, dTempTime,
+ sTempDateTime, dTempDateTime;
+
+ if(oDTP.oData.bDateMode)
+ {
+ sMin = sMinValue || oDTP.settings.minDate;
+ sMax = sMaxValue || oDTP.settings.maxDate;
+
+ oDTP.oData.sDateFormat = sFormat;
+
+ if($.cf._isValid(sMin))
+ oDTP.oData.dMinValue = oDTP._parseDate(sMin);
+ if($.cf._isValid(sMax))
+ oDTP.oData.dMaxValue = oDTP._parseDate(sMax);
+
+ if(sStartEnd !== "" && ($.cf._compare(sStartEnd, "start") || $.cf._compare(sStartEnd, "end")) && sStartEndElem !== "")
+ {
+ if($(sStartEndElem).length >= 1)
+ {
+ sTempDate = oDTP._getValueOfElement($(sStartEndElem));
+ if(sTempDate !== "")
+ {
+ if(oDTP.settings.parseDateTimeString)
+ dTempDate = oDTP.settings.parseDateTimeString.call(oDTP, sTempDate, sMode, $(sStartEndElem));
+ else
+ dTempDate = oDTP._parseDate(sTempDate);
+
+ if($.cf._compare(sStartEnd, "start"))
+ {
+ if($.cf._isValid(sMax))
+ {
+ if(oDTP._compareDates(dTempDate, oDTP.oData.dMaxValue) < 0)
+ oDTP.oData.dMaxValue = new Date(dTempDate);
+ }
+ else
+ oDTP.oData.dMaxValue = new Date(dTempDate);
+ }
+ else if($.cf._compare(sStartEnd, "end"))
+ {
+ if($.cf._isValid(sMin))
+ {
+ if(oDTP._compareDates(dTempDate, oDTP.oData.dMinValue) > 0)
+ oDTP.oData.dMinValue = new Date(dTempDate);
+ }
+ else
+ oDTP.oData.dMinValue = new Date(dTempDate);
+ }
+ }
+ }
+ }
+
+ if(oDTP.settings.parseDateTimeString)
+ oDTP.oData.dCurrentDate = oDTP.settings.parseDateTimeString.call(oDTP, sCurrent, sMode, $(oElement));
+ else
+ oDTP.oData.dCurrentDate = oDTP._parseDate(sCurrent);
+
+ oDTP.oData.dCurrentDate.setHours(0);
+ oDTP.oData.dCurrentDate.setMinutes(0);
+ oDTP.oData.dCurrentDate.setSeconds(0);
+ }
+ else if(oDTP.oData.bTimeMode)
+ {
+ sMin = sMinValue || oDTP.settings.minTime;
+ sMax = sMaxValue || oDTP.settings.maxTime;
+
+ oDTP.oData.sTimeFormat = sFormat;
+ oDTP.oData.bIs12Hour = oDTP.getIs12Hour();
+
+ if($.cf._isValid(sMin))
+ oDTP.oData.dMinValue = oDTP._parseTime(sMin);
+ if($.cf._isValid(sMax))
+ oDTP.oData.dMaxValue = oDTP._parseTime(sMax);
+
+ if(sStartEnd !== "" && ($.cf._compare(sStartEnd, "start") || $.cf._compare(sStartEnd, "end")) && sStartEndElem !== "")
+ {
+ if($(sStartEndElem).length >= 1)
+ {
+ sTempTime = oDTP._getValueOfElement($(sStartEndElem));
+ if(sTempTime !== "")
+ {
+ if(oDTP.settings.parseDateTimeString)
+ dTempDate = oDTP.settings.parseDateTimeString.call(oDTP, sTempTime, sMode, $(sStartEndElem));
+ else
+ dTempTime = oDTP._parseTime(sTempTime);
+
+ if($.cf._compare(sStartEnd, "start"))
+ {
+ dTempTime.setMinutes(dTempTime.getMinutes() - 1);
+ if($.cf._isValid(sMax))
+ {
+ if(oDTP._compareTime(dTempTime, oDTP.oData.dMaxValue) === 2)
+ oDTP.oData.dMaxValue = new Date(dTempTime);
+ }
+ else
+ oDTP.oData.dMaxValue = new Date(dTempTime);
+ }
+ else if($.cf._compare(sStartEnd, "end"))
+ {
+ dTempTime.setMinutes(dTempTime.getMinutes() + 1);
+ if($.cf._isValid(sMin))
+ {
+ if(oDTP._compareTime(dTempTime, oDTP.oData.dMinValue) === 3)
+ oDTP.oData.dMinValue = new Date(dTempTime);
+ }
+ else
+ oDTP.oData.dMinValue = new Date(dTempTime);
+ }
+ }
+ }
+ }
+
+ if(oDTP.settings.parseDateTimeString)
+ oDTP.oData.dCurrentDate = oDTP.settings.parseDateTimeString.call(oDTP, sCurrent, sMode, $(oElement));
+ else
+ oDTP.oData.dCurrentDate = oDTP._parseTime(sCurrent);
+ }
+ else if(oDTP.oData.bDateTimeMode)
+ {
+ sMin = sMinValue || oDTP.settings.minDateTime;
+ sMax = sMaxValue || oDTP.settings.maxDateTime;
+
+ oDTP.oData.sDateTimeFormat = sFormat;
+ oDTP.oData.bIs12Hour = oDTP.getIs12Hour();
+
+ if($.cf._isValid(sMin))
+ oDTP.oData.dMinValue = oDTP._parseDateTime(sMin);
+ if($.cf._isValid(sMax))
+ oDTP.oData.dMaxValue = oDTP._parseDateTime(sMax);
+
+ if(sStartEnd !== "" && ($.cf._compare(sStartEnd, "start") || $.cf._compare(sStartEnd, "end")) && sStartEndElem !== "")
+ {
+ if($(sStartEndElem).length >= 1)
+ {
+ sTempDateTime = oDTP._getValueOfElement($(sStartEndElem));
+ if(sTempDateTime !== "")
+ {
+ if(oDTP.settings.parseDateTimeString)
+ dTempDateTime = oDTP.settings.parseDateTimeString.call(oDTP, sTempDateTime, sMode, $(sStartEndElem));
+ else
+ dTempDateTime = oDTP._parseDateTime(sTempDateTime);
+
+ if($.cf._compare(sStartEnd, "start"))
+ {
+ if($.cf._isValid(sMax))
+ {
+ if(oDTP._compareDateTime(dTempDateTime, oDTP.oData.dMaxValue) < 0)
+ oDTP.oData.dMaxValue = new Date(dTempDateTime);
+ }
+ else
+ oDTP.oData.dMaxValue = new Date(dTempDateTime);
+ }
+ else if($.cf._compare(sStartEnd, "end"))
+ {
+ if($.cf._isValid(sMin))
+ {
+ if(oDTP._compareDateTime(dTempDateTime, oDTP.oData.dMinValue) > 0)
+ oDTP.oData.dMinValue = new Date(dTempDateTime);
+ }
+ else
+ oDTP.oData.dMinValue = new Date(dTempDateTime);
+ }
+ }
+ }
+ }
+
+ if(oDTP.settings.parseDateTimeString)
+ oDTP.oData.dCurrentDate = oDTP.settings.parseDateTimeString.call(oDTP, sCurrent, sMode, $(oElement));
+ else
+ oDTP.oData.dCurrentDate = oDTP._parseDateTime(sCurrent);
+ }
+
+ oDTP._setVariablesForDate();
+ oDTP._modifyPicker();
+ $(oDTP.element).fadeIn(oDTP.settings.animationDuration);
+
+ if(oDTP.settings.afterShow)
+ {
+ setTimeout(function()
+ {
+ oDTP.settings.afterShow.call(oDTP, oElement);
+ }, oDTP.settings.animationDuration);
+ }
+ }
+ },
+
+ _hidePicker: function(iDuration, oElementToShow)
+ {
+ var oDTP = this;
+ var oElement = oDTP.oData.oInputElement;
+
+ if(oDTP.settings.beforeHide)
+ oDTP.settings.beforeHide.call(oDTP, oElement);
+
+ if(!$.cf._isValid(iDuration))
+ iDuration = oDTP.settings.animationDuration;
+
+ if($.cf._isValid(oDTP.oData.oInputElement))
+ {
+ $(oDTP.oData.oInputElement).blur();
+ oDTP.oData.oInputElement = null;
+ }
+
+ $(oDTP.element).fadeOut(iDuration);
+ if(iDuration === 0)
+ {
+ $(oDTP.element).find('.dtpicker-subcontent').html("");
+ }
+ else
+ {
+ setTimeout(function()
+ {
+ $(oDTP.element).find('.dtpicker-subcontent').html("");
+ }, iDuration);
+ }
+
+ $(document).unbind("click.DateTimePicker");
+ $(document).unbind("keydown.DateTimePicker");
+ $(document).unbind("keyup.DateTimePicker");
+
+ if(oDTP.settings.afterHide)
+ {
+ if(iDuration === 0)
+ {
+ oDTP.settings.afterHide.call(oDTP, oElement);
+ }
+ else
+ {
+ setTimeout(function()
+ {
+ oDTP.settings.afterHide.call(oDTP, oElement);
+ }, iDuration);
+ }
+ }
+
+ if($.cf._isValid(oElementToShow))
+ oDTP._showPicker(oElementToShow);
+ },
+
+ _modifyPicker: function()
+ {
+ var oDTP = this;
+
+ var sTitleContent, iNumberOfColumns;
+ var sArrFields = [];
+ if(oDTP.oData.bDateMode)
+ {
+ sTitleContent = oDTP.settings.titleContentDate;
+ iNumberOfColumns = 3;
+
+ if(oDTP.oData.bArrMatchFormat[0]) // "dd-MM-yyyy"
+ {
+ sArrFields = ["day", "month", "year"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[1]) // "MM-dd-yyyy"
+ {
+ sArrFields = ["month", "day", "year"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[2]) // "yyyy-MM-dd"
+ {
+ sArrFields = ["year", "month", "day"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[3]) // "dd-MMM-yyyy"
+ {
+ sArrFields = ["day", "month", "year"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[4]) // "MM-yyyy"
+ {
+ iNumberOfColumns = 2;
+ sArrFields = ["month", "year"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[5]) // "MMM yyyy"
+ {
+ iNumberOfColumns = 2;
+ sArrFields = ["month", "year"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[6]) // "MMMM yyyy"
+ {
+ iNumberOfColumns = 2;
+ sArrFields = ["month", "year"];
+ }
+ }
+ else if(oDTP.oData.bTimeMode)
+ {
+ sTitleContent = oDTP.settings.titleContentTime;
+ if(oDTP.oData.bArrMatchFormat[0]) // hh:mm:ss AA
+ {
+ iNumberOfColumns = 4;
+ sArrFields = ["hour", "minutes", "seconds", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[1]) // HH:mm:ss
+ {
+ iNumberOfColumns = 3;
+ sArrFields = ["hour", "minutes", "seconds"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[2]) // hh:mm AA
+ {
+ iNumberOfColumns = 3;
+ sArrFields = ["hour", "minutes", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[3]) // HH:mm
+ {
+ iNumberOfColumns = 2;
+ sArrFields = ["hour", "minutes"];
+ }
+ }
+ else if(oDTP.oData.bDateTimeMode)
+ {
+ sTitleContent = oDTP.settings.titleContentDateTime;
+
+ if(oDTP.oData.bArrMatchFormat[0])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "seconds"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[1])
+ {
+ iNumberOfColumns = 7;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "seconds", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[2])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["month", "day", "year", "hour", "minutes", "seconds"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[3])
+ {
+ iNumberOfColumns = 7;
+ sArrFields = ["month", "day", "year", "hour", "minutes", "seconds", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[4])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["year", "month", "day", "hour", "minutes", "seconds"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[5])
+ {
+ iNumberOfColumns = 7;
+ sArrFields = ["year", "month", "day", "hour", "minutes", "seconds", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[6])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "seconds"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[7])
+ {
+ iNumberOfColumns = 7;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "seconds", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[8])
+ {
+ iNumberOfColumns = 5;
+ sArrFields = ["day", "month", "year", "hour", "minutes"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[9])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[10])
+ {
+ iNumberOfColumns = 5;
+ sArrFields = ["month", "day", "year", "hour", "minutes"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[11])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["month", "day", "year", "hour", "minutes", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[12])
+ {
+ iNumberOfColumns = 5;
+ sArrFields = ["year", "month", "day", "hour", "minutes"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[13])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["year", "month", "day", "hour", "minutes", "meridiem"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[14])
+ {
+ iNumberOfColumns = 5;
+ sArrFields = ["day", "month", "year", "hour", "minutes"];
+ }
+ else if(oDTP.oData.bArrMatchFormat[15])
+ {
+ iNumberOfColumns = 6;
+ sArrFields = ["day", "month", "year", "hour", "minutes", "meridiem"];
+ }
+ }
+
+
+ //--------------------------------------------------------------------
+ var sColumnClass = "dtpicker-comp" + iNumberOfColumns,
+ bDisplayHeaderCloseButton = false,
+ bDisplaySetButton = false,
+ bDisplayClearButton = false,
+ iTempIndex;
+
+ for(iTempIndex = 0; iTempIndex < oDTP.settings.buttonsToDisplay.length; iTempIndex++)
+ {
+ if($.cf._compare(oDTP.settings.buttonsToDisplay[iTempIndex], "HeaderCloseButton"))
+ bDisplayHeaderCloseButton = true;
+ else if($.cf._compare(oDTP.settings.buttonsToDisplay[iTempIndex], "SetButton"))
+ bDisplaySetButton = true;
+ else if($.cf._compare(oDTP.settings.buttonsToDisplay[iTempIndex], "ClearButton"))
+ bDisplayClearButton = true;
+ }
+
+ var sHeader = "";
+ sHeader += "";
+
+ //--------------------------------------------------------------------
+
+ var sDTPickerComp = "";
+ sDTPickerComp += "";
+
+ for(iTempIndex = 0; iTempIndex < iNumberOfColumns; iTempIndex++)
+ {
+ var sFieldName = sArrFields[iTempIndex];
+
+ sDTPickerComp += "
";
+ sDTPickerComp += "
";
+ sDTPickerComp += "
";
+ }
+
+ sDTPickerComp += "
";
+
+ //--------------------------------------------------------------------
+
+ var sButtonContClass = "";
+ if(bDisplaySetButton && bDisplayClearButton)
+ sButtonContClass = " dtpicker-twoButtons";
+ else
+ sButtonContClass = " dtpicker-singleButton";
+
+ var sDTPickerButtons = "";
+ sDTPickerButtons += "";
+
+ //--------------------------------------------------------------------
+
+ var sTempStr = sHeader + sDTPickerComp + sDTPickerButtons;
+
+ $(oDTP.element).find('.dtpicker-subcontent').html(sTempStr);
+
+ oDTP._setCurrentDate();
+ oDTP._addEventHandlersForPicker();
+ },
+
+ _addEventHandlersForPicker: function()
+ {
+ var oDTP = this;
+
+ $(document).on("click.DateTimePicker", function(e)
+ {
+ oDTP._hidePicker("");
+ });
+
+ $(document).on("keydown.DateTimePicker", function(e)
+ {
+ if(! $('.dtpicker-compValue').is(':focus') && parseInt(e.keyCode ? e.keyCode : e.which) === 9)
+ {
+ oDTP._setButtonAction(true);
+ $("[tabIndex=" + (oDTP.oData.iTabIndex + 1) + "]").focus();
+ return false;
+ }
+ });
+
+ $(document).on("keydown.DateTimePicker", function(e)
+ {
+ if(! $('.dtpicker-compValue').is(':focus') && parseInt(e.keyCode ? e.keyCode : e.which) !== 9)
+ {
+ oDTP._hidePicker("");
+ }
+ });
+
+ $(".dtpicker-cont *").click(function(e)
+ {
+ e.stopPropagation();
+ });
+
+ $('.dtpicker-compValue').not('.month .dtpicker-compValue, .meridiem .dtpicker-compValue').keyup(function()
+ {
+ this.value = this.value.replace(/[^0-9\.]/g,'');
+ });
+
+ $('.dtpicker-compValue').focus(function()
+ {
+ oDTP.oData.bElemFocused = true;
+ $(this).select();
+ });
+
+ $('.dtpicker-compValue').blur(function()
+ {
+ oDTP._getValuesFromInputBoxes();
+ oDTP._setCurrentDate();
+
+ oDTP.oData.bElemFocused = false;
+ var $oParentElem = $(this).parent().parent();
+ setTimeout(function()
+ {
+ if($oParentElem.is(':last-child') && !oDTP.oData.bElemFocused)
+ {
+ oDTP._setButtonAction(false);
+ }
+ }, 50);
+ });
+
+ $(".dtpicker-compValue").keyup(function(e)
+ {
+ var $oTextField = $(this),
+
+ sTextBoxVal = $oTextField.val(),
+ iLength = sTextBoxVal.length,
+ sNewTextBoxVal;
+
+ if($oTextField.parent().hasClass("day") || $oTextField.parent().hasClass("hour") || $oTextField.parent().hasClass("minutes") || $oTextField.parent().hasClass("meridiem"))
+ {
+ if(iLength > 2)
+ {
+ sNewTextBoxVal = sTextBoxVal.slice(0, 2);
+ $oTextField.val(sNewTextBoxVal);
+ }
+ }
+ else if($oTextField.parent().hasClass("month"))
+ {
+ if(iLength > 3)
+ {
+ sNewTextBoxVal = sTextBoxVal.slice(0, 3);
+ $oTextField.val(sNewTextBoxVal);
+ }
+ }
+ else if($oTextField.parent().hasClass("year"))
+ {
+ if(iLength > 4)
+ {
+ sNewTextBoxVal = sTextBoxVal.slice(0, 4);
+ $oTextField.val(sNewTextBoxVal);
+ }
+ }
+
+ if(parseInt(e.keyCode ? e.keyCode : e.which) === 9)
+ $(this).select();
+ });
+
+ //-----------------------------------------------------------------------
+
+ $(oDTP.element).find('.dtpicker-close').click(function(e)
+ {
+ if(oDTP.settings.buttonClicked)
+ oDTP.settings.buttonClicked.call(oDTP, "CLOSE", oDTP.oData.oInputElement);
+ oDTP._hidePicker("");
+ });
+
+ $(oDTP.element).find('.dtpicker-buttonSet').click(function(e)
+ {
+ if(oDTP.settings.buttonClicked)
+ oDTP.settings.buttonClicked.call(oDTP, "SET", oDTP.oData.oInputElement);
+ oDTP._setButtonAction(false);
+ });
+
+ $(oDTP.element).find('.dtpicker-buttonClear').click(function(e)
+ {
+ if(oDTP.settings.buttonClicked)
+ oDTP.settings.buttonClicked.call(oDTP, "CLEAR", oDTP.oData.oInputElement);
+ oDTP._clearButtonAction();
+ });
+
+ // ----------------------------------------------------------------------------
+
+ $(oDTP.element).find(".day .increment, .day .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentDay++;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".day .decrement, .day .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentDay--;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".month .increment, .month .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentMonth++;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".month .decrement, .month .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentMonth--;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".year .increment, .year .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentYear++;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".year .decrement, .year .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentYear--;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".hour .increment, .hour .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentHour++;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".hour .decrement, .hour .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentHour--;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".minutes .increment, .minutes .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentMinutes += oDTP.settings.minuteInterval;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".minutes .decrement, .minutes .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentMinutes -= oDTP.settings.minuteInterval;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".seconds .increment, .seconds .increment *").click(function(e)
+ {
+ oDTP.oData.iCurrentSeconds += oDTP.settings.secondsInterval;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".seconds .decrement, .seconds .decrement *").click(function(e)
+ {
+ oDTP.oData.iCurrentSeconds -= oDTP.settings.secondsInterval;
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+
+ $(oDTP.element).find(".meridiem .dtpicker-compButton, .meridiem .dtpicker-compButton *").click(function(e)
+ {
+ if($.cf._compare(oDTP.oData.sCurrentMeridiem, "AM"))
+ {
+ oDTP.oData.sCurrentMeridiem = "PM";
+ oDTP.oData.iCurrentHour += 12;
+ }
+ else if($.cf._compare(oDTP.oData.sCurrentMeridiem, "PM"))
+ {
+ oDTP.oData.sCurrentMeridiem = "AM";
+ oDTP.oData.iCurrentHour -= 12;
+ }
+ oDTP._setCurrentDate();
+ oDTP._setOutputOnIncrementOrDecrement();
+ });
+ },
+
+ _adjustMinutes: function(iMinutes)
+ {
+ var oDTP = this;
+ if(oDTP.settings.roundOffMinutes && oDTP.settings.minuteInterval !== 1)
+ {
+ iMinutes = (iMinutes % oDTP.settings.minuteInterval) ? (iMinutes - (iMinutes % oDTP.settings.minuteInterval) + oDTP.settings.minuteInterval) : iMinutes;
+ }
+ return iMinutes;
+ },
+
+ _adjustSeconds: function(iSeconds)
+ {
+ var oDTP = this;
+ if(oDTP.settings.roundOffSeconds && oDTP.settings.secondsInterval !== 1)
+ {
+ iSeconds = (iSeconds % oDTP.settings.secondsInterval) ? (iSeconds - (iSeconds % oDTP.settings.secondsInterval) + oDTP.settings.secondsInterval) : iSeconds;
+ }
+ return iSeconds;
+ },
+
+ _getValueOfElement: function(oElem)
+ {
+ var oDTP = this;
+ var sElemValue = "";
+
+ if($.cf._compare($(oElem).prop("tagName"), "INPUT"))
+ sElemValue = $(oElem).val();
+ else
+ sElemValue = $(oElem).html();
+
+ return sElemValue;
+ },
+
+ _setValueOfElement: function(sElemValue, $oElem)
+ {
+ var oDTP = this;
+
+ if(!$.cf._isValid($oElem))
+ $oElem = $(oDTP.oData.oInputElement);
+
+ if($.cf._compare($oElem.prop("tagName"), "INPUT"))
+ $oElem.val(sElemValue);
+ else
+ $oElem.html(sElemValue);
+
+ var dElemValue = oDTP.getDateObjectForInputField($oElem);
+
+ if(oDTP.settings.settingValueOfElement)
+ oDTP.settings.settingValueOfElement.call(oDTP, sElemValue, dElemValue, $oElem);
+
+ $oElem.change();
+
+ return sElemValue;
+ },
+
+ //-----------------------------------------------------------------
+
+ _parseDate: function(sDate)
+ {
+ var oDTP = this;
+
+ var dTempDate = (oDTP.settings.defaultDate ? new Date(oDTP.settings.defaultDate) : new Date()),
+ iDate = dTempDate.getDate(),
+ iMonth = dTempDate.getMonth(),
+ iYear = dTempDate.getFullYear();
+
+ if($.cf._isValid(sDate))
+ {
+ var sArrDate;
+ if(oDTP.oData.bArrMatchFormat[4] || oDTP.oData.bArrMatchFormat[5] || oDTP.oData.bArrMatchFormat[6])
+ sArrDate = sDate.split(oDTP.settings.monthYearSeparator);
+ else
+ sArrDate = sDate.split(oDTP.settings.dateSeparator);
+
+ if(oDTP.oData.bArrMatchFormat[0]) // "dd-MM-yyyy"
+ {
+ iDate = parseInt(sArrDate[0]);
+ iMonth = parseInt(sArrDate[1] - 1);
+ iYear = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[1]) // "MM-dd-yyyy"
+ {
+ iMonth = parseInt(sArrDate[0] - 1);
+ iDate = parseInt(sArrDate[1]);
+ iYear = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[2]) // "yyyy-MM-dd"
+ {
+ iYear = parseInt(sArrDate[0]);
+ iMonth = parseInt(sArrDate[1] - 1);
+ iDate = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[3]) // "dd-MMM-yyyy"
+ {
+ iDate = parseInt(sArrDate[0]);
+ iMonth = oDTP._getShortMonthIndex(sArrDate[1]);
+ iYear = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[4]) // "MM-yyyy"
+ {
+ iDate = 1;
+ iMonth = parseInt(sArrDate[0]) - 1;
+ iYear = parseInt(sArrDate[1]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[5]) // "MMM yyyy"
+ {
+ iDate = 1;
+ iMonth = oDTP._getShortMonthIndex(sArrDate[0]);
+ iYear = parseInt(sArrDate[1]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[6]) // "MMMM yyyy"
+ {
+ iDate = 1;
+ iMonth = oDTP._getFullMonthIndex(sArrDate[0]);
+ iYear = parseInt(sArrDate[1]);
+ }
+ }
+
+ dTempDate = new Date(iYear, iMonth, iDate, 0, 0, 0, 0);
+ return dTempDate;
+ },
+
+ _parseTime: function(sTime)
+ {
+ var oDTP = this;
+
+ var dTempDate = (oDTP.settings.defaultDate ? new Date(oDTP.settings.defaultDate) : new Date()),
+ iDate = dTempDate.getDate(),
+ iMonth = dTempDate.getMonth(),
+ iYear = dTempDate.getFullYear(),
+ iHour = dTempDate.getHours(),
+ iMinutes = dTempDate.getMinutes(),
+ iSeconds = dTempDate.getSeconds(),
+ sArrTime, sMeridiem, sArrTimeComp,
+ bShowSeconds = oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[1];
+
+ iSeconds = bShowSeconds ? oDTP._adjustSeconds(iSeconds) : 0;
+
+ if($.cf._isValid(sTime))
+ {
+ if(oDTP.oData.bIs12Hour)
+ {
+ sArrTime = sTime.split(oDTP.settings.timeMeridiemSeparator);
+ sTime = sArrTime[0];
+ sMeridiem = sArrTime[1];
+
+ if(!($.cf._compare(sMeridiem, "AM") || $.cf._compare(sMeridiem, "PM")))
+ sMeridiem = "";
+ }
+
+ sArrTimeComp = sTime.split(oDTP.settings.timeSeparator);
+ iHour = parseInt(sArrTimeComp[0]);
+ iMinutes = parseInt(sArrTimeComp[1]);
+
+ if(bShowSeconds)
+ {
+ iSeconds = parseInt(sArrTimeComp[2]);
+ iSeconds = oDTP._adjustSeconds(iSeconds);
+ }
+
+ if(iHour === 12 && $.cf._compare(sMeridiem, "AM"))
+ iHour = 0;
+ else if(iHour < 12 && $.cf._compare(sMeridiem, "PM"))
+ iHour += 12;
+ }
+ iMinutes = oDTP._adjustMinutes(iMinutes);
+
+ dTempDate = new Date(iYear, iMonth, iDate, iHour, iMinutes, iSeconds, 0);
+
+ return dTempDate;
+ },
+
+ _parseDateTime: function(sDateTime)
+ {
+ var oDTP = this;
+
+ var dTempDate = (oDTP.settings.defaultDate ? new Date(oDTP.settings.defaultDate) : new Date()),
+ iDate = dTempDate.getDate(),
+ iMonth = dTempDate.getMonth(),
+ iYear = dTempDate.getFullYear(),
+ iHour = dTempDate.getHours(),
+ iMinutes = dTempDate.getMinutes(),
+ iSeconds = dTempDate.getSeconds(),
+ sMeridiem = "",
+ sArrDateTime, sArrDate, sTime, sArrTimeComp, sArrTime,
+ bShowSeconds = oDTP.oData.bArrMatchFormat[0] || // "dd-MM-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[1] || // ""dd-MM-yyyy hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[2] || // "MM-dd-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[3] || // "MM-dd-yyyy hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[4] || // "yyyy-MM-dd HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[5] || // "yyyy-MM-dd hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[6] || // "dd-MMM-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[7]; // "dd-MMM-yyyy hh:mm:ss AA"
+
+ iSeconds = bShowSeconds ? oDTP._adjustSeconds(iSeconds) : 0;
+
+ if($.cf._isValid(sDateTime))
+ {
+ sArrDateTime = sDateTime.split(oDTP.settings.dateTimeSeparator);
+ sArrDate = sArrDateTime[0].split(oDTP.settings.dateSeparator);
+
+ if(oDTP.oData.bArrMatchFormat[0] || // "dd-MM-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[1] || // ""dd-MM-yyyy hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[8] || // "dd-MM-yyyy HH:mm"
+ oDTP.oData.bArrMatchFormat[9]) // "dd-MM-yyyy hh:mm AA"
+ {
+ iDate = parseInt(sArrDate[0]);
+ iMonth = parseInt(sArrDate[1] - 1);
+ iYear = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[2] || // "MM-dd-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[3] || // "MM-dd-yyyy hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[10] || // "MM-dd-yyyy HH:mm"
+ oDTP.oData.bArrMatchFormat[11]) // "MM-dd-yyyy hh:mm AA"
+ {
+ iMonth = parseInt(sArrDate[0] - 1);
+ iDate = parseInt(sArrDate[1]);
+ iYear = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[4] || // "yyyy-MM-dd HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[5] || // "yyyy-MM-dd hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[12] || // "yyyy-MM-dd HH:mm"
+ oDTP.oData.bArrMatchFormat[13]) // "yyyy-MM-dd hh:mm AA"
+ {
+ iYear = parseInt(sArrDate[0]);
+ iMonth = parseInt(sArrDate[1] - 1);
+ iDate = parseInt(sArrDate[2]);
+ }
+ else if(oDTP.oData.bArrMatchFormat[6] || // "dd-MMM-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[7] || // "dd-MMM-yyyy hh:mm:ss AA"
+ oDTP.oData.bArrMatchFormat[14] || // "dd-MMM-yyyy HH:mm:ss"
+ oDTP.oData.bArrMatchFormat[15]) // "dd-MMM-yyyy hh:mm:ss AA"
+ {
+ iDate = parseInt(sArrDate[0]);
+ iMonth = oDTP._getShortMonthIndex(sArrDate[1]);
+ iYear = parseInt(sArrDate[2]);
+ }
+
+ sTime = sArrDateTime[1];
+ if($.cf._isValid(sTime))
+ {
+ if(oDTP.oData.bIs12Hour)
+ {
+ if($.cf._compare(oDTP.settings.dateTimeSeparator, oDTP.settings.timeMeridiemSeparator) && (sArrDateTime.length === 3))
+ sMeridiem = sArrDateTime[2];
+ else
+ {
+ sArrTimeComp = sTime.split(oDTP.settings.timeMeridiemSeparator);
sTime = sArrTimeComp[0];
sMeridiem = sArrTimeComp[1];
}
- if(!(!dtPickerObj._compare(sMeridiem, "AM") || dtPickerObj._compare(sMeridiem, "PM")))
+ if(!($.cf._compare(sMeridiem, "AM") || $.cf._compare(sMeridiem, "PM")))
sMeridiem = "";
}
- else
- {
- sTime = sArrDateTime[1];
- }
-
- var sArrTime = sTime.split(dtPickerObj.settings.timeSeparator);
+
+ sArrTime = sTime.split(oDTP.settings.timeSeparator);
+
iHour = parseInt(sArrTime[0]);
iMinutes = parseInt(sArrTime[1]);
- if(dtPickerObj._compare(sMeridiem, "PM"))
+ if(bShowSeconds)
+ {
+ iSeconds = parseInt(sArrTime[2]);
+ }
+
+ if(iHour === 12 && $.cf._compare(sMeridiem, "AM"))
+ iHour = 0;
+ else if(iHour < 12 && $.cf._compare(sMeridiem, "PM"))
iHour += 12;
}
-
- dTempDate = new Date(iYear, iMonth, iDate, iHour, iMinutes, 0, 0);
-
- return dTempDate;
- },
-
- getShortMonthIndex: function(sMonthName)
+ }
+ iMinutes = oDTP._adjustMinutes(iMinutes);
+
+ dTempDate = new Date(iYear, iMonth, iDate, iHour, iMinutes, iSeconds, 0);
+ return dTempDate;
+ },
+
+ _getShortMonthIndex: function(sMonthName)
+ {
+ var oDTP = this;
+
+ for(var iTempIndex = 0; iTempIndex < oDTP.settings.shortMonthNames.length; iTempIndex++)
{
- var dtPickerObj = this;
-
- for(var iTempIndex = 0; iTempIndex < dtPickerObj.settings.shortMonthNames.length; iTempIndex++)
- {
- if(dtPickerObj._compare(sMonthName, dtPickerObj.settings.shortMonthNames[iTempIndex]))
- return iTempIndex;
- }
- },
-
- //-----------------------------------------------------------------
-
- _setVariablesForDate: function()
+ if($.cf._compare(sMonthName, oDTP.settings.shortMonthNames[iTempIndex]))
+ return iTempIndex;
+ }
+ },
+
+ _getFullMonthIndex: function(sMonthName)
+ {
+ var oDTP = this;
+
+ for(var iTempIndex = 0; iTempIndex < oDTP.settings.fullMonthNames.length; iTempIndex++)
{
- var dtPickerObj = this;
-
- dtPickerObj.dataObject.iCurrentDay = dtPickerObj.dataObject.dCurrentDate.getDate();
- dtPickerObj.dataObject.iCurrentMonth = dtPickerObj.dataObject.dCurrentDate.getMonth();
- dtPickerObj.dataObject.iCurrentYear = dtPickerObj.dataObject.dCurrentDate.getFullYear();
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- dtPickerObj.dataObject.iCurrentHour = dtPickerObj.dataObject.dCurrentDate.getHours();
- dtPickerObj.dataObject.iCurrentMinutes = dtPickerObj.dataObject.dCurrentDate.getMinutes();
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sTimeFormat, dtPickerObj.dataObject.sArrInputTimeFormats[0]))
- {
- if(dtPickerObj.dataObject.iCurrentHour > 12)
- dtPickerObj.dataObject.sCurrentMeridiem = "PM";
- else if(dtPickerObj.dataObject.iCurrentHour == 12 && dtPickerObj.dataObject.iCurrentMinutes > 0)
- dtPickerObj.dataObject.sCurrentMeridiem = "PM";
- else
- dtPickerObj.dataObject.sCurrentMeridiem = "AM";
- }
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- dtPickerObj.dataObject.iCurrentHour = dtPickerObj.dataObject.dCurrentDate.getHours();
- dtPickerObj.dataObject.iCurrentMinutes = dtPickerObj.dataObject.dCurrentDate.getMinutes();
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[1]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[3]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[5]) || dtPickerObj._compare(dtPickerObj.dataObject.sDateTimeFormat, dtPickerObj.dataObject.sArrInputDateTimeFormats[7]))
- {
- if(dtPickerObj.dataObject.iCurrentHour > 12)
- dtPickerObj.dataObject.sCurrentMeridiem = "PM";
- else if(dtPickerObj.dataObject.iCurrentHour == 12 && dtPickerObj.dataObject.iCurrentMinutes > 0)
- dtPickerObj.dataObject.sCurrentMeridiem = "PM";
- else
- dtPickerObj.dataObject.sCurrentMeridiem = "AM";
- }
- }
- },
+ if($.cf._compare(sMonthName, oDTP.settings.fullMonthNames[iTempIndex]))
+ return iTempIndex;
+ }
+ },
+
+ // Public Method
+ getIs12Hour: function(sMode, sFormat)
+ {
+ var oDTP = this;
+
+ var bIs12Hour = false,
+ iArgsLength = Function.length;
+
+ oDTP._setMatchFormat(iArgsLength, sMode, sFormat);
+
+ if(oDTP.oData.bTimeMode)
+ {
+ bIs12Hour = oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[2];
+ }
+ else if(oDTP.oData.bDateTimeMode)
+ {
+ bIs12Hour = oDTP.oData.bArrMatchFormat[1] ||
+ oDTP.oData.bArrMatchFormat[3] ||
+ oDTP.oData.bArrMatchFormat[5] ||
+ oDTP.oData.bArrMatchFormat[7] ||
+ oDTP.oData.bArrMatchFormat[9] ||
+ oDTP.oData.bArrMatchFormat[11] ||
+ oDTP.oData.bArrMatchFormat[13] ||
+ oDTP.oData.bArrMatchFormat[15];
+ }
+
+ oDTP._setMatchFormat(iArgsLength);
+
+ return bIs12Hour;
+ },
+
+ //-----------------------------------------------------------------
+
+ _setVariablesForDate: function(dInput, bIncludeTime, bSetMeridiem)
+ {
+ var oDTP = this;
- _getValuesFromInputBoxes: function()
+ var dTemp, oDTV = {},
+ bValidInput = $.cf._isValid(dInput);
+ if(bValidInput)
{
- var dtPickerObj = this;
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "date") || dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- var sMonth = $(dtPickerObj.element).find(".month .dtpicker-compValue").val();
- if(sMonth.length > 1)
- sMonth = sMonth.charAt(0).toUpperCase() + sMonth.slice(1);
- var iMonth = dtPickerObj.settings.shortMonthNames.indexOf(sMonth);
- if(iMonth != -1)
- {
- dtPickerObj.dataObject.iCurrentMonth = parseInt(iMonth);
- }
- else
- {
- if(sMonth.match("^[+|-]?[0-9]+$"))
- {
- dtPickerObj.dataObject.iCurrentMonth = parseInt(sMonth - 1);
- }
- }
-
- dtPickerObj.dataObject.iCurrentDay = parseInt($(dtPickerObj.element).find(".day .dtpicker-compValue").val()) || dtPickerObj.dataObject.iCurrentDay;
- dtPickerObj.dataObject.iCurrentYear = parseInt($(dtPickerObj.element).find(".year .dtpicker-compValue").val()) || dtPickerObj.dataObject.iCurrentYear;
- }
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time") || dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- dtPickerObj.dataObject.iCurrentHour = parseInt($(dtPickerObj.element).find(".hour .dtpicker-compValue").val());
- dtPickerObj.dataObject.iCurrentMinutes = parseInt($(dtPickerObj.element).find(".minutes .dtpicker-compValue").val());
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- if(dtPickerObj.dataObject.iCurrentHour > 12)
- dtPickerObj.dataObject.iCurrentHour = (dtPickerObj.dataObject.iCurrentHour % 12);
- if(dtPickerObj.dataObject.iCurrentMinutes > 59)
- {
- var iExtraHour = dtPickerObj.dataObject.iCurrentMinutes / 60;
- var iExtraMinutes = dtPickerObj.dataObject.iCurrentMinutes % 59;
-
- var iNewHour = dtPickerObj.dataObject.iCurrentHour + iExtraHour;
- if(iNewHour > 12)
- dtPickerObj.dataObject.iCurrentHour = (iNewHour % 12);
- dtPickerObj.dataObject.iCurrentMinutes = iExtraMinutes;
- }
- }
- else
- {
- if(dtPickerObj.dataObject.iCurrentHour > 23)
- dtPickerObj.dataObject.iCurrentHour = (dtPickerObj.dataObject.iCurrentHour % 23);
-
- if(dtPickerObj.dataObject.iCurrentMinutes > 59)
- {
- var iExtraHour = dtPickerObj.dataObject.iCurrentMinutes / 60;
- var iExtraMinutes = dtPickerObj.dataObject.iCurrentMinutes % 59;
-
- var iNewHour = dtPickerObj.dataObject.iCurrentHour + iExtraHour;
- if(iNewHour > 23)
- dtPickerObj.dataObject.iCurrentHour = (iNewHour % 23);
- dtPickerObj.dataObject.iCurrentMinutes = iExtraMinutes;
- }
- }
- }
-
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- var sMeridiem = $(dtPickerObj.element).find(".meridiem .dtpicker-compValue").val();
- if(dtPickerObj._compare(sMeridiem, "AM") || dtPickerObj._compare(sMeridiem, "PM"))
- dtPickerObj.dataObject.sCurrentMeridiem = sMeridiem;
-
- if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "PM") && dtPickerObj.dataObject.iCurrentHour < 13)
- dtPickerObj.dataObject.iCurrentHour += 12;
- if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "AM") && dtPickerObj.dataObject.iCurrentHour == 12)
- dtPickerObj.dataObject.iCurrentHour = 0;
- }
- }
- },
+ dTemp = new Date(dInput);
+ if(!$.cf._isValid(bIncludeTime))
+ bIncludeTime = true;
+ if(!$.cf._isValid(bSetMeridiem))
+ bSetMeridiem = true;
+ }
+ else
+ {
+ if (Object.prototype.toString.call(oDTP.oData.dCurrentDate) === '[object Date]' && isFinite(oDTP.oData.dCurrentDate))
+ dTemp = new Date(oDTP.oData.dCurrentDate);
+ else
+ dTemp = new Date();
+
+ if(!$.cf._isValid(bIncludeTime))
+ bIncludeTime = (oDTP.oData.bTimeMode || oDTP.oData.bDateTimeMode);
+ if(!$.cf._isValid(bSetMeridiem))
+ bSetMeridiem = oDTP.oData.bIs12Hour;
+ }
+
+ oDTV.iCurrentDay = dTemp.getDate();
+ oDTV.iCurrentMonth = dTemp.getMonth();
+ oDTV.iCurrentYear = dTemp.getFullYear();
+ oDTV.iCurrentWeekday = dTemp.getDay();
- _setCurrentDate: function()
+ if(bIncludeTime)
{
- var dtPickerObj = this;
+ oDTV.iCurrentHour = dTemp.getHours();
+ oDTV.iCurrentMinutes = dTemp.getMinutes();
+ oDTV.iCurrentSeconds = dTemp.getSeconds();
- var dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- var bGTMaxDate = false, bLTMinDate = false;
-
- if(dtPickerObj.dataObject.dMaxValue != null)
- bGTMaxDate = (dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime());
- if(dtPickerObj.dataObject.dMinValue != null)
- bLTMinDate = (dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime());
-
- if(bGTMaxDate || bLTMinDate)
+ if(bSetMeridiem)
{
- var bCDGTMaxDate = false, bCDLTMinDate = false;
- if(dtPickerObj.dataObject.dMaxValue != null)
- bCDGTMaxDate = (dtPickerObj.dataObject.dCurrentDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime());
- if(dtPickerObj.dataObject.dMinValue != null)
- bCDLTMinDate = (dtPickerObj.dataObject.dCurrentDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime());
-
- if(!(bCDGTMaxDate || bCDLTMinDate))
- dTempDate = new Date(dtPickerObj.dataObject.dCurrentDate);
- else
- {
- if(bCDGTMaxDate)
- dTempDate = new Date(dtPickerObj.dataObject.dMaxValue);
- if(bCDLTMinDate)
- dTempDate = new Date(dtPickerObj.dataObject.dMinValue);
- }
+ oDTV.sCurrentMeridiem = oDTP._determineMeridiemFromHourAndMinutes(oDTV.iCurrentHour, oDTV.iCurrentMinutes);
}
-
- dtPickerObj.dataObject.dCurrentDate = new Date(dTempDate);
- dtPickerObj._setVariablesForDate();
-
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "date"))
- {
- var sDay = dtPickerObj.dataObject.iCurrentDay;
- sDay = (sDay < 10) ? ("0" + sDay) : sDay;
- var iMonth = dtPickerObj.dataObject.iCurrentMonth;
- var sMonthShort = dtPickerObj.settings.shortMonthNames[iMonth];
- var sMonthFull = dtPickerObj.settings.fullMonthNames[iMonth];
- var sYear = dtPickerObj.dataObject.iCurrentYear;
- var iDayOfTheWeek = dtPickerObj.dataObject.dCurrentDate.getDay();
- var sDayOfTheWeek = dtPickerObj.settings.shortDayNames[iDayOfTheWeek];
-
- $(dtPickerObj.element).find('.day .dtpicker-compValue').val(sDay);
- $(dtPickerObj.element).find('.month .dtpicker-compValue').val(sMonthShort);
- $(dtPickerObj.element).find('.year .dtpicker-compValue').val(sYear);
-
- var sDate = sDayOfTheWeek + ", " + sMonthFull + " " + sDay + ", " + sYear;
- $(dtPickerObj.element).find('.dtpicker-value').html(sDate);
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- var sHour = dtPickerObj.dataObject.iCurrentHour;
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- if(sHour > 12)
- sHour -= 12;
-
- $(dtPickerObj.element).find('.meridiem .dtpicker-compValue').val(dtPickerObj.dataObject.sCurrentMeridiem);
- }
- sHour = (sHour < 10) ? ("0" + sHour) : sHour;
- if(dtPickerObj.dataObject.bIs12Hour && sHour == "00")
- sHour = 12;
- var sMinutes = dtPickerObj.dataObject.iCurrentMinutes;
- sMinutes = (sMinutes < 10) ? ("0" + sMinutes) : sMinutes;
-
- $(dtPickerObj.element).find('.hour .dtpicker-compValue').val(sHour);
- $(dtPickerObj.element).find('.minutes .dtpicker-compValue').val(sMinutes);
-
- var sTime = sHour + dtPickerObj.settings.timeSeparator + sMinutes;
- if(dtPickerObj.dataObject.bIs12Hour)
- sTime += dtPickerObj.settings.timeMeridiemSeparator + dtPickerObj.dataObject.sCurrentMeridiem;
- $(dtPickerObj.element).find('.dtpicker-value').html(sTime);
- }
- else if(dtPickerObj._compare(dtPickerObj.settings.mode, "datetime"))
- {
- var sDay = dtPickerObj.dataObject.iCurrentDay;
- sDay = (sDay < 10) ? ("0" + sDay) : sDay;
- var iMonth = dtPickerObj.dataObject.iCurrentMonth;
- var sMonthShort = dtPickerObj.settings.shortMonthNames[iMonth];
- var sMonthFull = dtPickerObj.settings.fullMonthNames[iMonth];
- var sYear = dtPickerObj.dataObject.iCurrentYear;
- var iDayOfTheWeek = dtPickerObj.dataObject.dCurrentDate.getDay();
- var sDayOfTheWeek = dtPickerObj.settings.shortDayNames[iDayOfTheWeek];
-
- $(dtPickerObj.element).find('.day .dtpicker-compValue').val(sDay);
- $(dtPickerObj.element).find('.month .dtpicker-compValue').val(sMonthShort);
- $(dtPickerObj.element).find('.year .dtpicker-compValue').val(sYear);
-
- var sDate = sDayOfTheWeek + ", " + sMonthFull + " " + sDay + ", " + sYear;
-
- //------------------------------------------------------------------
-
- var sHour = dtPickerObj.dataObject.iCurrentHour;
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- if(sHour > 12)
- sHour -= 12;
-
- $(dtPickerObj.element).find('.meridiem .dtpicker-compValue').val(dtPickerObj.dataObject.sCurrentMeridiem);
- }
- sHour = (sHour < 10) ? ("0" + sHour) : sHour;
- if(dtPickerObj.dataObject.bIs12Hour && sHour == "00")
- sHour = 12;
- var sMinutes = dtPickerObj.dataObject.iCurrentMinutes;
- sMinutes = (sMinutes < 10) ? ("0" + sMinutes) : sMinutes;
-
- $(dtPickerObj.element).find('.hour .dtpicker-compValue').val(sHour);
- $(dtPickerObj.element).find('.minutes .dtpicker-compValue').val(sMinutes);
-
- var sTime = sHour + dtPickerObj.settings.timeSeparator + sMinutes;
- if(dtPickerObj.dataObject.bIs12Hour)
- sTime += dtPickerObj.settings.timeMeridiemSeparator + dtPickerObj.dataObject.sCurrentMeridiem;
-
- //------------------------------------------------------------------
-
- var sDateTime = sDate + dtPickerObj.settings.dateTimeSeparator + sTime;
-
- $(dtPickerObj.element).find('.dtpicker-value').html(sDateTime);
- }
-
- dtPickerObj._setButtons();
- },
+ }
+
+ if(bValidInput)
+ return oDTV;
+ else
+ oDTP.oData = $.extend(oDTP.oData, oDTV);
+ },
+
+ _getValuesFromInputBoxes: function()
+ {
+ var oDTP = this;
- _setButtons: function()
+ if(oDTP.oData.bDateMode || oDTP.oData.bDateTimeMode)
{
- var dtPickerObj = this;
- $(dtPickerObj.element).find('.dtpicker-compButton').removeClass("dtpicker-compButtonDisable").addClass('dtpicker-compButtonEnable');
-
- var dTempDate;
- if(dtPickerObj.dataObject.dMaxValue != null)
+ var sMonth, iMonth;
+
+ sMonth = $(oDTP.element).find(".month .dtpicker-compValue").val();
+ if(sMonth.length > 1)
+ sMonth = sMonth.charAt(0).toUpperCase() + sMonth.slice(1);
+ iMonth = oDTP.settings.shortMonthNames.indexOf(sMonth);
+ if(iMonth !== -1)
{
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- // Decrement Hour
- if((dtPickerObj.dataObject.iCurrentHour + 1) > dtPickerObj.dataObject.dMaxValue.getHours() || ((dtPickerObj.dataObject.iCurrentHour + 1) == dtPickerObj.dataObject.dMaxValue.getHours() && dtPickerObj.dataObject.iCurrentMinutes > dtPickerObj.dataObject.dMaxValue.getMinutes()))
- $(dtPickerObj.element).find(".hour .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Minutes
- if(dtPickerObj.dataObject.iCurrentHour >= dtPickerObj.dataObject.dMaxValue.getHours() && (dtPickerObj.dataObject.iCurrentMinutes + 1) > dtPickerObj.dataObject.dMaxValue.getMinutes())
- $(dtPickerObj.element).find(".minutes .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- else
- {
- // Increment Day
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, (dtPickerObj.dataObject.iCurrentDay + 1), dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".day .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Increment Month
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, (dtPickerObj.dataObject.iCurrentMonth + 1), dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".month .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Increment Year
- dTempDate = new Date((dtPickerObj.dataObject.iCurrentYear + 1), dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".year .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Increment Hour
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, (dtPickerObj.dataObject.iCurrentHour + 1), dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".hour .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Increment Minutes
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, (dtPickerObj.dataObject.iCurrentMinutes + 1), 0, 0);
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".minutes .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- }
-
- if(dtPickerObj.dataObject.dMinValue != null)
- {
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- // Decrement Hour
- if((dtPickerObj.dataObject.iCurrentHour - 1) < dtPickerObj.dataObject.dMinValue.getHours() || ((dtPickerObj.dataObject.iCurrentHour - 1) == dtPickerObj.dataObject.dMinValue.getHours() && dtPickerObj.dataObject.iCurrentMinutes < dtPickerObj.dataObject.dMinValue.getMinutes()))
- $(dtPickerObj.element).find(".hour .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Minutes
- if(dtPickerObj.dataObject.iCurrentHour <= dtPickerObj.dataObject.dMinValue.getHours() && (dtPickerObj.dataObject.iCurrentMinutes - 1) < dtPickerObj.dataObject.dMinValue.getMinutes())
- $(dtPickerObj.element).find(".minutes .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- else
- {
- // Decrement Day
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, (dtPickerObj.dataObject.iCurrentDay - 1), dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".day .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Month
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, (dtPickerObj.dataObject.iCurrentMonth - 1), dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".month .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Year
- dTempDate = new Date((dtPickerObj.dataObject.iCurrentYear - 1), dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".year .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Hour
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, (dtPickerObj.dataObject.iCurrentHour - 1), dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".hour .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-
- // Decrement Minutes
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, dtPickerObj.dataObject.iCurrentHour, (dtPickerObj.dataObject.iCurrentMinutes - 1), 0, 0);
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".minutes .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- }
-
- if(dtPickerObj.dataObject.bIs12Hour)
- {
- if(dtPickerObj.dataObject.dMaxValue != null || dtPickerObj.dataObject.dMinValue != null)
- {
- var iTempHour = dtPickerObj.dataObject.iCurrentHour;
- if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "AM"))
- iTempHour += 12;
- else if(dtPickerObj._compare(dtPickerObj.dataObject.sCurrentMeridiem, "PM"))
- iTempHour -= 12;
-
- dTempDate = new Date(dtPickerObj.dataObject.iCurrentYear, dtPickerObj.dataObject.iCurrentMonth, dtPickerObj.dataObject.iCurrentDay, iTempHour, dtPickerObj.dataObject.iCurrentMinutes, 0, 0);
-
- if(dtPickerObj.dataObject.dMaxValue != null)
- {
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- var iTempMinutes = dtPickerObj.dataObject.iCurrentMinutes;
- if(iTempHour > dtPickerObj.dataObject.dMaxValue.getHours() || (iTempHour == dtPickerObj.dataObject.dMaxValue.getHours() && iTempMinutes > dtPickerObj.dataObject.dMaxValue.getMinutes()))
- $(dtPickerObj.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- else
- {
- if(dTempDate.getTime() > dtPickerObj.dataObject.dMaxValue.getTime())
- $(dtPickerObj.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- }
-
- if(dtPickerObj.dataObject.dMinValue != null)
- {
- if(dtPickerObj._compare(dtPickerObj.settings.mode, "time"))
- {
- var iTempMinutes = dtPickerObj.dataObject.iCurrentMinutes;
- if(iTempHour < dtPickerObj.dataObject.dMinValue.getHours() || (iTempHour == dtPickerObj.dataObject.dMinValue.getHours() && iTempMinutes < dtPickerObj.dataObject.dMinValue.getMinutes()))
- $(dtPickerObj.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- else
- {
- if(dTempDate.getTime() < dtPickerObj.dataObject.dMinValue.getTime())
- $(dtPickerObj.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
- }
- }
- }
- }
- },
-
- _compare: function(sString1, sString2)
- {
- if(sString1.toLowerCase() == sString2.toLowerCase())
- return true;
- else
- return false;
- },
-
- setIsPopup: function(isPopup)
- {
- var dtPickerObj = this;
- dtPickerObj.settings.isPopup = isPopup;
-
- if($(dtPickerObj.element).css("display") != "none")
- dtPickerObj._hidePicker(1);
- if(dtPickerObj.settings.isPopup)
- {
- $(dtPickerObj.element).addClass("dtpicker-mobile");
-
- $(dtPickerObj.element).css({position: "fixed", top: 0, left: 0, width: "100%", height: "100%"});
+ oDTP.oData.iCurrentMonth = parseInt(iMonth);
}
else
{
- $(dtPickerObj.element).removeClass("dtpicker-mobile");
-
- if(dtPickerObj.dataObject.oInputElement != null)
+ if(sMonth.match("^[+|-]?[0-9]+$"))
{
- var iElemTop = $(dtPickerObj.dataObject.oInputElement).offset().top + $(dtPickerObj.dataObject.oInputElement).outerHeight();
- var iElemLeft = $(dtPickerObj.dataObject.oInputElement).offset().left;
- var iElemWidth = $(dtPickerObj.dataObject.oInputElement).outerWidth();
-
- $(dtPickerObj.element).css({position: "absolute", top: iElemTop, left: iElemLeft, width: iElemWidth, height: "auto"});
+ oDTP.oData.iCurrentMonth = parseInt(sMonth - 1);
}
}
- },
-
- _compareDates: function(dDate1, dDate2)
- {
- var iDateMatch = 0;
- if(dDate1.getDate() == dDate2.getDate() && dDate1.getMonth() == dDate2.getMonth() && dDate1.getFullYear() == dDate2.getFullYear())
- iDateMatch = 1; // 1 = Exact Match
- else
- {
- if(dDate1.getFullYear() < dDate2.getFullYear())
- iDateMatch = 2; // date1 < date2
- else if(dDate1.getFullYear() > dDate2.getFullYear())
- iDateMatch = 3; // date1 > date2
- else if(dDate1.getFullYear() == dDate2.getFullYear())
- {
- if(dDate1.getMonth() < dDate2.getMonth())
- iDateMatch = 2; // date1 < date2
- else if(dDate1.getMonth() > dDate2.getMonth())
- iDateMatch = 3; // date1 > date2
- else if(dDate1.getMonth() == dDate2.getMonth())
- {
- if(dDate1.getDate() < dDate2.getDate())
- iDateMatch = 2; // date1 < date2
- else if(dDate1.getDate() > dDate2.getDate())
- iDateMatch = 3; // date1 > date2
- }
- }
- }
- return iDateMatch;
- },
-
- _compareTime: function(dTime1, dTime2)
- {
- var iTimeMatch = 0;
- if((dTime1.getHours() == dTime2.getHours()) && (dTime1.getMinutes() == dTime2.getMinutes()))
- iTimeMatch = 1; // 1 = Exact Match
- else
- {
- if(dTime1.getHours() < dTime2.getHours())
- iTimeMatch = 2; // time1 < time2
- else if(dTime1.getHours() > dTime2.getHours())
- iTimeMatch = 3; // time1 > time2
- else if(dTime1.getHours() == dTime2.getHours())
- {
- if(dTime1.getMinutes() < dTime2.getMinutes())
- iTimeMatch = 2; // time1 < time2
- else if(dTime1.getMinutes() > dTime2.getMinutes())
- iTimeMatch = 3; // time1 > time2
- }
- }
- return iTimeMatch;
- },
-
- _compareDateTime: function(dDate1, dDate2)
- {
- var iDateTimeMatch = 0;
- if((dDate1.getDate() == dDate2.getDate() && dDate1.getMonth() == dDate2.getMonth() && dDate1.getFullYear() == dDate2.getFullYear()) && (dDate1.getHours() == dDate2.getHours()) && (dDate1.getMinutes() == dDate2.getMinutes()))
- iDateTimeMatch = 1; // 1 = Exact Match
- else
- {
- if(dDate1.getFullYear() < dDate2.getFullYear())
- iDateTimeMatch = 2; // date1 < date2
- else if(dDate1.getFullYear() > dDate2.getFullYear())
- iDateTimeMatch = 3; // date1 > date2
- else if(dDate1.getFullYear() == dDate2.getFullYear())
- {
- if(dDate1.getMonth() < dDate2.getMonth())
- iDateTimeMatch = 2; // date1 < date2
- else if(dDate1.getMonth() > dDate2.getMonth())
- iDateTimeMatch = 3; // date1 > date2
- else if(dDate1.getMonth() == dDate2.getMonth())
- {
- if(dDate1.getDate() < dDate2.getDate())
- iDateTimeMatch = 2; // date1 < date2
- else if(dDate1.getDate() > dDate2.getDate())
- iDateTimeMatch = 3; // date1 > date2
- else if(dDate1.getDate() == dDate2.getDate())
- {
- if(dDate1.getHours() < dDate2.getHours())
- iDateTimeMatch = 2; // date1 < date2
- else if(dDate1.getHours() > dDate2.getHours())
- iDateTimeMatch = 3; // date1 > date2
- else if(dDate1.getHours() == dDate2.getHours())
- {
- if(dDate1.getMinutes() < dDate2.getMinutes())
- iDateTimeMatch = 2; // date1 < date2
- else if(dDate1.getMinutes() > dDate2.getMinutes())
- iDateTimeMatch = 3; // date1 > date2
- }
- }
- }
- }
- }
- return iDateTimeMatch;
+
+ oDTP.oData.iCurrentDay = parseInt($(oDTP.element).find(".day .dtpicker-compValue").val()) || oDTP.oData.iCurrentDay;
+ oDTP.oData.iCurrentYear = parseInt($(oDTP.element).find(".year .dtpicker-compValue").val()) || oDTP.oData.iCurrentYear;
}
- };
+ if(oDTP.oData.bTimeMode || oDTP.oData.bDateTimeMode)
+ {
+ var iTempHour, iTempMinutes, iTempSeconds, sMeridiem;
+
+ iTempHour = parseInt($(oDTP.element).find(".hour .dtpicker-compValue").val());
+ iTempMinutes = oDTP._adjustMinutes(parseInt($(oDTP.element).find(".minutes .dtpicker-compValue").val()));
+ iTempSeconds = oDTP._adjustMinutes(parseInt($(oDTP.element).find(".seconds .dtpicker-compValue").val()));
+
+ oDTP.oData.iCurrentHour = isNaN(iTempHour) ? oDTP.oData.iCurrentHour : iTempHour;
+ oDTP.oData.iCurrentMinutes = isNaN(iTempMinutes) ? oDTP.oData.iCurrentMinutes : iTempMinutes;
+ oDTP.oData.iCurrentSeconds = isNaN(iTempSeconds) ? oDTP.oData.iCurrentSeconds : iTempSeconds;
+
+ if(oDTP.oData.iCurrentSeconds > 59)
+ {
+ oDTP.oData.iCurrentMinutes += oDTP.oData.iCurrentSeconds / 60;
+ oDTP.oData.iCurrentSeconds = oDTP.oData.iCurrentSeconds % 60;
+ }
+ if(oDTP.oData.iCurrentMinutes > 59)
+ {
+ oDTP.oData.iCurrentHour += oDTP.oData.iCurrentMinutes / 60;
+ oDTP.oData.iCurrentMinutes = oDTP.oData.iCurrentMinutes % 60;
+ }
+
+ if(oDTP.oData.bIs12Hour)
+ {
+ if(oDTP.oData.iCurrentHour > 12)
+ oDTP.oData.iCurrentHour = (oDTP.oData.iCurrentHour % 12);
+ }
+ else
+ {
+ if(oDTP.oData.iCurrentHour > 23)
+ oDTP.oData.iCurrentHour = (oDTP.oData.iCurrentHour % 23);
+ }
+
+ if(oDTP.oData.bIs12Hour)
+ {
+ sMeridiem = $(oDTP.element).find(".meridiem .dtpicker-compValue").val();
+ if($.cf._compare(sMeridiem, "AM") || $.cf._compare(sMeridiem, "PM"))
+ oDTP.oData.sCurrentMeridiem = sMeridiem;
+
+ if($.cf._compare(oDTP.oData.sCurrentMeridiem, "PM"))
+ {
+ if(oDTP.oData.iCurrentHour !== 12 && oDTP.oData.iCurrentHour < 13)
+ oDTP.oData.iCurrentHour += 12;
+ }
+ if($.cf._compare(oDTP.oData.sCurrentMeridiem, "AM") && oDTP.oData.iCurrentHour === 12)
+ oDTP.oData.iCurrentHour = 0;
+ }
+ }
+ },
+
+ _setCurrentDate: function()
+ {
+ var oDTP = this;
+
+ if(oDTP.oData.bTimeMode || oDTP.oData.bDateTimeMode)
+ {
+ if(oDTP.oData.iCurrentSeconds > 59)
+ {
+ oDTP.oData.iCurrentMinutes += oDTP.oData.iCurrentSeconds / 60;
+ oDTP.oData.iCurrentSeconds = oDTP.oData.iCurrentSeconds % 60;
+ }
+ else if(oDTP.oData.iCurrentSeconds < 0)
+ {
+ oDTP.oData.iCurrentMinutes -= oDTP.settings.minuteInterval;
+ oDTP.oData.iCurrentSeconds += 60;
+ }
+ oDTP.oData.iCurrentMinutes = oDTP._adjustMinutes(oDTP.oData.iCurrentMinutes);
+ oDTP.oData.iCurrentSeconds = oDTP._adjustSeconds(oDTP.oData.iCurrentSeconds);
+ }
+
+ var dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0),
+ bGTMaxDate = false, bLTMinDate = false,
+ sFormat, oDate, oFormattedDate, oFormattedTime,
+ sDate, sTime, sDateTime;
+
+ if(oDTP.oData.dMaxValue !== null)
+ bGTMaxDate = (dTempDate.getTime() > oDTP.oData.dMaxValue.getTime());
+ if(oDTP.oData.dMinValue !== null)
+ bLTMinDate = (dTempDate.getTime() < oDTP.oData.dMinValue.getTime());
+
+ if(bGTMaxDate || bLTMinDate)
+ {
+ var bCDGTMaxDate = false, bCDLTMinDate = false;
+ if(oDTP.oData.dMaxValue !== null)
+ bCDGTMaxDate = (oDTP.oData.dCurrentDate.getTime() > oDTP.oData.dMaxValue.getTime());
+ if(oDTP.oData.dMinValue !== null)
+ bCDLTMinDate = (oDTP.oData.dCurrentDate.getTime() < oDTP.oData.dMinValue.getTime());
+
+ if(!(bCDGTMaxDate || bCDLTMinDate))
+ dTempDate = new Date(oDTP.oData.dCurrentDate);
+ else
+ {
+ if(bCDGTMaxDate)
+ {
+ dTempDate = new Date(oDTP.oData.dMaxValue);
+ console.log("Info : Date/Time/DateTime you entered is later than Maximum value, so DateTimePicker is showing Maximum value in Input Field.");
+ }
+ if(bCDLTMinDate)
+ {
+ dTempDate = new Date(oDTP.oData.dMinValue);
+ console.log("Info : Date/Time/DateTime you entered is earlier than Minimum value, so DateTimePicker is showing Minimum value in Input Field.");
+ }
+ console.log("Please enter proper Date/Time/DateTime values.");
+ }
+ }
+
+ oDTP.oData.dCurrentDate = new Date(dTempDate);
+ oDTP._setVariablesForDate();
+
+ oDate = {}; sDate = ""; sTime = ""; sDateTime = "";
+
+ if(oDTP.oData.bDateMode || oDTP.oData.bDateTimeMode)
+ {
+ if(oDTP.oData.bDateMode && (oDTP.oData.bArrMatchFormat[4] || oDTP.oData.bArrMatchFormat[5] || oDTP.oData.bArrMatchFormat[6]))
+ oDTP.oData.iCurrentDay = 1;
+
+ oFormattedDate = oDTP._formatDate();
+
+ $(oDTP.element).find('.day .dtpicker-compValue').val(oFormattedDate.dd);
+
+ if(oDTP.oData.bDateMode)
+ {
+ if(oDTP.oData.bArrMatchFormat[4]) // "MM-yyyy"
+ $(oDTP.element).find('.month .dtpicker-compValue').val(oFormattedDate.MM);
+ else if(oDTP.oData.bArrMatchFormat[6]) // "MMMM yyyy"
+ $(oDTP.element).find('.month .dtpicker-compValue').val(oFormattedDate.month);
+ else
+ $(oDTP.element).find('.month .dtpicker-compValue').val(oFormattedDate.monthShort);
+ }
+ else
+ $(oDTP.element).find('.month .dtpicker-compValue').val(oFormattedDate.monthShort);
+
+ $(oDTP.element).find('.year .dtpicker-compValue').val(oFormattedDate.yyyy);
+
+ if(oDTP.settings.formatHumanDate)
+ {
+ oDate = $.extend(oDate, oFormattedDate);
+ }
+ else
+ {
+ if(oDTP.oData.bDateMode && (oDTP.oData.bArrMatchFormat[4] || oDTP.oData.bArrMatchFormat[5] || oDTP.oData.bArrMatchFormat[6]))
+ {
+ if(oDTP.oData.bArrMatchFormat[4])
+ sDate = oFormattedDate.MM + oDTP.settings.monthYearSeparator + oFormattedDate.yyyy;
+ else if(oDTP.oData.bArrMatchFormat[5])
+ sDate = oFormattedDate.monthShort + oDTP.settings.monthYearSeparator + oFormattedDate.yyyy;
+ else if(oDTP.oData.bArrMatchFormat[6])
+ sDate = oFormattedDate.month + oDTP.settings.monthYearSeparator + oFormattedDate.yyyy;
+ }
+ else
+ sDate = oFormattedDate.dayShort + ", " + oFormattedDate.month + " " + oFormattedDate.dd + ", " + oFormattedDate.yyyy;
+ }
+ }
+ if(oDTP.oData.bTimeMode || oDTP.oData.bDateTimeMode)
+ {
+ oFormattedTime = oDTP._formatTime();
+
+ if(oDTP.oData.bIs12Hour)
+ $(oDTP.element).find('.meridiem .dtpicker-compValue').val(oDTP.oData.sCurrentMeridiem);
+ $(oDTP.element).find('.hour .dtpicker-compValue').val(oFormattedTime.hour);
+ $(oDTP.element).find('.minutes .dtpicker-compValue').val(oFormattedTime.mm);
+ $(oDTP.element).find('.seconds .dtpicker-compValue').val(oFormattedTime.ss);
+
+ if(oDTP.settings.formatHumanDate)
+ {
+ oDate = $.extend(oDate, oFormattedTime);
+ }
+ else
+ {
+ var bShowSecondsTime = (oDTP.oData.bTimeMode && (
+ oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[1])),
+
+ bShowSecondsDateTime = (oDTP.oData.bDateTimeMode &&
+ (oDTP.oData.bArrMatchFormat[0] ||
+ oDTP.oData.bArrMatchFormat[1] ||
+ oDTP.oData.bArrMatchFormat[2] ||
+ oDTP.oData.bArrMatchFormat[3] ||
+ oDTP.oData.bArrMatchFormat[4] ||
+ oDTP.oData.bArrMatchFormat[5] ||
+ oDTP.oData.bArrMatchFormat[6] ||
+ oDTP.oData.bArrMatchFormat[7]));
+
+ if(bShowSecondsTime || bShowSecondsDateTime)
+ sTime = oFormattedTime.hour + oDTP.settings.timeSeparator + oFormattedTime.mm + oDTP.settings.timeSeparator + oFormattedTime.ss;
+ else
+ sTime = oFormattedTime.hour + oDTP.settings.timeSeparator + oFormattedTime.mm;
+
+ if(oDTP.oData.bIs12Hour)
+ sTime += oDTP.settings.timeMeridiemSeparator + oDTP.oData.sCurrentMeridiem;
+ }
+ }
+
+ if(oDTP.settings.formatHumanDate)
+ {
+ if(oDTP.oData.bDateTimeMode)
+ sFormat = oDTP.oData.sDateFormat;
+ else if(oDTP.oData.bDateMode)
+ sFormat = oDTP.oData.sTimeFormat;
+ else if(oDTP.oData.bTimeMode)
+ sFormat = oDTP.oData.sDateTimeFormat;
+
+ sDateTime = oDTP.settings.formatHumanDate.call(oDTP, oDate, oDTP.settings.mode, sFormat);
+ }
+ else
+ {
+ if(oDTP.oData.bDateTimeMode)
+ sDateTime = sDate + oDTP.settings.dateTimeSeparator + sTime;
+ else if(oDTP.oData.bDateMode)
+ sDateTime = sDate;
+ else if(oDTP.oData.bTimeMode)
+ sDateTime = sTime;
+ }
+
+ $(oDTP.element).find('.dtpicker-value').html(sDateTime);
+
+ oDTP._setButtons();
+ },
+
+ _formatDate: function(oDTVP)
+ {
+ var oDTP = this;
+ var oDTV = {},
+ sDay, sYear,
+ iMonth, sMonth, sMonthShort, sMonthFull,
+ iDayOfTheWeek, sDayOfTheWeek, sDayOfTheWeekFull;
+
+ if($.cf._isValid(oDTVP))
+ oDTV = $.extend({}, oDTVP);
+ else
+ {
+ oDTV.iCurrentDay = oDTP.oData.iCurrentDay;
+ oDTV.iCurrentMonth = oDTP.oData.iCurrentMonth;
+ oDTV.iCurrentYear = oDTP.oData.iCurrentYear;
+ oDTV.iCurrentWeekday = oDTP.oData.iCurrentWeekday;
+ }
+
+ sDay = oDTV.iCurrentDay;
+ sDay = (sDay < 10) ? ("0" + sDay) : sDay;
+ iMonth = oDTV.iCurrentMonth;
+ sMonth = oDTV.iCurrentMonth + 1;
+ sMonth = (sMonth < 10) ? ("0" + sMonth) : sMonth;
+ sMonthShort = oDTP.settings.shortMonthNames[iMonth];
+ sMonthFull = oDTP.settings.fullMonthNames[iMonth];
+ sYear = oDTV.iCurrentYear;
+ iDayOfTheWeek = oDTV.iCurrentWeekday;
+ sDayOfTheWeek = oDTP.settings.shortDayNames[iDayOfTheWeek];
+ sDayOfTheWeekFull = oDTP.settings.fullDayNames[iDayOfTheWeek];
+
+ return {
+ "dd": sDay,
+ "MM": sMonth,
+ "monthShort": sMonthShort,
+ "month": sMonthFull,
+ "yyyy": sYear,
+ "dayShort": sDayOfTheWeek,
+ "day": sDayOfTheWeekFull
+ };
+ },
+
+ _formatTime: function(oDTVP)
+ {
+ var oDTP = this;
+ var oDTV = {},
+ iHour24, sHour24, iHour12, sHour12, sHour,
+ sMinutes, sSeconds;
+
+ if($.cf._isValid(oDTVP))
+ oDTV = $.extend({}, oDTVP);
+ else
+ {
+ oDTV.iCurrentHour = oDTP.oData.iCurrentHour;
+ oDTV.iCurrentMinutes = oDTP.oData.iCurrentMinutes;
+ oDTV.iCurrentSeconds = oDTP.oData.iCurrentSeconds;
+ oDTV.sCurrentMeridiem = oDTP.oData.sCurrentMeridiem;
+ }
+
+ iHour24 = oDTV.iCurrentHour;
+ sHour24 = (iHour24 < 10) ? ("0" + iHour24) : iHour24;
+ sHour = sHour24;
+
+ iHour12 = oDTV.iCurrentHour;
+ if(iHour12 > 12)
+ iHour12 -= 12;
+ if(sHour === "00")
+ iHour12 = 12;
+ sHour12 = (iHour12 < 10) ? ("0" + iHour12) : iHour12;
+ if(oDTP.oData.bIs12Hour)
+ sHour = sHour12;
+
+ sMinutes = oDTV.iCurrentMinutes;
+ sMinutes = (sMinutes < 10) ? ("0" + sMinutes) : sMinutes;
+ sSeconds = oDTV.iCurrentSeconds;
+ sSeconds = (sSeconds < 10) ? ("0" + sSeconds) : sSeconds;
+
+ return {
+ "H": iHour24,
+ "HH": sHour24,
+ "h": iHour12,
+ "hh": sHour12,
+ "hour": sHour,
+ "m": oDTV.iCurrentMinutes,
+ "mm": sMinutes,
+ "s": oDTV.iCurrentSeconds,
+ "ss": sSeconds,
+ "ME": oDTV.sCurrentMeridiem
+ };
+ },
-})( jQuery, window, document );
+ _setButtons: function()
+ {
+ var oDTP = this;
+ $(oDTP.element).find('.dtpicker-compButton').removeClass("dtpicker-compButtonDisable").addClass('dtpicker-compButtonEnable');
+
+ var dTempDate;
+ if(oDTP.oData.dMaxValue !== null)
+ {
+ if(oDTP.oData.bTimeMode)
+ {
+ // Decrement Hour
+ if((oDTP.oData.iCurrentHour + 1) > oDTP.oData.dMaxValue.getHours() || ((oDTP.oData.iCurrentHour + 1) === oDTP.oData.dMaxValue.getHours() && oDTP.oData.iCurrentMinutes > oDTP.oData.dMaxValue.getMinutes()))
+ $(oDTP.element).find(".hour .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Minutes
+ if(oDTP.oData.iCurrentHour >= oDTP.oData.dMaxValue.getHours() && (oDTP.oData.iCurrentMinutes + 1) > oDTP.oData.dMaxValue.getMinutes())
+ $(oDTP.element).find(".minutes .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ else
+ {
+ // Increment Day
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, (oDTP.oData.iCurrentDay + 1), oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".day .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Increment Month
+ dTempDate = new Date(oDTP.oData.iCurrentYear, (oDTP.oData.iCurrentMonth + 1), oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".month .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Increment Year
+ dTempDate = new Date((oDTP.oData.iCurrentYear + 1), oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".year .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Increment Hour
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, (oDTP.oData.iCurrentHour + 1), oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".hour .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Increment Minutes
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, (oDTP.oData.iCurrentMinutes + 1), oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".minutes .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ // Increment Seconds
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, (oDTP.oData.iCurrentSeconds + 1), 0);
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".seconds .increment").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ }
+
+ if(oDTP.oData.dMinValue !== null)
+ {
+ if(oDTP.oData.bTimeMode)
+ {
+ // Decrement Hour
+ if((oDTP.oData.iCurrentHour - 1) < oDTP.oData.dMinValue.getHours() || ((oDTP.oData.iCurrentHour - 1) === oDTP.oData.dMinValue.getHours() && oDTP.oData.iCurrentMinutes < oDTP.oData.dMinValue.getMinutes()))
+ $(oDTP.element).find(".hour .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Minutes
+ if(oDTP.oData.iCurrentHour <= oDTP.oData.dMinValue.getHours() && (oDTP.oData.iCurrentMinutes - 1) < oDTP.oData.dMinValue.getMinutes())
+ $(oDTP.element).find(".minutes .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ else
+ {
+ // Decrement Day
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, (oDTP.oData.iCurrentDay - 1), oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".day .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Month
+ dTempDate = new Date(oDTP.oData.iCurrentYear, (oDTP.oData.iCurrentMonth - 1), oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".month .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Year
+ dTempDate = new Date((oDTP.oData.iCurrentYear - 1), oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".year .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Hour
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, (oDTP.oData.iCurrentHour - 1), oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".hour .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+
+ // Decrement Minutes
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, (oDTP.oData.iCurrentMinutes - 1), oDTP.oData.iCurrentSeconds, 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".minutes .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
-;/*! ========================================================================
- * Copyright 2014 Dave Earley
- * ========================================================================
- *
- * dave@earley.email
- *
- * All backend related JS is contained in this file.
- *
- * ======================================================================== */
+ // Decrement Seconds
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, oDTP.oData.iCurrentHour, oDTP.oData.iCurrentMinutes, (oDTP.oData.iCurrentSeconds - 1), 0);
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".seconds .decrement").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ }
+
+ if(oDTP.oData.bIs12Hour)
+ {
+ var iTempHour, iTempMinutes;
+ if(oDTP.oData.dMaxValue !== null || oDTP.oData.dMinValue !== null)
+ {
+ iTempHour = oDTP.oData.iCurrentHour;
+ if($.cf._compare(oDTP.oData.sCurrentMeridiem, "AM"))
+ iTempHour += 12;
+ else if($.cf._compare(oDTP.oData.sCurrentMeridiem, "PM"))
+ iTempHour -= 12;
+
+ dTempDate = new Date(oDTP.oData.iCurrentYear, oDTP.oData.iCurrentMonth, oDTP.oData.iCurrentDay, iTempHour, oDTP.oData.iCurrentMinutes, oDTP.oData.iCurrentSeconds, 0);
+
+ if(oDTP.oData.dMaxValue !== null)
+ {
+ if(oDTP.oData.bTimeMode)
+ {
+ iTempMinutes = oDTP.oData.iCurrentMinutes;
+ if(iTempHour > oDTP.oData.dMaxValue.getHours() || (iTempHour === oDTP.oData.dMaxValue.getHours() && iTempMinutes > oDTP.oData.dMaxValue.getMinutes()))
+ $(oDTP.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ else
+ {
+ if(dTempDate.getTime() > oDTP.oData.dMaxValue.getTime())
+ $(oDTP.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ }
+
+ if(oDTP.oData.dMinValue !== null)
+ {
+ if(oDTP.oData.bTimeMode)
+ {
+ iTempMinutes = oDTP.oData.iCurrentMinutes;
+ if(iTempHour < oDTP.oData.dMinValue.getHours() || (iTempHour === oDTP.oData.dMinValue.getHours() && iTempMinutes < oDTP.oData.dMinValue.getMinutes()))
+ $(oDTP.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ else
+ {
+ if(dTempDate.getTime() < oDTP.oData.dMinValue.getTime())
+ $(oDTP.element).find(".meridiem .dtpicker-compButton").removeClass("dtpicker-compButtonEnable").addClass("dtpicker-compButtonDisable");
+ }
+ }
+ }
+ }
+ },
+
+ // Public Method
+ setIsPopup: function(bIsPopup)
+ {
+ var oDTP = this;
+ oDTP.settings.isPopup = bIsPopup;
+
+ if($(oDTP.element).css("display") !== "none")
+ oDTP._hidePicker(0);
+
+ if(oDTP.settings.isPopup)
+ {
+ $(oDTP.element).addClass("dtpicker-mobile");
+
+ $(oDTP.element).css({position: "fixed", top: 0, left: 0, width: "100%", height: "100%"});
+ }
+ else
+ {
+ $(oDTP.element).removeClass("dtpicker-mobile");
+
+ if(oDTP.oData.oInputElement !== null)
+ {
+ var iElemTop = $(oDTP.oData.oInputElement).offset().top + $(oDTP.oData.oInputElement).outerHeight(),
+ iElemLeft = $(oDTP.oData.oInputElement).offset().left,
+ iElemWidth = $(oDTP.oData.oInputElement).outerWidth();
+
+ $(oDTP.element).css({position: "absolute", top: iElemTop, left: iElemLeft, width: iElemWidth, height: "auto"});
+ }
+ }
+ },
+
+ _compareDates: function(dDate1, dDate2)
+ {
+ dDate1 = new Date(dDate1.getDate(), dDate1.getMonth(), dDate1.getFullYear(), 0, 0, 0, 0);
+ dDate1 = new Date(dDate1.getDate(), dDate1.getMonth(), dDate1.getFullYear(), 0, 0, 0, 0);
+ var iDateDiff = (dDate1.getTime() - dDate2.getTime()) / 864E5;
+ return (iDateDiff === 0) ? iDateDiff: (iDateDiff/Math.abs(iDateDiff));
+ },
+
+ _compareTime: function(dTime1, dTime2)
+ {
+ var iTimeMatch = 0;
+ if((dTime1.getHours() === dTime2.getHours()) && (dTime1.getMinutes() === dTime2.getMinutes()))
+ iTimeMatch = 1; // 1 = Exact Match
+ else
+ {
+ if(dTime1.getHours() < dTime2.getHours())
+ iTimeMatch = 2; // time1 < time2
+ else if(dTime1.getHours() > dTime2.getHours())
+ iTimeMatch = 3; // time1 > time2
+ else if(dTime1.getHours() === dTime2.getHours())
+ {
+ if(dTime1.getMinutes() < dTime2.getMinutes())
+ iTimeMatch = 2; // time1 < time2
+ else if(dTime1.getMinutes() > dTime2.getMinutes())
+ iTimeMatch = 3; // time1 > time2
+ }
+ }
+ return iTimeMatch;
+ },
+
+ _compareDateTime: function(dDate1, dDate2)
+ {
+ var iDateTimeDiff = (dDate1.getTime() - dDate2.getTime()) / 6E4;
+ return (iDateTimeDiff === 0) ? iDateTimeDiff: (iDateTimeDiff/Math.abs(iDateTimeDiff));
+ },
+ _determineMeridiemFromHourAndMinutes: function(iHour, iMinutes)
+ {
+ if(iHour > 12)
+ {
+ return "PM";
+ }
+ else if(iHour === 12 && iMinutes >= 0)
+ {
+ return "PM";
+ }
+ else
+ {
+ return "AM";
+ }
+ },
+
+ // Public Method
+ setLanguage: function(sLanguage)
+ {
+ var oDTP = this;
+
+ oDTP.settings = $.extend({}, $.DateTimePicker.defaults, $.DateTimePicker.i18n[sLanguage], oDTP.options);
+
+ oDTP._setDateFormatArray(); // Set DateFormatArray
+ oDTP._setTimeFormatArray(); // Set TimeFormatArray
+ oDTP._setDateTimeFormatArray(); // Set DateTimeFormatArray
+
+ return oDTP;
+ }
+
+ };
+
+}));
+
+;
window.Attendize = {
DateFormat: 'dd-MM-yyyy',
@@ -7740,8 +7970,6 @@ $(function () {
success: function (data) {
hideMessage();
- //history.pushState({}, '', window.location + '#' + modalId);
-
$('body').append(data);
var $modal = $('#' + modalId);
diff --git a/public/assets/stylesheet/application.css b/public/assets/stylesheet/application.css
index c4a6469b..9dfc2541 100644
--- a/public/assets/stylesheet/application.css
+++ b/public/assets/stylesheet/application.css
@@ -93,56 +93,15 @@ body {
opacity: 0.7;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
}
-/*
- ------------------------- jQuery DateTimePicker v0.1.1 ----------------------------
-
- https://github.com/CuriousSolutions/DateTimePicker
-
-*/
+/* -----------------------------------------------------------------------------
-.dtpicker-overlay{z-index:100;display:none;min-width:300px;background:rgba(0,0,0,0.2);font-size:70%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dtpicker-mobile{position:fixed;top:0;left:0;width:100%;height:100%}.dtpicker-overlay *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-ms-box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.dtpicker-bg{width:100%;height:100%;font-family:Arial}.dtpicker-cont{border:1px solid #ecf0f1}.dtpicker-mobile .dtpicker-cont{position:relative;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:0}.dtpicker-content{margin:0 auto;padding:1em 0;max-width:500px;background:#fff}.dtpicker-mobile .dtpicker-content{width:97%}.dtpicker-subcontent{position:relative}.dtpicker-header{margin:.2em 1em}.dtpicker-header .dtpicker-title{color:#2980b9;text-align:center;font-size:1.3em}.dtpicker-header .dtpicker-close{position:absolute;top:-0.7em;right:.3em;padding:.5em .5em 1em 1em;color:#ff3b30;font-size:1.5em;cursor:pointer}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em .2em;color:#ff3b30;text-align:center;font-size:1.4em}.dtpicker-components{overflow:hidden;margin:1em 1em;font-size:1.4em}.dtpicker-components *{margin:0;padding:0}.dtpicker-components .dtpicker-compOutline{display:inline-block;float:left}.dtpicker-comp2{width:50%}.dtpicker-comp3{width:33.3%}.dtpicker-comp5{width:20%}.dtpicker-comp6{width:16.66%}.dtpicker-components .dtpicker-comp{margin:2%;text-align:center}.dtpicker-components .dtpicker-comp>*{display:block;height:30px;color:#2980b9;text-align:center;line-height:30px}.dtpicker-components .dtpicker-compButtonEnable{opacity:1}.dtpicker-components .dtpicker-compButtonDisable{opacity:.5}.dtpicker-components .dtpicker-compButton{background:#fff;font-size:140%;cursor:pointer}.dtpicker-components .dtpicker-compValue{margin:.4em 0;width:100%;border:0;background:#fff;font-size:100%;-webkit-appearance:none}.dtpicker-overlay .dtpicker-compValue:focus{outline:0;background:#f2fcff}.dtpicker-buttonCont{overflow:hidden;margin:.2em 1em}.dtpicker-buttonCont .dtpicker-button{padding:.6em 0;width:47%;background:#ff3b30;color:#fff;text-align:center;font-size:1.5em;cursor:pointer}.dtpicker-buttonCont .dtpicker-buttonSet{float:left}.dtpicker-buttonCont .dtpicker-buttonClear{float:right}/*
- * Bootstrap TouchSpin - v3.0.1
- * A mobile and touch friendly input spinner component for Bootstrap 3.
- * http://www.virtuosoft.eu/code/bootstrap-touchspin/
- *
- * Made by István Ujj-Mészáros
- * Under Apache License v2.0 License
- */
+ jQuery DateTimePicker - Responsive flat design jQuery DateTime Picker plugin for Web & Mobile
+ Version 0.1.26
+ Copyright (c)2016 Curious Solutions LLP and Neha Kadam
+ http://curioussolutions.github.io/DateTimePicker
+ https://github.com/CuriousSolutions/DateTimePicker
-.bootstrap-touchspin .input-group-btn-vertical {
- position: relative;
- white-space: nowrap;
- width: 1%;
- vertical-align: middle;
- display: table-cell;
-}
+ ----------------------------------------------------------------------------- */
-.bootstrap-touchspin .input-group-btn-vertical > .btn {
- display: block;
- float: none;
- width: 100%;
- max-width: 100%;
- padding: 8px 10px;
- margin-left: -1px;
- position: relative;
-}
-.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
- border-radius: 0;
- border-top-right-radius: 4px;
-}
-
-.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
- margin-top: -2px;
- border-radius: 0;
- border-bottom-right-radius: 4px;
-}
-
-.bootstrap-touchspin .input-group-btn-vertical i {
- position: absolute;
- top: 3px;
- left: 5px;
- font-size: 9px;
- font-weight: normal;
-}
-.page-title .title .organiser_logo{position:absolute;height:45px;right:20px;top:5px;bottom:5px}.page-title .title .organiser_logo img{max-height:45px}.nav li.nav-button a span{padding:10px;background-color:#037c9c}.event.panel{margin-top:10px}.event .event-date{border:1px solid #fff;padding-bottom:9px;padding-top:7px;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,0.1);width:46px;position:absolute;background-color:#fff;top:-13px;border-color:#0384a6;color:#666}.event .event-date .day{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:500;margin:-2px auto -6px auto}.event .event-date .month{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;margin:-2px auto 0 auto}.event .event-meta{margin:0;padding:0;margin-left:60px;height:55px;margin-top:10px;color:#fff}.event .event-meta li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;list-style:none;font-size:12px}.event .event-meta li a{color:#fff}.event .event-meta li.event-title a{font-size:16px}.event .event-meta li.event-organiser a{font-weight:bold}.event .panel-title{height:60px;padding:10px}.event .panel-title a{margin:0;height:40px;display:table-cell;vertical-align:middle;text-indent:50px}.stat-box{padding:20px;background-color:#0398bf;color:#fff;text-align:center;margin-bottom:10px;border-bottom:4px solid rgba(0,0,0,0.2)}.stat-box h3{margin-bottom:5px;margin-top:0;font-weight:200}.stat-box span{text-transform:uppercase;font-weight:lighter;color:#d0f0fe}.stat-box:nth-child(odd){background-color:#0384a6}.top_of_page_alert{border:none;margin:0;text-align:center;border-bottom:5px solid}.v-align-text{text-align:center;position:relative;top:50%;-ms-transform:translateY(-50%);-wekbit-transform:translateY(-50%);transform:translateY(-50%)}@media (max-width:992px){.page-header>[class*=" col-"],.page-header>[class^="col-"]{margin-bottom:10px}}@media (max-width:480px){.btn-group-responsive{margin-bottom:-10px;float:none !important;display:block !important}.btn-group-responsive .btn{width:100%;padding-left:0;padding-right:0;margin-bottom:10px}.btn-group-responsive .pull-left,.btn-group-responsive .pull-right{float:none !important}}label.required::after{content:'*';color:red;padding-left:3px;font-size:9px}.hasDatepicker[disabled],.hasDatepicker[readonly],fieldset[disabled] .hasDatepicker{cursor:pointer !important;background-color:#fff !important;opacity:1}.more-options{display:none}.col-sort{color:#fff}.col-sort :hover{color:#fff}.pac-container{z-index:9999}.dtpicker-overlay{z-index:9999}.dtpicker-close{display:none}.dtpicker-header .dtpicker-title{color:#afafaf;text-align:center;font-size:18px;font-weight:normal}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em .2em;color:#0384a6;text-align:center;font-size:1.4em}.dtpicker-buttonCont .dtpicker-button{background:#0384a6;border-radius:0}.dtpicker-content{border-radius:0}.sidebar-open-ltr body{overflow-x:hidden}.order_options{margin:10px 0;padding:5px 15px;margin-top:0}.order_options .event_count{font-weight:bold;color:#777;line-height:30px}.well{background-color:#f9f9f9;box-shadow:none}.input-group-btn select{width:115px !important;border-left:0;font-size:12px}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:alpha(opacity=0);opacity:0;background:red;cursor:inherit;display:block}input[readonly]{background-color:white !important;cursor:text !important}
\ No newline at end of file
+.dtpicker-overlay{z-index:2000;display:none;min-width:300px;background:rgba(0,0,0,.2);font-size:12px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dtpicker-mobile{position:fixed;top:0;left:0;width:100%;height:100%}.dtpicker-overlay *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-ms-box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.dtpicker-bg{width:100%;height:100%;font-family:Arial}.dtpicker-cont{border:1px solid #ECF0F1}.dtpicker-mobile .dtpicker-cont{position:relative;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:0}.dtpicker-content{margin:0 auto;padding:1em 0;max-width:500px;background:#fff}.dtpicker-mobile .dtpicker-content{width:97%}.dtpicker-subcontent{position:relative}.dtpicker-header{margin:.2em 1em}.dtpicker-header .dtpicker-title{color:#2980B9;text-align:center;font-size:1.1em}.dtpicker-header .dtpicker-close{position:absolute;top:-.7em;right:.3em;padding:.5em .5em 1em 1em;color:#FF3B30;font-size:1.5em;cursor:pointer}.dtpicker-header .dtpicker-close:hover{color:#FF3B30}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em;color:#FF3B30;text-align:center;font-size:1.4em}.dtpicker-components{overflow:hidden;margin:1em;font-size:1.3em}.dtpicker-components *{margin:0;padding:0}.dtpicker-components .dtpicker-compOutline{display:inline-block;float:left}.dtpicker-comp2{width:50%}.dtpicker-comp3{width:33.3%}.dtpicker-comp4{width:25%}.dtpicker-comp5{width:20%}.dtpicker-comp6{width:16.66%}.dtpicker-comp7{width:14.285%}.dtpicker-components .dtpicker-comp{margin:2%;text-align:center}.dtpicker-components .dtpicker-comp>*{display:block;height:30px;color:#2980B9;text-align:center;line-height:30px}.dtpicker-components .dtpicker-comp>:hover{color:#2980B9}.dtpicker-components .dtpicker-compButtonEnable{opacity:1}.dtpicker-components .dtpicker-compButtonDisable{opacity:.5}.dtpicker-components .dtpicker-compButton{background:#FFF;font-size:140%;cursor:pointer}.dtpicker-components .dtpicker-compValue{margin:.4em 0;width:100%;border:0;background:#FFF;font-size:100%;-webkit-appearance:none;-moz-appearance:none}.dtpicker-overlay .dtpicker-compValue:focus{outline:0;background:#F2FCFF}.dtpicker-buttonCont{overflow:hidden;margin:.2em 1em}.dtpicker-buttonCont .dtpicker-button{display:block;padding:.6em 0;width:47%;background:#FF3B30;color:#FFF;text-align:center;font-size:1.3em;cursor:pointer}.dtpicker-buttonCont .dtpicker-button:hover{color:#FFF}.dtpicker-singleButton .dtpicker-button{margin:.2em auto}.dtpicker-twoButtons .dtpicker-buttonSet{float:left}.dtpicker-twoButtons .dtpicker-buttonClear{float:right}.page-title .title .organiser_logo{position:absolute;height:45px;right:20px;top:5px;bottom:5px}.page-title .title .organiser_logo img{max-height:45px}.nav li.nav-button a span{padding:10px;background-color:#037c9c}.event.panel{margin-top:10px}.event .event-date{border:1px solid #fff;padding-bottom:9px;padding-top:7px;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,0.1);width:46px;position:absolute;background-color:#fff;top:-13px;border-color:#0384a6;color:#666}.event .event-date .day{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:500;margin:-2px auto -6px auto}.event .event-date .month{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;margin:-2px auto 0 auto}.event .event-meta{margin:0;padding:0;margin-left:60px;height:55px;margin-top:10px;color:#fff}.event .event-meta li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;list-style:none;font-size:12px}.event .event-meta li a{color:#fff}.event .event-meta li.event-title a{font-size:16px}.event .event-meta li.event-organiser a{font-weight:bold}.event .panel-title{height:60px;padding:10px}.event .panel-title a{margin:0;height:40px;display:table-cell;vertical-align:middle;text-indent:50px}.stat-box{padding:20px;background-color:#0398bf;color:#fff;text-align:center;margin-bottom:10px;border-bottom:4px solid rgba(0,0,0,0.2)}.stat-box h3{margin-bottom:5px;margin-top:0;font-weight:200}.stat-box span{text-transform:uppercase;font-weight:lighter;color:#d0f0fe}.stat-box:nth-child(odd){background-color:#0384a6}.top_of_page_alert{border:none;margin:0;text-align:center;border-bottom:5px solid}.v-align-text{text-align:center;position:relative;top:50%;-ms-transform:translateY(-50%);-wekbit-transform:translateY(-50%);transform:translateY(-50%)}@media (max-width:992px){.page-header>[class*=" col-"],.page-header>[class^="col-"]{margin-bottom:10px}}@media (max-width:480px){.btn-group-responsive{margin-bottom:-10px;float:none !important;display:block !important}.btn-group-responsive .btn{width:100%;padding-left:0;padding-right:0;margin-bottom:10px}.btn-group-responsive .pull-left,.btn-group-responsive .pull-right{float:none !important}}label.required::after{content:'*';color:red;padding-left:3px;font-size:9px}.hasDatepicker[disabled],.hasDatepicker[readonly],fieldset[disabled] .hasDatepicker{cursor:pointer !important;background-color:#fff !important;opacity:1}.more-options{display:none}.col-sort{color:#fff}.col-sort :hover{color:#fff}.pac-container{z-index:9999}.dtpicker-overlay{z-index:9999}.dtpicker-close{display:none}.dtpicker-header .dtpicker-title{color:#afafaf;text-align:center;font-size:18px;font-weight:normal}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em .2em;color:#0384a6;text-align:center;font-size:1.4em}.dtpicker-buttonCont .dtpicker-button{background:#0384a6;border-radius:0}.dtpicker-content{border-radius:0}.sidebar-open-ltr body{overflow-x:hidden}.order_options{margin:10px 0;padding:5px 15px;margin-top:0}.order_options .event_count{font-weight:bold;color:#777;line-height:30px}.well{background-color:#f9f9f9;box-shadow:none}.input-group-btn select{width:115px !important;border-left:0;font-size:12px}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:alpha(opacity=0);opacity:0;background:red;cursor:inherit;display:block}input[readonly]{background-color:white !important;cursor:text !important}
\ No newline at end of file
diff --git a/public/assets/stylesheet/application.less b/public/assets/stylesheet/application.less
index 42c623dd..1b513c71 100644
--- a/public/assets/stylesheet/application.less
+++ b/public/assets/stylesheet/application.less
@@ -34,7 +34,6 @@
@import (inline) "../../vendor/RRSSB/css/rrssb.css";
@import (inline) "../../vendor/humane-js/themes/flatty.css";
@import (inline) "../../vendor/curioussolutions-datetimepicker/dist/DateTimePicker.min.css";
-@import (inline) "../../vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.css";
@import "custom.less";
diff --git a/resources/views/ManageOrganiser/Partials/EventCreateAndEditJS.blade.php b/resources/views/ManageOrganiser/Partials/EventCreateAndEditJS.blade.php
deleted file mode 100644
index 4b5d3992..00000000
--- a/resources/views/ManageOrganiser/Partials/EventCreateAndEditJS.blade.php
+++ /dev/null
@@ -1,49 +0,0 @@
-{!! HTML::script('vendor/simplemde/dist/simplemde.min.js') !!}
-{!! HTML::style('vendor/simplemde/dist/simplemde.min.css') !!}
-
-
-
-
-
\ No newline at end of file
diff --git a/resources/views/Shared/Partials/FacebookSdk.blade.php b/resources/views/Shared/Partials/FacebookSdk.blade.php
index 9bafd551..13e93ff5 100644
--- a/resources/views/Shared/Partials/FacebookSdk.blade.php
+++ b/resources/views/Shared/Partials/FacebookSdk.blade.php
@@ -1,20 +1,20 @@
\ No newline at end of file
diff --git a/resources/views/Shared/Partials/GlobalFooterJS.blade.php b/resources/views/Shared/Partials/GlobalFooterJS.blade.php
index 229c20ad..3d49aaad 100644
--- a/resources/views/Shared/Partials/GlobalFooterJS.blade.php
+++ b/resources/views/Shared/Partials/GlobalFooterJS.blade.php
@@ -14,7 +14,7 @@
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
- ga('create', 'UA-29387038-3', 'auto');
+ ga('create', '{{env('GOOGLE_ANALYTICS_ID')}}', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');