//<SCRIPT>

//*********************************************************
//Update By:	Jon Harrison
//Update Date:	10/3/2004
//Update Notes:	RMLS.COM 99.  Added validation for addition 
//				of year built range fields.
//*********************************************************

function Validate()
{
	var bRet;
	var price1 = document.getElementById("PRICE1");
	var price2 = document.getElementById("PRICE2");
	var bedrooms1 = document.getElementById("BEDROOMS1");
	var bedrooms2 = document.getElementById("BEDROOMS2");
	var bathrooms1 = document.getElementById("BATHROOMS1");
	var bathrooms2 = document.getElementById("BATHROOMS2");
	var zip1 = document.getElementById("ZIP1");
	var zip2 = document.getElementById("ZIP2");
	var zip3 = document.getElementById("ZIP3");
	var zip4 = document.getElementById("ZIP4");
	var sqft1 = document.getElementById("SQFT1");
	var sqft2 = document.getElementById("SQFT2");
	var acres1 = document.getElementById("ACRES1");
	var acres2 = document.getElementById("ACRES2");
	//begin change: Jon Harrison 10/3/2004 RMLS.COM 99
	var year_built1 = document.getElementById("YEAR_BUILT1");
	var year_built2 = document.getElementById("YEAR_BUILT2");
	//end change: Jon Harrison 10/3/2004 RMLS.COM 99
	
	// verify required fields
	if (price1.value == "" && price2.value == "")
		return warnInvalid(price1, "Price is a required field");
	
	// verify acres fields
	if (ValidateAcres(acres1) == false)
		return warnInvalid(acres1, "Acres must be in the format:   #####.##");
	if (ValidateAcres(acres2) == false)
		return warnInvalid(acres2, "Acres must be in the format:   #####.##");
		
	// validate numerics
	bRet = checkNumeric(price1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(price2, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(bedrooms1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(bedrooms2, 1, 1);
	if (bRet == false)
		return false;	
	bRet = checkNumeric(bathrooms1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(bathrooms2, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(zip1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(zip2, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(zip3, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(zip4, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(sqft1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(sqft2, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(acres1, 2, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(acres2, 2, 1);
	if (bRet == false)
		return false;
	//begin change: Jon Harrison 10/3/2004 RMLS.COM 99
	bRet = checkNumeric(year_built1, 1, 1);
	if (bRet == false)
		return false;
	bRet = checkNumeric(year_built2, 1, 1);
	if (bRet == false)
		return false;
	//end change: Jon Harrison 10/3/2004 RMLS.COM 99
			
	// validate ranges
	bRet = checkRange(price1, price2, 1);
	if (bRet == false)
		return false;
	bRet = checkRange(bedrooms1, bedrooms2, 1);
	if (bRet == false)
		return false;
	bRet = checkRange(bathrooms1, bathrooms2, 1);
	if (bRet == false)
		return false;
	bRet = checkRange(sqft1, sqft2, 1);
	if (bRet == false)
		return false;
	bRet = checkRange(acres1, acres2, 1);
	if (bRet == false)
		return false;
	//begin change: Jon Harrison 10/3/2004 RMLS.COM 99
	bRet = checkRange(year_built1, year_built2, 1);
	if (bRet == false)
		return false;
		
	//validate year format
	bRet = checkYear(year_built1);
	if (bRet == false)
		return false;
	bRet = checkYear(year_built2);
	if (bRet == false)
		return false;
	//end change: Jon Harrison 10/3/2004 RMLS.COM 99

	// if we got this far, we were successful
	return true;
}


function ValidateAcres(acresControl)
{
	var aV = acresControl.value.split(".");
	var iVI,iVD;
	if (aV.length==2)
	{
		iVI = aV[0].length;
		iVD = aV[1].length;
	}
	else
	{
		iVI = aV[0].length;
		iVD = 0;					
	}
	if ((iVI > 5) || (iVD > 2))
	{
		return false;
	}
	return true;
}
