	//function to check valid email address
	function isValidEmail( id ){
		return ( /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/.test($(id).value) );
	}
	
	//function to check valid phone number
	function isValidPhone( id ){
		return ( /^[2-9]\d{2}-\d{3}-\d{4}$/.test($(id).value) );
	}	

	function RequiredStringValidator( id ) {
		return !($(id).value.blank());
	}
	
	function clearAllResultFieldErrors() {
		$('form1').descendants().each(function(id) { $(id).removeClassName('fielderror'); });
	}
	
	function addErrorMessage( message ) {
		errorMsg += message+"<br/>";
	}
	function runValidator( validator, id, message ) {
		if ( !validator( id ) ) { 
			addErrorMessage( message );
			$(id).addClassName('fielderror');
			return false;
		}
		return true;
	}
	
	function validate() { 
		errorMsg = '';
		clearAllResultFieldErrors();		
		var validated = true;	
		var formArray = ['firstlastname', 'cellphone', 'email'];
		formArray.each (function(id) {
			if ( id == 'firstlastname' ) { 
				thisValidated = true;
				thisValidated &= runValidator( RequiredStringValidator, id, "Name cannot be blank." );
				if(!thisValidated) $(id).addClassName("fielderror");
				validated &= thisValidated;
			}
			if ( id == 'email' ) {
				thisValidated = true;
				thisValidated &= runValidator( RequiredStringValidator, id, "Email cannot be blank." );
				thisValidated &= runValidator( isValidEmail, id, "Email must be valid." );
				if(!thisValidated) $(id).addClassName("fielderror");
				validated &= thisValidated;
			} 
			if ( id == 'cellphone' ) {
				thisValidated = true;
				thisValidated &= runValidator( RequiredStringValidator, id, "Cell phone cannot be blank." );
				thisValidated &= runValidator( isValidPhone, id, "Cell phone must be valid." );
				if(!thisValidated) $(id).addClassName("fielderror");
				validated &= thisValidated;
			}
		});
		$('validationerrors').update("<div id='fielderror'>"+errorMsg+"</div>");
		
		if (validated) return true;
		else return false;
	}