  function checkDate(d,m,y)
  { // Checks for valid date in range 1/1/1900 to 31/12/2099
    if (!isNumeric(d) || !isNumeric(m) || !isNumeric(y)) {return false;}
        if (m<1 || m>12) {return false;}
        if (y<1900 || y>2099) {return false;}
    var daysInMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
        if (y%1000==0 ||(y%4==0 && y%100!=0)) {daysInMonth[1]=29;}
        if (d<1 || d>daysInMonth[m-1]) {return false;}
        return true;
  }


  function checkEmail(email)
  { // this checks for a valid format email address
    var pattern=/^[a-zA-Z0-9]+([.|_|-][a-zA-Z0-9]+)*[@]{1}[a-zA-Z0-9]+([.|_|-][a-zA-Z0-9]+)*[.]{1}[a-zA-Z0-9]{2,3}$/;
    var result=email.match(pattern);
    if (result==null)
      {
       return false;
      }
      else  return true;
  }


  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" || f.buttonPressed.value=="Back") {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 (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 (f.schoolRequired.value == "Y")
        {
          if (empty(f.schoolName.value))
          {
            if (errMsg=="") {f.schoolName.focus();}
            errMsg+="Please enter the School Name\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";
        }
        else
        {
          var num=f.phone.value.replace(/ /g,"");

          if (num.length<11 || !isNumeric(num))
          {
            if (errMsg=="") {f.phone.focus();}
            errMsg+="Phone numbers must comprise at least 11 digits\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";
          }
        }
      break;

      case "advertForm":

        if (f.admin.value == true)
        {
          if (empty(f.advertContactName.value))
          {
            if (errMsg=="") {f.advertContactName.focus();}
            errMsg+="Please enter a Contact Name\n";
          }

          if (empty(f.advertContactEmail.value))
          {
            if (errMsg=="") {f.advertContactEmail.focus();}
            errMsg+="Please enter a Contact Email Address\n";
          }
          else
          {
            if (!checkEmail(f.advertContactEmail.value))
            {
              if (errMsg=="") {f.advertContactEmail.focus();}
              errMsg+="The Contact Email Address is not valid\n";
            }
          }

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

          if (!empty(f.advertDisplayEmail.value) && !checkEmail(f.advertDisplayEmail.value))
          {
            if (errMsg=="") {f.advertDisplayEmail.focus();}
            errMsg+="The Displayed Email Address is not valid\n";
          }

          if (!empty(f.advertPrice.value) && !isNumeric(f.advertPrice.value, 2))
          {
            if (errMsg=="") {f.advertPrice.focus();}
            errMsg+="If entered the Price must be numeric\n";
          }

          if (!empty(f.advertLink.value) && !checkURL(f.advertLink.value))
          {
            if (errMsg=="") {f.advertLink.focus();}
            errMsg+="The Advert Link is not a valid URL\n";
          }

          if (dateEntered (f, "advertDateReminderSent") && !validateDate(f, "advertDateReminderSent"))
          {
            if (errMsg=="") {f.advertDateReminderSentDay.focus();}
            errMsg+="The Date Reminder Sent is not a valid date\n";
          }

          if (dateEntered (f, "advertNextReminderDate") && !validateDate(f, "advertNextReminderDate"))
          {
            if (errMsg=="") {f.advertNextReminderDateDay.focus();}
            errMsg+="The Date of the Next Reminder is not a valid date\n";
          }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        if (empty(f.advertField30.value))
            {
              if (errMsg=="") {f.advertField30.focus();}
          errMsg+="Please enter the advertField30\n";
        }
        */
      }
      else
      {
          if (empty(f.advertContactName.value))
          {
            if (errMsg=="") {f.advertContactName.focus();}
            errMsg+="Please enter a Contact Name\n";
          }

          if (empty(f.advertContactPhone.value) && empty(f.advertContactEmail.value))
          {
            if (errMsg=="") {f.advertContactPhone.focus();}
            errMsg+="Please enter either a Contact Telephone No. or Contact Email Address\n";
          }

          if (!empty(f.advertContactEmail.value) && !checkEmail(f.advertContactEmail.value))
          {
            if (errMsg=="") {f.advertContactEmail.focus();}
            errMsg+="The Contact Email Address is not valid\n";
          }

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

          if (!empty(f.advertDisplayEmail.value) && !checkEmail(f.advertDisplayEmail.value))
          {
            if (errMsg=="") {f.advertDisplayEmail.focus();}
            errMsg+="The Displayed Email Address is not valid\n";
          }
          /*
          if (!empty(f.advertPrice.value) && !isNumeric(f.advertPrice.value, 2))
          {
            if (errMsg=="") {f.advertPrice.focus();}
            errMsg+="If entered the Price must be numeric\n";
          }
          */

          if (!empty(f.advertLink.value) && !checkURL(f.advertLink.value))
          {
            if (errMsg=="") {f.advertLink.focus();}
            errMsg+="The Advert Link is not a valid URL\n";
          }

          if (!f.advertDisclaimerBox.checked)
          {
            if (errMsg=="") {f.advertDisclaimerBox.focus();}
            errMsg+="Please confirm you have read our disclaimer\n";
          }
      }
      break;


      case "bannerForm":
        var opt = f.bannerType.selectedIndex;
        var bannerType = f.bannerType.options[opt].text;
        if (bannerType == "Charity")
        {
          if (empty(f.bannerName.value))
          {
            if (errMsg=="") {f.bannerName.focus();}
            errMsg+="Please enter the Charity Name\n";
          }

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

        if (!empty(f.bannerURL.value) && !checkURL(f.bannerURL.value))
        {
          if (errMsg=="") {f.bannerURL.focus();}
          errMsg+="That Website Address is not valid\n";
        }

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

        if (!empty(f.bannerDisplaySequence.value) && !isNumeric(f.bannerDisplaySequence.value))
        {
          if (errMsg=="") {f.bannerDisplaySequence.focus();}
          errMsg+="If entered the Banner Display Sequence must be numeric\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";
          }
        }

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

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

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

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

        /*
        if (empty (f.address1.value) && empty (f.address2.value) && empty (f.address3.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";
        }
        else
        {
          if (!checkPhoneNo (f.phone.value))
          {
           if (errMsg=="")  {f.phone.focus();}
           errMsg+="Telephone numbers must be numeric, minimum 11 digits\n";
          }
        }
        */
        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 "disclaimerForm":
        if (empty(f.disclaimerText.value))
        {
          if (errMsg=="") {f.disclaimerText.focus();}
          errMsg+="Please enter the Disclaimer Text\n";
        }
        /*
        if (empty(f.disclaimerField03.value))
        {
          if (errMsg=="") {f.disclaimerField03.focus();}
          errMsg+="Please enter the disclaimerField03\n";
        }
        */
      break;

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

      case "linkForm":
        if (empty(f.linkName.value))
        {
          if (errMsg=="") {f.linkName.focus();}
          errMsg+="Please enter the Link Name\n";
        }

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

        if (empty(f.webAddress.value))
        {
          if (errMsg=="") {f.webAddress.focus();}
          errMsg+="Please enter the Web Address\n";
        }
        else
        {
          if (!checkURL(f.webAddress.value))
          {
            if (errMsg=="") {f.webAddress.focus();}
            errMsg+="That Web Address is not valid\n";
          }
        }
      break;

      case "pagelinkForm":
        if (empty(f.pagelinkName.value))
        {
          if (errMsg=="") {f.pagelinkName.focus();}
          errMsg+="Please enter the Link Name\n";
        }

        if (empty(f.pagelinkURL.value))
        {
          if (errMsg=="") {f.pagelinkURL.focus();}
          errMsg+="Please enter the Link Web Address\n";
        }
        else
        {
          if (!checkURL(f.pagelinkURL.value))
          {
            if (errMsg=="") {f.pagelinkURL.focus();}
            errMsg+="That is not a valid Web Address\n";
          }
        }

        if (!empty(f.pagelinkDsplaySequence.value) && !isNumeric(f.pagelinkDsplaySequence.value))
        {
          if (errMsg=="") {f.pagelinkDsplaySequence.focus();}
          errMsg+="If entered the Dsplay Sequence must be numeric\n";
        }
        /*
        if (empty(f.pagelinkField05.value))
        {
          if (errMsg=="") {f.pagelinkField05.focus();}
          errMsg+="Please enter the pagelinkField05\n";
        }

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

      case "stockistForm":
        if (empty(f.stockistName.value))
        {
          if (errMsg=="") {f.stockistName.focus();}
          errMsg+="Please enter the Stockist Name\n";
        }

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

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

        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.URL.value) && !checkURL(f.URL.value))
        {
          if (errMsg=="") {f.URL.focus();}
          errMsg+="That Website Address is not valid\n";
        }
        /*
        if (empty(f.field07.value))
        {
          if (errMsg=="") {f.field07.focus();}
          errMsg+="Please enter the field07\n";
        }

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

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

      case "storyfileForm":
        if (empty(f.storyfileStoryName.value))
        {
          if (errMsg=="") {f.storyfileStoryName.focus();}
          errMsg+="Please enter the storyfileStoryName\n";
        }
        /*
        if (empty(f.storyfileFileName.value))
        {
          if (errMsg=="") {f.storyfileFileName.focus();}
          errMsg+="Please enter the storyfileFileName\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 checkPass(pass)
  { // This checks password is 6-12 chars, starts with a letter and contains
    // only alphanumerics

        if (pass.length<6 || pass.length>12) {return false;}
        var pattern=/^[a-zA-Z][a-zA-Z0-9]{0,11}$/;
    var result=pass.match(pattern);
    if (result==null)
      {
       return false;
      }
      else  return true;
  }

  function checkPhoneNo(phone)
  { // This checks a phone number contains at least 11 digits. It
    // ignores blanks and hyphens
        var p=phone.replace(/ |-/g,""); // Remove blanks or hyphens
        if (p.length<11 || !isNumeric(p)) {return false;}
        else {return true;}
  }

  function checkTime(h,m)
  {
    if (!isNumeric(h) || !isNumeric(m)) {return false;}
        if (h<0 || h>23) {return false;}
        if (m<0 || m>59) {return false;}
        return true;
  }

  function checkURL(URL)
  { // this checks for a valid format URL
    // NB this does not check anything beyond the basic address - ie no parameters
    var patternFormat=/^(http:\/\/)?[a-zA-Z0-9]+([.|_|-][a-zA-Z0-9]+)*[.]{1}[a-zA-Z0-9]{2,3}/;
    var result=URL.match(patternFormat);
    if (result==null)
      {
       return false;
      }
      else  return true;
  }

  function dateEntered (f, dateName)
  {
     var opt=eval("f." + dateName + "Day.selectedIndex");
     var day=eval("f." + dateName + "Day.options[opt].text");
     opt=eval("f." + dateName + "Month.selectedIndex");
     var month=eval("f." + dateName + "Month.options[opt].text");
     opt=eval("f." + dateName + "Year.selectedIndex");
     var year=eval("f." + dateName + "Year.options[opt].text");

     if (day == "DD" && month == "MM" && year == "YYYY") {return false;}
     else {return true}
  }

  function empty(s)
  {
    if (s=="" || s==null || isblank(s)) {return true;}
        else {return false;}
  }

  function generateRandomNo(x, y)
  { // This function generates a random integer between x & y
    var range = y - x + 1;
    return Math.floor(Math.random() * range) + x;
  }

  function formatEmail(name, site, suffix, text, paras, className)
  {
     // <SCRIPT language="Javascript">formatEmail("name", "site", "suffix", "text", "paras", "class");</SCRIPT>
     if (empty(suffix)) {suffix="co.uk";}

     var emailAddress=name + "@" + site + "." + suffix;
     document.write ("<a href='mailto:" + emailAddress);
     if (!empty(paras)) {document.write ("?" + paras);}
     document.write ("'");
     if (!empty(className)) {document.write (" class='" + className + "'");}
     document.write (">");
     if (empty(text)) {document.write (emailAddress);} else {document.write (text);}
     document.write ("</a>\n");
  }

  function getElement(id)
  {
    if (document.getElementById) {var elmt=document.getElementById(id);}
    else
    {
      if (document.all) {var elmt=document.all[id];}
          else
          {
            if (document.layers) {var elmt=document.layers[id];}
            else elmt=false;
          }
    }
    return elmt;
  }

  function isblank (s)
  { // Returns false if field contains any non-blank chars other than new line
    for (var i=0; i<s.length; i++) {
      var c=s.charAt(i);
          if (c!=" " && c!="\n" && c!="") {
          return false;
          }
    }
    return true;
  }


  function isNumeric (number, decPlaces)
  { // This function checks for numerics with a maximum of decPlaces decimal places
    var pattern="/^[0-9]+$/";
    if (decPlaces!='0')
    { // Decimal places allowed
      var dPlaces=2;
      var strPlaces=String(decPlaces);
      var result=strPlaces.match(pattern);
      if (result)  {dPlaces=decPlaces;}
      pattern=eval("/^[0-9]+([.][0-9]{1," + dPlaces + "})?$/");
    }
    var result=number.match(pattern);
    return result;
  }


  function makeTime(f, timeName)
  { // Returns a string containng the time in hh:mm form
    var opt=eval("f." + timeName + "Hour.selectedIndex");
        var hour=eval("f." + timeName + "Hour.options[opt].text");
        opt=eval("f." + timeName + "AmPm.selectedIndex");
        var amPm=eval("f." + timeName + "AmPm.options[opt].text");
        opt=eval("f." + timeName + "Minutes.selectedIndex");
        var minutes=eval("f." + timeName + "Minutes.options[opt].text");
        if (amPm=="pm" && hour!=12) {hour=Number(hour)+12;}
        else
        {
          if (hour<10) {hour="0"+hour;}
        }
        if (minutes<10) {minutes="0" + minutes;}
        return hour+":"+minutes;
  }



  function newWindow(url, w, h)
  { // Opens URL w in a new window positioned top left and ensures it has the focus
    if (!w) {var wide=400;} else {wide=w;}
        if (!h) {var high=450;} else {high=h;}
        var paras="width=" + wide + ",height=" + high + "align=center scrollbars=yes, left=0, top=0, screenx=0, screeny=0";
    var x=window.open(url, "newWindow", paras);
        x.window.focus();
  }

  function validateDate(f, dateName)
  {
        var opt=eval("f." + dateName + "Day.selectedIndex");
        var day=eval("f." + dateName + "Day.options[opt].text");
        opt=eval("f." + dateName + "Month.selectedIndex");
        var month=eval("f." + dateName + "Month.options[opt].value");
        opt=eval("f." + dateName + "Year.selectedIndex");
        var year=eval("f." + dateName + "Year.options[opt].text");
        return checkDate(day, month, year);
  }

  function validateSlashDate(ddmmyy)
  {
    var dateArray=ddmmyy.split("/");
        var d=dateArray[0];
        var m=dateArray[1];
        var y=dateArray[2];
        if (empty(d) || empty(m) || empty(y)) {return false;}
        var valid=checkDate(d, m, y);
        return valid;
  }

  var slideShowOn = false;
  var slideShowTimer;
  function slideShow()
  {
    if (slideShowOn)
    {
      window.clearInterval(slideShowTimer);
      slideShowOn = false;
    }
    else
    {
      slideShowTimer = window.setInterval ('nextPic();', 2000);
      slideShowOn = true;
    }

    if (bannersFound && !bannerDisplayStarted)
    {
      bannerDisplayStarted = true;
      startBannerRotation();
    }
  }

