
var whitespace = " \t\n\r";
    var defaultEmptyOK = false;

	function isEmpty(s){ 
	return ((s == null) || (s.length == 0))
	}

	function isWhitespace (s){
	var i;
	// Is s empty?
	if (isEmpty(s)) return true;
	
	// Search through string's characters one by one
	// until we find a non-whitespace character.
	// When we do, return false; if we don't, return true.
 	for (i = 0; i < s.length; i++){   
	// Check that current character isn't whitespace.
	var c = s.charAt(i);
	if (whitespace.indexOf(c) == -1) return false;
	}
	
	// All characters are whitespace.
	return true;
	}

	function isEmail (s){
	if (isEmpty(s))
	// is s whitespace?
	if (isWhitespace(s)) return false;
	// there must be >= 1 character before @, so we
	// start looking at character position 1
	// (i.e. second character)
	var i = 1;
	var sLength = s.length;
	// look for @
	while ((i < sLength) && (s.charAt(i) != "@")){
	i++
	}
    
	if ((i >= sLength) || (s.charAt(i) != "@")) 
	return false;
	else i += 2;
 
	// look for .
	while ((i < sLength) && (s.charAt(i) != ".")){
	i++
	}
	
	// there must be at least one character after the .
	if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
	else return true;
	}
	
	function isCharsInBag (s, bag){  
    var i;
    // Search through string's characters one by one.
    // If character is in bag, append to returnString.

    for (i = 0; i < s.length; i++){ 
    // Check that current character isn't whitespace.
    var c = s.charAt(i);
    if (bag.indexOf(c) == -1) return false;
    }
    return true;
	}

	function Validate(){
	
	var check = "false";
	
	if (isWhitespace(document.form_newmember.txt_fname.value)){
	alert("Please Provide your first name.");
	document.form_newmember.txt_fname.select();
	return false;
	//return;
	}
	
	if (isWhitespace(document.form_newmember.txt_lname.value)){
	alert("Please Provide your last name.");
	document.form_newmember.txt_lname.select();
	return false;
	}
	
	if (isWhitespace(document.form_newmember.txt_address.value)){
	alert("Please Provide your address.");
	document.form_newmember.txt_address.select();
	return false;
	}
	
	if (isWhitespace(document.form_newmember.txt_city.value)){
	alert("Please Provide your city.");
	document.form_newmember.txt_city.select();
	return false;
	}
	
	if (document.form_newmember.lst_country.options[document.form_newmember.lst_country.selectedIndex].value == 0){
	alert("Please, select your country.");
  	document.form_newmember.lst_country.focus();
	return false;
	}
	
	var email = document.form_newmember.txt_email.value = document.form_newmember.txt_email.value.toLowerCase();

	if (!isEmail(email)){
	alert( "Please Insert A Valid Email Address !");
	document.form_newmember.txt_email.select();
	return false;
    }
	
	if(isWhitespace(document.form_newmember.txt_password.value)){
	alert("Please provide a password.");
	document.form_newmember.txt_password.select();
	return false;
	}
	
	var pass = document.form_newmember.txt_password.value;
	
	if (!isCharsInBag(pass, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_" )){
	alert("Password May Only Contain The Following Characters:\nABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_" );
	document.form_newmember.txt_password.select();
	document.form_newmember.txt_password.focus(); 
	return false;
	}
	
	
	if (document.form_newmember.txt_password.value != "" && document.form_newmember.txt_password.value.length < 6){
	alert( "Please provide a password between 6 - 20 characters.");
	document.form_newmember.txt_password.select();
	document.form_newmember.txt_password.focus(); 
	return false;
	}
	
	
	if (document.form_newmember.txt_password.value != document.form_newmember.txt_password2.value){
	alert( "Your passwords did not match. Please retype and try again !");
	document.form_newmember.txt_password2.select();
	document.form_newmember.txt_password2.focus();
	return false;
	}

	//document.form_newmember.submit();	
	return true;
	//return false;

	}
