/*

WRITTEN BY:		JJLANG, CORPORATE WEB SOLUTIONS
DATE:			OCTOBER 27, 2008
PURPOSE:		FUNCTIONS FOR FOIA_REQUEST_FORM FOUND UNDER 
					PUBLIC_INFO -> FOIA -> SUBMIT_FOIA_REQUEST
	
UPDATES:
	DATE			CHANGE MADE
		
*/

/*
	function: 	formatForm
	input:		vForm
	purpose:	modify subject field of form toinclude	user's name, combine 3 name fields 
				into 1, and format records requested field -- prior to form submission
*/
function formatForm(vForm) {
	// save name fields to 2 variables, one for subject and 1 for actual name
	var fullName = vForm.elements['Name_first'].value + ' '
				   + vForm.elements['Name_middle'].value + ' '
				   + vForm.elements['Name_last'].value;
	var subjectName = vForm.elements['Name_last'].value + ', '
				   + vForm.elements['Name_first'].value;
			
	// nullify name fields
	for(var i=0; i<vForm.elements.length; i++) {
		if(vForm.elements[i].name.search('Name') != -1) {
			vForm.elements[i].value = '';
		}
	}
	
	// create new input element that contains all 3 Name field values
	element = document.createElement("input");
	element.setAttribute("name", "Name");
	element.setAttribute("type", "hidden");
	element.setAttribute("value", fullName);
	vForm.insertBefore(element, vForm.firstChild);
	
	// append Last Name, First Name to front of subject
	vForm.elements['subject'].value = subjectName +' - '+ vForm.elements['subject'].value;
									 
	// add return to records requested field
	vForm.elements['Records_Requested*'].value = '\n' + vForm.elements['Records_Requested*'].value;
	
	// return true so form submits
	return true;
}
/*
	function: 	validateForm
	input:		vForm
	purpose:	validate required fields are filled in
*/
function validateForm(vForm) {
	// set arrays with required field names and descriptions
	var rqFields = new Array('Name_first', 'Name_last', 'Postal_Address*', 'Postal_City*', 'Postal_State-prov*', 'Zip_Code*', 'Records_Requested*');
	var rqDescription = new Array('First Name', 'Last Name', 'Postal Address', 'City', 'State or Province (enter None if neither applies)', 'Zip Code', 'Records Requested');
	var vAlert = '';
	
	// loop over required field names array and validate fields have input
	for(var i=0; i<rqFields.length; i++) {
		if(vForm.elements[rqFields[i]].value == '') {
			vAlert += rqDescription[i] + '\n';
		}
	}
	
	// if vAlert is not null, alert user and return false
	if(vAlert != '') {
		alert('The following fields are required: \n\n' + vAlert);
		return false;
	}
	// otherwise, format form
	else {
		formatForm(vForm);
	}
}
