in tapestry-framework/src/org/apache/tapestry/form/DatePicker.js [394:423]
this._calDiv.onkeydown = function (e) {
if (e == null) e = document.parentWindow.event;
var kc = e.keyCode != null ? e.keyCode : e.charCode;
if(kc == 13) {
var d = new Date(dp._currentDate).valueOf();
dp.setSelectedDate(d);
if (!dp._alwaysVisible && dp._hideOnSelect) {
dp.hide();
}
return false;
}
if (kc < 37 || kc > 40) return true;
var d = new Date(dp._currentDate).valueOf();
if (kc == 37) // left
d -= 24 * 60 * 60 * 1000;
else if (kc == 39) // right
d += 24 * 60 * 60 * 1000;
else if (kc == 38) // up
d -= 7 * 24 * 60 * 60 * 1000;
else if (kc == 40) // down
d += 7 * 24 * 60 * 60 * 1000;
dp.setCurrentDate(new Date(d));
return false;
}