--- /dev/null
+var searchBarExpanded = false;\r
+/* our search selector boxes */\r
+var _ts, _fs;\r
+var isFrontPage = false;\r
+G.evt.common.init.push(searchBarInit);\r
+\r
+/* if set by the org selector, this will be the location used the\r
+ next time the search is submitted */\r
+var newSearchLocation; \r
+var newSearchDepth = null;\r
+\r
+\r
+function searchBarInit() {\r
+\r
+ _ts = G.ui.searchbar.type_selector;\r
+ _fs = G.ui.searchbar.form_selector;\r
+\r
+ try{G.ui.searchbar.text.focus();}catch(e){}\r
+ G.ui.searchbar.text.onkeydown = function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };\r
+ _ts.onkeydown = function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };\r
+ _fs.onkeydown = function(evt) {if(userPressedEnter(evt)) { searchBarSubmit(); } };\r
+\r
+ G.ui.searchbar.submit.onclick = searchBarSubmit;\r
+ _fs.onchange = function(e) { \r
+ var fs = G.ui.searchbar.form_selector;\r
+ var val = fs.options[fs.selectedIndex].value;\r
+ \r
+ G.ui.searchbar.facets.value = val==''?'':"identifier|mattype["+val+"]";\r
+ };\r
+\r
+ /* set up the selector objects, etc */\r
+ var txtVal = (getTerm() != null) ? getTerm() : "";\r
+ if(getStype()=="cn") txtVal = txtVal.replace(/identifier\|bibcn:/, "");\r
+ \r
+ G.ui.searchbar.text.value = txtVal;\r
+ G.ui.searchbar.facets.value = (getFacet() != null) ? getFacet() : "";\r
+ setSelector(_ts, getStype());\r
+ setSelector(_fs, getForm());\r
+\r
+ depthSelInit();\r
+ \r
+ if(getSearches()) {\r
+ var searches = JSON2js(getSearches());\r
+ setSelector(_fs, searches[1].term);\r
+ if(!G.ui.searchbar.text.value) G.ui.searchbar.text.value = searches[0].term; \r
+ }\r
+\r
+ if(!isFrontPage && (findCurrentPage() != MYOPAC)) {\r
+ attachEvt('common','depthChanged', searchBarSubmit);\r
+ }\r
+\r
+ if( (limit = $('opac.result.limit2avail')) ) {\r
+ if(getAvail()) limit.checked = true;\r
+ if(getSort() && getSortDir()) \r
+ setSelector($('opac.result.sort'), getSort()+'.'+getSortDir());\r
+ }\r
+ \r
+ if( (limit2 = $('opac.result.limit2avail2')) ) if(getAvail()) limit2.checked = true;\r
+}\r
+\r
+function searchBarSubmit(isFilterSort) {\r
+ var text = G.ui.searchbar.text.value;\r
+ var facet_text = isFrontPage ? '' : G.ui.searchbar.facets.value;\r
+ clearSearchParams();\r
+ if(!text || text == "" || text == "Search Keyword") return;\r
+ //var d = (newSearchDepth != null) ? newSearchDepth : depthSelGetDepth();\r
+ var d = getDepth();\r
+ if(isNaN(d)) d = 0;\r
+ var args = {};\r
+ \r
+ if(SHOW_MR_DEFAULT || (isFilterSort && findCurrentPage() == MRESULT)) {\r
+ args.page = MRESULT;\r
+ } else {\r
+ args.page = RRESULT;\r
+ args[PARAM_RTYPE] = _ts.options[_ts.selectedIndex].value;\r
+ }\r
+\r
+ var tsVal = _ts.options[_ts.selectedIndex].value;\r
+\r
+ args[PARAM_STYPE] = tsVal;\r
+ args[PARAM_TERM] = tsVal=="cn"?"identifier|bibcn:"+text:text;\r
+ args[PARAM_FACET] = facet_text;\r
+ args[PARAM_LOCATION] = depthSelGetNewLoc();\r
+ args[PARAM_DEPTH] = d;\r
+ args[PARAM_FORM] = _fs.options[_fs.selectedIndex].value;\r
+ //args[PARAM_SORT] = isFilterSort?'':'pubdate';\r
+ //args[PARAM_SORT_DIR] = isFilterSort?'':'desc';\r
+\r
+ if($('opac.result.limit2avail') && !arguments[1]) {\r
+ args[PARAM_AVAIL] = ($('opac.result.limit2avail').checked) ? 1 : '';\r
+ if( (val = getSelectorVal($('opac.result.sort'))) ) {\r
+ args[PARAM_SORT] = val.split('.')[0];\r
+ args[PARAM_SORT_DIR] = val.split('.')[1];\r
+ }\r
+ } else if(arguments[1]) {\r
+ args[PARAM_AVAIL] = (arguments[1].checked) ? 1 : '';\r
+ if( (val = getSelectorVal($('opac.result.sort'))) ) {\r
+ args[PARAM_SORT] = val.split('.')[0];\r
+ args[PARAM_SORT_DIR] = val.split('.')[1];\r
+ }\r
+ }\r
+\r
+ goTo(buildOPACLink(args));\r
+}\r
+\r
+\r