function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


function validateCAPostCode(entry){
	var objRegExp = /^\s*[a-ceghj-npr-tvxy]\d[a-z](\s)?\d[a-z]\d\s*$/i;
	return objRegExp.test(entry);		
}

function validateUSZip( strValue ) {
	var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
  	return objRegExp.test(strValue);
}


function validateForm(form) 
{
	
	if (trimAll(form.firstName.value) == "") {
		alert("Please enter your First Name.");
		form.firstName.focus();
		return false;
	}

	if (trimAll(form.lastName.value) == "") {
		alert("Please enter your Last Name.");
		form.lastName.focus();
		return false;
	}

	if (trimAll(form.address.value) == "") {
		alert("Please enter your Street Address");
		form.address.focus();
		return false;
	}

	if (trimAll(form.city.value) == "") {
		alert("Please enter your City.");
		form.city.focus();
		return false;
	}

	if (trimAll(form.state.value) == "") {
		alert("Please enter your State.");
		form.state.focus();
		return false;
	}

	if (trimAll(form.zipCode.value) == "") {
		alert("Please enter your Zip Code.");
		form.zipCode.focus();
		return false;
	}	

/*
	if(!validateUSZip(form.zipCode.value) && isPostalCode(form.zipCode.value)){
		alert("Please enter a valid zip/postal code");
		form.zipCode.focus();
		return false;
	}
*/
	if(!validateUSZip(form.zipCode.value) && !validateCAPostCode(form.zipCode.value)){
		alert("Please enter a valid zip/postal code");
		form.zipCode.focus();
		return false;
	}		
	myOption = -1;
	for (i=form.mediaCode.length-1; i > -1; i--) {
	if (form.mediaCode[i].checked) {
		myOption = i;
	}
	}
	if (myOption == -1) {
		alert("Please answer how did you find out about this subscription offer.");
		return false;
	}
	return true;
}

