// Application specific Javascript functions
  /*
  window.onload = initialisePage;
  function initialisePage()
  {
    var forms = document.getElementsByTagName("form");
    for (var i=0; i<forms.length; i++)
    {
      var form = forms[i];
      form.onsubmit = checkForm;

      var buttons = form.getElementsByTagName("input");
      for (var j=0; j<buttons.length; j++)
      {
        var button = buttons[j];
        if (button.type== "submit" || button.type == "image") {button.onclick = setButtonPressed;}
      }

    }
  }

  function setButtonPressed(e)
  { // Locate Form containing the button and set the buttonPressed value
    var b = getActivatedObject(e);
    var form = b.parentNode;         var fcount=0;
    while (form.tagName != "FORM" && fcount<50) {fcount++; form = form.parentNode;}
    form.buttonPressed.value = b.name;
  }
  */

  function checkForm(f)
  {
    //var f = getActivatedObject(e);
    //  alert ("Here in checkForm");
    //  alert ("Name=" + f.name);
    // alert ("bp=" + f.buttonPressed.value);

    /*   To test the chosen option in a Select statement:
              var opt=this.selectname.selectedIndex;
              var field=this.selectname.options[opt].text;
              (Can use value instead of text if the option statements have a value clause)

         To test the value of the selected radio button
              var radioLength = this.radioname.length;
              var radioValue = "";
              for (var i=0; i < radioLength; i++)
              {
                if (this.radioname[i].checked)
                {
                  radioValue = this.radioname[i].value;
                  break;
                }
              }
    */

    if (f.buttonPressed.value=="Cancel") {return true;}
    if (f.buttonPressed.value=="Delete")
    {
      if (confirm("Are you really sure you want to delete this record?"))
      {return true;}
      else {return false;}
    }

    var errMsg="";
    var confirmMessage ="";
    switch (f.name)
    {
      case "bookingForm":
        if (empty(f.bookingPassengerName.value))
        {
          if (errMsg=="") {f.bookingPassengerName.focus();}
          errMsg+="Please enter the Passenger Name\n";
        }

        if (empty(f.bookingNoInParty.value))
        {
          if (errMsg=="") {f.bookingNoInParty.focus();}
          errMsg+="Please enter the Number In Party\n";
        }
        else
        {
          if (!isNumeric(f.bookingNoInParty.value))
          {
            if (errMsg=="") {f.bookingNoInParty.focus();}
            errMsg+="The Number In Party must be numeric\n";
          }
        }

        if (!validateDate(f, "bookingDepartureDate", "Future"))
        {
          if (errMsg=="") {f.bookingDepartureDateDay.focus();}
          errMsg+="The Departure Date is not a valid future date\n";
        }

        if (empty(f.bookingAmountPaid.value))
        {
          if (errMsg=="") {f.bookingAmountPaid.focus();}
          errMsg+="Please enter the Agreed Payment Amount\n";
        }
        else
        {
          if (!isNumeric(f.bookingAmountPaid.value, 2))
          {
            if (errMsg=="") {f.bookingAmountPaid.focus();}
            errMsg+="The Agreed Payment Amount must be numeric, maximum 2 decimal places\n";
          }
        }

        if (f.admin.value == 2)
        {
          if (empty(f.bookingInvoiceNo.value))
          {
            if (errMsg=="") {f.bookingInvoiceNo.focus();}
            errMsg+="Please enter the Invoice Number\n";
          }

          if (!f.bookingConditions.checked)
          {
            if (errMsg=="") {f.bookingConditions.focus();}
            errMsg+="Please confirm you have read the Booking Conditions\n";
          }
        }

        /*
        if (empty(f.bookingCurrency.value))
        {
          if (errMsg=="") {f.bookingCurrency.focus();}
          errMsg+="Please enter the bookingCurrency\n";
        }


        if (empty(f.bookingField09.value))
        {
          if (errMsg=="") {f.bookingField09.focus();}
          errMsg+="Please enter the bookingField09\n";
        }

        if (empty(f.bookingField10.value))
        {
          if (errMsg=="") {f.bookingField10.focus();}
          errMsg+="Please enter the bookingField10\n";
        }
        */
      break;

     case "bookingconditionsForm":
        /*
        if (empty(f.bookingconditionsField03.value))
        {
          if (errMsg=="") {f.bookingconditionsField03.focus();}
          errMsg+="Please enter your bookingconditionsField03\n";
        }

        if (empty(f.bookingconditionsField04.value))
        {
          if (errMsg=="") {f.bookingconditionsField04.focus();}
          errMsg+="Please enter your bookingconditionsField04\n";
        }
        */
      break;

      case "brochureForm":
        /*
        if (empty(f.brochureDescription.value))
        {
          if (errMsg=="") {f.brochureDescription.focus();}
          errMsg+="Please enter your brochureDescription\n";
        }
        */
      break;

      case "contactForm":
        if (empty (f.contactName.value))
        {
           if (errMsg=="")  {f.contactName.focus();}
           errMsg+="Please enter your Name\n";
        }

        /*
        if (empty (f.contactCompany.value))
        {
           if (errMsg=="")  {f.contactCompany.focus();}
           errMsg+="Please enter your contactCompany Name\n";
        }


        // if (empty (f.contactAddress1.value) && empty (f.contactAddress2.value) && empty (f.contactAddress3.value))
        if (empty (f.contactAddress1.value))
        {
           if (errMsg=="")  {f.contactAddress1.focus();}
           errMsg+="Please enter your Address\n";
        }

        if (empty (f.contactPostcode.value))
        {
           if (errMsg=="")  {f.contactPostcode.focus();}
           errMsg+="Please enter your contactPostcode\n";
        }
        */
        if (empty (f.contactPhone.value) && empty (f.contactEmail.value))
        {
           if (errMsg=="")  {f.contactPhone.focus();}
           errMsg+="Please enter either your Telephone number or Email Address\n";
        }
        else
        {
          if (!empty (f.contactEmail.value) && !checkEmail (f.contactEmail.value))
          {
            if (errMsg=="")  {f.contactEmail.focus();}
            errMsg+="That Email address is not valid\n";
          }
        }
        /*
        if (empty (f.contactMessage.value))
        {
           if (errMsg=="")  {f.contactMessage.focus();}
           errMsg+="Please enter details of your Enquiry\n";
        }

        if (empty (f.contactCruiseDates.value))
        {
           if (errMsg=="")  {f.contactCruiseDates.focus();}
           errMsg+="Please enter your contactCruiseDates\n";
        }

        if (empty (f.contactNoInParty.value))
        {
           if (errMsg=="")  {f.contactNoInParty.focus();}
           errMsg+="Please enter your contactNoInParty\n";
        }

        if (empty (f.contactSource.value))
        {
           if (errMsg=="")  {f.contactSource.focus();}
           errMsg+="Please enter your contactSource\n";
        }

        if (empty (f.contactSpare05.value))
        {
           if (errMsg=="")  {f.contactSpare05.focus();}
           errMsg+="Please enter your contactSpare05\n";
        }

        if (empty (f.contactSpare06.value))
        {
           if (errMsg=="")  {f.contactSpare06.focus();}
           errMsg+="Please enter your contactSpare06\n";
        }

        if (empty (f.contactSpare07.value))
        {
           if (errMsg=="")  {f.contactSpare07.focus();}
           errMsg+="Please enter your contactSpare07\n";
        }

        if (empty (f.contactSpare08.value))
        {
           if (errMsg=="")  {f.contactSpare08.focus();}
           errMsg+="Please enter your contactSpare08\n";
        }

        if (empty (f.contactSpare09.value))
        {
           if (errMsg=="")  {f.contactSpare09.focus();}
           errMsg+="Please enter your contactSpare09\n";
        }

        if (empty (f.contactSpare10.value))
        {
           if (errMsg=="")  {f.contactSpare10.focus();}
           errMsg+="Please enter your contactSpare10\n";
        }

        if (empty (f.contactSpare11.value))
        {
           if (errMsg=="")  {f.contactSpare11.focus();}
           errMsg+="Please enter your contactSpare11\n";
        }

        if (empty (f.contactSpare12.value))
        {
           if (errMsg=="")  {f.contactSpare12.focus();}
           errMsg+="Please enter your contactSpare12\n";
        }

        if (empty (f.contactSpare13.value))
        {
           if (errMsg=="")  {f.contactSpare13.focus();}
           errMsg+="Please enter your contactSpare13\n";
        }

        if (empty (f.contactSpare14.value))
        {
           if (errMsg=="")  {f.contactSpare14.focus();}
           errMsg+="Please enter your contactSpare14\n";
        }

        */
      break;

      case "cruiseratesForm":
        if (empty(f.cruiseratesYear.value))
        {
          if (errMsg=="") {f.cruiseratesYear.focus();}
          errMsg+="Please enter the Year\n";
        }
        /*
        if (empty(f.cruiseratesField04.value))
        {
          if (errMsg=="") {f.cruiseratesField04.focus();}
          errMsg+="Please enter your cruiseratesField04\n";
        }
        */
      break;

      case "pageForm":
        if (f.pageName.value == "Menu")
        {
          if (empty(f.pageMainText1.value))
          {
            if (errMsg=="") {f.pageMainText1.focus();}
            errMsg+="Please enter the Sample Lunch Menu\n";
          }
        }

        if (f.pageName.value == "Menu (Dinner)")
        {
          if (empty(f.pageMainText1.value))
          {
            if (errMsg=="") {f.pageMainText1.focus();}
            errMsg+="Please enter the Sample Dinner Menu\n";
          }
        }
      break;

      case "photoForm":
        /*
        if (empty(f.photoTitle.value))
        {
          if (errMsg=="") {f.photoTitle.focus();}
          errMsg+="Please enter the Title\n";
        }
       */

        if (!empty(f.photoDisplaySequence.value) && !isNumeric(f.photoDisplaySequence.value))
        {
          if (errMsg=="") {f.photoDisplaySequence.focus();}
          errMsg+="If entered the Display Sequence must be numeric\n";
        }
        /*
        if (empty(f.photoField06.value))
        {
          if (errMsg=="") {f.photoField06.focus();}
          errMsg+="Please enter the Field06\n";
        }
        */
      break;

      case "ratesForm":
        var datesValid = true;
        if (!validateDate(f, "ratesFromDate"))
        {
          if (errMsg=="") {f.ratesFromDateDay.focus();}
          errMsg+="The Applicable From Date is not a valid date\n";
          datesValid = false;
        }

        if (!validateDate(f, "ratesToDate"))
        {
          if (errMsg=="") {f.ratesToDateDay.focus();}
          errMsg+="The Applicable To Date is not a valid date\n";
          datesValid = false;
        }

        if (datesValid)
        {
          if (compareDates(f, "ratesFromDate", "ratesToDate") != 2)
          {
            if (errMsg=="") {f.ratesToDateDay.focus();}
            errMsg+="The Applicable To Date must be later than the Applicable From date\n";
          }
        }

        if (empty(f.ratesSingle.value))
        {
          if (errMsg=="") {f.ratesSingle.focus();}
          errMsg+="Please enter the Single Berth rate\n";
        }
        else
        {
          if (!isNumeric(f.ratesSingle.value, 2))
           {
            if (errMsg=="") {f.ratesSingle.focus();}
            errMsg+="The Single Berth rate must be numeric, maximum 2 decimal places\n";
          }
        }

        if (empty(f.ratesDouble.value))
        {
          if (errMsg=="") {f.ratesDouble.focus();}
          errMsg+="Please enter the Double/Twin-bedded rate\n";
        }
        else
        {
          if (!isNumeric(f.ratesDouble.value, 2))
           {
            if (errMsg=="") {f.ratesDouble.focus();}
            errMsg+="The Double/Twin-bedded rate must be numeric, maximum 2 decimal places\n";
          }
        }

        if (empty(f.ratesWholeBoat.value))
        {
          if (errMsg=="") {f.ratesWholeBoat.focus();}
          errMsg+="Please enter the Whole Boat Charter rate\n";
        }
        else
        {
          if (!isNumeric(f.ratesWholeBoat.value, 2))
           {
            if (errMsg=="") {f.ratesWholeBoat.focus();}
            errMsg+="The Whole Boat Charter rate must be numeric, maximum 2 decimal places\n";
          }
        }

        /*
        if (empty(f.ratesField08.value))
        {
          if (errMsg=="") {f.ratesField08.focus();}
          errMsg+="Please enter the Field08\n";
        }
        */
      break;

      case "scheduleForm":
        var datesValid = true;
        if (!validateDate(f,"scheduleFromDate"))
        {
          if (errMsg=="") {f.scheduleFromDateDay.focus();}
          errMsg+="The From Date is not a valid date\n";
          datesValid = false;
        }

        if (!validateDate(f,"scheduleToDate"))
        {
          if (errMsg=="") {f.scheduleToDateDay.focus();}
          errMsg+="The To Date is not a valid date\n";
          datesValid = false;
        }

        if (datesValid)
        {
          if (compareDates(f, "scheduleFromDate", "scheduleToDate") != 2)
          {
            if (errMsg=="") {f.scheduleToDateDay.focus();}
            errMsg+="The To Date must be later than the From Date\n";
          }
        }

        /*
        if (empty(f.scheduleField05.value))
        {
          if (errMsg=="") {f.scheduleField05.focus();}
          errMsg+="Please enter the Schedule Field05\n";
        }

        if (empty(f.scheduleField06.value))
        {
          if (errMsg=="") {f.scheduleField06.focus();}
          errMsg+="Please enter the Schedule Field06\n";
        }
        */
      break;

      case "testimonialForm":
        if (empty(f.testimonialText.value))
        {
          if (errMsg=="") {f.testimonialText.focus();}
          errMsg+="Please enter the Testimonial Text\n";
        }

        if (!empty(f.testimonialDisplaySequence.value) && !isNumeric(f.testimonialDisplaySequence.value))
        {
          if (errMsg=="") {f.testimonialDisplaySequence.focus();}
          errMsg+="If entered the Display Sequence must be numeric\n";
        }
        /*
        if (empty(f.testimonialField05.value))
        {
          if (errMsg=="") {f.testimonialField05.focus();}
          errMsg+="Please enter your testimonialField05\n";
        }

        if (empty(f.testimonialField06.value))
        {
          if (errMsg=="") {f.testimonialField06.focus();}
          errMsg+="Please enter your testimonialField06\n";
        }
        */
      break;



      default:
      return true;
    }

    if (errMsg!="")
    {
      alert(errMsg);
      return false;
    }
    else
    {
       if (confirmMessage!="")
       {
         if (confirm(confirmMessage)) {return true;}
         else {return false;}
       }
       else {return true;}
    }
  }

  function markAsBooked()
  {
    var f = getElement("scheduleForm");
    if (f)
    {
      for (var i=1; i <=8; i++)
      {
        eval ("f.scheduleRoom" + i + "Availability.selectedIndex =2;");
      }
    }
  }