]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/opac/skin/default/js/cn_browse.js
ddb0846645aaf1380f70147f6c06d9f27d6fbdb9
[Evergreen.git] / Open-ILS / web / opac / skin / default / js / cn_browse.js
1 var cnBrowseCurrent;
2 var cnBrowseTopCn;
3 var cnBrowseTopId;
4 var cnBrowseBottomCn;
5 var cnBrowseBottomId;
6 var MAX_CN = 9;
7
8 function cnBrowseGo(cn) { 
9         cnBrowseCurrent = cn;
10         var req = new Request( FETCH_CNBROWSE_TARGET, 
11                 'org_unit', getLocation(), 
12                 'depth', getDepth(), 
13                 'label', cn, 
14                 'page_size', MAX_CN );
15         req.callback( cnBrowseDraw );
16         req.send();
17 }
18
19 function cnBrowseNext() {
20         var req = new Request( FETCH_CNBROWSE_NEXT, 
21                 'org_unit', getLocation(), 
22                 'depth', getDepth(), 
23                 'label', cnBrowseBottomCn, 
24                 'boundry_id', cnBrowseBottomId,
25                 'page_size', MAX_CN );
26         req.callback( cnBrowseDraw );
27         req.send();
28 }
29
30 function cnBrowsePrev() {
31         var req = new Request( FETCH_CNBROWSE_PREV,
32                 'org_unit', getLocation(), 
33                 'depth', getDepth(), 
34                 'label', cnBrowseTopCn, 
35                 'boundry_id', cnBrowseTopId,
36                 'page_size', MAX_CN );
37         req.callback( cnBrowseDraw );
38         req.send();
39 }
40
41
42 var cnTbody;
43 var cnRowT;
44 var cnTdT;
45
46 function cnBrowseDraw( r ) {
47         swapCanvas($('cn_browse'));
48         var list = r.getResultObject();
49
50         if(!cnTbody) {
51                 cnTbody = $('cn_tbody');
52                 cnRowT = $('cn_browse_row');
53                 cnTdT = cnRowT.removeChild($('cn_browse_td'));
54                 cnTbody.removeChild(cnRowT);
55         }
56         removeChildren(cnTbody);
57
58         var counter = 1;
59         var currentRow = cnRowT.cloneNode(true);
60         cnTbody.appendChild(currentRow);
61
62         for( var idx in list ) {
63                 
64
65                 var currentTd = cnTdT.cloneNode(true);
66                 currentRow.appendChild(currentTd);
67
68                 var td = cnTdT.cloneNode(true);
69                 var label       = list[idx][0];
70                 var lib         = list[idx][1];
71                 var record      = list[idx][2];
72                 var id          = list[idx][3];
73
74
75                 if( idx == 0 ) {
76                         cnBrowseTopCn = label;
77                         cnBrowseTopId = id;
78                 } else if( idx == MAX_CN - 1 ) {
79                         cnBrowseBottomCn = label;
80                         cnBrowseBottomId = id;
81                 }
82
83                 var cn_td                       = $n(currentTd, 'cn_browse_cn');
84                 var lib_td                      = $n(currentTd, 'cn_browse_lib');
85                 var title_td            = $n(currentTd, 'cn_browse_title');
86                 var author_td           = $n(currentTd, 'cn_browse_author');
87                 var pic_td                      = $n(currentTd, 'cn_browse_pic');
88
89                 cn_td.appendChild(text(label));
90                 lib_td.appendChild(text(findOrgUnit(lib).name()));
91
92                 var req = new Request( FETCH_RMODS, record );
93                 req.request.title_td            = title_td;
94                 req.request.author_td   = author_td;
95                 req.request.pic_td              = pic_td;
96                 req.callback( cnBrowseDrawTitle );
97                 req.send();
98
99         
100                 if( counter++ % 3 == 0 ) {
101                         counter = 1;
102                         currentRow = cnRowT.cloneNode(true);
103                         cnTbody.appendChild(currentRow);
104                 }
105         }
106 }
107
108 function cnBrowseDrawTitle(r) {
109         var mods = r.getResultObject();
110         buildTitleDetailLink(mods, r.title_td); 
111         buildSearchLink(STYPE_AUTHOR, mods.author(), r.author_td);
112         r.pic_td.setAttribute("src", buildISBNSrc(cleanISBN(mods.isbn())));
113
114         var args = {};
115         args.page = RDETAIL;
116         args[PARAM_OFFSET] = 0;
117         args[PARAM_RID] = mods.doc_id();
118         args[PARAM_MRID] = 0;
119         r.pic_td.parentNode.setAttribute("href", buildOPACLink(args));
120 }
121