function trim(strText)
{
	while('' + strText.charAt(0) == ' ') {
		strText = strText.substring(1, strText.length);
		}
	while('' + strText.charAt(strText.length-1)==' ') {
		strText = strText.substring(0, strText.length-1);
		}
	return strText;
}
function controlHidden(id)
{
if (document.getElementById) {
	if (document.getElementById(id).style.display == 'none')
		return true;
	else
		return false;
}
else {
    if (document.layers) { // Netscape 4
		if (document.id.display == 'none')
			return true;
		else
			return false;
     }
     else { // IE 4
		if (document.all.id.style.display == 'none')
			return true;
		else
			return false;
     }
	}
}
function hideControl(id)
{
if (document.getElementById) {
    document.getElementById(id).style.display = 'none';
}
else {
    if (document.layers) { // Netscape 4
	document.id.display = 'none';
     }
     else { // IE 4
	document.all.id.style.display = 'none';
     }
}
}
function showControl(id)
{
if (document.getElementById) {
    document.getElementById(id).style.display = 'block';
}
else {
    if (document.layers) { // Netscape 4
	document.id.display = 'block';
     }
     else { // IE 4
	document.all.id.style.display = 'block';
     }
}
}
function setControlColor(id, ccolor)
{
if (document.getElementById) {
    document.getElementById(id).style.color = ccolor;
}
else {
    if (document.layers) { // Netscape 4
	document.id.color = ccolor;
     }
     else { // IE 4
	document.all.id.style.color = ccolor;
     }
}
}
function setControlValue(id, cvalue)
{
if (document.getElementById) {
    document.getElementById(id).value = cvalue;
}
else {
    if (document.layers) { // Netscape 4
	document.id.value = cvalue;
     }
     else { // IE 4
	document.all.id.value = cvalue;
     }
}
}
function setContent(id,content)
{
	var container = document.getElementById(id);
	container.innerHTML = content;
}
function setFocus(id)
{
	var container = document.getElementById(id);
	container.focus();
}
function validateLogin()
{
	var usernameCtrl = document.getElementById('username');
	var username = trim(usernameCtrl.value);
	setControlValue('username', username);	// Put the corrected string back
	var password = document.getElementById('password').value;
	if (username == '')
	{
		setContent('loginError', 'You must enter a username');
		showControl('loginError');
		setFocus('username');
		return false;
	}
	if (password == '')
	{
		setContent('loginError', 'You must enter a password');
		showControl('loginError');
		setFocus('password');
		return false;
	}
	
	// No error
	//hideControl('loginError');
	setContent('loginError', 'Logging in...');
	setControlColor('loginError', 'black');
	showControl('loginError');
	return true;
}
function validateRequestPassword()
{
	var emailCtrl = document.getElementById('email');
	var email = trim(emailCtrl.value);
	setControlValue('email', email);	// Put the corrected string back
//	alert(email);
	var confirmEmailCtrl = document.getElementById('confirmEmail');
	var confirmEmail = trim(confirmEmailCtrl.value);
	setControlValue('confirmEmail', confirmEmail);	// Put the corrected string back
//	alert(confirmEmail);
	if (email == '')
	{
		setContent('errorEmail', 'You must enter an email address');
		showControl('errorEmail');
		setFocus('email');
		return false;
	}
	if (confirmEmail == '')
	{
		setContent('errorEmail', 'You must enter a confirmation email');
		showControl('errorEmail');
		setFocus('confirmEmail');
		return false;
	}
	if (email != confirmEmail)
	{
		setContent('errorEmail', 'Emails must match');
		showControl('errorEmail');
		setFocus('confirmEmail');
		return false;
	}
	
	// No error
	//hideControl('loginError');
	setContent('errorEmail', 'Please wait...');
	setControlColor('errorEmail', 'black');
	showControl('errorEmail');
	return true;
}
function validateSignup()
{
	var usernameCtrl = document.getElementById('username');
	var username = trim(usernameCtrl.value);
	setControlValue('username', username);	// Put the corrected string back
	var passwordCtrl = document.getElementById('password');
	var password = passwordCtrl.value;
	var confirmPasswordCtrl = document.getElementById('confirmPassword');
	var confirmPassword = confirmPasswordCtrl.value;

	var emailCtrl = document.getElementById('email');
	var email = trim(emailCtrl.value);
	setControlValue('email', email);	// Put the corrected string back
	var confirmEmailCtrl = document.getElementById('confirmEmail');
	var confirmEmail = trim(confirmEmailCtrl.value);
	setControlValue('confirmEmail', confirmEmail);	// Put the corrected string back

	var error = 0;	
	if (confirmEmail == '')
	{
		setContent('emailError', 'You must enter a confirmation email');
		showControl('emailError');
		setFocus('confirmEmail');
		error = 1;
	}
	if (email == '')
	{
		setContent('emailError', 'You must enter an email address');
		showControl('emailError');
		setFocus('email');
		error = 1;
	}
	
	if (error == 0)
	{
		if (email != confirmEmail)
		{
			setContent('emailError', 'Emails must match');
			showControl('emailError');
			setFocus('confirmEmail');
			error = 1;
		}
	}
	
	if (error == 0)
		hideControl('emailError');
	
	if (password == '')
	{
		setContent('passwordError', 'You must enter a password');
		setControlValue('password', '');
		setControlValue('confirmPassword', '');
		showControl('passwordError');
		setFocus('password');
		error = 1;
	}
	else if (password != confirmPassword)
	{
		setContent('passwordError', 'Passwords must match');
		setControlValue('password', '');
		setControlValue('confirmPassword', '');
		showControl('passwordError');
		setFocus('password');
		error = 1;
	}
	else
		hideControl('passwordError');
			
	if (username == '')
	{
		setContent('usernameError', 'You must enter a username');
		showControl('usernameError');
		setFocus('username');
		error = 1;
	}
	else
		hideControl('usernameError');
	
	// No error
	//hideControl('loginError');
	if (error == 0)
	{
		setContent('usernameError', 'Please wait...');
		setControlColor('usernameError', 'black');
		showControl('usernameError');
		return true;
	}
	else
		return false;
}
function validateNewPassword()
{
	var oldPasswordCtrl = document.getElementById('oldPassword');
	var oldPassword = oldPasswordCtrl.value;
	var newPasswordCtrl = document.getElementById('newPassword');
	var newPassword = newPasswordCtrl.value;
	var confirmNewPasswordCtrl = document.getElementById('confirmNewPassword');
	var confirmNewPassword = confirmNewPasswordCtrl.value;
	
	hideControl('successEmail');
	hideControl('successPassword');
	hideControl('errorNewEmail');
	
	var error = 0;
	if (newPassword == '')
	{
		setContent('errorNewPassword', 'New password required');
		showControl('errorNewPassword');
		setFocus('errorNewPassword');
		
		setControlValue('newPassword', '');
		setControlValue('confirmNewPassword', '');
		setControlValue('oldPassword', '');
		
		setFocus('oldPassword');
		
		error = 1;
	}
	else if (newPassword != confirmNewPassword)
	{
		setContent('errorNewPassword', 'Passwords must match');
		showControl('errorNewPassword');
		
		setControlValue('newPassword', '');
		setControlValue('confirmNewPassword', '');
		setControlValue('oldPassword', '');
		
		setFocus('oldPassword');
		
		error = 1;
	}
	else
		hideControl('errorNewPassword');
		
	if (oldPassword == '')
	{
		setContent('errorPassword', 'Current password required');
		showControl('errorPassword');
		setFocus('errorPassword');
		
		setControlValue('newPassword', '');
		setControlValue('confirmNewPassword', '');
		setControlValue('oldPassword', '');
		
		setFocus('oldPassword');
		
		error = 1;
	}
	else
		hideControl('errorPassword');
	
	if (error == 0)
	{
		// No error
		setContent('successPassword', 'Please wait...');
		setControlColor('successPassword', 'black');
		showControl('successPassword');
		return true;
	}
	else
		return false;
}
function validateNewEmail()
{
	var oldPasswordCtrl = document.getElementById('oldPassword');
	var oldPassword = oldPasswordCtrl.value;
	var newEmailCtrl = document.getElementById('newEmail');
	var newEmail = newEmailCtrl.value;
	var confirmNewEmailCtrl = document.getElementById('confirmNewEmail');
	var confirmNewEmail = confirmNewEmailCtrl.value;
	
	hideControl('successEmail');
	hideControl('successPassword');
	hideControl('errorNewPassword');
		
	var error = 0;
	if (newEmail == '')
	{
		setContent('errorNewEmail', 'New email required');
		showControl('errorNewEmail');
		
		setControlValue('oldPassword', '');
		setFocus('oldPassword');
		error = 1;
	}
	else if (newEmail != confirmNewEmail)
	{
		setContent('errorNewEmail', 'Emails must match');
		showControl('errorNewEmail');
		
		setControlValue('oldPassword', '');
		setFocus('oldPassword');
		error = 1;
	}
	else
		hideControl('errorNewEmail');
		
	if (oldPassword == '')
	{
		setContent('errorPassword', 'Current password required');
		showControl('errorPassword');
		
		setFocus('oldPassword');
		
		error = 1;
	}
	else
		hideControl('errorPassword');
	
	if (error == 0)
	{
		// No error
		setContent('successEmail', 'Please wait...');
		setControlColor('successEmail', 'black');
		showControl('successEmail');
		return true;
	}
	else
		return false;
}
function validatePost()
{
	var titleCtrl = document.getElementById('title');
	var title = trim(titleCtrl.value);
	setControlValue('title', title);
	var contentCtrl = document.getElementById('content');
	var content = trim(contentCtrl.value);
	setControlValue('content', content);

	var error = 0;
	if (content.length < 6)
	{
		error = 1;
		setContent('errorContent', 'Content must have more than 5 characters');
		showControl('errorContent');
		setFocus('content');
	}
	else
		hideControl('errorContent');
	if (title == '')
	{
		error = 1;
		setContent('errorTitle', 'Title cannot be blank');
		showControl('errorTitle');
		setFocus('title');
	}
	else
		hideControl('errorTitle');	
		
	if (error == 0)
		return true;
	else
		return false;
}