function passwordAssistanceForm(formID)
{
	var formObj = validateAParticularForm(formID);

	if(formObj == null)
	{
		alert('Error:  Check formID');
		return false;
	}

	if(!formObj.isValid)
	{
		displayErrors(formObj);
		return false;
	}
	else
	{
		return true;
	}
}

function doLogout()
{
	var success;
	var pars = 'date='+Date();
	new Ajax.Request(daDomain+'/blimda/Login/Logout.asp', {
		parameters: pars,
		asynchronous: false,
		onSuccess: function(a){success = true;},
		onFailure: function(a){success = false;}
	});

	return success;
}

function removeFromUsersNow()
{
	if (window.event.clientX < 0 && window.event.clientY < 0)
	{
		var pars = 'date='+Date();
		new Ajax.Request(daDomain+'/blimda/Login/RemoveFromUsersNow.asp', {
			parameters: pars,
			asynchronous: false
		});
	}
}

function addToUsersNow()
{
	var pars = 'date='+Date();
	new Ajax.Request(daDomain+'/blimda/Login/AddToUsersNow.asp', {
		parameters: pars,
		asynchronous: false
	});
}

function rememberUsername(shouldRemember, username)
{
	var pars = 'shouldRemember='+shouldRemember+'&username='+username+'&date='+Date();
	new Ajax.Request(daDomain+'/blimda/Login/RememberUsername.asp', {
		parameters: pars,
		asynchronous: false
	});
}


function doLogin(username, password)
{
	if (username.length == 0 || password.length == 0)
	{
		return "{'isValid' : false}".evalJSON();
	}
	else
	{
		var shouldContinue = false;
		var json;
		var pars = 'username='+username+'&password='+password+'&date='+Date();
		new Ajax.Request(daDomain+'/blimda/Login/ValidateAndPersist.asp', {
			parameters: pars,
			asynchronous: false,
			onSuccess: function(theResponse){json = theResponse.responseText.evalJSON();},
			onFailure: function(theResponse){json = false;}
		});
		return json;
	}
}

function loginBy(username, password)
{
	username = escape(username);
	password = escape(password);

	var userJSON = doLogin(username, password);
	if (!userJSON)
	{
		$('loginErrors').update('Server error.  Please try again or contact the administrator.');
		return false;
	}
	
	if (userJSON.isValid)
	{
		return true;
	}
	else
	{
		if($F('username') == '' || $F('password') == '')
		{
			$('loginErrors').update('Username and password both required.');
		}
		//If username isn't in DB...
		else if(isAuthorFieldUnique('username', $F('username')).isUnique && $F('username') != '')
		{
			$('loginErrors').update('Username not recognized.');
		}
		//If username is in DB but still fails (due to password)
		else if (!isAuthorFieldUnique('username', $F('username')).isUnique)
		{
			$('loginErrors').update('Invalid password.');
		}
		else
		{
			$('loginErrors').update('Invalid username and/or password.');
		}
		return false;
	}
}