function checkrequired(f) {
	var msg = "";
	var empty_fields = "";

	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;
	}

	for (var i=0;i<f.length;i++) {
		var e = f.elements[i];

		if (((e.type=="text") || (e.type=="textarea")) && !e.optional) {

			if ((e.value==null) || (e.value== "") || isblank(e.value)) {
				empty_fields += "\n           " + e.name;
				continue;
			}

		}

		if ((e.type=="select-one") && !e.optional) {
			if ((e.value=="") || (e.selectedIndex == 0) || (e.selectedIndex == -1)) {
				empty_fields += "\n           " + e.name;
				continue;
			}
		}

		if ((e.type=="password") && !e.optional) {
			if ((e.value==null) || (e.value== "") || isblank(e.value)) {
				empty_fields += "\n           " + e.name;
				continue;
			}
		}
			
		if (e.name == "password") { var pass1=i; }

		if (e.name == "password_confirm") { var pass2=i; }

	}	

	if ((pass1) && (pass2)) {
		if (f.elements[pass1].value != f.elements[pass2].value) {
			empty_fields += "\n\n" + "Your password fields must match!";
		}
	}


	if (empty_fields) {
		msg += "These fields are required:"
				+ empty_fields + "\n";
		alert(msg);
		return false;
		}

	else {return true;}
}

