Subversion Repositories ALCASAR

Rev

Rev 514 | Rev 537 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
514 richard 1
chilliController.interval = 20;
503 richard 2
chilliController.host = "alcasar";
484 stephane 3
chilliController.port = 3990;
4
chilliController.onUpdate = updateUI ;
5
chilliController.onError  = handleError ;
6
chilliClock.onTick = function () { }
528 stephane 7
var isloggedout = false;
484 stephane 8
 
9
if (!window.queryObj) {
10
    window.queryObj = new Object();
11
    window.location.search.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"), function($0,$1,$2,$3) { queryObj[$1] = $3; });
12
}
13
 
14
chilliController.queryObj = window.queryObj;
15
 
16
function ie_getElementsByTagName(str) {
17
  if (str=="*") return document.all;
18
  else return document.all.tags(str);
19
}
20
 
21
if (document.all) 
22
  document.getElementsByTagName = ie_getElementsByTagName;
23
 
24
function hidePage(page) { 
25
    var e = document.getElementById(page);
26
    if (e != null) e.style.display='none';
27
}
28
 
29
function showPage(page) { 
30
    var e = document.getElementById(page);
31
    if (e != null) e.style.display='inline';
32
}
33
 
34
function setElementValue(elem, val, forceHTML) {
35
    var e = document.getElementById(elem);
36
    if (e != null) {
37
	var node = e;
38
	if (!forceHTML && node.firstChild) {
39
	    node = node.firstChild;
40
	    node.nodeValue = val;
41
	} else {
42
	    node.innerHTML = val;
43
	}
44
    }
45
}
46
 
47
chilliClock.onChange = function ( newval ) {
48
    setElementValue("sessionTime", chilliController.formatTime(newval));
49
}
50
 
51
function updateUI (cmd ) {
52
    log ( "Update UI is called. chilliController.clientState = " + chilliController.clientState ) ; 
53
 
54
    clearTimeout ( delayTimer );
55
 
56
    if ( chilliController.redir ) {
57
	if (chilliController.redir.originalURL != null &&
58
	    chilliController.redir.originalURL != '') {
59
	    setElementValue('originalURL', '<a target="_blank" href="'+chilliController.redir.originalURL+
60
			    '">'+chilliController.redir.originalURL+'</a>', true);
61
	}
62
	if (chilliController.redir.redirectionURL != null &&
63
	    chilliController.redir.redirectionURL != '') {
64
	    setElementValue('redirectionURL', chilliController.redir.redirectionURL);
65
	}
66
    }
67
 
68
    if ( chilliController.message ) {
69
	setElementValue('logonMessage', chilliController.message);
70
	chilliController.message = null;
71
	chilliController.refresh();
72
    }
73
 
74
    if ( chilliController.location ) {
75
	setElementValue('locationName', chilliController.location.name);
76
	chilliController.location = null;
77
    }
78
 
79
    if ( chilliController.clientState == 0 ) {
80
        showLoggedOutPage();
81
		setTimeout('chilliController.refresh()', 1000*chilliController.interval);//WBR for status page only
82
    }
83
 
84
    if ( chilliController.clientState == 1 ) {
85
        if ( chilliController.statusURL ) {
86
			chilliController.statusWindow = window.open(chilliController.statusURL, "");
87
		} else {
88
			showStatusPage();
89
        }
90
    }
91
 
92
    if (chilliController.redir.redirectionURL) {
93
	//chilliController.nextWindow = window.open(chilliController.redir.redirectionURL,'nextURL');
94
	window.location.href = chilliController.redir.redirectionURL;
95
	chilliController.redir.redirectionURL = null;
96
    }
97
 
98
    if ( chilliController.clientState == 2 ) showWaitPage();
99
}
100
 
101
function handleError( code ) {
102
    clearTimeout(delayTimer);
103
    //showErrorPage(code);
104
}
105
 
106
/* Action triggered when buttons are pressed */
107
function connect() {
108
    var username =  document.getElementById('username').value ;
109
    var password =  document.getElementById('password').value ;
110
 
111
    if (username == null || username == '')
112
	return setElementValue('logonMessage', 'Username is required');
113
 
114
    showWaitPage(1000);
115
    chilliController.logon( username , password ) ;
116
}
117
 
