function isWhitespace(s)
{
   var i;
   for (i = 0; i < s.length; i++) {
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if(c!=" ")
		return false;
   }
   // All characters are whitespace.
   return true;
}
function verify(f, formnum)
{

	var textfields = new Array(new Array("name", "AddressCity_", "AddressState_"),
					new Array("First", "Last", "Address", "City", "State", "Zip", "Country"),
					new Array("First", "Last", "Email", "Message"),
					new Array("Name", "Email", "Zip"),
					new Array("Email"));
	var errorText = new Array(new Array("Name", "City", "State"),
					new Array("First", "Last", "Address", "City", "State", "Zip", "Country"),
					new Array("First", "Last", "Email", "Message"),
					new Array("Name", "Email", "Zip"),
					new Array("Email"));
	var radiofields = new Array();
	var fieldsWrong = new Array();
	var fieldsCorrect = new Array();
	var fieldsText = new Array();
	
	// Check all text fields
	for (var i = 0; i < textfields[formnum].length; i++) {
		if(f[textfields[formnum][i]].value == "" || isWhitespace(f[textfields[formnum][i]].value)) {
			fieldsWrong[fieldsWrong.length] = textfields[formnum][i];
			fieldsText[fieldsText.length] = errorText[formnum][i];
		} else {
			fieldsCorrect[fieldsCorrect.length] = textfields[formnum][i];
		}
	}

	// check email address
	if(formnum == 0 && f.email != undefined) {
	  if (f.email.value != "") {
		var goodEmail = f.email.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.tv)|(\.info)|(\.us)|(\..{2,2}))$)\b/gi);
		if (goodEmail)
		{
			fieldsCorrect[fieldsCorrect.length] = "email";
		} else {
			fieldsWrong[fieldsWrong.length] = "email";
			fieldsText[fieldsText.length] = "Email";
		}
	  } else {
		fieldsWrong[fieldsWrong.length] = "email";
		fieldsText[fieldsText.length] = "Email";
	  }
	}

	// Check the radio buttons
	var radioSelected = false;
	for (var i = 0; i < radiofields.length; i++) {
		// require at least one radio button be selected
		radioSelected = false;
		for (j = 0;  j < f[radiofields[i]].length;  j++) {
			if (f[radiofields[i]][j].checked)
				radioSelected = true;
		}
		if (!radioSelected) {
			fieldsWrong[fieldsWrong.length] = radiofields[i];
			fieldsText[fieldsText.length] = errorText[formnum][i];
		} else {
			fieldsCorrect[fieldsCorrect.length] = myfields[i];
		}
	}
	
	// unhighlight correct fields
	for (var i = 0; i < fieldsCorrect.length; i++) {
		if (document.getElementById(fieldsCorrect[i])) {
			var e = document.getElementById(fieldsCorrect[i]);
			e.style.background = '#ffffff';
		}
		var e = document.getElementById(fieldsCorrect[i] + "Title");
		e.style.fontWeight = 'normal';
		e.style.color = '#ffffff';
	}

	// highlight wrong fields
	if (fieldsWrong.length > 0) {
		var fieldText = "";
		for (var i = 0; i < fieldsWrong.length; i++) {
			var e = document.getElementById(fieldsWrong[i] + "Title");
			e.style.fontWeight = 'bold';
			e.style.color = '#FF0000';
			fieldText += "\n" + fieldsText[i];;
		}
		alert("You must fill out the following fields: " + fieldText);
		return false;
	}
    
	return true;
}