function checkSignInForm(form) {
	if (!validateEmail(form.email)) {
		return false;
	}
	if (form.status[1].checked) {	// status = existing
		if (!validateReference(form.reference)) {
			return false;
		}
		if (!validateNotEmpty(form.password,
			"Please enter a password")) {
			return false;
		}
	}
	return true;
}

function checkSubmitForm(form) {
	if (!validateNotEmpty(form.title, 
		"Please enter a title for your submission")) {
		return false;
	}
	if (!validateNotEmpty(form.authors, "Please enter at least one author")) {
		return false;
	}
	if (!validateNotEmpty(form.contact_name, "Please enter a contact name")) {
		return false;
	}
	if (!validateEmail(form.contact_email)) {
		return false;
	}
	if (!validateNotEmpty(form.abstract, "Please enter an abstract for your submission")) {
		return false;
	}
	if (!validateNotEmpty(form.tags, "Please enter at least one tag")) {
		return false;
	}
	if (!validateNotEmpty(form.paper, "Please select a file to upload")) {
		return false;
	}
	if (!validateFileExtension(form.paper)) {
		return false;
	}
	if (form.reason && 
		!validateNotEmpty(form.reason, "Please enter a reason for your update")) {
		return false;
	}
}

function validateEmail(field) {
	if (!field.value.match(/.+@.+/)) {
	 	warning("Please enter a valid email address", field);
	 	return false;
	}
	return true;
}

function validateReference(field) {
	if (!/\d+/.test(field.value)) {
		warning("Please enter a valid reference", field);
		return false;
	}
	return true;
}

function validateNotEmpty(field, message) {
	if (field.value == "") {
		warning(message, field);
		return false;
	}
	return true;
}

function validateFileExtension(field) {
	if (/\.pdf$/.test(field.value)) {
		return true;
	}
	if (/\.doc$/.test(field.value)) {
		return true;
	}
	warning("You can only submit a PDF or Word document", field);
	return false;
}

function warning(message, field) {
	alert(message);
	field.focus();
	field.select();
}

