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