+++ /dev/null
-\r
-var records = new Array();\r
-var table;\r
-var rowtemplate;\r
-var rresultLimit = 200;\r
-var resultFacetKey;\r
-\r
-var rresultIsPaged = false;\r
-\r
-function rresultUnload() { removeChildren(table); table = null;}\r
-\r
-attachEvt("common", "unload", rresultUnload);\r
-attachEvt("common", "run", rresultDoSearch);\r
-attachEvt("result", "idsReceived", rresultCollectRecords); \r
-attachEvt("result", "recordDrawn", rresultLaunchDrawn); \r
-\r
-hideMe($('copyright_block')); \r
-\r
-function rresultDoSearch() {\r
-\r
- swapCanvas($('loading_alt'));\r
-\r
- table = G.ui.result.main_table;\r
- hideMe(G.ui.result.row_template);\r
- if( table && table.parentNode ) {\r
- while( table.parentNode.rows.length <= (getDisplayCount() +1) ) \r
- hideMe(table.appendChild(G.ui.result.row_template.cloneNode(true)));\r
- }\r
- rresultCollectIds();\r
-}\r
-\r
-function rresultCollectIds() {\r
- var ids;\r
-\r
- var rtype = getRtype();\r
- if (rtype && rtype.indexOf('|') > -1)\r
- rtype = rtype.substring(0,rtype.indexOf('|'));\r
-\r
- switch(rtype) {\r
-\r
- case RTYPE_COOKIE:\r
- ids = JSON2js(cookieManager.read(COOKIE_RIDS));\r
- _rresultHandleIds( ids, ids.length );\r
- break;\r
-\r
- case RTYPE_TITLE:\r
- case RTYPE_AUTHOR:\r
- case RTYPE_SUBJECT:\r
- case RTYPE_SERIES:\r
- case RTYPE_KEYWORD:\r
- rresultDoRecordSearch();\r
- break;\r
-\r
- case RTYPE_MULTI:\r
- rresultDoRecordMultiSearch();\r
- break;\r
- \r
- case RTYPE_LIST :\r
- rresultHandleList();\r
- break;\r
-\r
- case RTYPE_MARC :\r
- rresultCollectMARCIds();\r
- break;\r
-\r
- case RTYPE_ISBN :\r
- rresultCollectISBNIds();\r
- break;\r
-\r
- case RTYPE_TCN :\r
- rresultCollectTCNIds();\r
- break;\r
-\r
- case RTYPE_ISSN :\r
- rresultCollectISSNIds();\r
- break;\r
-\r
-\r
- case RTYPE_MRID :\r
- case null :\r
- case "" :\r
- default:\r
- var form = rresultGetForm();\r
- var args = { format : form, org : getLocation(), depth : rresultGetDepth() };\r
-\r
- var lasso = getLasso();\r
- if (lasso) args.org = -lasso;\r
-\r
- var req = new Request(FETCH_RIDS, getMrid(), args);\r
- req.callback( rresultHandleRIds );\r
- req.send();\r
-\r
- if( rresultGetDepth() != findOrgDepth(globalOrgTree) ) {\r
- var link = $('rresult_show_all_link');\r
- if(link) {\r
- unHideMe($('rresult_show_all'));\r
- link.appendChild( text(\r
- findOrgType(globalOrgTree.ou_type()).opac_label()));\r
- }\r
-\r
- } else {\r
- if( rresultGetDepth() != getDepth() ) { /* inside a limited display */\r
- var link = $('rresult_show_here_link');\r
- if(link) {\r
- link.appendChild( text(\r
- findOrgType(findOrgUnit(getLocation()).ou_type()).opac_label()));\r
- unHideMe($('rresult_show_here'));\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function rresultExpandSearch() {\r
- var args = {};\r
- args[PARAM_RDEPTH] = findOrgDepth(globalOrgTree);\r
- goTo(buildOPACLink(args));\r
-}\r
-\r
-function rresultContractSearch() {\r
- var args = {};\r
- RDEPTH = null;\r
- args[PARAM_OFFSET] = 0;\r
- goTo(buildOPACLink(args));\r
-}\r
-\r
-\r
-function rresultGetDepth() {\r
- if( getRdepth() != null) return getRdepth();\r
- return getDepth();\r
-}\r
-\r
-\r
-function rresultGetForm() {\r
- var form;\r
-\r
- if(getTform()) /* did the user select a format from the icon list (temporary) */\r
- form = (getTform() == 'all') ? null : getTform();\r
- else /* did the use select a format from simple search dropdown */\r
- form = (getForm() == 'all') ? null : getForm();\r
-\r
- if(!form) { /* did the user select a format from the advanced search */\r
- form = getItemType();\r
- var f = getItemForm();\r
-\r
- if(form) {\r
- form = form.replace(/,/,'');\r
- if(f) form += '-' + f;\r
- } else {\r
- if(f) form = '-' + f;\r
- }\r
- }\r
-\r
- return form;\r
-}\r
-\r
-\r
-function rresultCollectMARCIds() {\r
-\r
- var args = {};\r
- args.searches = JSON2js(getSearches());\r
- args.limit = 200;\r
- args.org_unit = globalOrgTree.id();\r
- args.depth = 0;\r
-\r
- rresultIsPaged = true;\r
- var req = new Request(FETCH_ADV_MARC_MRIDS, args, getDisplayCount(), getOffset());\r
- req.callback(rresultHandleRIds);\r
- req.request.noretry = true;\r
- req.send();\r
-}\r
-\r
-\r
-function rresultCollectISBNIds() {\r
- var req = new Request(FETCH_ADV_ISBN_RIDS, getAdvTerm() );\r
- req.callback(\r
- function(r) {\r
- var blob = r.getResultObject();\r
- _rresultHandleIds(blob.ids, blob.count);\r
- }\r
- );\r
- req.send();\r
-}\r
-\r
-function rresultCollectTCNIds() {\r
- var req = new Request(FETCH_ADV_TCN_RIDS, getAdvTerm() );\r
- req.callback(\r
- function(r) {\r
- var blob = r.getResultObject();\r
- _rresultHandleIds(blob.ids, blob.count);\r
- }\r
- );\r
- req.send();\r
-}\r
-\r
-function rresultCollectISSNIds() {\r
- var req = new Request(FETCH_ADV_ISSN_RIDS, getAdvTerm() );\r
- req.callback(\r
- function(r) {\r
- var blob = r.getResultObject();\r
- _rresultHandleIds(blob.ids, blob.count);\r
- }\r
- );\r
- req.send();\r
-}\r
-\r
-function rresultHandleList() {\r
- var ids = new CGI().param(PARAM_RLIST);\r
- var count;\r
- if(!dojo.isArray(ids)) {\r
- count = 1;\r
- ids = [ids];\r
- } else {\r
- count = ids.length;\r
- }\r
- if(ids) _rresultHandleIds(ids, count);\r
-}\r
-\r
-var rresultTries = 0;\r
-function rresultHandleRIds(r) {\r
- var res = r.getResultObject();\r
-\r
- if(!res) res = {count:0,ids:[]};\r
-\r
- if( res.count == 0 && rresultTries == 0 && ! r.noretry) {\r
-\r
- rresultTries++;\r
- var form = rresultGetForm();\r
- var args = { format : form, org : getLocation(), depth : findOrgDepth(globalOrgTree) };\r
-\r
- var lasso = getLasso();\r
- if (lasso) args.org = -lasso;\r
-\r
- var req = new Request(FETCH_RIDS, getMrid(), args );\r
- req.callback( rresultHandleRIds );\r
- req.send();\r
- unHideMe($('no_formats'));\r
- hideMe($('rresult_show_all'));\r
-\r
- } else {\r
-\r
- _rresultHandleIds(res.ids, res.count);\r
- }\r
-}\r
-\r
-function _rresultHandleIds(ids, count) {\r
- //var json = js2JSON({ids:ids,count:count});\r
- /*\r
- cookieManager.write(COOKIE_SRIDS, json, '+1d');\r
- */\r
-\r
- HITCOUNT = parseInt(count);\r
- runEvt('result', 'hitCountReceived');\r
- runEvt('result', 'idsReceived', ids, getOffset());\r
-}\r
-\r
-/*\r
-function rresultCollectRecords(ids) {\r
- runEvt("result", "preCollectRecords");\r
- var x = 0;\r
- for( var i = getOffset(); i!= getDisplayCount() + getOffset(); i++ ) {\r
- if(ids[i] == null) break;\r
- var req = new Request(FETCH_RMODS, parseInt(ids[i]));\r
- req.callback(rresultHandleMods);\r
- req.request.userdata = x++;\r
- req.send();\r
- }\r
-}\r
-*/\r
-\r
-\r
-function rresultCollectRecords(ids, base) {\r
- runEvt("result", "preCollectRecords");\r
- var x = 0;\r
-\r
- if (!base) base = 0;\r
- if( rresultIsPaged ) base = 0;\r
-\r
- for( var i = base; i!= getDisplayCount() + base; i++ ) {\r
- if(ids[i] == null) break;\r
- var req = new Request(FETCH_RMODS, parseInt(ids[i]));\r
- req.callback(rresultHandleMods);\r
- req.request.userdata = x++;\r
- req.send();\r
- }\r
-}\r
-\r
-var recsReceivedCalled = false;\r
-function rresultHandleMods(r) {\r
- var rec = r.getResultObject();\r
- runEvt('result', 'recordReceived', rec, r.userdata, false);\r
- resultCollectCopyCounts(rec, r.userdata, FETCH_R_COPY_COUNTS);\r
- if(resultPageIsDone() && !recsReceivedCalled) {\r
- recsReceivedCalled = true;\r
- runEvt('result', 'allRecordsReceived', recordsCache);\r
- unHideMe($('copyright_block')); \r
- }\r
-}\r
-\r
-function rresultLaunchDrawn(id, node) {\r
- runEvt("rresult", "recordDrawn", id, node);\r
-}\r
-\r
-\r
-function rresultDoRecordSearch() { \r
- rresultIsPaged = true;\r
- resultCollectSearchIds(true, SEARCH_RS_QUERY, rresultFilterSearchResults ); \r
-}\r
-\r
-function rresultDoRecordMultiSearch() { \r
- rresultIsPaged = true;\r
- resultCollectSearchIds(false, SEARCH_RS_QUERY, rresultFilterSearchResults ); \r
-}\r
-\r
-\r
-function rresultFilterSearchResults(r) {\r
- var result = r.getResultObject();\r
- var ids = [];\r
- if( result.count > 0 ) {\r
- for( var i = 0; i != result.ids.length; i++ ) \r
- ids.push(result.ids[i][0]);\r
- }\r
-\r
- resultFacetKey = result.facet_key;\r
- resultCompiledSearch = result.compiled_search;\r
- cookieManager.write(COOKIE_SEARCH, js2JSON(result.compiled_search), -1);\r
- _rresultHandleIds( ids, result.count );\r
-}\r
-\r
-function rresultHandlePlaceHold(target) {\r
- function reload() {\r
- location.href = location.href.replace(/&hold_target=\d+/, '');\r
- }\r
- attachEvt("common", "holdUpdated", reload);\r
- attachEvt("common", "holdUpdateCanceled", reload);\r
- attachEvt("common", "loginCanceled", reload);\r
- holdsDrawEditor({record:target, type: 'T'});\r
-}\r
-\r