Event.observe(window, 'load', init);
function init() {
// Debugging turned on
//$('debug').style.display = 'block';
// Handle each preview link
var links = document.getElementsByClassName('announcement');
links.each(function(link) {
Event.observe(link,'click',handlePreview);
});
// Handle the logout
Event.observe('logout_href', 'click', handleLogout);
}
var global_sesskey = '';
function handlePreview(event)
{
var a = $(Event.element(event));
var element = a.up('.announcement');
if(!element)
element = a;
if(element.down('.preview').style.display != 'none') {
element.down('.preview').style.display = 'none';
element.down('.description').style.display = 'block';
} else {
element.down('.preview').style.display = 'block';
element.down('.description').style.display = 'none';
}
}
function initiateCheckLogin()
{
new Ajax.Request('/mhscluster/login/index.php', {
onSuccess: checkLogin,
onFailure: function(transport) {
var notice = $('notice');
new Insertion.Top(notice, 'Unable to connect to mhscluster. ');
}
});
}
function loginAsGuest() {
new Ajax.Request( '/mhscluster/login/index.php', {
method: 'post',
parameters: 'username=guest&password=guest&testcookies=1',
onSuccess: checkLogin
})
}
function checkLogin(transport) {
var notice = $('notice');
if ((m = transport.responseText.match(/\
You are logged in as \
([^\<]*)\<\/a\> *\(\Logout\<\/a\>\)\<\/div\>/))) {
var user_id = m[1];
var course_id = m[2];
var user = m[3];
var sess_id = m[4];
notice.update('Logged in as ' + user + '. (Logout)').show();
Event.observe('logout_href', 'click', handleLogout);
// Keep our global session key
global_sesskey = sess_id;
// Store the login locally
storeLogin('course_id='+course_id+'&user='+user+'&sess_id='+sess_id+'&login=true&user_id='+user_id);
} else {
if (transport.responseText.match(/\
You are currently using guest access/)) {
// Store guest login locally
storeLogin('guest_login=true');
} else {
storeLogout();
}
// Place login form
notice.update('').show();
Event.observe('login_form', 'submit', handleLogin);
}
}
function handleLogin() {
var notice = $('notice');
var params = Form.serialize($("login_form"));
params += "&login=true";
notice.update('Checking login . . .');
new Ajax.Request( '/mhscluster/login/index.php', {
method: 'post',
parameters: params,
onSuccess: checkLogin
})
return false;
}
function handleLogout() {
var notice = $('notice');
notice.update('Logging out . . .');
// Not really logging out - just login as guest ;)
loginAsGuest();
}
function totalLogout() {
var notice = $('notice');
notice.update('Logging out . . .');
new Ajax.Request( '/mhscluster/login/index.php', {
method: 'post',
parameters: 'sesskey='+global_sesskey,
onSuccess: checkLogin
})
}
function storeLogin(params) {
new Ajax.Request( '/inc/ajax/login.php', {
method: 'post',
parameters: params
})
}
function storeLogout() {
storeLogin('logout=true');
}