function checkDate( dateToCheck, startDate, endDate ) { valid = true; if ( startDate && dateToCheck < startDate) { valid = false; } if ( endDate && dateToCheck > endDate) { valid = false; } return valid; } function checkDate( elementId, format, startDate, endDate, disabledDaysOfWeek, inValidDateMessage, startDateMessage, endDateMessage ) { var message = ''; var dateValue = $( '#' + elementId ).val(); var valid = true; if ( dateValue && dateValue != '' ) { var dateToCheck = Date.parseExact( dateValue, format ); if ( dateToCheck ) { if ( startDate && dateToCheck < startDate) { valid = false; message = message + inValidDateMessage + ' \'' + $( '#' + elementId ).val() + '\' ' + startDateMessage + ' \'' + startDate.toString( format ) + '\'.'; } if ( endDate && dateToCheck > endDate) { valid = false; message = message + inValidDateMessage + ' \'' + $( '#' + elementId ).val() + '\' ' + endDateMessage + ' \'' + endDate.toString( format ) + '\'.'; } if ( valid && disabledDaysOfWeek ) { for ( var i = 0; i < disabledDaysOfWeek.length; i++ ) { if ( dateToCheck.getDay() == disabledDaysOfWeek[i] ) { valid = false; message = message + inValidDateMessage + ' \'' + $( '#' + elementId ).val() + '\''; } } } } else { valid = false; message = message + inValidDateMessage + ' \'' + $( '#' + elementId ).val() + '\'.'; } } if ( valid ) { removeAlert( elementId + '_validationAlert' ); } else { removeAlert( elementId + '_validationAlert' ); addAlert( 'alert-error', message, elementId + '_validationAlert' ); } return valid; } function dateRange( range, format, beginDateElementId, endDateElementId, dateRangeElementId ) { if ( range ) { if ( range.toLowerCase() == 'today' ) { $( '#' + beginDateElementId ).val( Date.today().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().toString( format ) ); } else if ( range.toLowerCase() == 'this week' ) { $( '#' + beginDateElementId ).val( Date.sunday().toString( format ) ); $( '#' + endDateElementId ).val( Date.sunday().addDays( 7 ).toString( format ) ); } else if ( range.toLowerCase() == 'this month' ) { $( '#' + beginDateElementId ).val( Date.today().moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().moveToLastDayOfMonth().toString( format ) ); } else if ( range.toLowerCase() == 'this year' ) { $( '#' + beginDateElementId ).val( Date.january().moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.december().moveToLastDayOfMonth().toString( format ) ); } else if ( range.toLowerCase() == 'week to date' ) { $( '#' + beginDateElementId ).val( Date.sunday().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().toString( format ) ); } else if ( range.toLowerCase() == 'month to date' ) { $( '#' + beginDateElementId ).val( Date.today().moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().toString( format ) ); } else if ( range.toLowerCase() == 'year to date' ) { $( '#' + beginDateElementId ).val( Date.january().moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().toString( format ) ); } else if ( range.toLowerCase() == 'yesterday' ) { $( '#' + beginDateElementId ).val( Date.today().addDays( -1 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.today().addDays( -1 ).toString( format ) ); } else if ( range.toLowerCase() == 'last week' ) { $( '#' + beginDateElementId ).val( Date.sunday().addDays( -7 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.sunday().addDays( -1 ).toString( format ) ); } else if ( range.toLowerCase() == 'last month' ) { $( '#' + beginDateElementId ).val( Date.today().addMonths( -1 ).moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().addMonths( -1 ).moveToLastDayOfMonth().toString( format ) ); } else if ( range.toLowerCase() == 'last year' ) { $( '#' + beginDateElementId ).val( Date.january().moveToFirstDayOfMonth().addYears( -1 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.december().moveToLastDayOfMonth().addYears( -1 ).toString( format ) ); } else if ( range.toLowerCase() == 'tomorrow' ) { $( '#' + beginDateElementId ).val( Date.today().addDays( 1 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.today().addDays( 1 ).toString( format ) ); } else if ( range.toLowerCase() == 'next week' ) { $( '#' + beginDateElementId ).val( Date.sunday().addDays( 7 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.sunday().addDays( 13 ).toString( format ) ); } else if ( range.toLowerCase() == 'next month' ) { $( '#' + beginDateElementId ).val( Date.today().addMonths( 1 ).moveToFirstDayOfMonth().toString( format ) ); $( '#' + endDateElementId ).val( Date.today().addMonths( 1 ).moveToLastDayOfMonth().toString( format ) ); } else if ( range.toLowerCase() == 'next year' ) { $( '#' + beginDateElementId ).val( Date.january().moveToFirstDayOfMonth().addYears( 1 ).toString( format ) ); $( '#' + endDateElementId ).val( Date.december().moveToLastDayOfMonth().addYears( 1 ).toString( format ) ); } if ( dateRangeElementId ) { clearRange( dateRangeElementId ); selectRange( dateRangeElementId, range ); } } } function checkRange( format, startDateElementId, endDateElementId, changingElementId, message ) { var startDateValue = $( '#' + startDateElementId ).val(); var endDateValue = $( '#' + endDateElementId ).val(); if ( startDateValue && endDateValue ) { var startDateToCheck = Date.parseExact( startDateValue, format ); var endDateToCheck = Date.parseExact( endDateValue, format ); if ( startDateToCheck && endDateToCheck ) { if ( startDateToCheck > endDateToCheck ) { valid = false; removeAlert( startDateElementId + '_validationAlert' ); removeAlert( endDateElementId + '_validationAlert' ); if ( changingElementId == startDateElementId ) { $( '#' + endDateElementId ).val( '' ); } else { $( '#' + startDateElementId ).val( '' ); addAlert( 'alert-error', message, startDateElementId + '_validationAlert' ); } } } } } function clearRange( dateRangeElementId ) { $( '#' + dateRangeElementId ).val( '' ); $('a[id^="' + dateRangeElementId + '"]').css('font-weight','normal'); } function selectRange( dateRangeElementId, range ) { $( '#' + dateRangeElementId ).val( range.toLowerCase() ); if ( range && dateRangeElementId ) { var rangeAnchorId = dateRangeElementId + '_' + range.replace(/ /g,"_").toUpperCase(); $( '#' + rangeAnchorId ).css('font-weight','bold'); } } function getDate( dateElementId, format ) { var dateObject = null; var dateValue = $( '#' + dateElementId ).val(); if ( dateValue ) { dateObject = Date.parseExact( dateValue, format ); } return dateObject; } function getDay( dateElementId, format ) { var day = null; var dateObject = getDate( dateElementId, format ); if ( dateObject ) { day = dateObject.getDate(); } return day; } function getMonth( dateElementId, format ) { var month = null; var dateObject = getDate( dateElementId, format ); if ( dateObject ) { month = dateObject.getMonth() + 1; } return month; } function getYear( dateElementId, format ) { var year = null; var dateObject = getDate( dateElementId, format ); if ( dateObject ) { year = dateObject.getFullYear(); } return year; }