1 var records = new Array();
4 var rresultLimit = 200;
6 function rresultUnload() { removeChildren(table); table = null;}
8 attachEvt("common", "unload", rresultUnload);
9 attachEvt("common", "run", rresultDoSearch);
10 attachEvt("result", "idsReceived", rresultCollectRecords);
11 attachEvt("result", "recordDrawn", rresultLaunchDrawn);
13 hideMe($('copyright_block'));
15 function rresultDoSearch() {
16 table = G.ui.result.main_table;
17 hideMe(G.ui.result.row_template);
18 while( table.parentNode.rows.length <= (getDisplayCount() +1) )
19 hideMe(table.appendChild(G.ui.result.row_template.cloneNode(true)));
23 function rresultCollectIds() {
28 ids = JSON2js(cookieManager.read(COOKIE_RIDS));
29 _rresultHandleIds( ids, ids.length );
37 rresultDoRecordSearch();
41 rresultDoRecordMultiSearch();
52 var form = (getForm() == "all") ? null : getForm();
53 var req = new Request(FETCH_RIDS, getMrid(), form );
54 req.callback( rresultHandleRIds );
59 function rresultHandleList() {
60 var ids = new CGI().param(PARAM_RLIST);
61 if(ids) _rresultHandleIds(ids, ids.length);
64 function rresultHandleRIds(r) {
65 var res = r.getResultObject();
66 _rresultHandleIds(res.ids, res.count);
69 function _rresultHandleIds(ids, count) {
70 HITCOUNT = parseInt(count);
71 runEvt('result', 'hitCountReceived');
72 runEvt('result', 'idsReceived', ids);
75 function rresultCollectRecords(ids) {
76 runEvt("result", "preCollectRecords");
78 for( var i = getOffset(); i!= getDisplayCount() + getOffset(); i++ ) {
79 if(ids[i] == null) break;
80 var req = new Request(FETCH_RMODS, parseInt(ids[i]));
81 req.callback(rresultHandleMods);
82 req.request.userdata = x++;
87 function rresultHandleMods(r) {
88 var rec = r.getResultObject();
89 runEvt('result', 'recordReceived', rec, r.userdata, false);
90 resultCollectCopyCounts(rec, r.userdata, FETCH_R_COPY_COUNTS);
91 if(resultPageIsDone()) {
92 runEvt('result', 'allRecordsReceived', recordsCache);
93 unHideMe($('copyright_block'));
98 function rresultLaunchDrawn(id, node) {
99 runEvt("rresult", "recordDrawn", id, node);
103 function rresultDoRecordSearch() {
104 resultCollectSearchIds(true, SEARCH_RS, rresultFilterSearchResults ); }
105 function rresultDoRecordMultiSearch() {
106 resultCollectSearchIds(false, SEARCH_RS, rresultFilterSearchResults ); }
109 function _rresultCollectSearchIds( type ) {
111 var sort = (getSort() == SORT_TYPE_REL) ? null : getSort();
112 var sortdir = (sort) ? ((getSortDir()) ? getSortDir() : SORT_DIR_ASC) : null;
114 var form = parseForm(getForm());
115 var item_type = form.item_type;
116 var item_form = form.item_form;
122 args.searches[getRtype()] = {};
123 args.searches[getRtype()].term = getTerm();
125 args.searches = JSON2js(getAdvTerm());
128 args.org_unit = getLocation();
129 args.depth = getDepth();
130 args.limit = rresultLimit;
131 args.offset = getOffset();
133 if(sort) args.sort = sort;
134 if(sortdir) args.sort_dir = sortdir;
135 if(item_type) args.item_type = item_type;
136 if(item_form) args.item_form = item_form;
138 var req = new Request(SEARCH_RS, args);
139 req.callback(rresultFilterSearchResults);
145 function rresultFilterSearchResults(r) {
146 var result = r.getResultObject();
148 for( var i = 0; i != result.ids.length; i++ )
149 ids.push(result.ids[i][0]);
150 _rresultHandleIds( ids, result.count );