function fieldMatch(formField1,formField2)
{
  var field1 = formField1.value;
  var field2 = formField2.value;

if (field1 == field2)
  {
	result = true;
  }
  else
  {
	  alert('Please be sure that both "'+ formField1.name +'"and "'+ formField2.name +'" match!');
	  formField1.focus();
	  result = false;
  }
  return result;
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
	var pindex = theStr.indexOf(".",index);
	if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;
}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
	if (result)
	{
		if (!allDigits(formField.value))
		{
			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
	if (result)
	{
		var num = parseInt(formField.value,10);
		if (isNaN(num))
		{
			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
	if (result)
	{
		var elems = formField.value.split("/");
		
		result = (elems.length == 3); // should be three components
		
		if (result)
		{
			var month = parseInt(elems[0],10);
			var day = parseInt(elems[1],10);
			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
		}
		
		if (!result)
		{
			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

function passwordLength(formField,fieldLabel)
{
	var result = true;	
	var reqLength = 6;
	
	if(formField.value.length < reqLength)
	
		{
			alert('Please choose a "' + fieldLabel +'" that is at least 6 characters.');
			formField.focus();
			result = false;
		}
		
	return result;
		
}


//checks to see if any checkboxes are checked in the group of checkboxes

//be sure to put an id on the form tag

function checkCheckBoxes()
{
	var result = false;	
	
	formblock= document.getElementById('form_id');
	forminputs = formblock.getElementsByTagName('input');
	

	for(i=0;i<forminputs.length;i++){
	
		if(forminputs[i].name == "refservice[]")
		{
			//alert (forminputs[i].checked);
			
			if (forminputs[i].checked) 
			{
			result = true;
			}
		}	
		
		
	}
	
	if (!result) alert ('Please select a referral service!');
	
	return result;
}



function checkRadioBox(formField,fieldLabel) 
{
	var result = true;	
	
	if (!(formField[0].checked) && !(formField[1].checked)) 
		{
			alert ('Please answer "' + fieldLabel +'"');
			result = false;
		}
	
	return result;
}


function validateForm(theForm)
{
	// Customize these calls for your form

	// Start ------->
	
	//check if they checked the checkbox
	if (!checkCheckBoxes())
		return false;
		
	if (!validRequired(theForm.clientname,"Client Name"))
		return false;
		
	if (!validRequired(theForm.clientphone,"Client Phone Number"))
		return false;
		
	//check if they checked the radiobox
	if (!checkRadioBox(theForm.contact, "Contact your client for appointment"))
		return false;
		
	if (!validRequired(theForm.patname,"Patient Name"))
		return false;
		
	if (!validRequired(theForm.breed,"Breed"))
		return false;
		
	if (!validRequired(theForm.patage,"Patient Age or D.O.B"))
		return false;
		
	if (!validRequired(theForm.sex,"Sex"))
		return false;
		
	if (!validRequired(theForm.email,"Email Address"))
		return false;
	
	if (!validEmail(theForm.email,"Email Address",true))
		return false;
	
		
	if (!validRequired(theForm.phone,"Phone"))
		return false;
		
	
	//if (!fieldMatch(theForm.Email, theForm.Email2))
		//return false;
		
	//if (!validRequired(theForm.EventType,"Event Type",true))
		//return false;
		
	//if (!validRequired(theForm.EventMonth,"Event Month",true))
		//return false;
	
	//if (!validRequired(theForm.EventDay,"Event Day",true))
		//return false;
	
	//if (!validRequired(theForm.Year,"Event Year",true))
		//return false;	
		
	//if (!validDate(theForm.Date,"Date",true))
		//return false;
		
	//if (!passwordLength(theForm.pass,"Password"))
	//return false;	

	//if (!validNum(theForm.yearsexperience,"Years Experience",true))
		//return false;
	// <--------- End
	
	return true;
}