	req_arr = new Array();
	clear_arr = new Array();
	name_arr = new Array();
	
	function processObj(form_name, field_id, field_name, condition) {
		returnFlag = true;
      if (checkObj(form_name, field_id) == false) {
			if (condition == null || condition == "") {
				req_arr[req_arr.length] = field_id; 
				name_arr[name_arr.length] = field_name; 
				returnFlag = false; 
			} else {
				if (eval(condition)) {
					req_arr[req_arr.length] = field_id; 
					name_arr[name_arr.length] = field_name; 
					returnFlag = false; 
				} else {
					clear_arr[clear_arr.length] = field_id; 						
				}
			}
		} else { 
			clear_arr[clear_arr.length] = field_id; 
		}

		return returnFlag;
	}

	function checkObj(form_name, field_id) {  
		field_obj = document.getElementById(field_id);
		field_type = field_obj.type;
		checkFlag = 0;

		if (field_type == "radio") {
			field_obj = eval(form_name + "." + field_id);
	      for (i = 0; i < field_obj.length; i++) {
			   if (field_obj[i].checked) { checkFlag = 1; }
			}

			if (checkFlag == 0) {
				return false
			}
      } else {
			if (field_obj.value == "") { return false; }
		}
		return true;
	}

	function colorReqFields(form_name, arr, type) {

		bg_color = "";

		if (type == "req") {
			bg_color = "#FFFF99";
		} else if (type == "clear") {
			bg_color = "#FFFFFF";
		}
		for (var i = 0; i < arr.length; i++) {
			field_obj = document.getElementById(arr[i]);
			field_type = field_obj.type;


			if (field_type == "radio") {
				field_obj = eval(form_name + "." + arr[i]);
				for (j = 0; j < field_obj.length; j++) {
					field_obj[j].style.backgroundColor = bg_color;					
				}
			} else {
				field_obj.style.backgroundColor = bg_color;
			}
		}
	}

	function alertReqFields(arr) {
		alert_text = "";
		for (var i = 0; i < arr.length; i++) {
			alert_text += "The " + arr[i] + " field must be completed.\n";
		}
		
		alert(alert_text);
	}	
	
	function check_date_range(form_name, s_date_field, e_date_field) {
		e_s_date = eval(form_name + "." + s_date_field + ".value");
		e_e_date = eval(form_name + "." + e_date_field + ".value");
		
		d_s_date = new Date(e_s_date);
		d_e_date = new Date(e_e_date);
		
		if (d_s_date > d_e_date) {
			alert("Start Date must be earlier than End Date");
			return false;
		}
		
		return true;
	}	
	
	function finalize(form_name) {
		colorReqFields(form_name, clear_arr, "clear");

		for (i = 0; i < obj_arr.length; i++) {
			if (!obj_arr[i]) { returnFlag = false; }
		}

		if (returnFlag == false) {
			colorReqFields(form_name, req_arr, "req");
			alertReqFields(name_arr);
		}

		req_arr = new Array();
		clear_arr = new Array();
		name_arr = new Array();
		
		return returnFlag;
	}
