// JavaScript Document for validating input fields
function validateFields(formField){
	if(document.getElementById('result_ERROR_false')){
		document.getElementById('result_ERROR_false').style.display = 'none';						   
	}
	if(document.getElementById('result_ERROR_true')){
		document.getElementById('result_ERROR_true').style.display = 'none';						   
	}
	document.getElementById(formField+'_ERROR').style.display = 'none';
	var errors = 'No';
	var fieldArray = new Array(
							'First',
							'Email',
							'Phone'
							);
	//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 "First":
					if(!isFieldValid(fieldArray[i])){
						var errors = 'Yes';
						document.getElementById(fieldArray[i]).style.backgroundColor = '#EE4A11';
					}else{
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFFFF';
					}
				break;
				case "Phone":
					if(!isFieldValid(fieldArray[i])){
						var errors = 'Yes';
						document.getElementById(fieldArray[i]).style.backgroundColor = '#EE4A11';
					}else{
						document.getElementById(fieldArray[i]).style.backgroundColor = '#FFFFFF';
					}
				break;
				case "Email":
					if(!isFieldEmail(fieldArray[i])){
						var errors = 'Yes';
						document.getElementById(fieldArray[i]).style.backgroundColor = '#EE4A11';
					}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{
		document.getElementById(formField+'_ERROR').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 a dropdown menu
function isItemSelected(field){
	if(document.getElementById(field)){
		var value_index = document.getElementById(field).selectedIndex;
		var value = document.getElementById(field).options[value_index].value;
		if(value == '0' || value == ''){
			return false;
		}else{
			return true;
		}
	}else{
		return false;
	}
}
//function for checking basic input fields
function isFieldValid(field){
	if(document.getElementById(field)){
		if(!isFieldEmpty(field)){
			return false;
		}else{
			return true;
		}			
	}else{
		return false;
	}
}

