var validateForm = function() {
	var error = false;
	var errorString = '';
	var fields = {
		'parentFirstName' : {'externalName' : 'Parent\'s First Name'},
		'parentLastName' : {'externalName' : 'Parent\'s Last Name'},
		'parentsHomePhone' : {'externalName' : 'Parents\' Home Phone',
			'required' : true, 'type' : 'phone'},
		'parentsCellPhone' : {'externalName' : 'Parents\' Cell Phone',
			'required' : false, 'type' : 'phone'},
		'parentsEmail' : {'externalName' : 'Parents\' Email',
			'required' : true},
		'homeAddressStreet' :
			{'externalName' : 'Home Street Address',
			'required' : true},
		'homeAddressCity' :
			{'externalName' : 'Home City Address',
			'required' : true},
		'homeAddressState' :
			{'externalName' : 'Home State Address',
			'required' : true},
		'homeAddressZIP' :
			{'externalName' : 'Home ZIP Address',
			'required' : true, 'type' : 'ZIP'},
		'childFirstName' :
			{'externalName' : 'Child\'s First Name',
			'required' : true},
		'childMiddleName' :
			{'externalName' : 'Child\'s Middle Name',
			'required' : false},
		'childLastName' :
			{'externalName' : 'Child\'s Last Name',
			'required' : true},
		'studentDOBMonth' : {'externalName' : 'Student\'s DOB Month',
			'required' : true},
		'studentDOBDay' : {'externalName' : 'Student\'s DOB Day',
			'required' : true},
		'studentDOBYear' : {'externalName' : 'Student\'s DOB Year',
			'required' : true},
		'studentDOB' : {'externalName' : 'Student\'s DOB',
			'required' : false},
		'studentAge' : {'externalName' : 'Student\'s Age',
			'required' : true, 'type' : 'int'},
		'studentGrade' : {'externalName' : 'Grade',
			'required' : false},
		'studentSchool' : {'externalName' : 'School',
			'required' : false},
		'referral' : {'externalName' : 'Referral', 'required' : false},
		'psychTesting' : {'externalName' : 'Psychological Testing',
			'required' : false},
		'psychTester' : {'externalName' : 'Psychological Tester',
			'required' : false},
		'reportCopy' : {'externalName' : 'Report Copy',
			'required' : false}
	};
	
	for(var key in fields) {
		if(fields[key].required) {
			if(!document.forms[0][key].value || (document.forms[0][key].value.trim() == '')) {
				errorString += fields[key].externalName+': You cannot leave this field blank'+"\n";
				error = true;
			}
		}
		
		if((fields[key].type == 'ZIP') && (document.forms[0][key].value != null) && (document.forms[0][key].value.trim() != '') && !document.forms[0][key].value.match(/^\d{5}$/)) {
			errorString += fields[key].externalName+': Please enter 5 numbers only.'+"\n";
			error = true;
		}
		
		if((fields[key].type == 'int') && (document.forms[0][key].value != null) && (document.forms[0][key].value.trim() != '') && !document.forms[0][key].value.match(/^\d+$/)) {
			errorString += fields[key].externalName+': Please enter numbers only.'+"\n";
			error = true;
		}
		
		if((fields[key].type == 'phone') && (document.forms[0][key].value != null) && (document.forms[0][key].value.trim() != '')) {
			var value = document.forms[0][key].value;
			value = value.replace(/[-() ]+/g, '');
			
			if(!value.match(/^\d+$/)) {
				errorString += fields[key].externalName+': Please enter only numbers (and optionally dashes (-), parentheses, and/or spaces).'+"\n";
				error = true;
			}
		}
	}
	
	if(error) {
		alert(errorString);
	}
	
	return !error;
};

var windowLoadEvent = function() {
	if($('psychTestingNo').checked) {
		window.disableFormInput($('psychTester'));
		window.disableFormFieldSet($('reportCopy'));
	}
};

window.addWindowLoadEvent(windowLoadEvent);
