diff BoosterPack/logintets/.svn/text-base/login_presentation.js.svn-base @ 0:0d795f02a8bb tip

initial committ. what was I thinking?
author Robert McIntyre <rlm@mit.edu>
date Mon, 27 Sep 2010 16:57:26 -0400
parents
children
line wrap: on
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/BoosterPack/logintets/.svn/text-base/login_presentation.js.svn-base	Mon Sep 27 16:57:26 2010 -0400
     1.3 @@ -0,0 +1,126 @@
     1.4 +var showingLoggedIn = false;
     1.5 +var messageElement = false;
     1.6 +var messageP = false;
     1.7 +
     1.8 +// focusField method: called when username and password gain focus
     1.9 +function focusField()
    1.10 +{
    1.11 +	try {
    1.12 +		if (messageElement != false)
    1.13 +		{
    1.14 +			document.getElementById('message').removeChild(messageElement);
    1.15 +		}
    1.16 +		getSeed();
    1.17 +	}
    1.18 +	catch (e)
    1.19 +	{ } // do nothing... hides an apparent firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=236791
    1.20 +}
    1.21 +
    1.22 +// blurField method: called when username and password are blurred
    1.23 +function blurField()
    1.24 +{
    1.25 +	try {
    1.26 +		validateLogin();
    1.27 +	}
    1.28 +	catch (e)
    1.29 +	{ } // hide bug https://bugzilla.mozilla.org/show_bug.cgi?id=236791
    1.30 +}
    1.31 +
    1.32 +// showLogin method: displays if necessariy that we are logged in
    1.33 +function showLogin() {
    1.34 +	if (messageElement != false)
    1.35 +	{
    1.36 +		try {
    1.37 +			document.getElementById('message').removeChild(messageElement);
    1.38 +		}
    1.39 +		catch (e) { }
    1.40 +	}
    1.41 +	if (loggedIn)
    1.42 +	{
    1.43 +		showingLoggedIn = true;
    1.44 +		
    1.45 +		loginPanel = document.getElementById('login');
    1.46 +		p = document.createElement('p');
    1.47 +		pre = document.createTextNode('Logged in as ');
    1.48 +		strong = document.createElement('strong');
    1.49 +		strong_text = document.createTextNode(fullname);
    1.50 +		strong.appendChild(strong_text);
    1.51 +		mid = document.createTextNode(' [');
    1.52 +		a = document.createElement('a');
    1.53 +		a.href='javascript:logout();';
    1.54 +		a_text = document.createTextNode('logout');
    1.55 +		a.appendChild(a_text);
    1.56 +		post = document.createTextNode(']');
    1.57 +		
    1.58 +		p.appendChild(pre);
    1.59 +		p.appendChild(strong);
    1.60 +		p.appendChild(mid);
    1.61 +		p.appendChild(a);
    1.62 +		p.appendChild(post);
    1.63 +		
    1.64 +		messageP = document.getElementById('message');
    1.65 +		loginPanel.removeChild(messageP);
    1.66 +		loginPanel.appendChild(p);
    1.67 +		
    1.68 +		messageElement = p;
    1.69 +		
    1.70 +		document.getElementById('username').disabled = 'disabled';
    1.71 +		document.getElementById('password').disabled = 'disabled';
    1.72 +		
    1.73 +		document.getElementById('comments').focus();
    1.74 +	}
    1.75 +	else
    1.76 +	{
    1.77 +		messageElement = document.createElement('strong');
    1.78 +		messageElement.appendChild(document.createTextNode(' ' + messages));
    1.79 +		messageElement.style.color = '#ff0000';
    1.80 +		document.getElementById('message').appendChild(messageElement);
    1.81 +	}
    1.82 +}
    1.83 +
    1.84 +// logout method: prepares for a new login
    1.85 +function logout()
    1.86 +{
    1.87 +	resetLogin();
    1.88 +	username = document.getElementById('username');
    1.89 +	password = document.getElementById('password');
    1.90 +	loginPanel = document.getElementById('login');
    1.91 +	username.value = '';
    1.92 +	password.value = '';
    1.93 +	username.disabled = null;
    1.94 +	password.disabled = null;
    1.95 +	
    1.96 +	loginPanel.removeChild(messageElement);
    1.97 +	loginPanel.appendChild(messageP);
    1.98 +	
    1.99 +	messageElement = false;
   1.100 +	showingLoggedIn = false;
   1.101 +	
   1.102 +	username.focus();
   1.103 +}
   1.104 +
   1.105 +// setupLogin method: to be called on page load, sets up the login script
   1.106 +function setupLogin()
   1.107 +{
   1.108 +	username = document.getElementById('username');
   1.109 +	password = document.getElementById('password');
   1.110 +	addEvent(username, 'focus', focusField);
   1.111 +	addEvent(username, 'blur', blurField);
   1.112 +	addEvent(password, 'focus', focusField);
   1.113 +	addEvent(password, 'blur', blurField);
   1.114 +}
   1.115 +
   1.116 +
   1.117 +// function to add events to the page in a cross-browser manner
   1.118 +function addEvent(objObject, strEventName, fnHandler) { 
   1.119 +	// DOM-compliant way to add an event listener 
   1.120 + 	if (objObject.addEventListener) {
   1.121 +		objObject.addEventListener(strEventName, fnHandler, false); 
   1.122 +	}
   1.123 +	// IE/windows way to add an event listener 
   1.124 +	else if (objObject.attachEvent) {
   1.125 +		objObject.attachEvent('on' + strEventName, fnHandler); 
   1.126 +	}
   1.127 +}
   1.128 +
   1.129 +addEvent(window,'load',setupLogin);
   1.130 \ No newline at end of file