function checkEmail (strng) {
var error="";
if (strng == "") {
   return "Please enter an email address.";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.\n";
       }
    }
return error;    
}

function changeType() {
	if(jQuery(this).val() == '1') {
		jQuery('#payinvestor').show();
		jQuery('#payseller').hide();
	} else {
		jQuery('#payinvestor').hide();
		jQuery('#payseller').show();
	}
}

function checkUsername() {
	
	wpusername = jQuery(this).val();
	if(wpusername.length < 4) {
		jQuery('#usernamestatus').removeClass('hidden').removeClass('ok').removeClass('inprogress').addClass('notok');
		jQuery('#usernameok').val('notok');
	} else {
		
		myurl = window.location.href;
		
		jQuery('#usernamestatus').removeClass('hidden').removeClass('notok').removeClass('ok').addClass('inprogress');
		jQuery.getJSON(myurl, {namespace:"_beuser", call:"_ajax", action:'_checkusername', username: wpusername, nocache: new Date().getTime()},
						function(data){
							if(data.errorcode != '200') {
								jQuery('#usernamestatus').removeClass('hidden').removeClass('ok').removeClass('inprogress').addClass('notok');
								jQuery('#usernameok').val('notok');
							} else {
								jQuery('#usernamestatus').removeClass('hidden').removeClass('notok').removeClass('inprogress').addClass('ok');	
								jQuery('#usernameok').val('ok');
							}
						});
	}
	
}

function submitRegistration() {
	
	jQuery('.required').each(function (i) {
		var fval = jQuery(this).val();
		
		if(fval.length < 1) {
			alert('Please ensure that all required fields are completed.');
			return false;
		} else {
			return true;
		}
		
	});
	
	p1 = jQuery('#password').val();
	p2 = jQuery('#p2').val();
	
	if(p1 == p2 && p1.length >= 5) {
		email = jQuery('#email').val();
		eerror = checkEmail(email);
		if(eerror != "") {
			alert(eerror);
			return false;
		}
		
	} else {
		alert('Please ensure that your password matches the verification field and that it is over 5 characters in length.');
		return false;
	}
	
	uok = jQuery('#usernameok').val();
	if(uok == 'notok') {
		alert('Please enter a valid username.');
		return false;
	}
	
	
	return true;
	
}

function userReady() {
	
	jQuery('#usertype').click(changeType);
	jQuery('#wpusername').keyup(checkUsername);
	jQuery('.registrationform').submit(submitRegistration);
}


jQuery(document).ready(userReady);