function checkForm(evnt) {
	var me = (evnt.srcElement) ? evnt.srcElement : this;
	var elems = me.getElementsByTagName("div");

	for (var a = 0; a < elems.length; a++) {
		if (elems[a].className == "required") {
			if (elems[a].firstChild.tagName == "LABEL") {
				var label = elems[a].firstChild;
				var input = document.getElementById(label.htmlFor);
				var name = label.textContent;
			} else if (elems[a].firstChild.tagName == "FIELDSET") {
				var fieldset = elems[a].firstChild;
				var input = fieldset.getElementsByTagName("input")[0];
				var name = fieldset.firstChild.textContent;
			}
			if (input && name) {
				var stop = checkBlank(input, name);
				if (stop) {
					stop.focus();
					if (evnt.preventDefault != undefined) evnt.preventDefault();
					return false;
				}
			}
		}
	}
	return true;
}

function checkBlank(field, label) {
	// Text Field Validation
	if (field.type == "text" || field.type == "textarea" || field.type == "password") {
		if (field.value == "") {
			alert("Please enter your " + label);
			return field;
		}
	// Single Checkboxes
	} else if (field.checked != undefined) {
		if (!field.checked) {
			alert("Please choose a " + label);
			return field;
		}
	// Select Boxes
	} else if (field.selectedIndex != undefined) {
		if (field.selectedIndex == -1 || field[field.selectedIndex].value == "") {
			alert("Please select a " + label);
			return field;
		}
	// Radio Buttons and Multiple Checkboxes
	} else if (field.length) {
		var checked = false;
		for (var i=0; i < field.length; i++) {
			if (field[i].checked) checked = true;
		}
		if (!checked) {
			alert("Please choose a " + label);
			return field;
		}
	// What other fields are there? Hidden ones?
	} else {
		return field;
	}
	return false;
}


















