// JavaScript Document for validating input fields
function validateFields(formField){
	//establish the variable field arrays for each of the pages that require validation
	var errors = 'No';
	var fieldArray = new Array(
								'Name',
								'Email'
	);
	//see if the email check error is present
	if(document.getElementById('Error_Msg')){
		document.getElementById('Error_Msg').style.display = 'none';
	}
	if(document.getElementById('Update_Success')){
		document.getElementById('Update_Success').style.display = 'none';
	}
	//loop through the various fields to make sure that they are actually there
	for(i=0; i<fieldArray.length; i++){
		if(document.getElementById(fieldArray[i])){
			//use a switch statement to determine how to validate each individual field
			switch (fieldArray[i]){
				case "Name":
					if(!isFieldValid(fieldArray[i])){
						var errors = 'Yes';
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFF99';
					}else{
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFFFF';	
					}
				break;
				case "Email":
					if(!isFieldEmail(fieldArray[i])){
						var errors = 'Yes';
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFF99';
					}else{
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFFFF';	
					}
				break;
			}
		}
	}
	//decide what to do after all errors have been located
	if(errors == 'No'){
		document.getElementById(formField).submit();
	}else{
		//errors.. display the error message
		document.getElementById('Error_Msg').style.display = 'block';
	}
}
//function for checking to see if a field is empty
function isFieldEmpty(field){							
	if(document.getElementById(field)){
		var value = document.getElementById(field).value;			
		//remove all spaces, dashes and other bad characters
		var chars = /\s/g;
		var testValue = value.replace(chars,"");
		if(testValue == ''){
			return false;
		}else{
			return true;
		}
	}else{
		return false;
	}
}
//function for checking for a properly formatted email address
function isFieldEmail(field){
	if(isFieldEmpty(field)){
		var value = document.getElementById(field).value;			
		var emailPattern = /\w+@\w+\.\w{1,3}/;
		if(!emailPattern.test(value)){
			return false;
		}else{
			return true;	
		}
	}else{
		return false;
	}	
}
//function for checking the city field
function isFieldCity(field){
	if(document.getElementById(field)){
		if(!isFieldEmpty(field)){
			return false;
		}else{
			var chars = /[\d]/;
			var value = document.getElementById(field).value;
			if(chars.test(value)){
				return false;
			}else{
				return true;
			}
		}
	}else{
		return false;
	}
}
//function for checking a zip code
function isFieldZip(field){
	if(document.getElementById(field)){
		var value = document.getElementById(field).value;
		var chars = /(^\d{5}-\d{4}$)|(^\d{5}$)|(^\d{9}$)/;
		if(!chars.test(value)){
			return false;
		}else{
			return true;
		}
	}else{
		return false;
	}
}
//function for checking first name, last name, street address fields
function isFieldValid(field){
	if(document.getElementById(field)){
		if(!isFieldEmpty(field)){
			return false;
		}else{
			return true;
		}			
	}else{
		return false;
	}
}

