1 /* Export some constants ----------------------------------------------------- */
4 var PARAM_TERM = "term"; /* search term */
5 var PARAM_STYPE = "stype"; /* search type */
6 var PARAM_LOCATION = "location" /* current location */;
7 var PARAM_DEPTH = "depth"; /* search depth */
8 var PARAM_FORM = "format"; /* search format */
9 var PARAM_OFFSET = "offset"; /* search offset */
10 var PARAM_COUNT = "count"; /* hits per page */
11 var PARAM_HITCOUNT = "hitcount"; /* hits per page */
12 var PARAM_RANKS = "hitcount"; /* hits per page */
13 var PARAM_MRID = "mrid"; /* metarecord id */
14 var PARAM_RID = "rid"; /* metarecord id */
17 var COOKIE_SB = "sbe";
18 var COOKIE_SES = "ses";
19 var COOKIE_IDS = "ids";
21 /* these are the actual param values - set on page load */
24 var MRESULT = "mresult";
25 var RRESULT = "rresult";
26 var RDETAIL = "rdetail";
27 var MYOPAC = "myopac";
28 var ADVANCED = "advanced";
31 /* search type (STYPE) options */
32 STYPE_AUTHOR = "author";
33 STYPE_TITLE = "title";
34 STYPE_SUBJECT = "subject";
35 STYPE_SERIES = "series";
36 STYPE_KEYWORD = "keyword";
39 /* container for global variables shared accross pages */
41 G.user = null; /* global user object */
42 G.ui = {} /* cache of UI components */
45 /* call me after page init and I will load references
46 to all of the ui object id's defined below
47 They will be stored in G.ui.<page>.<thingy>
49 function loadUIObjects() {
50 for( var p in config.ids ) {
52 for( var o in config.ids[p] )
53 G.ui[p][o] = getId(config.ids[p][o]);
57 /* try our best to free memory */
58 function clearUIObjects() {
59 for( var p in config.ids ) {
60 for( var o in config.ids[p] ) {
62 G.ui[p][o].onclick = null;
63 G.ui[p][o].onkeydown = null;
72 /* ---------------------------------------------------------------------------- */
73 /* Set up ID's and CSS classes */
74 /* ---------------------------------------------------------------------------- */
81 config.ids.common = {};
82 config.ids.common.loading = "loading_div";
83 config.ids.common.canvas = "canvas";
84 config.ids.common.canvas_main = "canvas_main";
85 config.ids.common.org_tree = "org_tree";
86 config.ids.common.org_container = "org_container";
89 config.css.hide_me = "hide_me";
90 config.css.color_1 = "color_1";
91 config.css.color_2 = "color_2";
92 config.css.color_3 = "color_3";
95 config.page[HOME] = "/webxml/index.xml";
96 config.page[ADVANCED] = "/webxml/advanced.xml";
97 config.page[MRESULT] = "/webxml/mresult.xml";
98 config.page[RRESULT] = "/webxml/rresult.xml";
99 config.page[MYOPAC] = "/webxml/myopac/index.xml";
100 config.page[RDETAIL] = "/webxml/rdetail.xml";
103 config.ids.mresult = {};
106 config.ids.result = {};
107 config.css.result = {};
108 config.names.result = {};
109 config.ids.result.offset_start = "offset_start";
110 config.ids.result.offset_end = "offset_end";
111 config.ids.result.result_count = "result_count";
112 config.ids.result.next_link = 'next_link';
113 config.ids.result.prev_link = 'prev_link';
114 config.ids.result.home_link = 'home_link';
115 config.ids.result.end_link = 'end_link';
116 config.ids.result.main_table = 'result_table';
117 config.ids.result.row_template = 'result_table_template';
118 config.ids.result.num_pages = 'num_pages';
119 config.ids.result.current_page = 'current_page';
120 config.css.result.nav_active = "nav_link_active";
121 config.ids.result.top_div = "result_table_div";
122 config.ids.result.nav_links = "search_nav_links";
123 config.ids.result.info = "result_info_div";
124 config.css.result.cc_cell_even = "copy_count_cell_even";
126 config.names.result.item_jacket = "item_jacket";
127 config.names.result.item_title = "item_title";
128 config.names.result.item_author = "item_author";
129 config.names.result.counts_row = "counts_row";
130 config.names.result.count_cell = "copy_count_cell";
133 config.ids.login = {};
134 config.css.login = {};
135 config.ids.login.box = "login_box";
136 config.ids.login.username = "login_username";
137 config.ids.login.password = "login_password";
138 config.ids.login.button = "login_button";
139 config.ids.login.cancel = "login_cancel_button";
142 /* searchbar ids and css */
143 config.ids.searchbar = {};
144 config.css.searchbar = {};
145 config.ids.searchbar.text = 'search_box';
146 config.ids.searchbar.submit = 'search_submit';
147 config.ids.searchbar.type_selector = 'search_type_selector';
148 config.ids.searchbar.depth_selector = 'depth_selector';
149 config.ids.searchbar.form_selector = 'form_selector';
150 config.ids.searchbar.extra_row = 'searchbar_extra';
151 config.ids.searchbar.main_row = 'searchbar_main_row';
152 config.ids.searchbar.table = 'searchbar_table';
153 config.ids.searchbar.tag = 'search_tag_link';
154 config.ids.searchbar.tag_on = 'searchbar_tag_on';
155 config.ids.searchbar.tag_off = 'searchbar_tag_off';
156 config.ids.searchbar.location_tag = 'search_location_tag_link';
160 config.ids.sidebar = {};
161 config.css.sidebar = {};
162 config.names.sidebar = {};
163 config.css.sidebar.item = {};
164 config.ids.sidebar.home = 'home_link_div';
165 config.ids.sidebar.advanced = 'advanced_link_div';
166 config.ids.sidebar.myopac = 'myopac_link_div';
167 config.ids.sidebar.prefs = 'prefs_link_div';
168 config.ids.sidebar.mresult = 'mresult_link_div';
169 config.ids.sidebar.rresult = 'result_link_div';
170 config.ids.sidebar.login = 'login_link';
171 config.ids.sidebar.logout = 'logout_link';
172 config.ids.sidebar.logoutbox = 'logout_link_div';
173 config.ids.sidebar.loginbox = 'login_link_div';
174 config.ids.sidebar.logged_in_as = 'logged_in_as_div';
175 config.ids.sidebar.username_dest = 'username_dest';
176 config.ids.sidebar.subject = 'subject_sidebar';
177 config.ids.sidebar.subject_item = 'subject_item';
178 config.ids.sidebar.author = 'author_sidebar';
179 config.ids.sidebar.author_item = 'author_item';
180 config.ids.sidebar.series = 'series_sidebar';
181 config.ids.sidebar.series_item = 'series_item';
183 config.names.sidebar.subject_item = 'subject_item';
184 config.names.sidebar.author_item = 'author_item';
185 config.names.sidebar.series_item = 'series_item';
189 /* ---------------------------------------------------------------------------- */
190 /* These are pages that may replace the canvas */
191 /* ---------------------------------------------------------------------------- */
192 config.ids.altcanvas = {};
193 config.ids.altcanvas.login = config.ids.login.box;
194 config.ids.altcanvas.org_tree = config.ids.common.org_container;
198 /* ---------------------------------------------------------------------------- */
199 /* Methods are defined as service:method
200 An optional 3rd component is when a method is followed by a :1, such methods
201 have a staff counterpart and should have ".staff" appended to the method
202 before the method is called when in XUL mode */
204 var FETCH_MRCOUNT = "open-ils.search:open-ils.search.biblio.class.count:1";
205 var FETCH_MRIDS = "open-ils.search:open-ils.search.biblio.class:1";
206 var FETCH_MRIDS_FULL = "open-ils.search:open-ils.search.biblio.class.full:1";
207 var FETCH_MRMODS = "open-ils.search:open-ils.search.biblio.metarecord.mods_slim.retrieve";
208 var FETCH_MR_COPY_COUNTS = "open-ils.search:open-ils.search.biblio.metarecord.copy_count:1";
209 var FETCH_RIDS = "open-ils.search:open-ils.search.biblio.metarecord_to_records:1";
210 var FETCH_RMODS = "open-ils.search:open-ils.search.biblio.record.mods_slim.retrieve";
211 var FETCH_R_COPY_COUNTS = "open-ils.search:open-ils.search.biblio.record.copy_count";
212 var FETCH_FLESHED_USER = "open-ils.actor:open-ils.actor.user.fleshed.retrieve";
213 var FETCH_SESSION = "open-ils.auth:open-ils.auth.session.retrieve";
214 var LOGIN_INIT = "open-ils.auth:open-ils.auth.authenticate.init";
215 var LOGIN_COMPLETE = "open-ils.auth:open-ils.auth.authenticate.complete";
216 var LOGIN_DELETE = "open-ils.auth:open-ils.auth.session.delete";
217 /* ---------------------------------------------------------------------------- */
221 /* ---------------------------------------------------------------------------- */
222 /* event callback functions. Other functions may be appended to these vars to
223 for added functionality. */
225 function runEvent(evt, a, b, c, d, e, f, g) { /* if we need more args than 7, we'll add them ;) */
226 for( var i in evt ) evt[i](a, b, c, d, e, f, g);
237 G.evt.mresult.idsReceived = []; /* f(ids) */
238 G.evt.rresult.idsReceived = []; /* f(ids) */
240 G.evt.result.hitCountReceived = []; /* f() : display hit info, pagination, etc. */
241 G.evt.result.recordReceived = []; /* f(mvr, pagePosition, isMr) : display the record*/
242 G.evt.result.copyCountsReceived = []; /* f(mvr, pagePosition, copyCountInfo) : display copy counts*/
243 G.evt.result.allRecordsReceived = []; /* f(mvrsArray) : add other page stuff, sidebars, etc.*/