/*******************************************************************************
 * Project: Freshfields Reservations
 * Description: Bookings page.
 * Author: $Author: broadt $
 * Last updated: $Date: 2007/03/04 19:25:24 $
 * Revision: $Revision: 1.2 $
 *
 * $Log: booking.js,v $
 * Revision 1.2  2007/03/04 19:25:24  broadt
 * Committed with changes for admin to edit customer details
 *
 * Revision 1.1.1.1  2006/11/08 00:13:17  broadt
 * Initial import
 *
 ******************************************************************************/

var fields = new Array('fullname', 'email', 'address', 'county', 'country', 'postcode', 'phone');

function checkError(form, id, message)
{
	if (form[id].value == "") {
		addErrorText(id, message);
		return true;
	} else {
		return false;
	}
}

function validateForm()
{
	errors = 0;
	resetErrors();

	var form = this.document.getElementById("booking");
	var email = new RegExp('^.*@.*\\..*$');
	var fullname = new RegExp('\\s+');

	if (form.fullname.value == "" || !fullname.test(form.fullname.value)) {
		addErrorText("fullname", "Please enter your full name.");
		errors++;
	}

	if (form.email.value == "" || !email.test(form.email.value)) {
		addErrorText("email", "Please enter a valid email address (e.g. joe@mydomain.com).");
		errors++;
	}

	if (checkError(form, "address", "Please enter your postal address."))
		errors++;

	if (checkError(form, "county", "Please enter your county."))
		errors++;

	if (checkError(form, "postcode", "Please enter your postcode."))
		errors++;

	if (checkError(form, "phone", "Please enter your contact telephone number."))
		errors++;

	if (errors > 0) {
		alert("There is a problem with your booking form. Please review the form and correct the highlighted fields.");
		return false;
	}

	return true;
}

function validateFormForAdministrator()
{
	errors = 0;
	resetErrors();

	var form = this.document.getElementById("booking");
	var email = new RegExp('^.*@.*\\..*$');
	var fullname = new RegExp('\\s+');

	if (form.fullname.value == "" || !fullname.test(form.fullname.value)) {
		addErrorText("fullname", "Please enter the customer's full name.");
		errors++;
	}

	if (form.email.value != "" && !email.test(form.email.value)) {
		addErrorText("email", "Please enter a valid email address (e.g. joe@mydomain.com).");
		errors++;
	}

	if (errors > 0) {
		alert("There is a problem with your booking form. Please review the form and correct the highlighted fields.");
		return false;
	}

	return true;
}

function addErrorText(id, text)
{
	/* first set error text */
	tag = this.document.getElementById(id + "_error");
	if (tag == null) return;
	tag.innerHTML = text;

	/* now set style */
	tag = this.document.getElementById(id);
	if (tag == null) return;
	tag.className = "error"; /* will have to change this for IE I think */
}

function resetErrors()
{
	for (var i = 0; i < fields.length; i++) {
		/* first set error text */
		tag = this.document.getElementById(fields[i] + "_error");
		if (tag == null) return;
		tag.innerHTML = "";

		/* now set style */
		tag = this.document.getElementById(fields[i]);
		if (tag == null) return;
		tag.className = ""; /* will have to change this for IE I think */
	}
}

function submitForm(month, year, day)
{
  	this.document.getElementById("month").value = month;
  	this.document.getElementById("year").value = year;
	this.document.getElementById("day").value = day;
	this.document.forms['calendar'].submit();
}

