// JavaScript Document
function validateCareerForm(formObj) {
	var errors = new Array();
	
	validateFormField(errors, document.getElementById('fieldZIP'), "#000000", "Zip/Postal Code", "zipcode", formObj.ZipCode.value, "true");
	validateFormField(errors, document.getElementById('fieldPHN'), "#000000", "Phone", "phoneNumber", formObj.Phone.value, "false");
	validateFormField(errors, document.getElementById('fieldFAX'), "#000000", "Fax", "phoneNumber", formObj.Fax.value, "false");
	validateFormField(errors, document.getElementById('fieldEML'), "#000000", "Email", "email", formObj.EMail.value, "true");
	
	if (errors.length > 0) {
		displayErrors(errors);
		return false;
	}
	else {
		resetMessages();
		return true;
	} 
	
}

function validateContactForm(formObj) {
	var errors = new Array();
	
	validateFormField(errors, document.getElementById('fieldZIP'), "#000000", "Zip/Postal Code", "zipcode", formObj.ZipCode.value, "true");
	validateFormField(errors, document.getElementById('fieldPHN'), "#000000", "Phone", "phoneNumber", formObj.Phone.value, "false");
	validateFormField(errors, document.getElementById('fieldFAX'), "#000000", "Fax", "phoneNumber", formObj.Fax.value, "false");
	validateFormField(errors, document.getElementById('fieldEML'), "#000000", "Email", "email", formObj.EMail.value, "true");

	if (errors.length > 0) {
		displayErrors(errors);
		return false;
	}
	else {
		resetMessages();
		return true;
	}
}

function validateDistanceSearchForm(formObj) {
	var errors = new Array();
	
	validateFormField(errors, document.getElementById('fieldADD'), "#000000", "Address", "requiredField", formObj.address.value, "true");
	validateFormField(errors, document.getElementById('fieldCTY'), "#000000", "City", "requiredField", formObj.city.value, "true");
	validateFormField(errors, document.getElementById('fieldST'), "#000000", "State", "requiredField", formObj.state.value, "true");
	validateFormField(errors, document.getElementById('fieldZIP'), "#000000", "Zip Code", "requiredField", formObj.zipcode.value, "true");
	
	//validate user's address
	if(errors.length == 0) {
		var userGeocoder = new GClientGeocoder();
		var userAddress = formObj.address.value + ", " + formObj.city.value + ", " + formObj.state.value + ", " + formObj.zipcode.value;         
	    userGeocoder.getLatLng(userAddress,
		                       function(point) {
								 if(!point) {
									var result = "Sorry! " + userAddress + " could not be found.";
									errors.push(result);
								    displayErrors(errors);
								 }
								 else {
									formObj.geoPoint.value = point;
		                            resetMessages();
		                            if(point) {formObj.submit();}									
								  }
								});
	}
	else {		
		displayErrors(errors);
	}
}

function validateAdvJobSearchForm(formObj) {
	var errors = new Array();
	
	validateFormField(errors, document.getElementById('fieldZIP'), "#ffffff", "Zip", "zipcode", formObj.zip.value, "false");
	
	if (errors.length > 0) {
		displayErrors(errors);
		return false;
	}
	else {
		resetMessages();
		return true;
	}	
}

function validateJobApplicationForm(formObj) {
	var errors = new Array();	
	
	validateFormField(errors, document.getElementById('fieldAppFN'), "#666666", "First Name", "requiredField", formObj.applicantFirstName.value, "true");
	validateFormField(errors, document.getElementById('fieldAppLN'), "#666666", "Last Name", "requiredField", formObj.applicantLastName.value, "true");
	validateFormField(errors, document.getElementById('fieldAppADD'), "#666666", "Address, Line 1", "requiredField", formObj.applicantAddress1.value, "true");
	validateFormField(errors, document.getElementById('fieldAppCTY'), "#666666", "City", "requiredField", formObj.applicantCity.value, "true");
	validateFormField(errors, document.getElementById('fieldAppST'), "#666666", "State", "requiredField", formObj.applicantState.value, "true");
	validateFormField(errors, document.getElementById('fieldAppZIP'), "#666666", "Zip/Postal Code", "zipcode", formObj.applicantZipCode.value, "true");
	validateFormField(errors, document.getElementById('fieldAppPHN'), "#666666", "Phone", "phoneNumber", formObj.applicantPhone.value, "true");
	validateFormField(errors, document.getElementById('fieldAppFAX'), "#666666", "Fax", "phoneNumber", formObj.applicantFax.value, "false");
	validateFormField(errors, document.getElementById('fieldAppEML'), "#666666", "Email", "email", formObj.applicantEmail.value, "true");
    validateFormField(errors, document.getElementById('fieldAppTTL'), "#333333", "Email", "emailUnique", formObj.applicantEmail.value + ":" + formObj.jobID.value, ((formObj.applicantEmail.value.length > 0) ? "true" : "false"));
	validateFormField(errors, document.getElementById('fieldAppRES'), "#666666", "Upload your resume (PDF and Word only)", "requiredField", formObj.applicantResumeAdded.value, "true");
	
	if (errors.length > 0) {
		displayErrors(errors);
		return false;
	}
	else {
		resetMessages();
		return true;
	}	
}

