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('
username: password:
').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'); }