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 var sel = document.getElementById("pickup_lib");
24 for (var i = 0; i < sel.options.length; i++) {
25 if (sel.options[i].value == xulG.patron_home_ou) {
26 sel.selectedIndex = i;
30 document.getElementById("hold_usr_input").value = xulG.patron_barcode;
31 document.getElementById("hold_usr_input").disabled = false;
32 document.getElementById("hold_usr_is_requestor_not").checked = true;
35 document.getElementById("hold_usr_is_requestor").parentNode;
36 kill_this.parentNode.removeChild(kill_this);
39 window.onload = function() {
40 // record details page events
41 var rec = location.href.match(/\/opac\/record\/(\d+)/);
42 if(rec && rec[1]) { runEvt('rdetail', 'recordRetrieved', rec[1]); }
44 if (document.getElementById("hold_usr_input"))
45 staff_hold_usr_prepop();
47 // fire other events the staff client is expecting...