var usernameillegalChars = /\W/;
var message = '';
var err = false;

function validateRegister()
{

	validateUsername();

	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(document.registerform.email.value))) {
		err = true;
		message += "Please enter a valid email address.\n";
	}

	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (document.registerform.email.value.match(illegalChars)) {
		err = true;
		message += "The email address contains illegal characters.\n";
	}
	if (document.registerform.email2.value == '') {
		err = true;
		message += "Please re-type your email address.\n";
	}
	if(document.registerform.email.value != "" && document.registerform.email2.value != "" ) {
		if(document.registerform.email.value != document.registerform.email2.value) { 
			err= true;
			message += "Emails do not match.\n ";
		}
	}


	if(document.registerform.password.value.length < 4 ) {
		err =true;
		message += "Password must be at least four characters in length.\n ";
	}

	if(document.registerform.password2.value == '' ) {
		err =true;
		message += "Please confirm your password.\n ";
	}

	if(document.registerform.password.value != "" && document.registerform.password2.value != "" ) {
		if(document.registerform.password.value != document.registerform.password2.value)
		{ err= true;
		message += "Passwords do not match.\n ";
		}
	}

	if(document.registerform.agree.checked != true) {
		err = true;
		message += " Please agree to terms.\n";
	}

	if (err) {
		alert(message);
		return false;
	} else {
		return true;
	}
}

function testEmail(src) {
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	return regex.test(src);
}


function checkUsername() {

	var checkname = document.registerform.username.value;

	$("yesnoUsername").innerHTML ='';

	if(checkname == '') return;

	if (err) {
		alert(message);
		return false;
	}
	
	var pars = 'submitMethod=ajax';
	var url = 'http://' + location.hostname + '/user/nameunique/' +  checkname;
	//pars += '&checkname='+ checkname;
	var myAjax = new Ajax.Updater( 'yesnoUsername', url, { method: 'post', parameters: pars, onFailure: reportError });

}

function validateUsername() {
	message = '';
	err = false;

	var cleanName = document.registerform.dusername.value;
	cleanName = (cleanName.replace('/\s+/g',''));
	document.registerform.dusername.value = cleanName.toLowerCase();

	//	document.registerform.username.value = Trim(document.registerform.username.value);


	if(document.registerform.dusername.value.length < 4 || document.registerform.dusername.value.length > 32 )
	{
		err = true;
		message += "Username Must be between 4 and 32 characters long.\n ";
	} else {
		if(usernameillegalChars.test(document.registerform.dusername.value)) {
			err = true;
			message += "The username can only contain letters, numbers, and underscores.\n ";
		}
	}
	return;
}

