function checkAddressFields(PhoneNumberRequired) {

	/*  Process billing address */
	var msg = '';
	var StateLabel = 'State';
	var PostalCodeLabel = 'Zip Code';
	var PostCodeTemplate = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	var PostCodeFormatMessage = '\n Zip code format must be "12345" or "12345-6789"';

	if (getField('Country')=='CA') {
			StateLabel = 'Province or Territory';
			PostalCodeLabel = 'Postal Code';
			PostCodeTemplate = /([A-Za-z]\d[A-Za-z]( |-)\d[A-Za-z]\d$)/;
			PostCodeFormatMessage = '\n Postal code format must be "A1A 1A1"';
	}

	if (getField('Country')=='AU') {
			StateLabel = 'State or Territory';
			PostalCodeLabel = 'Post Code';
			PostCodeTemplate = /(^\d{4}$)/;
			PostCodeFormatMessage = '\n Postal code format must be "1234"';
	}


	if (getField('FirstName')=='') {msg += ', First Name';}
	if (getField('LastName')=='') {msg += ', Last Name';}
	if (getField('Address1')=='') {msg += ', Street Address';}
	if (getField('City')=='') {msg += ', City';}
	if (getField('StateName')=='XX') {msg += ', ' + StateLabel;}
	if (getField('PostalCode')=='') {msg += ', ' + PostalCodeLabel;}
	if (isValidEmail(getField('email'))==false) {msg += ', valid e-mail address';}

	if (getField('PostalCode')!='') {if (!PostCodeTemplate.test(getField('PostalCode'))) {msg += PostCodeFormatMessage;}}	

	/*  Process shipping address */

	var shipMsg = '';
	if (MM_findObj('ShippingAddressSame').checked!=true) {

		/*  Shipping address different, check its fields, too.	*/
		StateLabel = 'State';
		PostalCodeLabel = 'Zip Code';
		var PostCodeTemplate = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
		var PostCodeFormatMessage = '\nZip code format must be "12345" or "12345-6789"';
	
		if (getField('ShipCountry')=='CA') {
				StateLabel = 'Province or Territory';
				PostalCodeLabel = 'Postal Code';
				PostCodeTemplate = /([A-Za-z]\d[A-Za-z]( |-)\d[A-Za-z]\d$)/;
				PostCodeFormatMessage = '\nPostal code format must be "A1A 1A1"';
		}
	
		if (getField('ShipCountry')=='AU') {
				StateLabel = 'State or Territory';
				PostalCodeLabel = 'Post Code';
				PostCodeTemplate = /(^\d{4}$)/;
				PostCodeFormatMessage = '\nPostal code format must be "1234"';
		}

		if (getField('ShipFirstName')=='') {shipMsg += ', First Name';}
		if (getField('ShipLastName')=='') {shipMsg += ', Last Name';}
		if (getField('ShipAddress1')=='') {shipMsg += ', Street Address';}
		if (getField('ShipCity')=='') {shipMsg += ', City';}
		if (getField('ShipStateName')=='XX') {shipMsg += ', ' + StateLabel;}
		if (getField('ShipPostalCode')=='') {shipMsg += ', ' + PostalCodeLabel;}
		if (getField('Shipemail')!='') {
			if (isValidEmail(getField('Shipemail'))==false) {shipMsg += ', valid e-mail address';}
		if (getField('ShipPostalCode')!='') {if (!PostCodeTemplate.test(getField('ShipPostalCode'))) {msg += PostCodeFormatMessage;}}	
		}			
	}

	if (msg!=''||shipMsg!='') {
		var newMsg = 'Please check your addressing details:\n';
		if (msg!='') {newMsg += 'This billing information is missing:  ' + msg.substring(2) + '.\n';}
		if (shipMsg!='') {newMsg += 'This shipping information is missing:  ' + shipMsg.substring(2) + '.\n';}
		alert(newMsg);
		return false;	// abort
	}
	
	if (getField('SLQuantity')=='0') {
		var newMsg = 'Please select at least one Smooooth Legs set.'
		alert(newMsg);
		return false;
	}
	
	//	OK to continue
	return true;
	
}
	
function isValidEmail(src) {
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
}
	
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
	