// JavaScript Document
function validateFields(frm)
{
  var elements = frm.elements;
  var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
  var integerPattern = /(^-?\d\d*$)/;
  var currencyPattern = /-?[0-9]+\.[0-9]{2}$/;
  for (var i = 0; i < elements.length; i++)
  {
    if (/(^| )checkRequired( |$)/.test(elements[i].className) && elements[i].value == "")
    {
      elements[i].focus();
      alert("Please fill out this field.");
      return false;
    }
    
    if (/(^| )checkOther( |$)/.test(elements[i].className) && elements[i].value == "Other")
    {
      if (elements['other'].value == ""){
        elements['other'].focus();
        alert("Please enter a value in the 'If other please state' field.");
        return false;
      }
    }

    if (/(^| )checkEmail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value))
    {
      elements[i].focus();
      alert("Please fill in a valid e-mail address.");
      return false;
    }
    
    if (/(^| )checkInteger( |$)/.test(elements[i].className) && !integerPattern.test(elements[i].value))
    {
      elements[i].focus();
      alert("Please enter a whole number value in this field.");
      return false;
    }
    
    if (/(^| )checkCurrency( |$)/.test(elements[i].className) && !currencyPattern.test(elements[i].value))
    {
      elements[i].focus();
      alert("Please enter a currency value eg 2.99.");
      return false;
    }
  }

  return true;
}
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
function checkGuestDetails(){
  //assume it will succeed
  var rtn = true;
  var frm = document.forms['book_lunch'];
  var ctl = '';
  var msg = '';
  if (frm.firstname.value == ''){
    msg = msg+"\nFirstname";
    if (!ctl){
      ctl = frm.firstname;
    }
    rtn = false;
  }
  if (frm.surname.value == ''){
    msg = msg+"\nSurname";
    if (!ctl){
      ctl = frm.surname;
    }
    rtn = false;
  }
  if (frm.email.value == ''){
    msg = msg+"\nEmail";
    ctl = frm.email;
    rtn = false;
  }
  if (frm.job_title.value == ''){
    msg = msg+"\nJob Title";
    if (!ctl){
      ctl = frm.job_title;
    }
    rtn = false;
  }
  if (frm.companyname.value == ''){
    msg = msg+"\nCompany";
    if (!ctl){
      ctl = frm.companyname;
    }
    rtn = false;
  }
  if (frm.address1.value == ''){
    msg = msg+"\nAddress Line 1";
    if (!ctl){
      ctl = frm.address1;
    }
    rtn = false;
  }
  if (frm.postcode.value == ''){
    msg = msg+"\nPostcode";
    if (!ctl){
      ctl = frm.postcode;
    }
    rtn = false;
  }
  if (frm.category.value == ''){
    msg = msg+"\nBusiness Category";
    if (!ctl){
      ctl = frm.category;
    }
    rtn = false;
  }
  if (frm.phone.value == ''){
    msg = msg+"\nContact Number";
    if (!ctl){
      ctl = frm.phone;
    }
    rtn = false;
  }
  if (!rtn){
    alert("Please fill in the following field(s):\n"+msg);
    if (ctl != ''){
      ctl.focus();
    }
    return false;
  } else {
    return true;
  }
}
function checkColleagueDetails(){
  //assume it will succeed
  var rtn = true;
  var frm = document.forms['book_lunch'];
  var ctl = '';
  var msg = '';
  if (frm.email.value == ''){
    msg = "Email";
    ctl = frm.email;
    rtn = false;
  }
  if (frm.job_title.value == ''){
    msg = msg+"\nJob Title";
    if (!ctl){
      ctl = frm.job_title;
    }
    rtn = false;
  }
  if (frm.firstname.value == ''){
    msg = msg+"\nFirstname";
    if (!ctl){
      ctl = frm.firstname;
    }
    rtn = false;
  }
  if (frm.surname.value == ''){
    msg = msg+"\nSurname";
    if (!ctl){
      ctl = frm.surname;
    }
    rtn = false;
  }
  if (!rtn){
    alert("Please fill in the following field(s):\n"+msg);
    if (ctl != ''){
      ctl.focus();
    }
    return false;
  } else {
    return true;
  }
}
function checkMemberBooking(){
  //assume it will succeed
  var rtn = false;
  var frm = document.forms['book_lunch'];
  var ctl = '';
  var msg = '';
  ctl = document.forms['book_lunch'].lunches;
  var ary = ctl.value.split(",");
  for (i = 0; i < ary.length; i++){
    if (ary[i] != ""){
      ctl = document.forms['book_lunch'].elements["attendees"+ary[i]+"[]"];
      for (j = 0; j < ctl.length; j++){
        if (ctl[j].checked){
          rtn = true;
        }
      }
    }
  }
  alert(rtn);
  return false;
}
function checkNewMemberDetails(){
  //assume it will succeed
  var rtn = true;
  var frm = document.forms['signup'];
  var ctl = '';
  var msg = '';
  if (frm.email.value == ''){
    msg = "Email";
    ctl = frm.email;
    rtn = false;
  }
  if (frm.company.value == ''){
    msg = msg+"\nCompany";
    if (!ctl){
      ctl = frm.company;
    }
    rtn = false;
  }
  if (frm.category.selectedIndex == 0){
    msg = msg+"\nBusiness Category";
    if (!ctl){
      ctl = frm.category;
    }
    rtn = false;
  }
  if (frm.job_title.value == ''){
    msg = msg+"\nPosition";
    if (!ctl){
      ctl = frm.job_title;
    }
    rtn = false;
  }
  if (frm.firstname.value == ''){
    msg = msg+"\nFirstname";
    if (!ctl){
      ctl = frm.firstname;
    }
    rtn = false;
  }
  if (frm.surname.value == ''){
    msg = msg+"\nSurname";
    if (!ctl){
      ctl = frm.surname;
    }
    rtn = false;
  }
  if (frm.address1.value == ''){
    msg = msg+"\nAddress Line 1";
    if (!ctl){
      ctl = frm.address1;
    }
    rtn = false;
  }
  if (frm.town.value == ''){
    msg = msg+"\nTown";
    if (!ctl){
      ctl = frm.town;
    }
    rtn = false;
  }
  if (frm.postcode.value == ''){
    msg = msg+"\nPostcode";
    if (!ctl){
      ctl = frm.postcode;
    }
    rtn = false;
  }
  if (frm.phone.value == ''){
    msg = msg+"\nPhone";
    if (!ctl){
      ctl = frm.phone;
    }
    rtn = false;
  }
  if (frm.bns_area.selectedIndex == 0){
    msg = msg+"\nBNS Region";
    if (!ctl){
      ctl = frm.bns_area;
    }
    rtn = false;
  }
  if (frm.method.selectedIndex == 0){
    msg = msg+"\nPayment Method";
    if (!ctl){
      ctl = frm.method;
    }
    rtn = false;
  }
  if (!rtn){
    alert("Please fill in the following field(s):\n"+msg);
    if (ctl != ''){
      ctl.focus();
    }
    return false;
  } else {
    return true;
  }
}

