/*
Function:submit()
Created By: Derrick Hopkins
*/
function submit(){
   document.contact_form.submit(); 
}
   
/*
Function:validate()
Created By: Derrick Hopkins
*/
function validate(){
   if(checkName() != "E"){
	   if(checkEmail() != "E"){
		   if(checkPhone() != "E"){
			   if(checkMessage() != "E"){
               document.getElementById("error_msg").innerHTML = "";
				   document.getElementById("contact_form").submit();
				}
			}
		}
	}
}

/*
Function:checkName()
Created by: Derrick Hopkins
*/
function checkName(){
   retVal = "";
   if(document.getElementById("fname").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors.</p>";
	   document.getElementById("lfname").className = "label_error";
		retVal = "E";
	}
	else{
      document.getElementById("lfname").className = "label";
	}
	return retVal;
}

/*
Function:checkEmail()
Created by: Derrick Hopkins
*/
function checkEmail(){
   retVal = "";
   email = document.getElementById("email").value;
   if(email == ""){
	   document.getElementById("lemail").className = "label";
	}
	else{
	   emailFilter = /^.+@.+\..{2,3}$/;
      if (!(emailFilter.test(email))) { 
	      document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors.</p>";
	      document.getElementById("lemail").className = "label_error";
         retVal = "E";			
		}
		else{
         illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]\s]/;
         if (email.match(illegalChars)) {
   	      document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors.</p>";
	         document.getElementById("lemail").className = "label_error";
            retVal = "E";				
			}
			else{
       	   document.getElementById("lemail").className = "label";
			}
		}
	}
	return retVal;
}

/*
Function:checkPhone()
Created by: Derrick Hopkins
*/
function checkPhone(){
   retVal = "";
   phone = document.getElementById("dphone").value;
	phone = phone.replace(/\D/g, '');
   if(phone == ""){
  	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors.</p>";
	   document.getElementById("ldphone").className = "label_error"; 
		retVal = "E";
	}
	else{
      if (phone.length != 10) { 
   	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors. (10 digit phone)</p>";
	      document.getElementById("ldphone").className = "label_error";
			retVal = "E";
      }
		else{
     	   document.getElementById("ldphone").className = "label";
			document.getElementById("dphone").value = "(" + phone.substring(0,3) + ")" + phone.substring(3,6) + "-" + phone.substring(6,10);
		}
	}

   phone = document.getElementById("ephone").value;
	phone = phone.replace(/\D/g, '');
   if(phone.length == 0){
      document.getElementById("lephone").className = "label";
		document.getElementById("ephone").value = phone;
   }   
   else if(phone.length != 10) { 
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above contain errors. (10 digit phone)</p>";
      document.getElementById("lephone").className = "label_error";
		retVal = "E";
   }
	else{
  	   document.getElementById("lephone").className = "label";
		document.getElementById("ephone").value = "(" + phone.substring(0,3) + ")" + phone.substring(3,6) + "-" + phone.substring(6,10);
	}
   return retVal;
}

/*
Function:checkMessage()
Created by: Derrick Hopkins
*/
function checkMessage(){
   if(document.getElementById("message").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Please include a message.</p>";
		retVal = "E";
	}
	return retVal;
}
