]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/javascript/lib/js/opac/init.js
opac, here we come
[working/Evergreen.git] / Open-ILS / src / javascript / lib / js / opac / init.js
1
2 function init() {
3
4         document.body.onunload = unload;
5
6         loadUIObjects();
7         initParams();
8         initSideBar();
9         searchBarInit();
10
11         var page = findCurrentPage();
12         switch(findCurrentPage()) {
13                 case MRESULT: mresultDoSearch(); break;
14                 case RRESULT: rresultDoSearch(); break;
15         }
16
17 }
18
19 function unload() {
20
21         _tree_killer();
22
23         if(G.ui.sidebar.login)
24                 G.ui.sidebar.login.onclick              = null;
25         if(G.ui.sidebar.logout)
26                 G.ui.sidebar.logout.onclick     = null;
27         if(G.ui.login.button)
28                 G.ui.login.button.onclick               = null;
29         if(G.ui.login.cancel)
30                 G.ui.login.cancel.onclick               = null;
31         if(G.ui.searchbar.submit)
32                 G.ui.searchbar.submit.onclick = null;
33         if(G.ui.searchbar.tag)
34                 G.ui.searchbar.tag.onclick              = null;
35
36         clearUIObjects();
37
38         if(IE) {
39                 window.CollectGarbage();
40         }
41 }
42
43
44 /* set up the colors in the sidebar 
45         Disables/Enables certain components based on various state data 
46  */
47 function initSideBar() {
48
49         for( var p in G.ui.sidebar ) 
50                 removeCSSClass(p, config.css.sidebar.item.active);
51
52         var page = findCurrentPage();
53         unHideMe(G.ui.sidebar[page]);
54         addCSSClass(G.ui.sidebar[page], config.css.sidebar.item.active);
55
56         /* if we're logged in, show it and replace the Login link with the Logout link */
57         if(grabUser()) {
58                 G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
59                 unHideMe(G.ui.sidebar.logoutbox);
60                 unHideMe(G.ui.sidebar.logged_in_as);
61                 hideMe(G.ui.sidebar.loginbox);
62         }
63
64         if(G.ui.sidebar.login) G.ui.sidebar.login.onclick = initLogin;
65         if(G.ui.sidebar.logout) G.ui.sidebar.logout.onclick = doLogout; 
66
67 }
68
69 /* sets up the login ui components */
70 function initLogin() {
71
72         G.ui.login.button.onclick = function(){
73                 if(doLogin()) {
74                         unHideMe(G.ui.all.canvas_main);
75                         hideMe(G.ui.login.box);
76                         hideMe(G.ui.all.loading);
77
78                         G.ui.sidebar.username_dest.appendChild(text(G.user.usrname()));
79                         unHideMe(G.ui.sidebar.logoutbox);
80                         unHideMe(G.ui.sidebar.logged_in_as);
81                         hideMe(G.ui.sidebar.loginbox);
82                 }
83         }
84
85         hideMe(G.ui.all.canvas_main);
86         unHideMe(G.ui.login.box);
87
88         G.ui.login.cancel.onclick = function(){
89                 unHideMe(G.ui.all.canvas_main);
90                 hideMe(G.ui.login.box);
91                 hideMe(G.ui.all.loading);
92         }
93 }
94
95
96
97 /* sets all of the params values */
98 var TERM,  STYPE,  LOCATION,  DEPTH,  FORM, OFFSET,  COUNT,  
99          HITCOUNT,  RANKS, SEARCHBAR_EXTRAS;
100
101 function initParams() {
102         var cgi = new CGI();    
103
104         TERM    = cgi.param(PARAM_TERM);
105         STYPE   = cgi.param(PARAM_STYPE);
106         FORM    = cgi.param(PARAM_FORM);
107
108         LOCATION        = parseInt(cgi.param(PARAM_LOCATION));
109         DEPTH           = parseInt(cgi.param(PARAM_DEPTH));
110         OFFSET  = parseInt(cgi.param(PARAM_OFFSET));
111         COUNT           = parseInt(cgi.param(PARAM_COUNT));
112         HITCOUNT        = parseInt(cgi.param(PARAM_HITCOUNT));
113         MRID            = parseInt(cgi.param(PARAM_MRID));
114         RID             = parseInt(cgi.param(PARAM_RID));
115
116         /* set up some sane defaults */
117         if(isNaN(LOCATION))     LOCATION        = 1;
118         if(isNaN(DEPTH))                DEPTH           = 0;
119         if(isNaN(OFFSET))               OFFSET  = 0;
120         if(isNaN(COUNT))                COUNT           = 10;
121         if(isNaN(HITCOUNT))     HITCOUNT        = 0;
122         if(isNaN(SEARCHBAR_EXTRAS))     SEARCHBAR_EXTRAS        = 0;
123         if(isNaN(MRID))         MRID            = 0;
124         if(isNaN(RID))                  RID             = 0;
125 }
126
127 /* URL param accessors */
128 function getTerm(){return TERM;}
129 function getStype(){return STYPE;}
130 function getLocation(){return LOCATION;}
131 function getDepth(){return DEPTH;}
132 function getForm(){return FORM;}
133 function getOffset(){return OFFSET;}
134 function getDisplayCount(){return COUNT;}
135 function getHitCount(){return HITCOUNT;}
136 function getSearchBarExtras(){return SEARCHBAR_EXTRAS;}
137 function getMrid(){return MRID;};
138 function getRid(){return RID;};
139
140
141