function isempty(c) {
	var empty = /^\s*$/;
	return empty.test(c.value);
}

function isemail(c) {
	var email = /^[\w.+-]+@([\w-]+\.)+\w+$/;
	return email.test(c.value);
}

function validateProfile(form) {
	var r = true;
	var e = "Please complete all required fields.";

	if (isempty(form.first_name))
		r = false;
	if (isempty(form.last_name))
		r = false;
	if (isempty(form.address))
		r = false;
	if (isempty(form.city))
		r = false;
	if (isempty(form.state))
		r = false;
	if (isempty(form.zip_code))
		r = false;

	var zip = /^\d{5}(-\d{4})?$/;
	if (!zip.test(form.zip_code.value)) {
		r = false;
		e = "Please enter a valid ZIP code.";
	}

	if (form.email.value != form.confirm_email.value) {
		r = false;
		e = "Your e-mail and confirmation e-mail must match.";
	}

	if (typeof(oldemail) == "undefined")
		oldemail = "";

	if ((oldemail != "" && form.email.value == "") ||
	    (form.email.value != "" && !isemail(form.email))) {
		r = false;
		e = "Please enter a valid email address.";
	}

	if (!r)
		alert(e);
	return r;
}

function validateSignup(form) {
	var r = true;
	var e = "Please complete all required fields.";

	if (!validateProfile(form))
		return false;
	if (isempty(form.email))
		r = false;
	if (isempty(form.confirm_email))
		r = false;

	if (isempty(form.password))
		r = false;
	if (isempty(form.confirm_password))
		r = false;

	if (form.password.value != form.confirm_password.value) {
		r = false;
		e = "Your password and confirmation password must match.";
	}

	if (!r)
		alert(e);
	return r;
}

function validatePasswd(form) {
	var r = true;
	var e = "Please complete all fields.";

	if (isempty(form.new_password))
		r = false;

	if (form.new_password.value != form.confirm_password.value) {
		r = false;
		e = "Both new passwords must match.";
	}

	if (!r)
		alert(e);
	return r;
}
