var formObj = "";
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(field_name, field_name2, field_size, message, message1, message2){
	var Chars = "0123456789-()+ ";
	
	if (formObj.elements[field_name] && (formObj.elements[field_name].type != "hidden")) {
		var field_value1 = formObj.elements[field_name].value;
		if (field_value1.length >= field_size) {
			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) {
				error_message = error_message + "* " + message1 + "\n";
				error = true;
			}
		}
		else{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
	
	if (formObj.elements[field_name2] && (formObj.elements[field_name2].type != "hidden")) {
		var field_value2 = formObj.elements[field_name2].value;
		if (field_value2.length >= field_size) {
			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) {
				error_message = error_message + "* " + message2 + "\n";
				error = true;
			}
		}
	}
}

/********************************************************
 * Last modified: 1-20-09
 ********************************************************/
function check_fax(field_name, field_size, message){
	var Chars = "0123456789-()+ ";
	
	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) {
			var flag = 0;
			
			for (var i = 0; i < field_value.length; i++) {
			   if (Chars.indexOf(field_value.charAt(i)) == -1) {
				   flag = 1;
				   break;
			   }
			}
			if (flag == 1) {
				error_message = error_message + "* " + message + "\n";
				error = true;
			}
		}
	}
}

/********************************************************
 * Last modified: 1-20-09
 ********************************************************/
function check_numeric(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: 4-16-09
 ********************************************************/
function check_alphanumeric(field_name, field_size, message, message1){
	var field_value = formObj.elements[field_name].value;
	var nums = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- ";
	
	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_state(field_name, message){
	var field_value = formObj.elements[field_name].value;
	if (field_value == "0") {
		error_message = error_message + "* " + message + "\n";
		error = true;
	}
	else if(field_value == "other"){
		check_input("state2", 1, "Please specify \"Other\" State or Province.")
	}
}

/********************************************************
 * 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: 1-20-09
 ********************************************************/
function reqInfo_check_form(form_name) {
	
	error = false;
	formObj = form_name;
	error_message = "Insufficient information provided.\nPlease make the following corrections:\n\n";
	
	check_input("fname", 1, "First name is required.");
	check_input("lname", 1, "Last name is required.");
	check_input("org", 1, "Institution/Organization name is required.");
	check_input("addr", 1, "Street Address is required.");
	check_input("city", 1, "City is required.");
	check_state("state", "State or Province is required.");
	check_alphanumeric("zip", 1, "Zip code is required.", "Incorrect zip code format.");
	check_phone("phone", "ext", 1, "Phone is required.", "Incorrect phone format.", "Incorrect extension format.");
	check_email("email", 1, "Email is required.", "Incorrect Email format.");
	check_fax("fax", 1, "Incorrect fax format.");

	if (error == true) {
		alert(error_message);
		return false;
	}
	else {
		submitted = true;
		return true;
	}
}