      // **************************************************************************************
      //
      // This function checks that a valid email value was entered.
      //
      // **************************************************************************************

      function isAValidEmail(inputField, enteredPhoneNumber, PhoneNumber)
      {
        var foundAt = false;
        var foundDot = false;
        var atPosition = -1;
        var dotPosition = -1;

        //  Check that at least one character was entered
        //
        if (inputField.value.charAt(0) != "")
        {
          // For each character entered
          //
          for (var i=0; i <= inputField.value.length; i++) 
          {
            // Check if the '@' character was found so, ark position
            //
            if (inputField.value.charAt(i) == "@")
            {
              foundAt = true;
              atPosition = i;
            }
 
            // Check if the '.' character was found.  If so, mark position
            //
            else if (inputField.value.charAt(i) == ".")
            {
              foundDot = true;
              dotPosition = i;
            }
          }

          // If both the '@' and '.' characters were found, check that the '@' character
          // was found before the '.' character.
          //
          if ((foundAt && foundDot) && (atPosition < dotPosition))
            return true;
          else
          {
            inputField.value = "";
            inputField.focus();
            alert('You entered an invalid Email address.  Please re-enter.');
            return false;
          }
        }
        else
        {
          if (!enteredPhoneNumber)
          {
            PhoneNumber.value="";
            PhoneNumber.focus();
            alert('You must enter either a valid phone number or email address.  Please re-enter.');
            return false;
          }
          else
            return true;
        }
      }

      // **************************************************************************************
      //
      // This function checks that at least one character was entered into the specified field.
      //
      // **************************************************************************************

      function ValidateRequiredText(RequiredField, WarningText)
      {
        //  Check to be sure at least one character was entered for the name
        //
        if (RequiredField.value.charAt(0) != " " && RequiredField.value.charAt(0) != "")
        {
          return true;
        }
        alert('You must enter your '+WarningText);
        RequiredField.focus();
        return false;
      }

      // **************************************************************************************
      //
      // This function checks that specified phone number was entered correctly.
      //
      // **************************************************************************************

      function CheckFormat(PhoneNumber)
      {
        var valid = true;
        var PhoneNumberMaxLength = 12;
        var AreaCodeAndExchangeLength = 3;
        var LastNumbersLength = 4;
        var SegmentsToCheck = 3;
        var LoopCounter;
        var Offset = 0;

        //  Check if user entered a phone number
        //
        if(PhoneNumber.value.length == 0)
          return false;       

        // Check that the length equals 12 (format xxx-xxx-xxxx)
        // 
        if (PhoneNumber.value.length != PhoneNumberMaxLength)
          valid = false;
        else
        {
          // Set counter to check area code for valid numbers
          //
          LoopCounter = AreaCodeAndExchangeLength;

          // Check the entire number or until an error is found
          //
          for (var i=0; valid && i < SegmentsToCheck; i++)
          {
            // Check for valid numbers
            //
            for (var j=0+Offset; j < LoopCounter+Offset; j++)
            {
              if (PhoneNumber.value.charAt(j) != " ")
              {
                //  Found a non-numeric character.  Set as an error
                //
                if ((!parseInt(PhoneNumber.value.charAt(j))) && (parseInt(PhoneNumber.value.charAt(j)) != 0))
                {
                  valid = false;
                  break;
                }
              }

              // Found a space character in phone number.  Set as an error
              //
              else
              {
                valid = false;
                break;
              }
            }
 
            // If no previous errors detected.  Check for a '-' character.
            //
            if (valid && (j != PhoneNumberMaxLength))
            {
              if (PhoneNumber.value.charAt(LoopCounter+Offset) != '-')
                valid = false;
            }
 
            //  Adjust loop counters to check next segment of phone number
            //
            Offset = Offset + LoopCounter + 1;
            if (i == 1)
              LoopCounter = LastNumbersLength;
          }
        }
        
        //  Check if a valid number was detected.  If not, display error message
        //
        if (!valid)
        {
          alert('Please enter a valid phone number using the format xxx-xxx-xxxx');
          return false;
        }
 
        // All phone numbers have been entered correctly.
        //
        return true;
      }


      // Function to locate web addresses, and place in links
      //
      function ValidateWebAddress(addr)
      {
        startpos = endpos = 0;

        //  Check if user entered a web address
        //
        if(addr.value.length == 0)
          valid = false;       
        else
        {
          //  Check that the address starts with 'www'
          //
          if ((startpos = addr.value.indexOf('www')) != -1)
          {
            if (((endpos = addr.value.indexOf('.com')) ||
                 (endpos = addr.value.indexOf('.org')) ||
                 (endpos = addr.value.indexOf('.edu')) ||
                 (endpos = addr.value.indexOf('.net')) ||
                 (endpos = addr.value.indexOf('.biz')) ||
                 (endpos = addr.value.indexOf('.us'))  ||
                 (endpos = addr.value.indexOf('.info'))||
                 (endpos = addr.value.indexOf('.uk'))) && (endpos > startpos))
              valid = true;
            else
              valid = false;
          }
          else
           valid = false;
        }
        
        //  Check if a valid web address was detected.  If not, display error message
        //
        if (!valid)
        {
          alert('Please enter a valid web address using the format www.<yoursite>.com|net|org|edu|biz|us|info|uk');
          addr.focus();
          return false;
        }
 
        // The web address has been entered correctly.
        //
        return true;
      }

