<!--
function displayErrMsg(errMsg){	alert(errMsg);	return false;}
function hasValue(obj, objType){
	switch (objType)
	{		case 'TEXT':			if (obj.value.length == 0) return false;
			break;		case 'SELECT':			if (obj[obj.selectedIndex].value == '') return false;			break;		case 'CHECK':
			if (!obj.checked) return false;			break;		case 'RADIO':			for (var i = 0; i < obj.length; i++)
			{				if (obj[i].checked) return true;
			}
			//if we made it here, no item selected
			return false;			break;
	}
	
	return true;}
function validNumeric(number)
{
	var GoodChars = "0123456789";
	for (i = 0; i <= number.value.length - 1 ; i++)
	{
		if (GoodChars.indexOf(number.value.charAt(i)) == -1)
			return false;
	}

	return true;
}

function validatePhone(phoneType, phone1, phone2, phone3, phoneRequired){	//if phone is required, make sure it's valued
	if (phoneRequired)	{
		if (!hasValue(phone1, 'TEXT') && !hasValue(phone2, 'TEXT') && !hasValue(phone3, 'TEXT'))
		{
			if (!displayErrMsg(phoneType + ' Phone Number is required.\r\nPlease re-enter.'))
			{
				phone1.focus();
				return false;
			}
		}
	}
	
	//if part is populated, all must be populated
	if (hasValue(phone1, 'TEXT') || hasValue(phone2, 'TEXT') || hasValue(phone3, 'TEXT'))
	{
		if (!hasValue(phone1, 'TEXT') || !hasValue(phone2, 'TEXT') || !hasValue(phone3, 'TEXT'))
		{
			if (!displayErrMsg(phoneType + ' Phone Number is incomplete.\r\nPlease re-enter.'))
			{
				phone1.focus();
				return false;
			}
		}
		else
		{			if (phone1.value.length != 3 || phone2.value.length != 3 || phone3.value.length != 4)			{				if (!displayErrMsg(phoneType + ' Phone Number is invalid.\r\nPlease re-enter.'))				{					phone1.focus();					return false;				}			}			else			{
				if (!validNumeric(phone1) || !validNumeric(phone2) || !validNumeric(phone3))
				{
					if (!displayErrMsg(phoneType + 'Phone Number is invalid.\r\nPlease re-enter.'))
					{
						phone1.focus();
						return false;
					}
				}			}
		}
	}
	
	return true;}function validateAddress(addrType, addrStreet, addrCity, addrState, addrZip, addrRequired)
{
	var stateValue;	var countryCode = 'US';
		if (addrRequired)	{		if (!hasValue(addrStreet, 'TEXT'))		{			if (!displayErrMsg(addrType + ' Address is required.\r\nPlease re-enter.'))			{				addrStreet.focus();				return false;			}		}		if (!hasValue(addrCity, 'TEXT'))		{			if (!displayErrMsg(addrType + ' City is required.\r\nPlease re-enter.'))			{				addrCity.focus();				return false;			}		}		if (!hasValue(addrState, 'SELECT'))		{			if (!displayErrMsg(addrType + ' State/Province is required.\r\nPlease re-enter.'))			{				addrState.focus();				return false;			}		}		else
		{
			stateValue = addrState[addrState.selectedIndex].value;
			countryCode = stateValue.substring(3,5);
		}
		if (!hasValue(addrZip, 'TEXT'))
		{
			if (!displayErrMsg(addrType + ' Zip/Postal Code is required.\r\nPlease re-enter.'))
			{
				addrZip.focus();
				return false;
			}
		}
	}	else	{		//if any part of address is valued, all must be valued		if (hasValue(addrStreet, 'TEXT') || hasValue(addrCity, 'TEXT') || hasValue(addrState, 'SELECT') || hasValue(addrZip, 'TEXT'))		{
			if (!hasValue(addrStreet, 'TEXT'))
			{
				if (!displayErrMsg(addrType + ' Address is incomplete.\r\nStreet is required.\r\nPlease re-enter.'))
				{
					addrStreet.focus();
					return false;
				}
			}
			if (!hasValue(addrCity, 'TEXT'))
			{
				if (!displayErrMsg(addrType + ' Address is incomplete.\r\nCity is required.\r\nPlease re-enter.'))
				{
					addrCity.focus();
					return false;
				}
			}
			if (!hasValue(addrState, 'SELECT'))
			{
				if (!displayErrMsg(addrType + ' Address is incomplete.\r\nState/Province is required.\r\nPlease re-enter.'))
				{
					addrState.focus();
					return false;
				}
			}
			else
			{
				stateValue = addrState[addrState.selectedIndex].value;
				countryCode = stateValue.substring(3,5);
			}
			if (!hasValue(addrZip, 'TEXT'))
			{
				if (!displayErrMsg(addrType + ' Address is incomplete.\r\nZip/Postal Code is required.\r\nPlease re-enter.'))
				{
					addrZip.focus();
					return false;
				}
			}		}	}
	
	//if country and zip are valued, validate zip based on country	if (hasValue(addrZip, 'TEXT') && countryCode > '')	{
		switch (countryCode)
		{			case 'US':				//zip must be 5 numeric digits				if (!validNumeric(addrZip) || addrZip.value.length != 5)				{					if (!displayErrMsg(addrType + ' Zip/Postal Code is invalid for selected country.\r\nPlease re-enter.'))					{						addrZip.focus();						return false;					}				}				break;			case 'CA':				//postal code must contain at least 6 characters				if (addrZip.value.length < 6)				{					if (!displayErrMsg(addrType + ' Zip/Postal Code is invalid for selected country.\r\nPlease re-enter.'))					{						addrZip.focus();						return false;					}				}				break;
		}	}	
	return true;
}
function validateEmail(emailAddr, emailRequired)
{	if (!hasValue(emailAddr, 'TEXT'))	{		if (emailRequired)		{			if (!displayErrMsg('Email Address is required.\r\nPlease re-enter.'))			{				emailAddr.focus();				return false;			}		}		else		{			return true;		}	}		var bValid = true;	var emailLen = emailAddr.value.length;	var atPos = emailAddr.value.indexOf('@');	var dotPos = emailAddr.value.indexOf('.');		if (emailLen < 5) bValid = false;	if (atPos < 1) bValid = false;	if (dotPos < atPos + 2 || dotPos == emailLen - 1) bValid = false;		if (!bValid)
	{
		if (!displayErrMsg('Email Address is invalid.\r\nPlease re-enter.'))
		{
			emailAddr.focus();
			return false;
		}
	}
		return true;
}//-->