/*
@file
Defines the simple modal behavior
*/
(function ($) {
Drupal.behaviors.validates = {
attach: function(context, settings) {
var nodeType = Drupal.settings.event_popup.content_type;
nodeType = nodeType.replace('_', '-');
var formId = '#' + nodeType + '-node-form #edit-submit';
$( formId ).click(function () {
if ($("#display_error").length == 0) {
$('#event-calendar-node-form').prepend('');
}
var eventTitle = $( '#edit-title'),
startDate = $( '#edit-event-calendar-date-und-0-value-datepicker-popup-0' ),
endDate = $( '#edit-event-calendar-date-und-0-value2-datepicker-popup-0' ),
showEndDate = $( '#edit-event-calendar-date-und-0-show-todate'),
allFields = $( [] ).add( eventTitle ).add( startDate ).add( endDate ),
tips = $( '#cl' );
var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( eventTitle, "Event title", 1 );
if(showEndDate.attr('checked')) {
bValid = bValid && DateCompare( startDate, endDate );
}
if(!bValid) {
return false;
}
function updateTips( t ) {
tips
( '' + t + '' )
.addClass( "ui-state-highlight" );
setTimeout(function() {
tips.removeClass( "ui-state-highlight", 1500 );
}, 500 );
}
function checkLength( o, n, min ) {
if ( o.val().length < 1 ) {
o.addClass( "ui-state-error" );
updateTips( "Please enter event title");
return false;
} else {
return true;
}
}
function DateCompare(startDate, endDate) {
var str1 = startDate.val();
var str2 = endDate.val();
if (str1.trim() != '' && str2.trim() != '') {
var yr1 = parseInt(str1.substring(6, 10), 10);
var dt1 = parseInt(str1.substring(3, 5), 10);
var mon1 = parseInt(str1.substring(0, 2), 10);
var yr2 = parseInt(str2.substring(6, 10), 10);
var dt2 = parseInt(str2.substring(3, 5), 10);
var mon2 = parseInt(str2.substring(0, 2), 10);
var startDate1 = new Date(yr1, mon1, dt1);
var endDate1 = new Date(yr2, mon2, dt2);
if (startDate1 > endDate1) {
startDate.addClass( "ui-state-error" );
endDate.addClass( "ui-state-error" );
updateTips( "Please enter valid date");
return false;
}
}
return true;
}
});
}
};
})(jQuery);