// 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 "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 "clientForm":
        if (empty(f.clientName.value))
        {
          if (errMsg=="") {f.clientName.focus();}
          errMsg+="Please enter the Client Name\n";
        }
        /*
        if (empty(f.clientField03.value))
        {
          if (errMsg=="") {f.clientField03.focus();}
          errMsg+="Please enter your clientField03\n";
        }

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

      case "clientgroupForm":
        if (empty(f.clientgroupName.value))
        {
          if (errMsg=="") {f.clientgroupName.focus();}
          errMsg+="Please enter the Group Name\n";
        }

        if (!empty(f.clientgroupSequence.value) && !isNumeric(f.clientgroupSequence.value))
        {
          if (errMsg=="") {f.clientgroupSequence.focus();}
          errMsg+="If entered the Display Sequence must be numeric\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 "pageinfoForm":
        if (f.pageinfoPage.value != "Contact")
        {
          if (empty(f.pageinfoText.value))
          {
            if (errMsg=="") {f.pageinfoText.focus();}
            errMsg+="Please enter the Page Text\n";
          }
        }
      break;

      case "photoForm":

        if (!empty(f.photoSequence.value) && !isNumeric(f.photoSequence.value))
        {
          if (errMsg=="") {f.photoSequence.focus();}
          errMsg+="If entered the Sequence must be numeric\n";
        }
        if(f.includedInCategoryCount.value==0) {confirmMessage="There are no Categories selected for this Photo. Proceed?";}
        else {confirmMessage="";}
      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("photoForm");
    var catCount=Number(e.includedInCategoryCount.value);
    if (thisCheckbox.checked) {catCount++;}
    else {catCount--;}
    e.includedInCategoryCount.value=catCount;
  }

  var lastLink = 1;
  function swapImage (photoNumber)
  {
    var e = getElement ("galleryImage");
    //var newSrc = picArray[photoNumber - 1];
    //e.src = newSrc;
    e.src = eval ("photo" + photoNumber + ".src");

    var linkID = "pic" + current;
    e = getElement (linkID);
    e.className = "photoNumberOff";
    var linkID = "pic" + photoNumber;
    e = getElement (linkID);
    e.className = "photoNumberOn";
    current = photoNumber;
  }

  function previous()
  {
    if (current > 1)  {var nextPic = current - 1;}
    else {var nextPic = lastPic;}
    swapImage (nextPic);

  }

  function next()
  {
    if (current < lastPic)  {var nextPic = current + 1;}
    else {var nextPic = 1;}
    swapImage (nextPic);
  }

var timerHandle = 0;
var slideShowActive = false;
var slideShowTimer = 4000;

function slideShow()
{
  if (slideShowActive)
  {
    slideShowActive = false;
    var e = getElement("slideShow");
    e.innerHTML = "Slideshow";
    window.clearInterval(timerHandle);
  }
  else
  {
    slideShowActive = true;
    var e = getElement("slideShow");
    e.innerHTML = "Stop Slideshow";
    next();
    timerHandle = window.setInterval('next();', slideShowTimer);
  }
}

function pauseSlideShow()
{
  if (slideShowActive) {window.clearInterval(timerHandle);}
}

function resumeSlideShow()
{
  if (slideShowActive)
  {
    //LoadNext("galleryImage");
    timerHandle = window.setInterval('next();', slideShowTimer);
  }
}