function validateForm(form) {
	// Login Info
	if (form.EMAIL.value == '') {
		alert("Please enter email address.");
		form.EMAIL.focus();
		return false;
	} else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.EMAIL.value)) {
		} else {
			alert("Invalid e-mail address! Please re-enter.")
			form.EMAIL.focus();
			return false;
		}
	}
	if (form.PASSWORD.value == '') {
		alert("Please enter password.");
		form.PASSWORD.focus();
		return false;
	}
	if (form.PASSWORD2.value == '') {
		alert("Please enter verify password.");
		form.PASSWORD2.focus();
		return false;
	} 
	if (form.PASSWORD.value != form.PASSWORD2.value) {
		alert("The password and its confirmation don't match. Please re-enter.");
		form.PASSWORD.select();
		form.PASSWORD.focus();
		return false;
	}
	
	// Billing Info
	if (form.FIRSTNAME.value == '') {
		alert("Please enter billing first name.");
		form.FIRSTNAME.focus();
		return false;
	}
	if (form.LASTNAME.value == '') {
		alert("Please enter billing last name.");
		form.LASTNAME.focus();
		return false;
	}
	if (form.ADDRESS1.value == '') {
		alert("Please enter billing address.");
		form.ADDRESS1.focus();
		return false;
	}
	if (form.CITY.value == '') {
		alert("Please enter billing city.");
		form.CITY.focus();
		return false;
	}
	if (form.STATE.value == '') {
		alert("Please enter billing state.");
		form.STATE.focus();
		return false;
	}
	if (form.ZIP.value == '') {
		alert("Please enter billing zipcode.");
		form.ZIP.focus();
		return false;
	}
	if (form.BESTTIMECON.value == '') {
		alert("Please enter best contact method and time.");
		form.BESTTIMECON.focus();
		return false;
	}
	
	// Shipping Info
	if (form.SHIPFIRSTNAME.value == '') {
		alert("Please enter shipping first name.");
		form.SHIPFIRSTNAME.focus();
		return false;
	}
	if (form.SHIPLASTNAME.value == '') {
		alert("Please enter shipping last name.");
		form.SHIPLASTNAME.focus();
		return false;
	}
	if (form.SHIPADDRESS1.value == '') {
		alert("Please enter shipping address.");
		form.SHIPADDRESS1.focus();
		return false;
	}
	if (form.SHIPCITY.value == '') {
		alert("Please enter shipping city.");
		form.SHIPCITY.focus();
		return false;
	}
	if (form.SHIPSTATE.value == '') {
		alert("Please enter shipping state.");
		form.SHIPSTATE.focus();
		return false;
	}
	if (form.SHIPZIP.value == '') {
		alert("Please enter shipping zipcode.");
		form.SHIPZIP.focus();
		return false;
	}
	
	// Payment Info
	if (form.CARDNUM.value == '') {
		alert("Please enter card number.");
		form.CARDNUM.focus();
		return false;
	}
	if (form.CW.value == '') {
		alert("Please enter card CW number.");
		form.CW.focus();
		return false;
	}
	if (form.EXP_MONTH.value == '') {
		alert("Please select expire month.");
		form.EXP_MONTH.focus();
		return false;
	}
	if (form.EXP_YEAR.value == '') {
		alert("Please select expire year.");
		form.EXP_YEAR.focus();
		return false;
	}
	// Expiration Date
	var now = new Date();
	var month = now.getMonth() + 1;
	var year = now.getYear();
	if (month < 10) month = "0" + month;
	if (year < 1000) year += 1900;
	var curr_date = year + "/" + month;
	var exp_date = form.EXP_YEAR.value + "/" + form.EXP_MONTH.value;
	if (curr_date > exp_date) {
		alert("Credit card is expired!");
		form.EXP_MONTH.focus();
		return false;
	}
	if (form.INTCPHNUM.value == '') {
		alert("Please enter credit card bank phone number.");
		form.INTCPHNUM.focus();
		return false;
	}
}
function copyBill2Ship(form, obj) {
	if (obj.checked) {
		form.SHIPFIRSTNAME.value = form.FIRSTNAME.value;
		form.SHIPLASTNAME.value = form.LASTNAME.value;
		form.SHIPADDRESS1.value = form.ADDRESS1.value;
		form.SHIPADDRESS2.value = form.ADDRESS2.value;
		form.SHIPCITY.value = form.CITY.value;
		form.SHIPSTATE.value = form.STATE.value;
		form.SHIPZIP.value = form.ZIP.value;
		form.SHIPCOUNTRY.value = form.COUNTRY.value;
	}
}