// 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="";
    switch (f.name)
    {
      case "categoryForm":
        if (empty(f.categoryName.value))
        {
          if (errMsg=="") {f.categoryName.focus();}
          errMsg+="Please enter the Category Name\n";
        }

        /*
        if (empty(f.categoryGroup.value))
        {
          if (errMsg=="") {f.categoryGroup.focus();}
          errMsg+="Please enter the categoryGroup\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.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.comments.value))
        {
           if (errMsg=="")  {f.comments.focus();}
           errMsg+="Please enter details of your Enquiry\n";
        }

        if (empty (f.subject.value))
        {
           if (errMsg=="")  {f.subject.focus();}
           errMsg+="Please enter your subject\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";
        }

        */
      break;

      case "friendForm":
        if (empty(f.yourEmail.value))
        {
          if (errMsg=="") {f.yourEmail.focus();}
          errMsg+="Please enter your Email address\n";
        }
        else
        {
          if (!checkEmail (f.yourEmail.value))
          {
            if (errMsg=="")  {f.yourEmail.focus();}
          errMsg+="Your Email address is not valid\n";
          }
        }

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


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

      break;

      case "supplierForm":
        //return true;
        if (empty(f.supplierName.value))
        {
          if (errMsg=="") {f.supplierName.focus();}
          errMsg+="Please enter your Company Name\n";
        }

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

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


        if (empty(f.supplierEmail.value))
        {
          if (errMsg=="") {f.supplierEmail.focus();}
          errMsg+="Please enter your Email Address\n";
        }
        else
        {
          if (!checkEmail(f.supplierEmail.value))
          {
            if (errMsg=="") {f.supplierEmail.focus();}
            errMsg+="That is not a valid Email Address\n";
          }
        }
        if (!empty(f.supplierWebAddress.value) && !checkURL(f.supplierWebAddress.value))
        {
          if (errMsg=="") {f.supplierWebAddress.focus();}
          errMsg+="That is not a valid Website Address\n";
        }

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


        if (empty(f.supplierID.value))
        {
          if (empty(f.supplierPassword.value))
          {
            if (errMsg=="") {f.supplierPassword.focus();}
            errMsg+="Please choose a Password\n";
          }
          else
          {
            if (!checkPass(f.supplierPassword.value))
            {
              if (errMsg=="") {f.supplierPassword.focus();}
              errMsg+="Passwords must be 6-12 letters and numbers\n";
            }
            else
            {
              if (empty(f.supplierConfirmPassword.value))
              {
                if (errMsg=="") {f.supplierConfirmPassword.focus();}
                errMsg+="Please confirm your Password\n";
              }
              else
              {
                if (f.supplierPassword.value!=f.supplierConfirmPassword.value)
                {
                  if (errMsg=="") {f.supplierPassword.focus();}
                  errMsg+="Those Passwords do not match \n";
                }
              }
            }
          }
        }
        /*
        if (empty(f.supplierFullDescription.value))
        {
          if (errMsg=="") {f.supplierFullDescription.focus();}
          errMsg+="Please enter the supplierFullDescription\n";
        }

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


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

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

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

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

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

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

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

        if (empty(f.supplierField26.value))
        {
          if (errMsg=="") {f.supplierField26.focus();}
          errMsg+="Please enter the supplierField26\n";
        }
        */
        if(f.includedInCategoryCount.value==0) {confirmMessage="You have not selected any Categories. Proceed?";}
        else
        {
          confirmMessage="";
          if(f.includedInCategoryCount.value>3)
          {
            errMsg+="You may not be listed in more than 3 categories\n";
          }
        }
      break;

      case "supplierLogInForm":
        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 is not a valid Email Address\n";
          }
        }
        if (f.buttonPressed.value=="Submit")
        {
          if (empty(f.password.value))
          {
            if (errMsg=="") {f.password.focus();}
            errMsg+="Please enter your Password\n";
          }
          else
          {
            if (!checkPass(f.password.value))
            {
              if (errMsg=="") {f.password.focus();}
                  errMsg+="Password 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;}
    }
  }

  function updateInCategoryCount(thisCheckbox)
  {
    // Updates a count of the number of Categories this item is included in so that a warning message can be given
    var e=getElement("supplierForm");
    var catCount=Number(e.includedInCategoryCount.value);
    if (thisCheckbox.checked) {catCount++;}
    else {catCount--;}
    e.includedInCategoryCount.value=catCount;
  }