window.onload=Loaded;

function Loaded() {
  InputHelperLoad();
  TotalPrice();
  
  $$('table.bookingform select').each(function(elem) {
    if (elem.name.match(/^guest_type/))
      NonMember(elem);
  });
}

function TotalPrice(numguests) {

  var price_Member=ById('price_Member').value;
  var price_CorporateMember=ById('price_CorporateMember').value;
  var price_NonMember=ById('price_NonMember').value;
  var price_Table3=ById('price_Table3').value;
  var price_Table10=ById('price_Table10').value;
  var price_Ticket=ById('price_Ticket').value;

  var total=0;

  var num_Member=0;
  var num_CorporateMember=0;
  var num_NonMember=0;
  var num_Table3=0;
  var num_Table10=0;
  var num_Ticket=0;

  for (i=0; i<numguests; i++) {
    GuestFirstName=eval("document.bookings.guest_firstname"+i+".value");
    if (GuestFirstName=='First Name' || GuestFirstName==' ') GuestFirstName='';
    GuestSurname=eval("document.bookings.guest_surname"+i+".value");
    if (GuestSurname=='Surname' || GuestSurname==' ') GuestSurname='';
    GuestIdmember=eval("document.bookings.guest_idmember"+i+".value");
    if (GuestIdmember=='Member ID' || GuestIdmember==' ') GuestIdmember='';

    GuestType=eval("document.bookings.guest_type"+i+".options[document.bookings.guest_type"+i+".selectedIndex].value");
    if (GuestFirstName || GuestSurname || GuestIdmember) {
      if (GuestType=="Member")
        num_Member++;
      else if (GuestType=="Corporate Member")
        num_CorporateMember++;
      else if (GuestType=="Non-member")
        num_NonMember++;
      else if (GuestType=="One of a Corporate Member booking for 3")
        num_Table3++;
      else if (GuestType=="One of a Table of 10")
        num_Table10++;
      else if (GuestType=="Ticket")
        num_Ticket++;
      else
        alert("ERROR: Bad guest type");
    }
  }

  //- Table of 10:
    group_Table10=parseInt(num_Table10/10);   // Calculate # of groups of 10
    num_Member+=num_Table10%10;               // Any remaining are counted as Members
    total+=group_Table10*price_Table10;       // Add to total

  //- Table of 3:
    group_Table3=parseInt(num_Table3/3);      // Calculate # of groups of 3
    num_Member+=num_Table3%3;                 // Any remaining are counted as Members
    total+=group_Table3*price_Table3;         // Add to total

  //- Members & Non-members:
  total+=num_Member*price_Member + num_CorporateMember*price_CorporateMember + num_NonMember*price_NonMember + num_Ticket*price_Ticket;

  var nice_total=NicePrice(total);
  document.bookings.tickets.value=num_Member+num_CorporateMember+num_NonMember+(group_Table3*3)+(group_Table10*10)+num_Ticket;
  document.bookings.total.value=nice_total;
  document.bookings.card_total.value=nice_total;
  document.bookings.preapproved_total.value=nice_total;
}

function ShowChequeMsg() {
  alert('Your booking will not be secured until your cheque has cleared. Please post your cheque today.\n\nCheques cannot be accepted on the day of the event.');
}
