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