<!--

function Validate(form)
{

	var fldVal;
	var sTmp;
	var comments;

	fldVal=Trim(form.elements["first_name"].value);
	if(fldVal=="")
	{
		alert("The First Name input box is empty. Please try again.");
		return;
	}

	if(!ValidateNames(form.elements["first_name"])) return;

	fldVal=Trim(form.elements["last_name"].value);
	if(fldVal=="")
	{
		alert("The Last Name input box is empty. Please try again.");
		return;
	}

	if(!ValidateNames(form.elements["last_name"])) return;
	
	if (form.address_1.value == "")
    {
       alert("The Address input box is empty. Please try again.");
    form.last_name.focus();
    return (false);
    }		
	
	if (form.city.value == "")
    {
       alert("The City input box is empty. Please try again.");
    form.last_name.focus();
    return (false);
    }		


	fldVal=Trim(form.elements["state"].value);
	if(fldVal=="")
	{
		alert("The State input box is empty. Please try again.");
		return;
	}

	if(!ValidateNames(form.elements["state"])) return;
	
	fldVal=Trim(form.elements["zip"].value);
	if(fldVal=="")
	{
		alert("The Zip Code input box is empty. Please try again");
		return;
	}
	if(!validateField(form.elements["zip"], 'zip code')) return;
	
	fldVal=Trim(form.elements["phone"].value);
	if(fldVal=="")
	{
		alert("The Phone input box is empty. Please try again");
		return;
	}
	if(!validateField(form.elements["phone"], 'phone number')) return;
	
		fldVal=Trim(form.elements["email"].value);
	if(fldVal=="")
	{
		alert("The Email input box is empty. Please try again");
		return;
	}
	if(!validateField(form.elements["email"], 'email address')) return;

	form.submit();

}

function validateField(fld, strType) 
{

	var strNm = Trim(String(fld.value));
	if(strNm.length==0)
	{
		return false;
	}
	fld.value = strNm;

	var str = fld.value;        
	var testPattern;
	
		if(strType == "email address")
	{
		testPattern = /^\w+(\.\w+)*@\w+(\.\w+)+$/;
	}	

	else if(strType == "phone number")
	{
		if(strNm.length>13)
		{
			alert("Please enter in the form of\n (123)456-7890 or\n 123.456.7890 or\n 123-456-7890 or\n 123-4567890 or\n 1234567890.");
			return false;
		}
		var testPattern = /(\(\d{3}\)\d{3}\-\d{4})|(\b\d{3}\-\d{3}\-\d{4}\b)|(\b\d{3}\.\d{3}\.\d{4}\b)|(\b\d{3}\-\d{7}\b)|(\b\d{10}\b)/;
	}

	else if( strType == "zip code" )
	{
		testPattern = /^((\d+)|(\d+-\d+))$/;
	}

	if (str == "") 
	{
		alert("Please enter your " + strType + ".");
		fld.focus();
		return false;
	}

	if (testPattern.test(str))
	{
		return true;
	}

	alert("" + str + " is an invalid " + strType + "!");
	fld.focus();
	fld.select();
	return false;
  
}

function ValidateNames(fld)
{
	var strNm = Trim(String(fld.value));
	if(strNm.length==0)
	{
		return false;
	}
	fld.value = strNm;
	var charTmp;
	for(var j=0; j<strNm.length; j++)
	{
		charTmp = strNm.charAt(j);
		if ( !((charTmp >="A" && charTmp<="Z") || (charTmp>="a" && charTmp<="z")) )
		{
			alert("This required field can only have Alphabetical letters. Please try again.");
			fld.focus();
			fld.select();
			return false;
		}		
	}
	return true;
}

function Trim( str )
{
	var start = -1;
	if (str.length==0) return str;
	for(var m=0; m<str.length; m++)
	{
		if(str.charAt(m)!=" ")
		{
			start = m;
			for(var n=str.length-1; n>=0; n--)
			if(str.charAt(n)!=" ")
			{
				return str.substring(m, n+1);
			}
		}			
	}
	return new String();
}
//-->

