// JavaScript Document
function checkRegister()
{
	var username = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var email = document.getElementById('email').value;
	
	if(username.replace(/^\s+|\s+$/g, '') == '')
	{
		document.getElementById('jsError').innerHTML = 'Please enter a username';
		document.getElementById('jsError').style.display = '';
		document.getElementById('username').focus();
		return false;
	}
	
	if ((username.length < 3) || (username.length > 15)) 
	{
    	document.getElementById('jsError').innerHTML = 'Username must be between 3 and 15 characters';
		document.getElementById('jsError').style.display = '';
		document.getElementById('username').focus();
		return false;
	}
	
	var illegalChars = /\W/;
    if (illegalChars.test(username)) 
	{
        document.getElementById('jsError').innerHTML = 'Username can only contain numbers and letters';
		document.getElementById('jsError').style.display = '';
		document.getElementById('username').focus();
		return false;
    } 
	
	
	if(password.replace(/^\s+|\s+$/g, '') == '')
	{
		document.getElementById('jsError').innerHTML = 'Please enter a password';
		document.getElementById('jsError').style.display = '';
		document.getElementById('password').focus();
		return false;
	}
	
	if ((password.length < 4) || (password.length > 15)) 
	{
    	document.getElementById('jsError').innerHTML = 'Password must be between 4 and 15 characters';
		document.getElementById('jsError').style.display = '';
		document.getElementById('password').value = '';
		document.getElementById('password2').value = '';
		document.getElementById('password').focus();
		return false;
    }
	
	if(password != document.getElementById('password2').value)
	{
		document.getElementById('jsError').innerHTML = 'passwords do not match';
		document.getElementById('jsError').style.display = '';
		document.getElementById('password').value = '';
		document.getElementById('password2').value = '';
		document.getElementById('password').focus();
		return false;
	}
    
	var illegalChars2 = /[\W_]/; // allow only letters and numbers
	if (illegalChars2.test(password)) 
	{
    	document.getElementById('jsError').innerHTML = 'Password can only contain letters and numbers';
		document.getElementById('jsError').style.display = '';
		document.getElementById('password').value = '';
		document.getElementById('password2').value = '';
		document.getElementById('password').focus();
		return false;
    }
	
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!email.match(re)) 
	{
    	document.getElementById('jsError').innerHTML = 'Please enter a valid email address';
		document.getElementById('jsError').style.display = '';
		//document.getElementById('email').value = '';
		document.getElementById('email').focus();
		return false;
	}
	
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (email.match(illegalChars)) 
	{
		document.getElementById('jsError').innerHTML = 'Email address contains illegal characters ( ) < > [ ] , ; : \ / " ';
		document.getElementById('jsError').style.display = '';
		document.getElementById('email').value = '';
		document.getElementById('email').focus();
		return false;
	}
		
	document.getElementById("pleaseWait").style.display = "";
	document.getElementById("jsError").style.display = "none";
	document.getElementById("buttonSpan").style.display = "none";
	return true;
}


function isEmail(str) 
{
  //http://www.webreference.com/js/tips/990928.html
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}