/*
Function:submit()
Created By: Derrick Hopkins
*/
function submit(){
   document.form_signup.submit(); 
}
   
/*
Function:validate()
Created By: Derrick Hopkins
*/
function validate(){
   if(checkContact() != "E"){
		if(checkPhone() != "E"){
			if(checkGolfers() != "E"){
            if(checkLunch() != "E"){
               document.getElementById("error_msg").innerHTML = "";
				   document.getElementById("form_signup").submit();
            }
			}
		}
	}
}

/*
Function:checkContact()
Created by: Derrick Hopkins
*/
function checkContact(){
   retVal = "";
   if(document.getElementById("name").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above either contain errors, or have been left blank.</p>";
	   document.getElementById("lname").className = "label_error";
		retVal = "E";
	}
	else{
      document.getElementById("lname").className = "label";
	}
   
   if(document.getElementById("street").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above either contain errors, or have been left blank.</p>";
	   document.getElementById("lstreet").className = "label_error";
		retVal = "E";
	}
	else{
      document.getElementById("lstreet").className = "label";
	}
   
   if(document.getElementById("city").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above either contain errors, or have been left blank.</p>";
	   document.getElementById("lcity").className = "label_error";
		retVal = "E";
	}
	else{
      document.getElementById("lcity").className = "label";
	}
   
   if(document.getElementById("postal").value == ""){
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above either contain errors, or have been left blank.</p>";
	   document.getElementById("lpostal").className = "label_error";
		retVal = "E";
	}
	else{
      document.getElementById("lpostal").className = "label";
	}
   
   email = document.getElementById("email").value;
	emailFilter = /^.+@.+\..{2,3}$/;
   if (!(emailFilter.test(email))) { 
	   document.getElementById("error_msg").innerHTML = "<p>Fields in red above either contain errors, or have been left blank.</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 either contain errors, or have been left blank.</p>";
	      document.getElementById("lemail").className = "label_error";
         retVal = "E";				
		}
		else{
         document.getElementById("lemail").className = "label";
		}
	}

   
	return retVal;
}

/*
Function:checkGolfers()
Created by: Derrick Hopkins
*/
function checkGolfers(){
   retVal = "";
   name1 = document.getElementById("name1").value;
   name2 = document.getElementById("name2").value;
   name3 = document.getElementById("name3").value;
   name4 = document.getElementById("name4").value;
   name5 = document.getElementById("name5").value;
   count = 0;
   
   if(name1 != ""){
      count++;
   }
   if(name2 != ""){
      count++;
   }
   if(name3 != ""){
      count++;
   }
   if(name4 != ""){
      count++;
   }
   if(name5 != ""){
      count++;
   }

   cntAdults = document.getElementById("adults")[document.getElementById("adults").selectedIndex].value;
   cntCouples = document.getElementById("couples")[document.getElementById("couples").selectedIndex].value;
   cntCouples = cntCouples * 2;
   cntTeens = document.getElementById("children18")[document.getElementById("children18").selectedIndex].value;
   cntChildren = document.getElementById("children12")[document.getElementById("children12").selectedIndex].value;
   cntTotal = parseInt(cntAdults) + parseInt(cntCouples) + parseInt(cntTeens) + parseInt(cntChildren);

   if(cntTotal != count){
	   document.getElementById("error_msg").innerHTML = "<p>You have listed more/less names than accounted for in the age groups.</p>";
	   document.getElementById("lgolfers").className = "label_error";
      retVal = "E";	
   }
   else{
      document.getElementById("lgolfers").className = "label";
	}

	return retVal;
}

/*
Function:checkLunch()
Created by: Derrick Hopkins
*/
function checkLunch(){
   retVal = "";
   name1 = document.getElementById("name1").value;
   name2 = document.getElementById("name2").value;
   name3 = document.getElementById("name3").value;
   name4 = document.getElementById("name4").value;
   name5 = document.getElementById("name5").value;
   count = 0;
   
   if(name1 != ""){count++;}
   if(name2 != ""){count++;}
   if(name3 != ""){count++;}
   if(name4 != ""){count++;}
   if(name5 != ""){count++;}

   
   cntAdults = document.getElementById("adults_lunch")[document.getElementById("adults_lunch").selectedIndex].value;
   cntChildren = document.getElementById("children_lunch")[document.getElementById("children_lunch").selectedIndex].value;
   cntVegetarian = document.getElementById("vegetarian")[document.getElementById("vegetarian").selectedIndex].value;
   cntTotal = parseInt(cntAdults) + parseInt(cntChildren) + count;
      
   if(cntTotal < cntVegetarian){
	   document.getElementById("error_msg").innerHTML = "<p>You have entered more vegetarian meals than the number of lunches selected.</p>";
	   document.getElementById("llunch").className = "label_error";
      retVal = "E";	
   }
   else{
      document.getElementById("lgolfers").className = "label";
	}

	return retVal;
}

/*
Function:checkPhone()
Created by: Derrick Hopkins
*/
function checkPhone(){
   retVal = "";
   phone = document.getElementById("phone").value;
	phone = phone.replace(/\D/g, '');
   if(phone == ""){
  	   document.getElementById("error_msg").innerHTML = "<p>Please enter your phone number.</p>";
	   document.getElementById("lphone").className = "label_error"; 
		retVal = "E";
	}
	else{
      if (phone.length < 10) { 
   	   document.getElementById("error_msg").innerHTML = "<p>Please enter a 10 digit phone number.</p>";
	      document.getElementById("lphone").className = "label_error";
			retVal = "E";
      }
		else{
     	   document.getElementById("lphone").className = "label";
         if(phone.length > 10){
			   document.getElementById("phone").value = "(" + phone.substring(0,3) + ")" + phone.substring(3,6) + "-" + phone.substring(6,10) + " Ext. " + phone.substring(10, phone.length);
         }
         else{
            document.getElementById("phone").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;
}