// JavaScript Document
function formValidator() {
	var email = document.theForm.TBUSEREMAIL;
	var firstname = document.theForm.TBUSERFNAM;
	var lastname = document.theForm.TBUSERLNAM;
	var Password = document.theForm.TBUSERPASSWORD;
	var rePassword = document.theForm.Confirmpassword;
	var strPassword = new String(document.theForm.TBUSERPASSWORD.value);
	var adress1 = document.theForm.TBUSERADRESS1;	
	var postalCode = document.theForm.TBUSERCP;	
	var country = document.theForm.TBUSERPAYE; 
	var city = document.theForm.TBUSERCITY;
	var confLYA= document.theForm.confLYA; // checkbox for conferme LYA video
		
	strPassword = strPassword.toUpperCase();
	// Email Checker
	if (email.value == 0) {		
		alert("Please enter a valid e-mail address.");
		email.focus();
		return false;
	} else if (email.value.indexOf("@") < 0) {		
		alert("Please enter a valid e-mail address.");
		email.focus();
		return false;
	} else if (email.value.indexOf(".") < 0) {		
		alert("Please enter a valid e-mail address.");
		email.focus();
		return false;
	} else if (email.value.indexOf(" ") >= 0) {		
		alert("Please enter a valid e-mail address.");
		email.focus();
		return false;
	}//End Email Checker		
	//First Name Checker
	if (firstname.value == 0) {		
		alert("Please enter your first name.");
		firstname.focus();
		return false;
	}
	// Last Name Checker
	if (lastname.value == 0) {		
		alert("Please enter your last name.");
		lastname.focus();
		return false;
	}//End First Name Checker
	// Password Checker
	if (Password.value =="") {		
		alert ("Please enter a password (min 6 characters).");
		Password.focus();
		return false;
	} else if (strPassword.length < 6) {		
		alert ("Please enter a password (min 6 characters).");
		Password.focus();
		return false;
	}else if (firstname.value.length > 2 && strPassword.lastIndexOf(firstname.value.toUpperCase()) > -1) {		
		alert ("Password too closely resembles first name.");
		Password.focus();
		return false;
	} else if (lastname.value.length > 2 && strPassword.lastIndexOf(lastname.value.toUpperCase()) > -1) {		
		alert ("Password too closely resembles last name.");
		Password.focus();
		return false;
	} else if (strPassword.lastIndexOf(email.value.toUpperCase()) > -1) {		
		alert ("Password too closely resembles email.");
		Password.focus();
		return false;
	} else if (Password.value.indexOf(" ") >= 0) {		
		alert ("Please enter a password (min 6 characters).");
		Password.focus();
		return false;
	} else if (Password.value != rePassword.value) {		
		alert ("Passwords do not match.");
		rePassword.focus();
		return false;
	}
	
	//city checker
	if(adress1.value==0)
	{
		alert("Please enter your Address (line 1).");
		adress1.focus();
		return false;
	}
	
	//Code postal checker
	if(trim(postalCode.value)=="")
	{
		alert("Please enter Post Code.");
		postalCode.focus();
		return false;		
	}	
	//else if(!isNumeric(trim(postalCode.value)))
	//{		
		//alert("Please entre Post Code.");		
		//postalCode.focus();
		//return false;
//	}*/
	
	//country Checker
	if(country.options[0].selected)
	{
		alert("Please select your country.");
		country.focus();
		return false;		
	}
	
	//city checker
	if(city.value==0)
	{
		alert("Please enter your City.");
		city.focus();
		return false;
	}
	
	// Gender Check
	myOption = -1;
	for (i=0; i<document.theForm.TBUSERGENR.length; i++) {
		if (document.theForm.TBUSERGENR[i].checked) {
			myOption = i;
		}
	}
	if (myOption == -1) {
		//alert("Please select your Gender.");
		alert("Please select your Gender.");		
		return false;
	}
	
	// TOS check
	if (confLYA.checked==false) {		
		alert("Please tick the agree to our terms.");
		//confLYA.focus();
		return false;
	}	
	
}// Fin FormValidator

//trim , ltrim and rtrim
function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

function ltrim(s) {
    return s.replace(/^\s+/, '');
}

function rtrim(s) {
    return s.replace(/\s+$/, '');
}

function isNumeric(s) { 
	var validChars = "0123456789"; 
	var c;
	 
	for (i = 0; i < s.length; i++) {
		c = s.charAt(i);
		if (validChars.indexOf(c) == -1) {
			return false;
		}
	}	
	return true;
}// END isNumeric