118
function disconnect() {
119
    if (confirm("Are you sure you want to disconnect now?")) {
120
	chilliClock.stop();
121
	showWaitPage(1000);
122
	chilliController.logoff();
123
    }
124
    return false;
125
}
126
 
127
/* User interface pages update */
128
function showLoggedOutPage() {
528 stephane 129
	isloggedout = true;
484 stephane 130
    showPage("loggedOutPage");
131
    hidePage("statusPage");
132
    hidePage("waitPage");
133
    hidePage("errorPage");
134
    window.setTimeout("closePopup()",1000);
135
}
136
 
137
function showStatusPage() {
528 stephane 138
	isloggedout = false;
484 stephane 139
    hidePage("loggedOutPage");
140
    showPage("statusPage");
141
    hidePage("waitPage");
142
    hidePage("errorPage");
143
 
144
    // Update message
145
    if ( chilliController.message ) { 
146
	setElementValue("statusMessage", chilliController.message);
147
    }
148
 
149
    // Update session
150
    setElementValue("sessionId",
151
		    chilliController.session.sessionId ?
152
		    chilliController.session.sessionId :
153
		    "Not available");
154
 
155
	setElementValue("userName",
156
		    chilliController.session.userName ?
157
		    chilliController.session.userName :
158
		    "Not available");
159
 
160
    setElementValue("startTime",
161
		    chilliController.session.startTime ?
162
		    chilliController.session.startTime.toLocaleString() :
163
		    "Not available");
164
 
165
    setElementValue("sessionTimeout",
166
		    chilliController.formatTime(chilliController.session.sessionTimeout, 'unlimited'));
167
 
168
    setElementValue("idleTimeout",
169
		    chilliController.formatTime(chilliController.session.idleTimeout, 'unlimited'));
170
 
171
    setElementValue("maxInputOctets",
172
		    chilliController.formatBytes(chilliController.session.maxInputOctets));
173
    setElementValue("maxOutputOctets",
174
		    chilliController.formatBytes(chilliController.session.maxOutputOctets));
175
    setElementValue("maxTotalOctets",
176
		    chilliController.formatBytes(chilliController.session.maxTotalOctets));
177
 
178
    // Update accounting
179
    setElementValue("sessionTime",
180
		    chilliController.formatTime(chilliController.accounting.sessionTime));
181
 
182
    setElementValue("idleTime",
183
		    chilliController.formatTime(chilliController.accounting.idleTime));
184
 
185
    setElementValue("inputOctets" , chilliController.formatBytes(chilliController.accounting.inputOctets));
186
    setElementValue("outputOctets", chilliController.formatBytes(chilliController.accounting.outputOctets));
187
 
188
    chilliClock.resync (chilliController.accounting.sessionTime);
189
}
190
 
191
function showWaitPage(delay) {
192
    /* Wait for delay  */
193
    clearTimeout(delayTimer);	
194
    if (typeof(delay) == 'number' && (delay > 10)) {
195
	delayTimer= setTimeout('showWaitPage(0)' , delay);
196
	return;
197
    }
198
 
199
    /* show the waitPage */
200
    hidePage("loggedOutPage");
201
    hidePage("statusPage");
202
    showPage("waitPage");
203
    hidePage("errorPage");
204
}
205
 
206
function showErrorPage( str )  {
207
    setTimeout('chilliController.refresh()', 15000);
208
 
209
    hidePage("loggedOutPage");
210
    hidePage("statusPage");
211
    hidePage("waitPage");
212
    showPage("errorPage");
213
    setElementValue("errorMessage", str);
214
}
215
 
216
var chillijsWindowOnLoad = window.onload;
217
var delayTimer; // global reference to delayTimer
218
 
219
window.onload = function() {
220
    if (chillijsWindowOnLoad) 
221
	chillijsWindowOnLoad();
222
 
223
    //var logonForm = document.getElementById('logonForm');
224
	var logonForm = document.getElementById('loggedOutPage');
225
 
226
    var head = document.getElementsByTagName("head")[0];
227
    if (head == null) head = document.body;
228
 
229
    if (logonForm == null) {
230
        logonForm = document.getElementById('loginForm');
231
    }
232
    showWaitPage(); 
233
    setTimeout('chilliController.refresh()', 500);
528 stephane 234
}