function ValidateFields(oPrmForm)
{ 
	var bBrowserGood = false;
	var bBrowserDrawsBordersCorrectly = false;
	var sBrowser = "Unknown";
	var disqualified = 0
	
	if (navigator.appName == "Netscape")
	{
		sBrowser = "Netscape";
		if (parseFloat(navigator.appVersion) >= 5)
		{
			bBrowserGood = true;
			bBrowserDrawsBordersCorrectly = true;
		}
	}
	else if (navigator.appName == "Microsoft Internet Explorer")
	{
		sBrowser = "IE";
		if (parseFloat(navigator.appVersion) >= 4)
		{
			bBrowserGood = true;
		}
	}
	
	var bReturn = true;
	var bFieldGood = true;var sErrors = '';
	bFieldGood = true;
	
	
	if (oPrmForm.firstname.value.length > 0)
	{ }
	else
	{
		sErrors = sErrors + 'First Name\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.firstname.style.borderLeftColor = 'buttonface';
			oPrmForm.firstname.style.borderTopColor = 'buttonface';
			oPrmForm.firstname.style.borderRightColor = 'buttonface';
			oPrmForm.firstname.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.firstname.style.borderLeftColor = 'tomato';
			oPrmForm.firstname.style.borderTopColor = 'tomato';
			oPrmForm.firstname.style.borderRightColor = 'tomato';
			oPrmForm.firstname.style.borderBottomColor = 'tomato';
		}
	}
	
	bFieldGood = true;
	if (oPrmForm.lastname.value.length > 0)
	{ }
	else
	{
		sErrors = sErrors + 'Last Name\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.lastname.style.borderLeftColor = 'buttonface';
			oPrmForm.lastname.style.borderTopColor = 'buttonface';
			oPrmForm.lastname.style.borderRightColor = 'buttonface';
			oPrmForm.lastname.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.lastname.style.borderLeftColor = 'tomato';
			oPrmForm.lastname.style.borderTopColor = 'tomato';
			oPrmForm.lastname.style.borderRightColor = 'tomato';
			oPrmForm.lastname.style.borderBottomColor = 'tomato';
		}
	}
	
	bFieldGood = true;
	if (oPrmForm.address.value.length > 0)
	{ }
	else
	{
		sErrors = sErrors + 'Street Address\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.address.style.borderLeftColor = 'buttonface';
			oPrmForm.address.style.borderTopColor = 'buttonface';
			oPrmForm.address.style.borderRightColor = 'buttonface';
			oPrmForm.address.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.address.style.borderLeftColor = 'tomato';
			oPrmForm.address.style.borderTopColor = 'tomato';
			oPrmForm.address.style.borderRightColor = 'tomato';
			oPrmForm.address.style.borderBottomColor = 'tomato';
		}
	}

	bFieldGood = true;
	if (oPrmForm.city.value.length > 0)
	{ }
	else
	{
		sErrors = sErrors + 'City\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.city.style.borderLeftColor = 'buttonface';
			oPrmForm.city.style.borderTopColor = 'buttonface';
			oPrmForm.city.style.borderRightColor = 'buttonface';
			oPrmForm.city.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.city.style.borderLeftColor = 'tomato';
			oPrmForm.city.style.borderTopColor = 'tomato';
			oPrmForm.city.style.borderRightColor = 'tomato';
			oPrmForm.city.style.borderBottomColor = 'tomato';
		}
	}

	bFieldGood = true;
	if (oPrmForm.state.selectedIndex > 0)
	{ }
	else
	{
		sErrors = sErrors + 'State\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.state.style.backgroundColor = '#FFFFFF';
		}
		else
		{
			oPrmForm.state.style.backgroundColor = 'tomato';
		}
	}

	bFieldGood = true;
	if (oPrmForm.zip.value.length > 0)
	{ }
	else
	{
		sErrors = sErrors + 'Zip Code\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.zip.style.borderLeftColor = 'buttonface';
			oPrmForm.zip.style.borderTopColor = 'buttonface';
			oPrmForm.zip.style.borderRightColor = 'buttonface';
			oPrmForm.zip.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.zip.style.borderLeftColor = 'tomato';
			oPrmForm.zip.style.borderTopColor = 'tomato';
			oPrmForm.zip.style.borderRightColor = 'tomato';
			oPrmForm.zip.style.borderBottomColor = 'tomato';
		}
	}


	bFieldGood = true;
	if (oPrmForm.AreaCode.value.length > 0)
	{
		//Validate Area Code - must be a 3 digit number
		var sAreacPhoneError = areacIsValid(oPrmForm.AreaCode,'Area Code');
		if (sAreacPhoneError.length > 0)
			{
			sErrors = sErrors + sAreacPhoneError;
			bFieldGood = false;
			}	
	}
	else
	{
		sErrors = sErrors + 'Area Code\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.AreaCode.style.borderLeftColor = 'buttonface';
			oPrmForm.AreaCode.style.borderTopColor = 'buttonface';
			oPrmForm.AreaCode.style.borderRightColor = 'buttonface';
			oPrmForm.AreaCode.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.AreaCode.style.borderLeftColor = 'tomato';
			oPrmForm.AreaCode.style.borderTopColor = 'tomato';
			oPrmForm.AreaCode.style.borderRightColor = 'tomato';
			oPrmForm.AreaCode.style.borderBottomColor = 'tomato';
		}
	}
	
	bFieldGood = true;
	if (oPrmForm.phone1.value.length > 0)
	{ 
		//Validate Prefix - must be a 3 digit number
		var sPrefixPhoneError = prefixIsValid(oPrmForm.phone1,'Prefix');
		if (sPrefixPhoneError.length > 0)
			{
			sErrors = sErrors + sPrefixPhoneError;
			bFieldGood = false;
			}
	}
	else
	{
		sErrors = sErrors + 'Phone\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.phone1.style.borderLeftColor = 'buttonface';
			oPrmForm.phone1.style.borderTopColor = 'buttonface';
			oPrmForm.phone1.style.borderRightColor = 'buttonface';
			oPrmForm.phone1.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.phone1.style.borderLeftColor = 'tomato';
			oPrmForm.phone1.style.borderTopColor = 'tomato';
			oPrmForm.phone1.style.borderRightColor = 'tomato';
			oPrmForm.phone1.style.borderBottomColor = 'tomato';
		}
	}

	bFieldGood = true;
	if (oPrmForm.phone2.value.length > 0)
	{
		//Validate 4 digit phone number - must be a 4 digit
		var sFourNumsPhoneError = fourNumsIsValid(oPrmForm.phone2,'Phone Number');
		if (sFourNumsPhoneError.length > 0)
			{
			sErrors = sErrors + sFourNumsPhoneError;
			bFieldGood = false;
			}	
			
		//concatenate prefix and 4 digit and validate against invalid numbers - by ET 09/21/2006
		//var sdayphonePhoneError = phoneSevenIsValid(oPrmForm.phone1 + oPrmForm.phone2,'Daytime Phone');
		//if (sdayphonePhoneError.length > 0)
			//{
				//sErrors = sErrors + sdayphonePhoneError;
				//bFieldGood = false;
			//}
	}
	else
	{
		sErrors = sErrors + 'Phone\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.phone2.style.borderLeftColor = 'buttonface';
			oPrmForm.phone2.style.borderTopColor = 'buttonface';
			oPrmForm.phone2.style.borderRightColor = 'buttonface';
			oPrmForm.phone2.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.phone2.style.borderLeftColor = 'tomato';
			oPrmForm.phone2.style.borderTopColor = 'tomato';
			oPrmForm.phone2.style.borderRightColor = 'tomato';
			oPrmForm.phone2.style.borderBottomColor = 'tomato';
		}
	}

	bFieldGood = true;
	if (oPrmForm.email.value.length > 0)
	{
			var sEmailInvalid = emailIsValid(oPrmForm.email,'Email Address');
			if (sEmailInvalid.length > 0)
				{
					sErrors = sErrors + sEmailInvalid;
					bFieldGood = false;
				}
	}
	else
	{
		sErrors = sErrors + 'E-mail Address\n';
		bFieldGood = false;
	}
	if (bBrowserGood)
	{
		if (bFieldGood)
		{
			oPrmForm.email.style.borderLeftColor = 'buttonface';
			oPrmForm.email.style.borderTopColor = 'buttonface';
			oPrmForm.email.style.borderRightColor = 'buttonface';
			oPrmForm.email.style.borderBottomColor = 'buttonface';
		}
		else
		{
			oPrmForm.email.style.borderLeftColor = 'tomato';
			oPrmForm.email.style.borderTopColor = 'tomato';
			oPrmForm.email.style.borderRightColor = 'tomato';
			oPrmForm.email.style.borderBottomColor = 'tomato';
		}
	}
	
	

	///////////////////////////////////////////////////////////////
	
	
	bFieldGood = true;
	if (oPrmForm.birthmonth.selectedIndex > 0) {
	}
	else {
		sErrors = sErrors + 'Birth Month\n';
		bFieldGood = false;
	}
	if (bBrowserGood) {
		if (bFieldGood) {
			oPrmForm.birthmonth.style.backgroundColor = '#FFFFFF';
			}
		else {
			oPrmForm.birthmonth.style.backgroundColor = 'tomato';
		}
	}
	
	
		
		
	///////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////
	bFieldGood = true;
	if (oPrmForm.birthday.selectedIndex > 0) 
	{}
	else 
	{
		sErrors = sErrors + 'Birth Day\n';
		bFieldGood = false;
	}
	if (bBrowserGood) 
		{
		if (bFieldGood) 
			{
				oPrmForm.birthday.style.backgroundColor = '#FFFFFF';
			}
		else 
		{
			oPrmForm.birthday.style.backgroundColor = 'tomato';
		}
	}
	///////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////
	

	//////////////////////// 00000000000000000000 //////////////////////

	
	bFieldGood = true;
	
	// Create a variable curYr with the current year
		var curDate=new Date();
		var curYr = curDate.getFullYear();
		var curMonth = curDate.getMonth() + 1;
		
		//alert(curMonth);
		
		
		var birthYear = oPrmForm.birthyear.options[oPrmForm.birthyear.selectedIndex].value
		var birthMonth = oPrmForm.birthmonth.options[oPrmForm.birthmonth.selectedIndex].value
		var birthDay = oPrmForm.birthday.options[oPrmForm.birthday.selectedIndex].value
		var ageDiff = curYr  - birthYear
		var monthDiff = curMonth - birthMonth
		
	if (oPrmForm.birthyear.selectedIndex > 0) 
	{
		if (ageDiff > 16 && ageDiff < 24 )
			{
				if (ageDiff == 23 && birthMonth > 6)
					{
					disp_unqualified();
					disqualified = 1;
					//alert("For age 23 you have to be born before June 31st");
					return false;
					}	
			}
		else
			{
				disp_unqualified();
				disqualified = 1;
				//alert("You must be between the ages of 17 and 23 in order to be Eligable");
				return false;
			}
	}
	else 
	{
		sErrors = sErrors + 'Birth Year\n';
		bFieldGood = false;
	}
	
	if (bBrowserGood) {
		if (bFieldGood) {
			oPrmForm.birthyear.style.backgroundColor = '#FFFFFF';
			}
		else {
			oPrmForm.birthyear.style.backgroundColor = 'tomato';
		}
	}
	

	///////////////////////////////////////////////////////////////
	
	

		bFieldGood = true;
	var user_citizen = "no select";
	
	for (i=0;i<oPrmForm.uscitizen.length;i++)
    {
	   if (oPrmForm.uscitizen[i].checked)
	   {
		 user_citizen = oPrmForm.uscitizen[i].value;
	   }
    }
	
	
	if (user_citizen != "no select") 
	{
		if(user_citizen == "yes")
		{}
		else
		{
			disp_unqualified();
			disqualified = 1;
			//alert("not a citizen");
			return false;
			
		}
	}
	else 
	{
		sErrors = sErrors + 'Citizen Status\n';
		bFieldGood = false;
	}
	
	

	///////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////
	

		bFieldGood = true;
	var user_married = "no select";
	
	for (i=0;i<oPrmForm.married.length;i++)
    {
	   if (oPrmForm.married[i].checked)
	   {
		 user_married = oPrmForm.married[i].value;
	   }
    }
	
	
	if (user_married != "no select") 
	{
		if(user_married == "no")
		{}
		else
		{
			disp_unqualified();
			disqualified = 1;
			//alert("you are married");
			return false;
			
		}
	}
	else 
	{
		sErrors = sErrors + 'Marital Status\n';
		bFieldGood = false;
	}
	
	///////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////
	

		bFieldGood = true;
	var user_dependents = "no select";
	
	for (i=0;i<oPrmForm.children.length;i++)
    {
	   if (oPrmForm.children[i].checked)
	   {
		 user_dependents = oPrmForm.children[i].value;
	   }
    }
	
	
	if (user_dependents != "no select") 
	{
		if(user_dependents == "no")
		{}
		else
		{
			disp_unqualified();
			disqualified = 1;
			//alert("you have kids!");
			return false;
			
		}
	}
	else 
	{
		sErrors = sErrors + 'Dependents Status\n';
		bFieldGood = false;
	}
	
	
	///////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////

		bFieldGood = true;
	var user_tests = "no select";
	
	for (i=0;i<oPrmForm.aptitudetests.length;i++)
    {
	   if (oPrmForm.aptitudetests[i].checked)
	   {
		 user_tests = oPrmForm.aptitudetests[i].value;
	   }
    }
	
	
	if (user_tests != "no select") 
	{
		if(user_tests == "yes")
		{}
		else
		{
			disp_unqualified();
			disqualified = 1;
			return false;
			//alert("should have test");
		}
	}
	else 
	{
		sErrors = sErrors + 'Education Status\n';
		bFieldGood = false;
	}
	

	///////////////////////////////////////////////////////////////
	
	
	
	if (sErrors.length > 0)
	{
		bReturn = false;
		if (disqualified != 1)
		{
			alert('The fields are required:\n' + sErrors);
		}
	}
	return bReturn;
}

