]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/opac/skin/default/js/cn_browse.js
aaa33768f00006f997daa30d6661642ea8b6ad67
[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         var list = r.getResultObject();
48
49         if(!cnTbody) {
50                 cnTbody = $('cn_tbody');
51                 cnRowT = $('cn_browse_row');
52                 cnTdT = cnRowT.removeChild($('cn_browse_td'));
53                 cnTbody.removeChild(cnRowT);
54         }
55         removeChildren(cnTbody);
56
57         var counter = 1;
58         var currentRow = cnRowT.cloneNode(true);
59         cnTbody.appendChild(currentRow);
60
61         for( var idx in list ) {
62                 
63
64                 var currentTd = cnTdT.cloneNode(true);
65                 currentRow.appendChild(currentTd);
66
67                 var td = cnTdT.cloneNode(true);
68                 var label       = list[idx][0];
69                 var lib         = list[idx][1];
70                 var record      = list[idx][2];
71                 var id          = list[idx][3];
72
73                 /*
74                 if( label != cnBrowseCurrent ) {
75                         removeCSSClass( td, 'cn_browse_home_cn' );
76                 }
77                 */
78
79                 if( idx == 0 ) { cnBrowseTopCn = label; cnBrowseTopId = id; } 
80                 cnBrowseBottomCn = label;
81                 cnBrowseBottomId = id;
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