]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_search_form.js
448dc5a5b0f0f94b610b100a3403e832955d7740
[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 nl = p.node.getElementsByTagName('textbox');
10         for (var i = 0; i < nl.length; i++) {
11                 nl[i].addEventListener(
12                         'change',
13                         function (ev) {
14                                 return patron_search_form_textbox_handler(
15                                         ev.target,
16                                         p.crazy_search_hash
17                                 ); 
18                         },false
19                 );
20         }
21
22         var search_button = p.node.getElementsByAttribute('name','button_search')[0];
23         var clear_button = p.node.getElementsByAttribute('name','button_clear')[0];
24
25         p.register_search_callback = function (f) { search_button.addEventListener( 'command',f,false ); };
26
27         if (clear_button) {
28                 clear_button.addEventListener(
29                         'command',
30                         function (ev) {
31                                 var nl = p.node.getElementsByTagName('textbox');
32                                 for (var i = 0; i < nl.length; i++) 
33                                         nl[i].value = '';
34                                 p.crazy_search_hash = {}; 
35                         },false
36                 );
37         } else {
38                 sdump('D_PATRON_SEARCH_FORM',"No name=button_clear element.\n");
39         }
40
41         return p;
42 }
43
44 function patron_search_form_textbox_handler(textbox,search_hash) {
45         sdump('D_PATRON_SEARCH_FORM',arg_dump(arguments));
46         var field = textbox.getAttribute('field');
47         var group = textbox.getAttribute('group');
48         var value = textbox.value;
49         search_hash[ field ] = { 'value' : value, 'group' : group };
50         try {
51                 if (value==''||value==null||value==undefined) delete(search_hash[ field ]);
52         } catch(E) {
53                 sdump('D_ERROR',E);
54         }
55 }