function isDate(dateStr)
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); //check format
	if (matchArray == null) return false;
	var iMonth = matchArray[1]; // parse date into variables
	var iDay = matchArray[3];
	var iYear = matchArray[5];
	if (iMonth < 1 || iMonth > 12) return false;
	if (iDay < 1 || iDay > 31) return false;
	if ((iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11) && iDay==31) return false;
	if (iMonth == 2)
	{ // check for february 29th
		var isleap = (iYear % 4 == 0 && (iYear % 100 != 0 || iYear % 400 == 0));
		if (iDay > 29 || (iDay == 29 && !isleap)) return false;
	}
	return true;
}

function FixDate(oMonth, oDay, oYear)
{
	var iMonth = parseInt(oMonth[oMonth.selectedIndex].value);
	var iDay = parseInt(oDay[oDay.selectedIndex].value);
	var iYear = parseInt(oYear[oYear.selectedIndex].value);
	var iMax = 31;
	if (iMonth == 2)
	{
		if ((((iYear % 4) == 0) && ((iYear % 100) != 0)) || ((iYear % 400) == 0))
		{
			iMax = 29;
		}
		else
		{
			iMax = 28;
		}
	}
	else if ((iMonth == 4) || (iMonth == 6) || (iMonth == 9) || (iMonth == 11))
	{
		iMax = 30;
	}
	oDay.length = iMax;
	for (var i=iMax; i > 28; i--)
	{
		oDay[i - 1].text = i;
		oDay[i - 1].value = i;
	}
	if (iDay > iMax)
		oDay.selectedIndex = (iMax - 1);
}

