
function submitThis( form ) { // if entries are filled and valid, submit; otherwise return false
			var testForm = false;
			detSubmit = determineSubmit( form );
			if( detSubmit ) {
				alert( detSubmit );
				if( testForm ) testValues( form );
				return false;
			} else {
				if( testForm ) {
					testValues( form );
					return false;
				} else {
					return true;
				}
			}
		}
		
		function determineSubmit( form ) { // driver
			var isFilled = allFilled( form );
			if( isFilled != "" ) return isFilled;
			else {
				var isLegal = giveWarning( form );
				return isLegal;
			}
		}
		
		function allFilled( form ) { // when necessary fields are empty, return an error message to alert user
			var error = "";
			if( form.name.value == "" )		error = "Please enter your name";
			else if( form.from.value == "" )	error = "Please enter your email address";
			else if( form.mailsubject.value == "" )	error = "Please enter your subject";
			else if( form.response1.value == "" )	error = "Please select your feedback type";
			else if( form.response2.value == "" )	error = "Please select your feedback area";
			else if( form.response3.value == "" )	error = "Please enter your comments";
			else if( form.response4.value == "" )	error = "Please select your operating system";
			else if( form.response5.value == "" )	error = "Please select your browser";
			return error;
		}
		
		function giveWarning( form ) { // determines if the applicant is eligible
			var result = "";
		
			// error messages
			var notEmail = "Your email address should follow this format: someone@somewhere.[com,org,mil,net,biz,tv,etc.]";
		
			if( !isValidEmail( form.from.value ) ) { result = notEmail; }
		
			return result;
		}
		
		function testValues( form ) { // show values of the form at the time the function is called
			var results = ""
			results += "name: " +  form.name.value + "\n";
			results += "from: " +  form.from.value + "\n";
			results += "mailsubject: " +  form.mailsubject.value + "\n";
			results += "response1: " +  form.response1.value + "\n";
			results += "response2: " +  form.response2.value + "\n";
			results += "response3: " +  form.response3.value + "\n";
			results += "response4: " +  form.response4.value + "\n";
			results += "response5: " +  form.response5.value + "\n";
			alert( results );
		}
		
		function isValidEmail(str) { // determines if the email address is valid
			var at="@";
			var dot=".";
			var lat=str.indexOf(at);
			var lstr=str.length;
			var ldot=str.indexOf(dot);
			if (str.indexOf(at)==-1) {
				return false;
			}
			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
				return false;
			}
			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
				return false;
			}
			if (str.indexOf(at,(lat+1))!=-1) {
				return false;
			}
			if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
				return false;
			}
			if (str.indexOf(dot,(lat+2))==-1) {
				return false;
			}
			if (str.indexOf(" ")!=-1) {
				return false;
			}
			return true;
		}