TestHelpers.datepicker = { addMonths: function(date, offset) { var maxDay = 32 - new Date(date.getFullYear(), date.getMonth() + offset, 32).getDate(); date.setDate(Math.min(date.getDate(), maxDay)); date.setMonth(date.getMonth() + offset); return date; }, equalsDate: function(d1, d2, message) { if (!d1 || !d2) { ok(false, message + " - missing date"); return; } d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate()); d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate()); equal(d1.toString(), d2.toString(), message); }, init: function(id, options) { $.datepicker.setDefaults($.datepicker.regional[""]); return $(id).datepicker($.extend({showAnim: ""}, options || {})); }, onFocus: function( element, onFocus ) { var fn = function( event ){ if( !event.originalEvent ) { return; } element.unbind( "focus", fn ); onFocus(); }; element.bind( "focus", fn )[ 0 ].focus(); }, PROP_NAME: "datepicker" };