function writediv(div,text) {
GetId(div).innerHTML = text;
}

function CheckUsername() {
	var username = document.register_form.reg_username.value;
	if(username == '') {
		writediv('userbox','<span class="register_error_txt">must be filled!</span>');
		GetId('reg_username').className = 'register_input_error';	
		return false;
	}
	else {
		var alnum = new RegExp("^[a-z0-9]{4,12}$","g");
		if(username.length<4) {
			writediv('userbox','<span class="register_error_txt"><b>'+username+' :</b> username too short!</span>');
  			GetId('reg_username').className = 'register_input_error';	
			return false;	
		}
		else if(username.length>12) {
			writediv('userbox','<span class="register_error_txt"><b>'+username+' :</b> username too long!</span>');
  			GetId('reg_username').className = 'register_input_error';	
			return false;
		}
		else if (alnum.test(username) == false) {
			writediv('userbox','<span class="register_error_txt"><b>'+username+' :</b> can only contain letters (a-z) and numbers (0-9) !</span>');		
			GetId('reg_username').className = 'register_input_error';	
			return false;		
		}
		else {
			var check = DoAjax('check_user_exist.php?username='+username);

			if(check == 'NO_OK') {
				writediv('userbox','<span class="register_error_txt"><b>'+username+' :</b> this username has been already taken!</span>');
				GetId('reg_username').className = 'register_input_error';	
        		return false;
			}
			else if(check == 'OK') {
				writediv('userbox','<span class="register_success_txt"><b>'+username+' :</b> this username is available! great!</span>');
  				GetId('reg_username').className = 'register_input_success';	
        	return true
			}
			else {
				writediv('userbox','');
				GetId('reg_username').className = 'register_input_normal';	
				return false
			}
		}
	}
}
function CheckEmail(l) {
	var email = document.register_form.reg_email.value;

	if(email == '') {
		writediv('emailbox','<span class="register_error_txt">must be filled!');
		GetId('reg_email').className = 'register_input_error';	
		return false
	}
	else {
		var alnum = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$","g");
		if (alnum.test(email) == true) {
			var res = DoAjax('check_email_exist.php?email='+email);
			if(res == 0) {
				writediv('emailbox','<span class="register_success_txt"><b>'+email+'</b> : OK!');	
				GetId('reg_email').className = 'register_input_success';	
				return true;
			}	
			else {	
				writediv('emailbox','<span class="register_error_txt">a user already exists with this e-mail address !');
				GetId('reg_email').className = 'register_input_error';	
				return false;
			}
		}
		else {
			writediv('emailbox','<span class="register_error_txt"><b>'+email+'</b> : this e-mail address is not correct!</span>');
			GetId('reg_email').className = 'register_input_error';	
			return false;
		}
	}
}	
function CheckPassword() {
	var password = document.register_form.reg_password.value;

	if(password == '') {
		writediv('passwordbox','<span class="register_error_txt">must be filled!');
		GetId('reg_password').className = 'register_input_error';	
		return false;
	}
	else {
		if(password.length<4) {
			writediv('passwordbox','<span class="register_error_txt">password too short!</span>');
			GetId('reg_password').className = 'register_input_error';	
			return false
		}
		else if(password.length>12) {
			writediv('passwordbox','<span class="register_error_txt">password too long!</span>');
			GetId('reg_password').className = 'register_input_error';	
			return false;
		}
		else {
			var alnum = new RegExp("^[a-z0-9]{4,12}$","g");
			if(alnum.test(password) == false) {
			writediv('passwordbox','<span class="register_error_txt">password can only contain numbers and/or letters!</span>');
			GetId('reg_password').className = 'register_input_error';	
			return false
			}		
			else {
			writediv('passwordbox','<span class="register_success_txt">OK!</span>');
			GetId('reg_password').className = 'register_input_success';	
			return true
			}
		}	
	}
}
function CheckSecurityCode() {
	var code = GetId('reg_security_code').value;
	if(code == '') {
		writediv('codebox','<span class="register_error_txt">must be filled!</span>');
		document.getElementById('reg_security_code').className = 'register_input_error';	
		return false
	}
	else {
		var res = DoAjax('check_security_code.php?code='+code);
		if(res == 1) {
				writediv('codebox','<span class="register_success_txt">OK!</span>');
				GetId('reg_security_code').className = 'register_input_success';	
				return true
			}
			else {
				writediv('codebox','<span class="register_error_txt">Invalid Code!');	
				GetId('reg_security_code').className = 'register_input_error';	
				return false;
			}	
	}
}
function CheckFirstname() {
	var firstname = GetId('reg_firstname').value;
	if(firstname == '') {
		writediv('firstnamebox','<span class="register_error_txt">must be filled!</span>');
		GetId('reg_firstname').className = 'register_input_error';	
		return false
	}
	else {
		writediv('firstnamebox','<span class="register_success_txt">OK!</span>');
		GetId('reg_firstname').className = 'register_input_success';	
		return true
	}
}
function CheckLastname() {
	var lastname = GetId('reg_lastname').value;
	if(lastname == '') {
		writediv('lastnamebox','<span class="register_error_txt">must be filled!</span>');
		GetId('reg_lastname').className = 'register_input_error';	
		return false
	}
	else {
		writediv('lastnamebox','<span class="register_success_txt">OK!</span>');
		GetId('reg_lastname').className = 'register_input_success';	
		return true
	}
}	

function CheckForm() {
	GetId('reg_submit').value='Please Wait...';
	var errors = 0;
	if(CheckEmail() == false)
		errors ++;
	if(CheckPassword() == false)
		errors ++;
	if(CheckUsername() == false)
		errors ++;		
	if(CheckFirstname() == false)
		errors ++;	
	if(CheckLastname() == false)
	errors ++;	
	if(CheckSecurityCode() == false)
		errors ++;		
	if(errors!=0) {
		writediv('formbox','<div class="red_box"">Oops! Errors found while verifying form fields! please check the form and correct fields marked with <img src="/gfx/icons/no_ok.gif" /> and try again!</div>');
	}
	else
	{
		GetId('register_form').submit();
		GetId('register_button').innerHTML = 'PLEASE WAIT...';
	}
}