var formObj = "";
var submitted = false;
var error = false;
var error_message = "";

/********************************************************
 * Last modified: 7-28-08
 ********************************************************/
function check_input(field_name, field_size, message) {
	if (formObj.elements[field_name] && (formObj.elements[field_name].type != "hidden")) {
		var field_value = formObj.elements[field_name].value;
		if (field_value.length < field_size) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

/********************************************************
 * Last modified: 7-28-08
 ********************************************************/
function check_phone_fields(field_size, message, message1){
	var p1exist = false;
	var p2exist = false;
	var p1malform = false;
	var p2malform = false;
	var Chars = "0123456789-()+ ";
	
	if (formObj.elements["PHONE_1"] && (formObj.elements["PHONE_1"].type != "hidden")) {
		var field_value1 = formObj.elements["PHONE_1"].value;
		if (field_value1.length >= field_size) {
			p1exist = true;
			var flag1 = 0;
			
			for (var i = 0; i < field_value1.length; i++) {
			   if (Chars.indexOf(field_value1.charAt(i)) == -1) {
				   flag1 = 1;
				   break;
			   }
			}
			if (flag1 == 1) {
				p1malform = true;
			}
		}
	}
	
	if (formObj.elements["PHONE_2"] && (formObj.elements["PHONE_2"].type != "hidden")) {
		var field_value2 = formObj.elements["PHONE_2"].value;
		if (field_value2.length >= field_size) {
			p2exist = true;
			var flag2 = 0;
			
			for (var i = 0; i < field_value2.length; i++) {
			   if (Chars.indexOf(field_value2.charAt(i)) == -1) {
				   flag2 = 1;
				   break;
			   }
			}
			if (flag2 == 1) {
				p2malform = true;
			}
		}
	}
	
	if(p1exist == true && p2exist == true){
		if(p1malform == true){
			error_message = error_message + "* " + message1 + " field \"Phone office\".\n";
			error = true;
		}
		if(p2malform == true){
			error_message = error_message + "* " + message1 + " field \"Phone cell\".\n";
			error = true;
		}
	}
	else if(p1exist == true && p2exist == false){
		if(p1malform == true){
			error_message = error_message + "* " + message1 + " field \"Phone office\".\n";
			error = true;
		}
	}
	else if(p1exist == false && p2exist == true){
		if(p2malform == true){
			error_message = error_message + "* " + message1 + " field \"Phone cell\".\n";
			error = true;
		}
	}
	else{
		error_message = error_message + "* " + message + "\n";
		error = true;
	}
}

/********************************************************
 * Last modified: 7-28-08
 ********************************************************/
function check_employees(field_name, field_size, message, message1){
	var field_value = formObj.elements[field_name].value;
	var nums = "0123456789";
	
	if (field_value.length < field_size) {
		error_message = error_message + "* " + message + "\n";
		error = true;
	}
	else {
		var flag = 0;
			
		for (var i = 0; i < field_value.length; i++) {
		   if (nums.indexOf(field_value.charAt(i)) == -1) {
			   flag = 1;
			   break;
		   }
		}
		if (flag == 1) {
			error_message = error_message + "* " + message1 + "\n";
			error = true;
		}
	}
}

/********************************************************
 * Last modified: 7-28-08
 ********************************************************/
function check_menu(field_name, message){
	var field_value = formObj.elements[field_name].value;
	if (field_value == "none") {
		error_message = error_message + "* " + message + "\n";
		error = true;
	}
	else if(field_value == "lunchlearn"){
		check_input("topic", 1, "Please enter a topic.")
	}
	else if(field_value == "servicereq"){
		check_input("topic", 1, "Please enter a service description.")
	}
	else if(field_value == "campaign"){
		check_input("topic", 1, "Please enter a campaign or program name.")
	}
}

/********************************************************
 * Last modified: 8-20-08
 ********************************************************/
function check_email(field_name, field_size, message, message1) {
	if (formObj.elements[field_name] && (formObj.elements[field_name].type != "hidden")) {
		var field_value = formObj.elements[field_name].value;
		if (field_value.length < field_size) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
		else {
			i=field_value.indexOf("@")
			j=field_value.indexOf(".",i)
			k=field_value.indexOf(",")
			kk=field_value.indexOf(" ")
			jj=field_value.lastIndexOf(".")+1
			len=field_value.length
			if ((i>0) && (j>(1+1)) && (k==-1) && (kk==-1) && (len-jj >=2) && (len-jj<=3)) {
			}
			else {
				error_message = error_message + "* " + message1 + "\n";
				error = true;
			}
		}
	}
}

/********************************************************
 * Last modified: 7-28-08
 ********************************************************/
function agile_check_form(form_name) {
	if (submitted == true) {
		alert("This form has already been submitted. Please press Ok and wait for this process to be completed.");
		return false;
	}
	
	error = false;
	formObj = form_name;
	error_message = "Errors have occured during the process of your submission\nPlease make the following corrections:\n\n";
	
	check_menu("contactreason", "Contact reason is required.");
	check_input("FIRST_NAME", 1, "First name is required.");
	check_input("LAST_NAME", 1, "Last name is required.");
	check_input("TITLE", 1, "Job title is required.");
	check_input("ADRS1", 1, "Address is required.");
	check_input("CITY", 1, "City is required.");
	check_input("STATE", 1, "State is required.");
	check_employees("ZIP", 1, "Zip code is required.", "Incorrect format for zip code.");
	check_phone_fields(1, "At least one phone number is required.", "Correct phone format is required for");
	check_email("email", 1, "Email is required.", "Email is in wrong format");
	check_input("COMPANY", 1, "Company name is required.");
	check_employees("EMPLOYEES", 1, "Number of employees is required.", "Incorrect format for number of employees.");
	check_menu("Industry_space", "Please select an industry space.");

	if (error == true) {
		alert(error_message);
		return false;
	}
	else {
		submitted = true;
		return true;
	}
}