// 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 "auditionsForm":
        if (empty(f.auditionsVenue.value))
        {
          if (errMsg=="") {f.auditionsVenue.focus();}
          errMsg+="Please enter the Venue\n";
        }

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

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

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

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

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

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


        var ordinals =new Array ("first", "second", "third", "fourth", "fifth", "second", "seventh");
        var totalTickets = 0;

        var performances = f.performanceCount.value;

        for (var p=0; p<performances; p++)
        {

          var tickets = eval("f.tickets" + p + ".value");
          //var concessions = eval("f.concessions" + p + ".value");
          if (!empty(tickets))
          {

            if (!isNumeric(tickets))
            {

              if (errMsg=="") {eval ("f.tickets" + p + ".focus();");}
              var perf = ordinals[p];
              errMsg += "The Tickets Required for the " + perf  + " performance is not numeric\n";

            }
            else {totalTickets = totalTickets + tickets; }

          }
          /*
          if (!empty(concessions))
          {
            if (!isNumeric(concessions))
            {
              if (errMsg=="") {eval ("f.concessions" + p + ".focus();");}
              var perf = ordinals[p];
              errMsg += "The Concessionary Tickets Required for the " + perf  " performance is not numeric\n";
            }
            else {totalTickets = totalTickets + concessions; }
          }
          */
        }

        if (totalTickets == 0) {errMsg += "Please enter the Tickets Required\n";}

      break;

      case "boxofficeForm":
        if (empty(f.boxofficeContact.value))
        {
          if (errMsg=="") {f.boxofficeContact.focus();}
          errMsg+="Please enter the Name or Title of the Box Office Contact\n";
        }

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

        if (empty(f.boxofficePhone.value))
        {
          if (errMsg=="") {f.boxofficePhone.focus();}
          errMsg+="Please enter the Box Office Telephone No.\n";
        }

        if (!empty(f.boxofficeEmail.value) && !checkEmail(f.boxofficeEmail.value))
        {
          if (errMsg=="") {f.boxofficeEmail.focus();}
          errMsg+="That Email Address is not valid\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 (f.contactType.value == "Contact")
        {
          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.phone.value) && !isNumeric (f.phone.value))
          {
            if (errMsg=="")  {f.phone.focus();}
            errMsg+="Telephone numbers must be numeric\n";
          }
        }
        else
        {
          if (f.contactType.value == "Auditioner")
          {
            if (empty (f.phone.value))
            {
              if (errMsg=="")  {f.phone.focus();}
              errMsg+="Please enter your Telephone number\n";
            }

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

            if (empty(f.partsInterestedIn.value))
            {
              if (errMsg=="")  {f.partsInterestedIn.focus();}
              errMsg+="Please indicate the part(s) you are interested in\n";
            }

            if (empty(f.previousExperience.value))
            {
              if (errMsg=="")  {f.previousExperience.focus();}
              errMsg+="Please give a brief summary of your previous experience\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 "documentForm":
        if (empty(f.documentTitle.value))
        {
          if (errMsg=="") {f.documentTitle.focus();}
          errMsg+="Please enter the Document Title\n";
        }

        if (!validateDate(f, "documentDate"))
        {
          if (errMsg=="") {f.documentDateDay.focus();}
          errMsg+="The Document Date is not a valid date\n";
        }

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

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

      case "friendForm":
        if (f.friendType.value == "Mailing")
        {
          if (empty(f.friendName.value))
          {
            if (errMsg=="") {f.friendName.focus();}
            errMsg+="Please enter your Name\n";
          }
          if (empty(f.friendEmail.value))
          {
            if (errMsg=="") {f.friendEmail.focus();}
            errMsg+="Please enter your Email Address\n";
          }
          else
          {
            if (!checkEmail (f.friendEmail.value))
            {
              if (errMsg=="")  {f.friendEmail.focus();}
              errMsg+="That Email Address is not valid\n";
            }
          }


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

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

      break;

      case "linkForm":
        if (empty(f.linkName.value))
        {
          if (errMsg=="") {f.linkName.focus();}
          errMsg+="Please enter the Link Name\n";
        }
        /*
        if (empty(f.linkDescription.value))
        {
          if (errMsg=="") {f.linkDescription.focus();}
          errMsg+="Please enter the Description\n";
        }
        */
        if (empty(f.linkWebAddress.value))
        {
          if (errMsg=="") {f.linkWebAddress.focus();}
          errMsg+="Please enter the Web Address\n";
        }
        else
        {
          if (!checkURL(f.linkWebAddress.value))
          {
            if (errMsg=="") {f.linkWebAddress.focus();}
            errMsg+="That Web Address is not valid\n";
          }
        }

        if (!empty(f.linkSequence.value) && !isNumeric(f.linkSequence.value))
        {
          if (errMsg=="") {f.linkSequence.focus();}
          errMsg+="If entered the Display Sequence must be numeric\n";
        }

      break;

      case "pageForm":

      break;

      case "performanceForm":

        if (!validateDate(f, "performanceDate"))
        {
          if (errMsg=="") {f.performanceDateDay.focus();}
          errMsg+="That Performance Dateis not a valid date\n";
        }

        if (!empty(f.performanceTicketPrice.value) && !isNumeric(f.performanceTicketPrice.value, 2))
        {
          if (errMsg=="") {f.performanceTicketPrice.focus();}
          errMsg+="The Ticket Price must be numeric, maximum 2 decimal places\n";
        }

        if (!empty(f.performanceTicketPriceConcession.value) && !isNumeric(f.performanceTicketPriceConcession.value, 2))
        {
          if (errMsg=="") {f.performanceTicketPriceConcession.focus();}
          errMsg+="The Concession Ticket Price must be numeric, maximum 2 decimal places\n";
        }

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

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

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

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

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

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

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

      case "productionForm":
        if (empty(f.productionYear.value))
            {
              if (errMsg=="") {f.productionYear.focus();}
          errMsg+="Please enter the Production Year\n";
        }
        else
        {
          if (!isNumeric(f.productionYear.value) || f.productionYear.value < 1900 || f.productionYear.value > 2030)
          {
            if (errMsg=="") {f.productionYear.focus();}
            errMsg+="The Production Year must be numeric between 1900 and 2030\n"
          }
        }

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

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

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

      case "productionphotoForm":

        if (!empty(f.productionphotoDisplaySequence.value) && !isNumeric(f.productionphotoDisplaySequence.value))
        {
          if (errMsg=="") {f.productionphotoDisplaySequence.focus();}
          errMsg+="If entered the Display Sequence must be numeric\n";
        }

      break;

      case "showForm":
        if (empty(f.showName.value))
            {
              if (errMsg=="") {f.showName.focus();}
          errMsg+="Please enter the Show Name\n";
        }

        /*

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

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

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

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

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

      case "socialForm":
        if (empty(f.socialTitle.value))
        {
          if (errMsg=="") {f.socialTitle.focus();}
          errMsg+="Please enter the Event Title\n";
        }

        if (!validateDate(f, "socialDate"))
        {
          if (errMsg=="") {f.socialDateDay.focus();}
          errMsg+="That is not a valid Date\n";
        }
        /*
        if (empty(f.socialTime.value))
        {
          if (errMsg=="") {f.socialTime.focus();}
          errMsg+="Please enter the Time\n";
        }

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

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

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

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

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

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

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

      break;

      case "venueForm":
        if (empty(f.venueName.value))
        {
          if (errMsg=="") {f.venueName.focus();}
          errMsg+="Please enter the Venue Name\n";
        }

        if (empty(f.venueAddress.value))
        {
          if (errMsg=="") {f.venueAddress.focus();}
          errMsg+="Please enter the Venue Address\n";
        }
        /*
        if (empty(f.venueField04.value))
        {
          if (errMsg=="") {f.venueField04.focus();}
          errMsg+="Please enter your venueField04\n";
        }

        if (empty(f.venueField05.value))
        {
          if (errMsg=="") {f.venueField05.focus();}
          errMsg+="Please enter your venueField05\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 calculateCost()
  {
    //alert("here");
    var f = getElement("bookingForm");
    var totalCost = 0
    for (var i=0; i < f.performanceCount.value; i++)
    {
      var tickets = eval("f.tickets" + i + ".value");

      var tdLinecost = eval("getElement('linecost" + i + "');");
      if (empty(tickets) || !isNumeric(tickets) || tickets ==0) {tdLinecost.innerHTML = "<br />";}
      else
      {
        var price = eval("f.price" + i + ".value");
        var cost = price *  tickets;
        totalCost = totalCost + cost;

        tdLinecost.innerHTML = "£" + formatDecimal(cost);
      }
    }

    var total = getElement("totalCost");
    if (totalCost == 0) {total.innerHTML = "<br />";}
    else
    {
      total.innerHTML = "£" + formatDecimal(totalCost);
    }
  }