// JavaScript Document
var phone_val_str = "Please enter your phone number";
var email_val_str = "Please enter your email address";
var address_val_str = "Please enter your postal address";
var value_val_str = "Please enter the value of the voucher you require";
var name_val_str = "Please enter your name" ;
var num_ppl_val_str = "Please enter the number of people you would like to book for" ;
var date_val_str = "Please enter the date and time that you would like to book the table for" ;
var menu_val_str = "Please choose the menu you would like to pre-order" ;
var seat_val_str = "Please enter your seat number & location" ;



function validate_voucher_form(thisform){
var bError = false;
	with (thisform){
		bError = setValResultRequired(Value_of_Voucher,"value_val",value_val_str) || bError;
		bError = setValResultRequired(Postal_Address,"address_val",address_val_str) || bError;
		bError = setValResultRequired(Phone_Number,"phone_val",phone_val_str) || bError;
		bError = setValResultRequired(realname,"name_val",name_val_str) || bError;
	}
	if (bError)
		alert("You are missing some required information in the form.\n\nClick on the exclamation mark beside the error field to display more information. Please correct your input before placing the order.");

	return !bError;
}

function validate_reservation_form(thisform){
var bError = false;
	with (thisform){
		bError = setValResultRequired(Number_of_People,"num_ppl_val",num_ppl_val_str) || bError;
		bError = setValResultRequired(Date_and_Time,"date_val",date_val_str) || bError;
		bError = setValResultRequired(Phone_Number,"phone_val",phone_val_str) || bError;
		bError = setValResultRequired(realname,"name_val",name_val_str) || bError;
	}
	if (bError)
		alert("You are missing some required information in the form.\n\nClick on the exclamation mark beside the error field to display more information. Please correct your input before placing the order.");

	return !bError;
}

function validate_preorder_form(thisform){
var bError = false;
	with (thisform){
		bError = setValResultRequired(Seat_Location,"seat_val",seat_val_str) || bError;
		bError = setValResultRequired(Menu_Selection,"menu_val",menu_val_str) || bError;
		bError = setValResultRequired(Phone_Number,"phone_val",phone_val_str) || bError;
		bError = setValResultRequired(realname,"name_val",name_val_str) || bError;
	}
	if (bError)
		alert("You are missing some required information in the form.\n\nClick on the exclamation mark beside the error field to display more information. Please correct your input before placing the order.");

	return !bError;
}


function errorstr(errorfield){
	switch (errorfield){
	case "phone_val":
		return phone_val_str;
		break;
	case "email_val":
		return email_val_str;
		break;
	case "name_val":
		return name_val_str;
		break;
	case "value_val":
		return value_val_str;
		break;
	case "address_val":
		return address_val_str;
		break;
	case "num_ppl_val":
		return num_ppl_val_str;
		break;
	case "date_val":
		return date_val_str;
		break;
	default : 
		return "error!";
	}
}


function trim(str){
  return str.replace(/^\s+|\s+$/g, '');
}

function alerterror(msg, fieldname){
	alert(msg);
	var elem = document.getElementById(fieldname);
	elem.focus();
}

function valRequired(valfield, infofield){
  return setValResultRequired (valfield, infofield, "");
}

function setValResultRequired(field, infofield, errormsg){
	return showError(isEmpty(field), field, infofield, errormsg);
}

function showError(bError, field, infofield, errormsg){
	var infoelem = document.getElementById(infofield);
	var fieldelem = document.getElementById(field);

	if (bError){
		if (errormsg=="")
			errormsg=errorstr(infofield);
		if(infoelem.innerHTML == "&nbsp;"){
			infoelem.innerHTML = seterrorlink(errormsg,field);  
		}
	}
	else
		infoelem.innerHTML = "&nbsp;";  
	return bError;

}

function checkEitherRequired(valfield, valfield2, infofield, infofield2){
	var bError=false;

  if (!document.getElementById) return true;  // not available on this browser
  if (isEmpty(valfield)){
  	bError = isEmpty(valfield2);
  }
  showError (bError, valfield, infofield, "");  
  showError (bError, valfield2, infofield2, "");  
  return bError;
}

function isEmpty(field){
	if (field.value==null||trim(field.value)=="")
		return true;
	else 
		return false;
}

function seterrorlink(message, field){
	return "<a href='javascript:alerterror(\""+message+"\", \""+field.name+"\");'><img src='images/error.png' width='12' height='14' border='0' hspace='3' align='texttop'/></a>";  
}


