$(document).ready(function() { // Pickup date & time if (/Mobi/.test(navigator.userAgent)) { $('.datepicker').attr('type', 'date'); $('.timepicker').attr('type', 'time'); } else { $('.datepicker').pickadate({ format: 'dd mmmm yyyy', formatSubmit: 'yyyy-mm-dd', hiddenName: true, min: true, clear: '', }); $('.timepicker').pickatime({ format: 'HH:i', interval: 5, }); } // Validation $.validator.addMethod('checkTime', function(value, element) { var utc_offset = new Date().getTimezoneOffset() + SERVER_UTC_OFFSET; var pickup_date = $('#pickup_date').val(); var pickup_time = $('#pickup_time').val(); if (pickup_date && pickup_time) { _date = new Date(); pickup_date = new Date(pickup_date + ' ' + pickup_time); local_date = new Date(_date.getTime() + SERVER_UTC_OFFSET*60*60000 + _date.getTimezoneOffset()*60000); if (local_date.sameDate(pickup_date)) { if (pickup_date.getHours() < local_date.getHours() || pickup_date.getMinutes() <= local_date.getMinutes()) return false; } } return true; }, "Pickup time is in the past. Please enter correct time."); $('#_quote_form').validate({ onclick: false, onfocusout: false, onkeyup: false, rules: { from_date: 'required', from_time: 'required', to_date: 'required', to_time: 'required', }, submitHandler: function(form) { form.submit(); } }); // Show form after everything is set up $('#quote_form').show(); $('#pickup_time_hours, #pickup_time_minutes').trigger('change'); });