]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/javascript/lib/js/opac/search_bar.js
opac, here we come
[working/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         G.ui.searchbar.text.focus();
15         G.ui.searchbar.text.onkeydown = 
16                 function(evt) {if(userPressedEnter(evt)) searchBarSubmit();};
17         G.ui.searchbar.submit.onclick = searchBarSubmit;
18
19         searchBarTable          = G.ui.searchbar.table;
20         searchBarTagLink        = G.ui.searchbar.tag;
21         searchBarExtraRow = G.ui.searchbar.extra_row;
22         searchBarMainRow        = G.ui.searchbar.main_row;
23
24         typeSelector = G.ui.searchbar.type_selector;
25         depthSelector = G.ui.searchbar.depth_selector;
26         formSelector = G.ui.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         G.ui.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 = G.ui.searchbar.text.value;
73         if(!text || text == "") return;
74         var type_s = G.ui.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                 hideMe(searchBarExtraRow);
93                 searchBarExpanded = false;
94                 G.ui.searchbar.tag_off.className = "show_me_inline";
95                 hideMe(G.ui.searchbar.tag_on);
96                 //SEARCHBAR_EXTRAS = 0; set cookie...
97
98         } else {
99
100                 removeCSSClass(searchBarExtraRow,config.css.hide_me);
101                 searchBarExpanded = true;
102                 hideMe(G.ui.searchbar.tag_off);
103                 G.ui.searchbar.tag_on.className = "show_me_inline";
104                 //SEARCHBAR_EXTRAS = 1; set cookie...
105         }
106 }
107
108