/*

$Id: signup.js 75 2006-03-16 06:02:23Z lindsay $
$Revision: 75 $
$Date: 2006-03-16 17:02:23 +1100 (Thu, 16 Mar 2006) $
$Author: lindsay $

*/

function submitButtonClick(e){
	e.target.form.onsubmit = validate;
}

function validate(){
	var form = document.forms['loginFormNoAjax'];
	var errorMessages = {};
	var wrapper;
	var errorMessageElement;
	var errorThrown = false;
	var validEmailRE = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
	var validURLRE = /http[s]*:\/\/[^\.]+\.[a-zA-Z]+.*/i;

	/* Clear existing error messages */
	var divElements = document.getElementsByTagName('DIV');
	for(var i = divElements.length - 1; i >= 0; i--){
		if(divElements[i].className == 'errorOverview' || divElements[i].className == 'errorMessage'){
			divElements[i].parentNode.removeChild(divElements[i]);
		}else{
			divElements[i].className = divElements[i].className.replace(/\s?error/g, '');
		}
	}

	if(form.emailAddress.value == ''){
		errorMessages.emailAddress = 'Please enter your email address';
		errorThrown = true;
	}else if(!validEmailRE.test(form.emailAddress.value)){
		errorMessages.emailAddress = 'Please enter a valid email address';
		errorThrown = true;
	}

	if(form.password.value == ''){
		errorMessages.password = 'Please enter your password';
		errorThrown = true;
	}else if(form.password.value.length < 3 || form.password.value.length > 255){
		errorMessages.password = 'Please enter a password between 3 and 255 characters long;';
		errorThrown = true;
	}

	for(var i in errorMessages){
		wrapper = form[i].parentNode;
		wrapper.className += ' error';
		errorMessageElement = document.createElement('div');
		errorMessageElement.id = 'errorMessage_' + i;
		errorMessageElement.className = 'errorMessage';
		errorMessageElement.innerHTML = errorMessages[i].replace(/\n/g, '<br />');
		wrapper.appendChild(errorMessageElement);
	}
/*	if(errorThrown){
		errorMessageElement = document.createElement('div');
		errorMessageElement.id = 'errorOverview';
		errorMessageElement.className = 'errorOverview';
		errorMessageElement.innerHTML = 'Uh oh, seems there were a few things wrong, please check your details and try again.';
		document.getElementById('loginFieldset').insertBefore(errorMessageElement, document.getElementById('loginFieldset').childNodes[0]);
	}*/

	return !errorThrown;
}

function windowLoad_loginPage(){
//alert('windowLoad_loginPage')
	var form = document.forms['loginFormNoAjax'];
	var submitButtons = form.getElementsByTagName('INPUT');
	var submitButton;
	for(var i = 0; i < submitButtons.length; i++){
		submitButton = submitButtons[i];
		if(submitButton.getAttribute('type') == 'submit' && submitButton.getAttribute('name') != 'cancelButton'){
			EventManager.addEventListener(submitButton, 'click', submitButtonClick);
		}
	}
}

EventManager.addEventListener(window, 'load', windowLoad_loginPage);
