function validateForm()
{
	var valid = false;
	dvE = getElement("divErrors");
	dvE.innerHTML = "";
	
	valid = validateDate();
	valid = validateTime() && valid;
	valid = validateNumberInParty() && valid;
	valid = validateName() && valid;
	valid = validateEmail() && valid;
	
	if (!valid)
	    dvE.style.display = "block";
	else
	    dvE.style.display = "none";
    
	return valid;
}
			
function cancelForm()
{
	dvE = getElement("divErrors");
	dvE.innerHTML = "";
	dvE.style.display = "none";
	
	el = getElement("txtName");
	el.className = "clsNormal";
	el = getElement("txtDate");
	el.className = "clsNormal";
	el = getElement("txtArrival");
	el.className = "clsNormal";
	el = getElement("txtNumberInParty");
	el.className = "clsNormal";
	el = getElement("txtContactEmail");
	el.className = "clsNormal";

	return true;
}
			    

function validateName()
{
	el = getElement("txtName");
	if (el.value.length == 0)
	{	
		setErrorEl(el, "Please enter your name");
		return false;
	}

	if (el.value.length < 5)
	{
		setErrorEl(el, "Please enter your full name");
		return false;
	}
                
      		el.className = "clsNormal";
		return true;
}

function validateDate()
{
	el = getElement("txtDate");
	if (el.value.length == 0)
	{
		setErrorEl(el, "Please enter the date of the party");
		return false;
	}

	if (Date.parse(el.value) == 0)
	{
		setErrorEl(el, "Please enter a valid date");
		return false;
	}

	var myDate = new Date();
	myDate.setDate(myDate.getDate()+1);
	var bookDate = new Date();
	bookDate.setFullYear(el.value.substring(6, 10), el.value.substring(3, 5) - 1, el.value.substring(0, 2));

	if (bookDate < myDate)
	{
		setErrorEl(el, "The party date must be later than today's date");
		return false;
	}

	el.className = "clsNormal";
	return true;
}

function validateTime()
{
	el = getElement("txtArrival");
	if (el.value.length == 0)
	{
		setErrorEl(el, "Please select your arrival time");
		return false;
	}

	el.className = "clsNormal";
	return true;
}

function validateNumberInParty()
{
	el = getElement("txtNumberInParty");
	if (el.value.length == 0)
	{
		setErrorEl(el, "Please enter the number of people in your party");
		return false;
	}

	el.className = "clsNormal";
	return true;
}

function validateEmail()
{
	el = getElement("txtContactEmail");
	if (el.value.length == 0)
	{
		setErrorEl(el, "Please enter your email address (required for booking confirmation)");
		return false;
	}
	re_email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (! re_email.test(el.value))
	{
		setErrorEl(el, "Please enter a valid email address");
		return false;
	}

	el.className = "clsNormal";
	return true;
}


function setErrorEl(elm, msgText)
{
	elm.className = "clsError";
	var msgP = document.createElement("p");
	msgP.innerHTML = msgText;
	dvE.appendChild(msgP);
	dvE.style.display = "block";
	return;
}	

				
function getElement(id)
{
	if (document.getElementById)
		return document.getElementById(id);
	else if (document.all)
		return document.all[id];
}

