//checks if string is blank or containing only white spaces
function isblank(s){
	for(var i=0; i < s.length; i++){
		var c = s.charAt(i);
		if( (c!= ' ') && (c!= '\n') && (c!= '\t') ) return false;
	}
	return true;
}

//verifies if phone number contains digits only
function verifyphone(s){
	for(var i=0; i < s.length; i++){
		var c = s.charAt(i);
		switch(c){
			case '1': break;
			case '2': break;
			case '3': break;
			case '4': break;
			case '5': break;
			case '6': break;
			case '7': break;
			case '8': break;
			case '9': break;
			case '0': break;
			default:
				return false;
		}
	}
	
	return true;
}

//verifies if zip code contains digits only
function verifyzip(s){
	for(var i=0; i < s.length; i++){
		var c = s.charAt(i);
		switch(c){
			case '1': break;
			case '2': break;
			case '3': break;
			case '4': break;
			case '5': break;
			case '6': break;
			case '7': break;
			case '8': break;
			case '9': break;
			case '0': break;
			default:
				return false;
		}
	}
	
	return true;
}

//verifies email, checks if @ is in the field
function verifyemail(s){
	
	for(var i=0; i < s.length; i++){
		var c = s.charAt(i);
		if(c == '@')
			return true
	}
		
	return false;
}

//verify if all the required fields on the form have been filled
function verify(f){
	var msg = "";
	var empty_fields = "";
	var errors = "";
	
	//check if all text fields are filled
	for (var i=0; i < f.length; i++) {
		var e = f.elements[i]
		if( (e.type=="text") ){
		//check if the field is empty
		if ( (e.value == null) || (e.value == "") || isblank(e.value) )
			if (e.name == "full_name")
				empty_fields += "\n       Name";
			else if (e.name == "email")
				empty_fields += "\n       E-mail address";
			continue;
		}
	}
	
	//Now check if email is valid
	if (!verifyemail(f.email.value) && !isblank(f.email.value))
		errors += "The email you provided has invalid format.\n";
	
	//check if name is valid (i.e. not equal to default value
	if (f.full_name.value == "Name"){
		errors += "Please enter valid name.\n"	
	}
	
	//if no error return true
	if (!empty_fields && !errors) return true;
	
	//if errors display message what needs to be corrected
	if (empty_fields) {
		msg += "The following required field(s) are empty:" + empty_fields + "\n";
		if (errors) msg += "\n";
	}
		msg += errors;
		alert(msg);
		return false;
}
