function isblank(s){
	for(var i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if(c != "")return false;
	}
	return true;
}

function trimit(t){
	var spaces = 0;
	var endspaces = 0;
	if(t != null && t != ""){
		for(var j = (t.length - 1); j >= 0; j--){
			var c = t.charAt(j);
			if(c == " ")endspaces++;
			else break;
		}
		for(var k = 0; k < t.length; k++){
			var c = t.charAt(k);
			if(c == " ")spaces++;
			else break;
		}
		var newlength = t.length - endspaces;
		var newstring = "";
		if(newlength == 0)return newstring;
		
		else{
			for(var i = spaces; i < newlength; i++)newstring += t.charAt(i);
			return newstring;
		}
	}
	else{
		return t;
	}
}
function test2(){ alert("hit");}


function isitvalid(f) {

	var emailAddress = /^\w+\D*\d*\@\D*\d*\w+\D*\d*\.\D*\d*\w+$/;
	var alphanum = /^\w+$/;
	var integer = /^\d+$/;
	var boolOptionSelected;
	
	for(var i = 0; i < f.length; i++){
		
		f[i].value = trimit(f[i].value);
		if(f[i].type == 'text'){
			if(f[i].required && (f[i].value == "" || f[i].value == null || isblank(f[i].value))){
				alert(f[i].required);
				f[i].focus();
				f[i].select();
				return false;
			}
			else if(f[i].value != "" && (f[i].integer && !integer.test(f[i].value))){
				alert("This field accepts integers only.");
				f[i].focus();
				f[i].select();
				return false;
			}
			else if(f[i].value != "" && (f[i].alphanumeric && !alphanum.test(f[i].value))){
				alert("This field accepts alphanumeric characters only.");
				f[i].focus();
				f[i].select();
				return false;
			}
			else if(f[i].value != "" && (f[i].emailAddress && !emailAddress.test(f[i].value))){
				alert("Please enter a valid email.");
				f[i].focus();
				f[i].select();
				return false;
			}
		}
		else if(f[i].required && f[i].type == 'select-one'){
			boolOptionSelected = true;
			for(var j = 0; j <f[i].length; j++){
				if(f[i].options[j].selected && f[i].options[j].value == ""){
					boolOptionSelected = false;
					break;
				}
			}
			if(!boolOptionSelected){
				alert(f[i].required);
				f[i].focus();
				return false;
			}
		}
		else if(f[i].required && (f[i].type == 'textarea' && f[i].value == "")){
			alert(f[i].required);
			f[i].focus();
			return false;
		}
		else if(f[i].required && f[i].type == 'password'){
			boolOptionSelected = true;
			for(var j = 0; j <f[i].length; j++){
				if(f[i].options[j].selected && f[i].options[j].value == ""){
					boolOptionSelected = false;
					break;
				}
			}
			if(!boolOptionSelected){
				alert(f[i].required);
				f[i].focus();
				return false;
			}
		}
	}
	return true;
}
function checkPasswords(which){
	//which.password.required = 'Password and Password Confirm are required fields';
	//which.confirm.required = 'Password and Password Confirm are required fields';
	if(!isblank(which.password.value)&&	!isblank(which.confirmPassword.value))
	{
		if(which.password.value != which.confirmPassword.value){
			alert('Password and Password Confirm fields are not the same, please try again.');
			return false;
		}	
	}else
	{
		alert('Password and Password Confirm are required fields and cannot be empty.');
		return false;
	}
	
	return true;

}

function submitThis(which){
//	if (which.formType.value == "email"){
		which.firstName.required = 'First Name is a required field';
		which.lastName.required = 'Last Name is a required field';
		which.username.required = 'Username is a required field';
		which.email.required = 'Email address is a required field';
		which.email.emailAddress = true;
		return (isitvalid(which) && checkPasswords(which))? true:false;
		//	return true;
		//return isitvalid(which);	
//	}
}	

//test2();
