function _O(o){return document.getElementById(o);}

/***************** CAPTCHA *****************/
function loadCaptcha(){
	var captcha= document.createElement("img")
	captcha.src="GenerateCaptcha?ms="+ new Date().getTime();
	captcha.style.position="absolute";
	captcha.style.left="0";
	_O('captcha').appendChild(captcha);
}
/************************************************/

function register(){
	var user=_O("username").value;
	var email=_O("email").value;
	var pass=_O("password").value;
	var pass2=_O("password2").value;
	var captcha=_O("captchaText").value;	
	var policy=_O("privacyPolicy").checked;
	var aBox=_O("alert");
	
	if(user.replace(" ","","g")=="")aBox.innerHTML="Username cannot be blank";
	else if(/[^a-zA-Z0-9]+/.test(user))aBox.innerHTML="Username must contain alpha-numeric characters only [A-Z],[a-z],[0-9]";
	else if(email.replace(" ","","g")=="")aBox.innerHTML="E-mail cannot be blank";
	else if(!/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i.test(email))aBox.innerHTML="E-mail is not in proper format";
	else if(pass != pass2)aBox.innerHTML="Passwords do not match";
	else if(pass.length<8 || pass2.length<8)aBox.innerHTML="Password must be at least 8 characters long";
	else if(pass.replace(" ","","g")=="")aBox.innerHTML="Password cannot be blank";
	else if(/[^a-zA-Z0-9]+/.test(pass))aBox.innerHTML="Passwords must contain alpha-numeric characters only [A-Z],[a-z],[0-9]";
	else if(captcha.replace(" ","","g")=="")aBox.innerHTML="Captcha cannot be blank";
	else if(policy==false)aBox.innerHTML="You must agree to the terms of service and privacy policy";
	else{	
		_O("regButton").style.display='none';
		_O("regWait").style.display='';
		_Ajax.sendRequest("MainRegister?username="+user+"&email="+email+"&password="+pass+"&captcha="+captcha,"registerSuccess(req.responseText)");
	}
}
function registerSuccess(req){
	var aBox=_O("alert");
	if(req=='captchawrong')aBox.innerHTML="Captcha is incorrect, please try again.";
	else if(req=='userexists')aBox.innerHTML="Username is already in use.";
	else if(req=='emailexists')aBox.innerHTML="This email is already in use.";
	if(req=='success'){_O('regWait').innerHTML="Registration wass successful, please login <a class='defaultBlueLink' href='Login'>here</a>";aBox.innerHTML='';}
	else{_O("regButton").style.display='';_O("regWait").style.display='none';}
}