			function ValidateForm() 
			{
				var FirstName = document.Form1.FirstName;
				var LastName = document.Form1.LastName;
				var Email = document.Form1.Email;
				var DayPhone = document.Form1.DayPhone;
				var EvePhone = document.Form1.EvePhone;
				var CellPhone = document.Form1.CellPhone;
				var CityFrom = document.Form1.CityFrom;
				var StateFrom = document.Form1.StateFrom;
				var ZipFrom = document.Form1.ZipFrom;
				var CityTo = document.Form1.CityTo;
				var StateTo = document.Form1.StateTo;
				var ZipTo = document.Form1.ZipTo;
				var TypeOfMove = document.Form1.TypeOfMove;
				var MovingDate = document.Form1.MovingDate;
				
				if (FirstName.value == "")
				{
					window.alert("Missing Required Field: First Name");
					FirstName.focus();
					return false;
				}
				
				if (LastName.value == "")
				{
					window.alert("Missing Required Field: Last Name");
					LastName.focus();
					return false;
				}
				
				str = Email.value;
				var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if(!str.match(emailRegEx))
				{
					window.alert("Valid Email address required");
					Email.focus();
					return false;
				}
				
				if (((DayPhone.value.length < 10) && (DayPhone.value.length > 0)) || (DayPhone.value.length > 10))
				{
					window.alert("Day Phone is Invalid");
					DayPhone.focus();
					return false;
				}
				
				if (((EvePhone.value.length < 10) && (EvePhone.value.length > 0)) || (EvePhone.value.length > 10))
				{
					window.alert("Evening Phone is Invalid");
					EvePhone.focus();
					return false;
				}
				
				if ((DayPhone.value.length != 10) && (EvePhone.value.length != 10))
				{
					window.alert("At least one required: Day or Evening Phone");
					DayPhone.focus();
					return false;
				}
				
				if (CityFrom.value == "")
				{
					window.alert("Missing Required Field: City From");
					CityFrom.focus();
					return false;
				}
				
				if (StateFrom.selectedIndex < 1)
				{
					window.alert("Must Select One: State From");
					StateFrom.focus();
					return false;
				}
				
				if (ZipFrom.value.length != 5)
				{
					window.alert("Missing or Invalid Required Field: Zip From");
					ZipFrom.focus();
					return false;
				}
				
				if (CityTo.value == "")
				{
					window.alert("Missing Required Field: City To");
					CityTo.focus();
					return false;
				}
				
				if (StateTo.selectedIndex < 1)
				{
					window.alert("Must Select One: State To");
					StateTo.focus();
					return false;
				}
				
				if ((ZipTo.value.length != 5) && (ZipTo.value.length > 0))
				{
					window.alert("Invalid Entry In Field: ZIP TO:\nZIP TO: is NOT Required but must be valid if used.");
					ZipTo.focus();
					return false;
				}
				
				if (TypeOfMove.selectedIndex < 1)
				{
					window.alert("Must Select One: Move Size");
					TypeOfMove.focus();
					return false;
				}
				
				str = MovingDate.value;
				var dateRegEx = /([0-9]){2}\/([0-9]){2}\/20([0-9]){2}/;
				if(!str.match(dateRegEx))
				{
					window.alert("Move Date must be in MM/DD/YYYY format");
					MovingDate.focus();
					return false;
				}
				
				document.Form1.submit();
				
				return true;
			}

			function numbersonly(myfield, e, dec)
			{
				var key;
				var keychar;
				if (window.event)
				key = window.event.keyCode;
				else if (e)
				key = e.which;
				else
				return true;
				keychar = String.fromCharCode(key);
				// control keys
				if ((key==null) || (key==0) || (key==8) || 
				(key==9) || (key==13) || (key==27) )
				return true;
				// numbers
				else if ((("0123456789").indexOf(keychar) > -1))
				return true;
				// decimal point jump
				else if (dec && (keychar == "."))
				{
					myfield.form.elements[dec].focus();
					return false;
				}
				else
				{
					return false;
				}
			}
