/********************************************************************
*  The copyright of this code belongs to Advertise By Design        *
*  Visit our site at www.advertisebydesign.co.uk                    *
********************************************************************/

// Application specific Javascript functions

  function checkForm(f)
  {
    //  alert ("Here in checkForm");
    //  alert ("Name=" + f.name);

    /*   To test the chosen option in a Select statement:
              var opt=f.selectname.selectedIndex;
              var field=f.selectname.options[opt].text;
              (Can use value instead of text if the option statements have a value clause)
    */
    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 "carForm":

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

      case "carpickupForm":
        if (empty(f.carpickupName.value))
        {
          if (errMsg=="") {f.carpickupName.focus();}
          errMsg+="Please enter the Collection/Delivery Point\n";
        }
        /*
        if (empty(f.carpickupAddress.value))
        {
          if (errMsg=="") {f.carpickupAddress.focus();}
          errMsg+="Please enter your carpickupAddress\n";
        }

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

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

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

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

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

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

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

        if (empty(f.carbookingEmail.value))
        {
          if (errMsg=="") {f.carbookingEmail.focus();}
          errMsg+="Please enter your Email Address\n";
        }
        else
        {
          if (!checkEmail (f.carbookingEmail.value))
          {
            if (errMsg=="")  {f.carbookingEmail.focus();}
            errMsg+="That Email address is not valid\n";
          }
        }
        /*
        if (empty(f.carbookingHomePhone.value))
        {
          if (errMsg=="") {f.carbookingHomePhone.focus();}
          errMsg+="Please enter your HomePhone\n";
        }

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

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

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

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

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

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

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

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


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

        if (empty(f.carbookingBookingDate.value))
        {
          if (errMsg=="") {f.carbookingBookingDate.focus();}
          errMsg+="Please enter your BookingDate\n";
        }
        */
        if (!validateDate(f, "carbookingCollectionDate"))
        {
          if (errMsg=="") {f.carbookingCollectionDateDay.focus();}
          errMsg+="The Collection Date is not a valid date\n";
        }

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

      break;

      case "carpricesForm":
        var carGroupOptions = new Array("A", "B", "C", "D", "E", "F", "G");
        var carpricesPeriodOptions = new Array("1-3", "4-7", "8-14", "15-21", "22 and over");
        var carpricesPeriodValues = new Array(1,2,3,4,5);
        var datesValid = true;
        if (!validateDate(f, "carpricesDateFrom"))
        {
          if (errMsg=="") {f.carpricesDateFromDay.focus();}
          errMsg+="The Date From is not a valid date\n";
          var datesValid = false;
        }

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

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

        var groupLength = carGroupOptions.length;
        var periodLength = carpricesPeriodOptions.length;

        for (var i = 0; i < groupLength; i++)
        {
           for (var j = 0; j < periodLength; j++)
           {
              var rate = eval("f.carpricesGroup" + carGroupOptions[i] + "Period" + carpricesPeriodValues[j] + ".value");

              if (empty(rate))
              {
                if (errMsg=="") {eval("f.carpricesGroup" + carGroupOptions[i] + "Period" + carpricesPeriodValues[j] + ".focus()");}
                errMsg+="Please enter the rate for " + carpricesPeriodOptions[j] + " days in Group " + carGroupOptions[i] + "\n";
              }
              else
              {
                if (!isNumeric(rate, 2))
                {
                  if (errMsg=="") {eval("f.carpricesGroup" + carGroupOptions[i] + "Period" + carpricesPeriodValues[j] + ".focus()");}
                  errMsg+="The rate for " + carpricesPeriodOptions[j] + " days in Group " + carGroupOptions[i] + " is not numeric\n";
                }
              }
           }
        }
        /*
        if (empty(f.carpricesField40.value))
            {
              if (errMsg=="") {f.carpricesField40.focus();}
          errMsg+="Please enter the carpricesField40\n";
        }

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

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

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

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

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

      case "countryareaForm":
        if (empty(f.countryareaName.value))
        {
          if (errMsg=="") {f.countryareaName.focus();}
          errMsg+="Please enter the Area Name\n";
        }
        /*
        if (empty(f.countryareaDescription.value))
        {
          if (errMsg=="") {f.countryareaDescription.focus();}
          errMsg+="Please enter the Area Description\n";
        }
        */
      break;

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



        if (empty(f.phone.value) && empty(f.email.value))
        {
          if (errMsg=="") {f.phone.focus();}
          errMsg+="Please enter either your Telephone Number or Email Address\n";
        }
        else
        {
          if (!empty(f.email.value) && !checkEmail(f.email.value))
          {
            if (errMsg=="") {f.email.focus();}
            errMsg+="That Email address is invalid\n";
          }
        }
        /*
        if (empty(f.comments.value))
        {
              if (errMsg=="") {f.comments.focus();}
          errMsg+="Please enter details of your enquiry\n";
        }
        */
      break;

      case "carEnquiryForm":
            // alert ("Checking carEnquiryForm");

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

        if (empty(f.contactEmail.value))
        {
              if (errMsg=="") {f.contactEmail.focus();}
          errMsg+="Please enter your Email Address\n";
        }
        else
        {
          if (!checkEmail(f.contactEmail.value))
          {
            if (errMsg=="") {f.contactEmail.focus();}
            errMsg+="That Email address is invalid\n";
          }
        }

        if (empty(f.contactPhone.value))
        {
              if (errMsg=="") {f.contactPhone.focus();}
          errMsg+="Please enter your Telephone Number\n";
        }
            else
            {
          if (!checkPhoneNo(f.contactPhone.value))
          {
                if (errMsg=="") {f.contactPhone.focus();}
            errMsg+="Phone Numbers must be numeric, at least 11 digits\n";
          }
            }
        var datesValid = true;
        if (!validateDate(f, "pickUpDate", "Future"))
        {
          if (errMsg=="") {f.pickUpDate.focus();}
          errMsg+="The Pick-up Date is not a valid future date\n";
          datesValid = false;
        }


        if (!validateDate(f,"dropOffDate", "Future"))
        {
          if (errMsg=="") {f.dropOffDate.focus();}
          errMsg+="The Drop-off Date is not a valid date\n";
          datesValid = false;
        }

        if (datesValid)
        {
          var compareResult = compareDates(f, "pickUpDate", "dropOffDate");
          if (compareResult != 2)
          {
            if (errMsg=="") {f.pickUpDateDay.focus();}
            errMsg+="The Drop-off Date must be later than the Pick-up Date\n";
          }
        }
        var opt=f.payMethod.selectedIndex;
        var field=f.payMethod.options[opt].text;
        if (empty(field))
        {
          if (errMsg=="") {f.payMethod.focus();}
          errMsg+="Please indicate your proposed Payment Method\n";
        }

      break;

      case "hotelEnquiryForm":
           // alert ("hotelEnquiryForm"); return true;

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

        if (empty(f.contactEmail.value))
        {
          if (errMsg=="") {f.contactEmail.focus();}
          errMsg+="Please enter your Email Address\n";
        }
        else
        {
          if (!checkEmail(f.contactEmail.value))
          {
            if (errMsg=="") {f.contactEmail.focus();}
            errMsg+="That Email address is invalid\n";
          }
        }

        if (empty(f.contactPhone.value))
        {
          if (errMsg=="") {f.contactPhone.focus();}
          errMsg+="Please enter your Telephone Number\n";
        }
        else
        {
          if (!checkPhoneNo(f.contactPhone.value))
          {
            if (errMsg=="") {f.contactPhone.focus();}
            errMsg+="Phone Numbers must be numeric, at least 11 digits\n";
          }
        }

        var datesValid = true;
        if (!validateDate(f, "checkinDate", "Future"))
        {
          if (errMsg=="") {f.checkinDateDay.focus();}
          errMsg+="The Check-in Date is not a valid future date\n";
          datesValid = false;
        }

        if (!validateDate(f, "checkoutDate"))
        {
          if (errMsg=="") {f.checkoutDay.focus();}
          errMsg+="The Check-out Date is not a valid date\n";
          datesValid = false;
        }

        if (datesValid && compareDates(f, "checkinDate", "checkoutDate") != 2)
        {
          if (errMsg=="") {f.checkoutDay.focus();}
          errMsg+="The Check-out Date must be after the Check-in Datete\n";
        }

        var party=f.numberAdults.value+f.numberChildren.value;
        if (party==0)
        {
          if (errMsg=="") {f.numberAdults.focus();}
          errMsg+="Please indicate the number of people requiring accommodation\n";
        }

        var rooms=f.roomType1Number.value+f.roomType2Number.value+f.roomType3Number.value;
        if (rooms==0)
        {
          if (errMsg=="") {f.numberAdults.focus();}
          errMsg+="Please indicate the rooms required\n";
        }

        var opt=f.payMethod.selectedIndex;
        var field=f.payMethod.options[opt].text;
        if (empty(field))
        {
          if (errMsg=="") {f.payMethod.focus();}
          errMsg+="Please indicate your proposed Payment Method\n";
        }
      break;

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

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


        // if (empty (f.address1.value) && empty (f.address2.value) && empty (f.address3.value))
        if (empty (f.address1.value))
        {
           if (errMsg=="")  {f.address1.focus();}
           errMsg+="Please enter your Address\n";
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        */
      break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      case "priceForm":
      break;

      case "hotelbookingRequirementsForm":
        var datesValid = true;
        if (!validateDate(f, "hotelbookingFromDate", "Future"))
        {
          if (errMsg=="") {f.hotelbookingFromDateDay.focus();}
          errMsg+="The Check-in Date is not a valid future date\n";
          datesValid = false;
        }

        if (!validateDate(f, "hotelbookingToDate", "Future"))
        {
          if (errMsg=="") {f.hotelbookingToDateDay.focus();}
          errMsg+="The Check-out Date is not a valid date\n";
          datesValid = false;
        }
        if (datesValid)
        {
          if (compareDates(f,"hotelbookingFromDate","hotelbookingToDate") != 2)
          {
            if (errMsg=="") {f.hotelbookingToDateDay.focus();}
            errMsg+="The Check-out Date must be later than the Check-in Date\n";
          }
        }
        var roomChosen = false;
        for (var i=1; i<=3; i++)
        {
          var roomType = eval ("f.hotelbookingRoom" + i + "RoomType.value");
          if (roomType != "0")
          {
            roomChosen = true;
            var occupancy = eval ("f.hotelbookingRoom" + i + "Occupancy.value");
            var pattern = /Child/;
            var result=occupancy.match(pattern);
            if (result != null)
            {
              var dob = "hotelbookingRoom" + i + "Child1DOB";
              if (!dateEntered(f, dob))
              {
                if (errMsg=="") {eval("f." + dob + "Day.focus();");}
                errMsg+="Please enter the DOB for the first child in Room " + i + "\n";
              }
              else
              {
                if (!validateDate(f, dob))
                {
                  if (errMsg=="") {eval("f." + dob + "Day.focus();");}
                  errMsg+="The DOB for the first child in Room " + i + " is not a valid date\n";
                }
              }
              var pattern = /Children/;
              var result=occupancy.match(pattern);
              if (result != null)
              {
                var dob = "hotelbookingRoom" + i + "Child2DOB";
                if (!dateEntered(f, dob))
                {
                  if (errMsg=="") {eval("f." + dob + "Day.focus();");}
                  errMsg+="Please enter the DOB for the second child in Room " + i + "\n";
                }
                else
                {
                  if (!validateDate(f, dob))
                  {
                    if (errMsg=="") {eval("f." + dob + "Day.focus();");}
                    errMsg+="The DOB for the second child in Room " + i + " is not a valid date\n";
                  }
                }
              }
            }
          }
        }
        if (!roomChosen)
        {
          if (errMsg=="") {f.hotelbookingRoom1RoomType.focus();}
          errMsg+="Please indicate the room(s) required\n";
        }
      break;

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

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

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

        if (empty(f.hotelbookingPostcode.value))
        {
          if (errMsg=="") {f.hotelbookingPostcode.focus();}
          errMsg+="Please enter your Post/Zip Code\n";
        }

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

        if (empty(f.hotelbookingHomePhone.value) && empty(f.hotelbookingWorkPhone.value) && empty(f.hotelbookingMobilePhone.value) && empty(f.hotelbookingEmail.value))
        {
          if (errMsg=="") {f.hotelbookingHomePhone.focus();}
          errMsg+="Please enter either a Contact Phone No. or Email Address\n";
        }

        if (!empty(f.hotelbookingEmail.value) && !checkEmail(f.hotelbookingEmail.value))
        {
          if (errMsg=="") {f.hotelbookingEmail.focus();}
          errMsg+="That Email Address is not valid\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;}
    }
  }


// CREDIT CARD VALIDATION FUNCTIONS

  function ccValidate(f)
  { // Validates the credit card form used in classCredit
    var errMessage="";

    if (empty(f.ccName.value))
    {
      if (errMessage == "") {f.ccName.focus();}
      errMessage+="Please enter your Name\n";
    }



    if (empty(f.cardNumber1.value) || empty(f.cardNumber2.value) || empty(f.cardNumber3.value) || empty(f.cardNumber4.value))
    {
      if (errMessage == "") {f.cardNumber1.focus();}
      errMessage+="Please enter your Card number\n";
    }

    else
    {
      var cardNumber = f.cardNumber1.value + f.cardNumber2.value + f.cardNumber3.value + f.cardNumber4.value;
      var opt=f.cardType.selectedIndex; // Get index of selected option
      var ccType=f.cardType[opt].text;  // Retrieve displayed text of selected option
      var z=IsCCNumberValid(cardNumber, ccType);
      if (z==0)
      {
        if (errMessage == "") {f.cardNumber1.select();}
        errMessage+="The Card number is invalid for that type\n";
      }
    }

    if (!empty(f.cardSecurityNo.value) && !isNumeric(f.cardSecurityNo.value))
    {
      if (errMessage == "") {f.cardSecurityNo.focus();}
      errMessage+="The Card Security number must be numeric\n";
    }

    var ccTypeOption=f.cardType.selectedIndex;
    var ccTypeValue=f.cardType.options[ccTypeOption].text;

    if (ccTypeValue=="Solo")
    {
      if (empty(f.cardIssueNo.value))
      {
        if (errMessage == "") {f.cardIssueNo.focus();}
        errMessage+="Please enter your Card Issue number\n";
      }
      else
      {
        if (!isNumeric(f.cardIssueNo.value))
        {
          if (errMessage == "") {f.cardIssueNo.focus();}
          errMessage+="The Card Issue number must be numeric\n";
        }
      }
    }
    else
    {
      if (ccTypeValue=="Maestro")
      {
        if (f.cardStartYear.value == "YYYY" && f.cardStartMonth.value == "00" && empty(f.cardIssueNo.value))
        {
          if (errMessage == "") {f.cardIssueNo.focus();}
          errMessage+="Please enter your either Card Issue number or Card Start Date\n";
        }
        else
        {
          if (!empty(f.cardIssueNo.value) && !isNumeric(f.cardIssueNo.value))
          {
            if (errMessage == "") {f.cardIssueNo.focus();}
            errMessage+="The Card Issue number must be numeric\n";
          }
        }
      }
    }

    if (f.cardStartYear.value != "YYYY" || f.cardStartMonth.value != "00")
    {
      if (f.cardStartYear.value == "YYYY" || f.cardStartMonth.value == "00")
      {
        if (errMessage == "") {f.cardStartMonth.focus();}
        errMessage+="The Card Start date is invalid\n";
      }
      else
      {
        if (f.cardEndYear.value<f.cardStartYear.value ||(f.cardEndYear.value==f.cardStartYear.value && f.cardEndMonth.value<=f.cardStartMonth.value))
        {
          if (errMessage == "") {f.cardEndMonth.focus();}
          errMessage+="Card End date must be later than card Start date\n";
        }
      }
    }
    else
    {
      if (empty(f.cardIssueNo.value))
      {
        if (errMessage == "") {f.cardIssueNo.focus();}
        errMessage+="Please enter your Card Issue number\n";
      }
      else
      {
        if (!isNumeric(f.cardIssueNo.value))
        {
          if (errMessage == "") {f.cardIssueNo.focus();}
          errMessage+="The Card Issue number must be numeric\n";
        }
      }
    }

    if (errMessage!="")
    {
     alert (errMessage);
     return false;
    }
    else return true;
  }


  function IsCCNumberValid(ccNumber, cardType)
  { // Validates a credit card number for Mastercard, Visa, Amex & Diners Club
    ccNumber=ccNumber.replace(/ /g,"");  // Remove any blanks before validating
    if (ccNumber=="M1111") {return 1;}  // Value for testing
     var retval=0;
    if(cardType!=null)
    {
      if(cardType == "Mastercard"){retval = isMCRD(ccNumber);}
      else if(cardType == "Visa"){retval = isVISA(ccNumber);}
      else if(cardType == "American Express"){retval = isAMEX(ccNumber);}
      else if(cardType == "Diners Club"){retval = isDCCB(ccNumber);}
      else
      { // Don't know algorithm, so just ensure length> 11 & numeric
        if (ccNumber.length<12) {retval=0;}
        else {retval=isNumeric(ccNumber);}
      }
    }
    else
    {
       if(!retval){retval = isMCRD(ccNumber);}
       if(!retval){retval = isVISA(ccNumber);}
       if(!retval){retval = isAMEX(ccNumber);}
       if(!retval){retval = isDCCB(ccNumber);}
    }
    return retval;
  }

  function isMCRD(ccNum)
  { // Validates a Mastercard number
    var preFix = ccNum.substr( 0, 2);
    if(preFix == "51" ||
       preFix == "52" ||
       preFix == "53" ||
       preFix == "54" ||
       preFix == "55")
    {
      if(ccNum.length == 16){return  modTen(ccNum);}
      else {return 0;}
    }
    else
    {
      return 0;
    }
  }

  function isVISA(ccNum)
  { // Validates a Visa number
    var preFix = ccNum.substr(0, 1);
    if(preFix == "4")
    {
      if(ccNum.length == 13 || ccNum.length == 16){return  modTen(ccNum);}
    }
    else
    {
       return 0;
    }
  }

  function isAMEX(ccNum)
  { // Validates an Amex number
    var preFix = ccNum.substr(0, 2);
    if(preFix == "34" || preFix == "37")
    {
      if(ccNum.length == 15){return  modTen(ccNum);}
      else {return 0;}
    }
    else
    {
       return 0;
    }
  }

  function isDCCB(ccNum)
  { // Validates a Diners Club number
    preFix = ccNum.substr(0, 3);
    if(preFix == "300" ||
       preFix == "301" ||
       preFix == "302" ||
       preFix == "303" ||
       preFix == "304" ||
       preFix == "305")
    {
       if(ccNum.length == 14){return  modTen(ccNum);}
       else {return 0;}
    }
    preFix = ccNum.substr(0, 2);
    if(preFix == "36" || preFix == "38")
    {
      if(ccNum.length == 14) {return  modTen(ccNum);}
      else {return 0;}
    }
    else
    {
       return 0;
    }
  }


  function modTen(ccNum)
  { // Modulus 10 calculator used by all credit cards
    var numLen = ccNum.length;
    var tot=0;
    for(var x = numLen; x > 0; x-=2)
    {
      var a=ccNum.substr(x - 1, 1)-0;  // Extract alternate digits as numbers
      tot=tot+a; // and add to the checksum
    }
    for(x = numLen - 1; x > 0; x-=2)
    {
       var y = (ccNum.substr(x - 1, 1)-0) * 2;  // Extract the other alternate digits as numbers, double
                                                // and add each digit of the result to the checksum
       var z=y+"";
       if(z.length == '1'){tot+=y;}
       if(z.length == '2'){tot=tot+1; tot=tot+y-10; }
    }
    tot=tot+"";
    if(tot.substr(tot.length - 1, 1) == '0'){return 1;}
    else{return 0;}
  }

 function checkIfFull(box)
 {
   var boxCharacterCount = box.value.length;
   if (boxCharacterCount > 3)
   {
     var f = getElement("ccForm");
     if (box.name == "cardNumber1") {f.cardNumber2.focus();}
     if (box.name == "cardNumber2") {f.cardNumber3.focus();}
     if (box.name == "cardNumber3") {f.cardNumber4.focus();}
     if (box.name == "cardNumber4") {f.cardNumber4.value = f.cardNumber4.value.substr(0,4);}
   }
 }