};
}
+$('holds_frozen_thaw_input').onkeyup =
+ function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');}
+
function _holdsHandleStaffMe() {
holdArgs.recipient = G.user;
holdsDrawEditor();
hold.frozen('t');
unHideMe($('hold_frozen_thaw_row'));
thawDate = $('holds_frozen_thaw_input').value;
- if(thawDate)
- hold.thaw_date(thawDate);
- else
+ if(thawDate) {
+ if(holdsVerifyThawDate(thawDate)) {
+ hold.thaw_date(thawDate);
+ } else {
+ /* XXX */
+ }
+ } else {
hold.thaw_date(null);
+ }
}
//check for alternate hold formats
}
+/* verify that the thaw date is valid and after today */
+function holdsVerifyThawDate(thawDate) {
+ thawDate = Date.parseIso8601(thawDate);
+ if(thawDate) {
+ var today = new Date();
+ today = new Date(today.getFullYear(), today.getMonth(), today.getDate())
+ if(thawDate > today)
+ return thawDate.iso8601Format('YMD', false, false, true);
+ }
+ return null;
+}
+
+
+function holdsVerifyThawDateUI(element) {
+ value = $(element).value;
+
+ if(!value) {
+ removeCSSClass($(element), 'invalid_field');
+ return;
+ }
+
+ if(!holdsVerifyThawDate(value)) {
+ addCSSClass($(element), 'invalid_field');
+ } else {
+ removeCSSClass($(element), 'invalid_field');
+ }
+}
+
function myOPACInit() {
if(!(G.user && G.user.session)) initLogin();
else myOPACChangePage( "summary" );
+
+ $('myopac_holds_thaw_date_input').onkeyup =
+ function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); }
}
function myopacReload() {
function myopacApplyThawDate() {
var dateString = $('myopac_holds_thaw_date_input').value;
if(dateString) {
- dateString = (dateString == null) ? null :
- Date.parseIso8601(dateString).iso8601Format('YMDHM', false, false, true);
+ dateString = holdsVerifyThawDate(dateString);
+ if(!dateString) return;
} else {
dateString = null;
}
<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/calendar.js'></script>
<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/lang/calendar-en.js'></script>
<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_JS_BASE"-->/jscalendar/calendar-setup.js'></script>
+<script language='javascript' type='text/javascript' src='<!--#echo var="OILS_OPAC_JS_HOST"-->/common/js/DP_DateExtensions.js'></script>
<div>
<div id='xulholds_box' class='hide_me canvas' style='margin-top: 6px;'>