/////////////////////////////////////////////////////////////////////////////
function areacIsValid(Obj,sLabel)
{
	var sAreac = Obj.value;
	var sAreacTemp = sAreac;
	sAreac = '';
	var sNumbers = '1234567890';
	ary3NotAllowed = new Array('000','911','555','012','123');

	for (var i=0;i<sAreacTemp.length;i++)
	{
		if (sNumbers.indexOf(sAreacTemp.charAt(i)) > -1)
		{
			sAreac += sAreacTemp.charAt(i);
		}
	}
	
	if (sAreac.length != 3)
	{
		return sLabel + ' must be a 3 digit number\n';
	}
	else
	{ 
		Obj.value = sAreac;
	}
	

	for (var i=0;i<ary3NotAllowed.length;i++)
	{
		if (sAreac.toString() == ary3NotAllowed[i].toString())
		{
			return sLabel + ' must be a valid area code\n';
		}
	}
	
	return '';
}
/////////////////////////////////////////////////////////////////////////////
function prefixIsValid(Obj,sLabel)
{
	var sPrefix = Obj.value;
	var sPrefixTemp = sPrefix;
	sPrefix = '';
	var sNumbers = '1234567890';

	for (var i=0;i<sPrefixTemp.length;i++)
	{
		if (sNumbers.indexOf(sPrefixTemp.charAt(i)) > -1)
		{
			sPrefix += sPrefixTemp.charAt(i);
		}
	}
	
	if (sPrefix.length != 3)
	{
		return sLabel + ' must be a 3 digit number\n';
	}
	else
	{ 
		Obj.value = sPrefix;
	}
	
	return '';
}
/////////////////////////////////////////////////////////////////////////////
function fourNumsIsValid(Obj,sLabel)
{
	var sFourNums = Obj.value;
	var sFourNumsTemp = sFourNums;
	sFourNums = '';
	var sNumbers = '1234567890';

	for (var i=0;i<sFourNumsTemp.length;i++)
	{
		if (sNumbers.indexOf(sFourNumsTemp.charAt(i)) > -1)
		{
			sFourNums += sFourNumsTemp.charAt(i);
		}
	}
	
	if (sFourNums.length != 4)
	{
		return sLabel + ' must be a 4 digit number\n';
	}
	else
	{ 
		Obj.value = sFourNums;
	}
	
	return '';
}
/////////////////////////////////////////////////////////////////////////////
function phoneSevenIsValid(Obj,sLabel)
{
	var sPhone = Obj.value;
	var sPhoneTemp = sPhone;
	sPhone = '';
	var sNumbers = '1234567890';
	ary7NotAllowed = new Array('1234567','2345678','3456789','4567890','7654321','8765432','9876543','0987654','0000000','1111111','2222222','3333333','4444444','5555555','6666666','7777777','8888888','9999999');
	
	for (var i=0;i<sPhoneTemp.length;i++)
	{
		if (sNumbers.indexOf(sPhoneTemp.charAt(i)) > -1)
		{
			sPhone += sPhoneTemp.charAt(i);
		}
	}
	
	if (sPhone.length != 7)
	{
		return sLabel + ' must be a 7 digit number\n';
	}
	else
	{ 
		Obj.value = sPhone;
	}
	
	for (var i=0;i<ary7NotAllowed.length;i++)
	{
		if (sPhone.toString() == ary7NotAllowed[i])
		{
			return sLabel + ' must be a valid phone number\n';
		}
	}
	return '';
}

function emailIsValid(Obj,sLabel) {
var s = Obj.value;
var i;
i = s.lastIndexOf('.');
if ( i < 0 ) 
	{
		return sLabel + ' must be a valid email address\n';
	}
else 
	{
		i = s.length - i - 1;
		if (i < 2 | i > 3) 
			{
				return sLabel + ' must be a valid email address\n';
			}
	}
i = s.indexOf('@');
if ( i < 0 ) 
	{
		return sLabel + ' must be a valid email address\n';
	}
return '';
}



