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