// 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 "addressForm":
        if (f.buttonPressed.value=="Back") {return true;}
        if (empty(f.forename.value))
        {
          if (errMsg=="") {f.forename.focus();}
          errMsg+="Please enter your Forename\n";
        }

        if (empty(f.surname.value))
        {
          if (errMsg=="") {f.surname.focus();}
          errMsg+="Please enter your Surname\n";
        }
        if (empty(f.address1.value) && empty(f.address2.value) &&
            empty(f.address3.value) && empty(f.address4.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))
        {
          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 invalid\n";
          }
        }

        for (var i=0; i < f.collectionDelivery.length; i++)
        {
          if (f.collectionDelivery[i].checked)
          {
            var opt=f.area.selectedIndex;
            var area=f.area.options[opt].text;
            if (f.collectionDelivery[i].value == "Delivery Area")
            {
               if (area == "Please Select")
               {
                 if (errMsg=="") {f.area.focus();}
                 errMsg+="Please select the Delivery Postcode\n";
               }
            }
            else
            {
               if (area != "Please Select")
               {
                 if (errMsg=="") {f.area.focus();}
                 errMsg+="Selected Postcode will be ignored\n";
               }
            }
          }
        }

      break;

      case "baseItemForm":
        if (empty(f.baseItemName.value))
        {
          if (errMsg=="") {f.baseItemName.focus();}
          errMsg+="Please enter the Item Name\n";
        }

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


        if (empty(f.baseItemPrice.value))
        {
          if (errMsg=="") {f.baseItemPrice.focus();}
          errMsg+="Please enter the Item Price\n";
        }
        else
        {
          if (!isNumeric(f.baseItemPrice.value, 2))
          {
            if (errMsg=="") {f.baseItemPrice.focus();}
            errMsg+="The Item Price must be numeric with a maximum of 2 decimal places\n";
          }
        }


        for (var i=1; i<=6; i++)
        {
          var sizeDesc = eval("f.baseItemSize" + i + ".value");
          var sizePrice = eval("f.baseItemSize" + i + "Price.value");
          if (sizeDesc != "")
          {
            if (sizePrice == "")
            {
              if (errMsg=="") {eval("f." + sizePrice + ".focus()");}
              errMsg+="Please enter the Price for size " + sizeDesc + "\n";
            }
            else
            {
              if (!isNumeric(sizePrice, 2))
              {
                if (errMsg=="") {eval("f." + sizePrice + ".focus()");}
                errMsg+="The Price for size " + sizeDesc + " must be numeric, maximum 2 decimal places\n";
              }
            }
          }
        }

        if (f.baseItemOptionalExtraName.value != "")
        {
          for (i=1; 1<=4; i++)
          {
            var extraDesc = eval("f.baseItemOptionalExtraDesc" + i + ".value");
            var extraPrice = eval("f.baseItemOptionalExtraDesc" + i + "Price.value");
            if (extraPrice == "")
            {
              if (errMsg=="") {eval("f." + extraPrice + ".focus()");}
              errMsg+="Please enter the Price for " + f.baseItemOptionalExtraName.value + ", " + extraDesc + "\n";
            }
            else
            {
              if (!isNumeric(extraPrice, 2))
              {
                if (errMsg=="") {eval("f." + extraPrice + ".focus()");}
                errMsg+="The Price for " + f.baseItemOptionalExtraName.value + ", " + extraDesc + " must be numeric, maximum 2 decimal places\n";
              }
            }
          }
        }


        if (categories)
        {
          if(f.includedInCategoryCount.value==0) {confirmMessage="There are no Categories selected for this Item. Proceed?";}
        }
      break;

      case "categoryForm":
        if (empty(f.categoryName.value))
        {
          if (errMsg=="") {f.categoryName.focus();}
          errMsg+="Please enter the Category Name\n";
        }

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

      case "deliverycostForm":
        if (empty(f.deliverycostPostcode.value))
        {
          if (errMsg=="") {f.deliverycostPostcode.focus();}
          errMsg+="Please enter the Postcode\n";
        }

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

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

      break;

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

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

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

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

      break;

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

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

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

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

        if (empty(f.offereditemDescription.value))
        {
          if (errMsg=="") {f.offereditemDescription.focus();}
          errMsg+="Please enter a Description of the item(s)\n";
        }

        if (f.admin.value == true)
        {
          if (!validateDate(f, "offereditemDate"))
          {
            if (errMsg=="") {f.offereditemDateDay.focus();}
            errMsg+="The Offered Date is not a valid date\n";
          }
        }

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

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

      default:
        return true;
    }

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

  function JSFX_StartEffects()
  {
     bedroomSlides.start();
     diningSlides.start();
     livingSlides.start();
  }


  function calculatePrice()
  {
    var thisPrice = itemPrice;

    var price = getElement("itemPriceTD");
    if (price)
    {
      if (sizesFound && sizePriceArray.length > 1)
      {
        var s = getElement("purchaseSize");
        var opt=s.selectedIndex;
        var sizePrice = sizePriceArray[opt];
        thisPrice = sizePrice;
      }

      if (extrasFound && extrasPriceArray.length > 1)
      {
        var e = getElement("purchaseOptionalExtraDesc");
        var opt=e.selectedIndex;
        var extrasPrice = extrasPriceArray[opt];
        if (extrasPrice != undefined)  {thisPrice = thisPrice + extrasPrice;}
        //alert ("itemPrice=" + itemPrice + ", sizePrice=" + sizePrice + ", extraPrice=" + extrasPrice);
      }

      price.innerHTML = "Price: " + formatDecimal(thisPrice);
    }
  }
