1 /* staff client integration functions */
2 function debug(msg){dump(msg+'\n')}
4 function attachEvt(scope, name, action) {
5 if(!eventCache[scope]) eventCache[scope] = {};
6 if(!eventCache[scope][name]) eventCache[scope][name] = [];
7 eventCache[scope][name].push(action);
9 function runEvt(scope, name) {
10 debug('running event '+scope+':'+name);
11 var args = Array.prototype.slice.call(arguments).slice(2);
12 if(eventCache[scope]) {
13 var evt = eventCache[scope][name];
14 for(var i in evt) {evt[i].apply(evt[i], args);}
17 function staff_hold_usr_input_disabler(input) {
18 document.getElementById("hold_usr_input").disabled =
19 Boolean(Number(input.value));
21 function staff_hold_usr_prepop() {
22 if (xulG && xulG.patron_barcode) {
23 document.getElementById("hold_usr_input").value = xulG.patron_barcode;
24 document.getElementById("hold_usr_input").disabled = false;
25 document.getElementById("hold_usr_is_requestor_not").checked = true;
28 document.getElementById("hold_usr_is_requestor").parentNode;
29 kill_this.parentNode.removeChild(kill_this);
32 window.onload = function() {
33 // record details page events
34 var rec = location.href.match(/\/opac\/record\/(\d+)/);
35 if(rec && rec[1]) { runEvt('rdetail', 'recordRetrieved', rec[1]); }
37 if (document.getElementById("hold_usr_input"))
38 staff_hold_usr_prepop();
40 // fire other events the staff client is expecting...