]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_search_form.js
hookup menu for billing type
[Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_search_form.js
1 sdump('D_TRACE','Loading patron_search_form.js\n');
2
3 function patron_search_form_init(p) {
4         sdump('D_PATRON_SEARCH_FORM',"TESTING: patron_search_form.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_CONSTRUCTOR',arg_dump(arguments));
6
7         p.crazy_search_hash = {}; // hash[ field ] = { 'value' : ???, 'group' : ??? }
8
9         var search_button = p.node.getElementsByAttribute('name','button_search')[0];
10         var clear_button = p.node.getElementsByAttribute('name','button_clear')[0];
11
12         var nl = p.node.getElementsByTagName('textbox');
13         for (var i = 0; i < nl.length; i++) {
14                 nl[i].addEventListener(
15                         'change',
16                         function (ev) {
17                                 return patron_search_form_textbox_handler(
18                                         ev.target,
19                                         p.crazy_search_hash
20                                 ); 
21                         },false
22                 );
23                 nl[i].addEventListener(
24                         'keypress',
25                         function (ev) {
26                                 patron_search_form_textbox_handler( ev.target, p.crazy_search_hash );
27                                 if ((ev.keyCode == 13)||(ev.keyCode == 77)) search_button.doCommand();
28                         }, false
29                 );
30         }
31
32         p.register_search_callback = function (f) { search_button.addEventListener( 'command',f,false ); };
33
34         if (clear_button) {
35                 clear_button.addEventListener(
36                         'command',
37                         function (ev) {
38                                 var nl = p.node.getElementsByTagName('textbox');
39                                 for (var i = 0; i < nl.length; i++) 
40                                         nl[i].value = '';
41                                 p.crazy_search_hash = {}; 
42                         },false
43                 );
44         } else {
45                 sdump('D_PATRON_SEARCH_FORM',"No name=button_clear element.\n");
46         }
47
48         return p;
49 }
50
51 function patron_search_form_textbox_handler(textbox,search_hash) {
52         sdump('D_PATRON_SEARCH_FORM',arg_dump(arguments));
53         var field = textbox.getAttribute('field');
54         var group = textbox.getAttribute('group');
55         var value = textbox.value;
56         search_hash[ field ] = { 'value' : value, 'group' : group };
57         try {
58                 if (value==''||value==null||value==undefined) delete(search_hash[ field ]);
59         } catch(E) {
60                 sdump('D_ERROR',E);
61         }
62 }