//function to apply trim operation on string, as same as php trim() function
function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}

//checks t he form for valid input and also checks for spaces
function checkRegisterForm()
{
	var email = trim(document.regForm.email.value);
	var uname 	= document.regForm.username.value;
	var illegalChars = /[^$A-Za-z0-9_.]/;  // allow only letters, numbers, and underscores

 
 if ( trim(document.regForm.username.value)  == ""){
		document.getElementById('username_error').innerHTML = '<span class="errorMsg">username is required</span>';
		document.regForm.username.value = "";
		document.regForm.username.focus();
		return false;
	}else if (illegalChars.test(uname)) {
        document.getElementById('username_error').innerHTML = '<span class="errorMsg">only letters(a-z), numbers(0-9), periods(.) and (_) are allowed.</span>';
		document.regForm.username.select();
		return false;
    }else{
		document.getElementById('username_error').innerHTML = '';
	}
	if ( trim(document.regForm.email.value)  == ""){
		document.getElementById('email_error').innerHTML = '<span class="errorMsg">email is required</span>';
		document.regForm.email.value = "";
		document.regForm.email.focus();
		return false;
	}else{
		document.getElementById('email_error').innerHTML = '';
	}
	if(!validateEmail(email)){
		document.getElementById('email_error').innerHTML = '<span class="errorMsg">enter a valid email address.</span>';
		document.regForm.email.select();
		return false;
	}
	if ( trim(document.regForm.password.value)  == ""){
		document.getElementById('password_error').innerHTML = '<span class="errorMsg">password must have minimum 5 characters</span>';
		document.regForm.password.value = "";
		document.regForm.password.focus();
		return false;
	}else{
			if(document.regForm.password.value.length  < 5){
		document.getElementById('password_error').innerHTML = '<span class="errorMsg">password must have minimum 5 characters</span>';
		document.regForm.password.value = "";
		document.regForm.password.select();
		return false;
			}else{
		document.getElementById('password_error').innerHTML = '';
			}
	}
	if ( document.regForm.age.checked == false){
		document.getElementById('age_error').innerHTML = '<span class="errorMsg">please confirm</span>';
		return false;
	}else{
		document.getElementById('age_error').innerHTML = '';
			}
	if ( document.regForm.terms.checked == false){
		document.getElementById('terms_error').innerHTML = '<span class="errorMsg">you must have to agree on our terms and conditions</span>';
		return false;
	}else{
		document.getElementById('terms_error').innerHTML = '';
			}
	
 return true;
}
function validateEmail(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){ return false; }
	
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)	{ return false; }
	
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){ return false; }
	
	if (str.indexOf(at,(lat+1))!=-1){ return false;}
	
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ return false;}
	
	if (str.indexOf(dot,(lat+2))==-1){return false;}
	
	if (str.indexOf(" ")!=-1){ return false;}
	return true;
}
