/****************************************************/
/* File contains functions used to validate forms   */
/****************************************************/
/* Created By: Justin R. Schwimmer                  */
/* Checkbox validation added by Mike Gibson
/****************************************************/

//Validating ValidateCustomerServiceForm
function ValidateCustomerServiceForm() 
{
	var ErrMsg = "";
	var ErrCnt = 0;
	
	//First Name check: Not blank, or numbers
	if (IsEmpty(document.frmName.fname.value)) 
	{
		ErrMsg += "  => Your Name is a required field.\n";
		ErrCnt += 1;			
	} 
	else if (ContainsChars(document.frmName.fname.value)) 
	{
		ErrMsg += "  => Your Name can only contain letters.";
		ErrCnt += 1;
	}
	
	//Last Name check: Not blank, or numbers
	if (IsEmpty(document.frmName.shopname.value)) 
	{
		ErrMsg += "  => Your Shop Name is a required field.\n";
		ErrCnt += 1;	
	} 
	else if (IsStreetAddress(document.frmName.shopname.value)) 
	{
		ErrMsg += "  => Your Shop Name can only contain numbers, letters, and hypens.\n";
		ErrCnt += 1;	
	}
	
	//Street Address check: Not Blank, letters, blanks, numbers, and hypens allowed
	if (IsEmpty(document.frmName.address.value)) 
	{
		ErrMsg += "  => Address is a required field.\n";
		ErrCnt += 1;			
	} 
	else if (IsStreetAddress(document.frmName.address.value)) 
	{
		ErrMsg += "  => Address field can only contain numbers, letters, and hypens.\n";
		ErrCnt += 1;		
	} 

//City check: Not blank
	if (IsEmpty(document.frmName.city.value)) 
	{
		ErrMsg += "  => City is a required field.\n";
		ErrCnt += 1;			
	} 
	else if (ContainsChars(document.frmName.city.value)) 
	{
		ErrMsg += "  => City field can only contain letters, blanks, and hypens.\n";
		ErrCnt += 1;			
	} 

	//State check:Not Blank, letters, blanks, and hypens allowed
	if (IsEmpty(document.frmName.state.value)) 
	{
		ErrMsg += "  => State is a required field.\n";
		ErrCnt += 1;			
	} 
	else if (ContainsChars(document.frmName.state.value)) 
	{
		ErrMsg += "  => Please select a state.\n";
		ErrCnt += 1;			
	}
 	
 	//Zip check: Not blank, numbers, and hypens allowed
 	if (IsEmpty(document.frmName.zip.value)) 
	{
		ErrMsg += "  => Zip Code is a required field.\n";
		ErrCnt += 1;			
	} 
 	else if (IsStreetAddress(document.frmName.zip.value)) 
	{
		ErrMsg += "  => Zip Code field can only contain letters, numbers, and hypens.\n";
		ErrCnt += 1;		
	} 
	
	//Phone check: Not blank, numbers, parenthesis, and hypens allowed
 	if (IsEmpty(document.frmName.phone.value)) 
	{
		ErrMsg += "  => Phone no. is a required field.\n";
		ErrCnt += 1;			
	} 
 	else if (IsPhone(document.frmName.phone.value)) 
	{
		ErrMsg += "  => Phone field can only contain numbers, parenthesis,and hypens.\n";
		ErrCnt += 1;		
	} 

	//Email check: letters, numbers, hypens, periods, "at" sign
	if (IsEmpty(document.frmName.email.value)) 
	{
		ErrMsg += "  => Email address is a required field.\n";
		ErrCnt += 1;			
	} 
	else if (IsEmail(document.frmName.email.value)) 
	{
		ErrMsg += "  => Email field not valid. (ex. name@domain.com).\n";
		ErrCnt += 1;			
	} 
	//Validate Checkboxes
	    if(!(document.frmName.GE_Ultimate.checked || document.frmName.GE_Grimeinator.checked || document.frmName.GE_Emerald_Black.checked || document.frmName.GE_Alpha_White.checked || document.frmName.GE_The_Solution.checked || document.frmName.refurbish.checked || document.frmName.aromatic.checked || document.frmName.oatmella.checked || document.frmName.hypo_plus.checked))
    {
      window.alert("Please select one or two samples.");
      document.frmName.GE_Ultimate.focus();
      document.frmName.GE_Ultimate.select();
      return false;
    }
   var checkboxcount=0;
   for(var i=0;i<document.frmName.elements.length;i++) 
   {
       if(document.frmName.elements[i].checked) 
       {
       checkboxcount+=1;
       }
   }
   if(checkboxcount>2)
   {
       window.alert("Please select no more than two samples.");
       return false;
   }
//end Validate Checkboxes	
	if (ErrCnt != 0)
	{
		ErrMsg = ErrCnt + ((ErrCnt == 1)? " Error has" : " Errors have") + " occurred, please see below for details. \n\n" + ErrMsg;
		alert(ErrMsg);
		return false;	
	}
}

