/* @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('

Error message

'); } 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);