function Check_Form (Form, Elements) {
	var Inp;
	var Checks = new Array ();
	var Status = true;
	var IsArr = true;
	var ErrorMsg = "Some required fields were not correctly filled out.<br />\nPlease make sure that all fields marked with a red star are populated.";

	try {
		var Test = Form.elements[0];
	} catch (err) {
		alert ('No elements in form object, or not a valid form object passed.');
		return false;
	}

	try {
		Inp = Elements.shift ();
	} catch (err) {
		IsArr = false;
	}

	if (IsArr) {
		do {
			IsArr = true;

			try {
				Checks = Inp.shift ();
			} catch (err) {
				IsArr = false;
			}

			if (IsArr) {
				Status = false;

				do {
					if (!Form.elements[Checks]) {
						Checks = document.getElementById (Checks);
					} else {
						Checks = Form.elements[Checks];
					}

					if (Checks.checked || !(Value != '' && Value.match (/^[\s]+$/))) {
						Status = true;
						break;
					}
				} while (Checks = Inp.shift ());

				if (!Status) {
					break;
				}
			} else {
				var Value = Form.elements[Inp].value;

				if (Value.match (/^\s+$/) || Value == '') {
					Form.elements[Inp].focus ();
					Status = false;
					break;
				}
			}
		} while (Inp = Elements.shift ());
	} else {
		try {
			Elements.substr (0);
		} catch (err) {
			alert ("No valid field names / IDs passed.");
			return false;
		}

		var Value = Form.elements[Elements].value;

		if (Value.match (/^s+$/) || Value == '') {
			Form.elements[Inp].focus ();
			Status = false;
		}
	}

	if (Status == false) {
		try {
			var TargetObj = document.getElementById ("content_wrap");
			var Message = document.createElement ("p");

			if (document.getElementById ("error_message")) {
				TargetObj.removeChild (TargetObj.childNodes[1]);
			}

			var Form_Err = document.getElementById ("form_error");
			if (Form_Err) {
				Form_Err.style.display = 'none';
			}

			Message.innerHTML = ErrorMsg;
			Message.setAttribute ("class", "dom_error");
			Message.setAttribute ("id", "error_message");

			TargetObj.insertBefore (Message, TargetObj.childNodes[1]);
		} catch (err) {
			alert (ErrorMsg);
		}

		return false;
	}

	return true;
}
