]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/javascript/lib/js/opac/search_bar.js
new javascript
[Evergreen.git] / Open-ILS / src / javascript / lib / js / opac / search_bar.js
1
2 var searchBarExpanded = false;
3 var searchBarTable;
4 var searchBarTagLink;
5 var searchBarExtraRow;
6 var searchBarMainRow;
7
8 var typeSelector;
9 var depthSelector;
10 var formSelector;
11
12 function searchBarInit() {
13
14         getId(config.ids.searchbar.text).focus();
15         getId(config.ids.searchbar.text).onkeydown = 
16                 function(evt) {if(userPressedEnter(evt)) searchBarSubmit();};
17         getId(config.ids.searchbar.submit).onclick = searchBarSubmit;
18
19         searchBarTable          = getId(config.ids.searchbar.table);
20         searchBarTagLink        = getId(config.ids.searchbar.tag);
21         searchBarExtraRow = getId(config.ids.searchbar.extra_row);
22         searchBarMainRow        = getId(config.ids.searchbar.main_row);
23
24         typeSelector = getId(config.ids.searchbar.type_selector);
25         depthSelector = getId(config.ids.searchbar.depth_selector);
26         formSelector = getId(config.ids.searchbar.form_selector);
27
28         searchBarTagLink.onclick = function(){searchBarToggle();}
29
30         /* set up the selector objects, etc */
31         var t = getTerm();
32         if(t == null) t = "";
33         getId(config.ids.searchbar.text).value = t;
34         setSelector(typeSelector,       getStype());
35         setSelector(depthSelector, getDepth());
36         setSelector(formSelector,       getForm());
37
38         //typeSelector.onchange = function(){searchBarSelectorChanged("type");};
39         //depthSelector.onchange        = function(){searchBarSelectorChanged("depth");};
40         //formSelector.onchange = function(){searchBarSelectorChanged("form");};
41
42         if(getSearchBarExtras()) searchBarToggle();
43 }
44
45 /*
46 function searchBarSelectorChanged(type) {
47
48         var args = {};
49         switch( type ) {
50
51                 case "type": 
52                         args[PARAM_STYPE] = typeSelector.options[typeSelector.selectedIndex].value
53                         break;
54
55                 case "depth": 
56                         args[PARAM_DEPTH] = parseInt(depthSelector.options[depthSelector.selectedIndex].value);
57                         break;
58
59                 case "form": 
60                         args[PARAM_FORM] = formSelector.options[formSelector.selectedIndex].value;
61                         break;
62         }
63
64         args[PARAM_OFFSET] = 0;
65
66         if(findCurrentPage() == MRESULT || findCurrentPage() == RRESULT )
67                 goTo(buildOPACLink(args));
68 }
69 */
70
71 function searchBarSubmit() {
72         var text = getId(config.ids.searchbar.text).value;
73         if(!text || text == "") return;
74         var type_s = getId(config.ids.searchbar.type_selector);
75
76         var args = {};
77         args.page = MRESULT;
78         args[PARAM_OFFSET] = 0;
79         args[PARAM_TERM] = text;
80         args[PARAM_STYPE] = type_s.options[type_s.selectedIndex].value;
81
82         args[PARAM_DEPTH] = parseInt(depthSelector.options[depthSelector.selectedIndex].value);
83         args[PARAM_FORM] = formSelector.options[formSelector.selectedIndex].value;
84         goTo(buildOPACLink(args));
85 }
86
87
88 function searchBarToggle() {
89
90         if(searchBarExpanded) {
91
92                 addCSSClass(searchBarExtraRow,config.css.hide_me);
93                 searchBarExpanded = false;
94                 getId(config.ids.searchbar.tag_off).className = "show_me_inline";
95                 getId(config.ids.searchbar.tag_on).className = "hide_me";
96                 //SEARCHBAR_EXTRAS = 0; set cookie...
97
98         } else {
99
100                 removeCSSClass(searchBarExtraRow,config.css.hide_me);
101                 searchBarExpanded = true;
102                 getId(config.ids.searchbar.tag_off).className = "hide_me";
103                 getId(config.ids.searchbar.tag_on).className = "show_me_inline";
104                 //SEARCHBAR_EXTRAS = 1; set cookie...
105         }
106 }
107
108