
// *********************************************************************************************************
// thanks for functions below - head first javascript - http://www.headfirstlabs.com/book/hfjs/
// *********************************************************************************************************
//
// validate data entered ie check field not empty
// pre-warn form field is empty
//
     function validateRegEx(regex, input, helpText, helpMessage) {
        // See if the input data validates OK
        if (!regex.test(input)) {
          // The data is invalid, so set the help message and return false
          if (helpText != null)
            helpText.innerHTML = helpMessage;
          return false;
        }
        else {
          // The data is OK, so clear the help message and return true
          if (helpText != null)
            helpText.innerHTML = "";
          return true;
        }
      }

      function validateNotEmpty(inputField, helpText) {
        // See if the input value contains any text
        return validateRegEx(/.+/,
          inputField.value, helpText,
          "<font size=1>No data found, Please enter a value.</font>");
      }


// *********************************************************************************************************
// validate data length entered 
// pre-warn form field if wrong
//
      function validateLength(minLength, maxLength, inputField, helpText) {
        // See if the input value contains at least minLength but no more than maxLength characters
        return validateRegEx(new RegExp("^.{" + minLength + "," + maxLength + "}$"),
          inputField.value, helpText,
          "Please enter a value " + minLength + " to " + maxLength +
          " characters in length.");
      }

// *********************************************************************************************************
// validate zip entered 
// pre-warn form field if wrong
//
      function validateZipCode(inputField, helpText) {
        // First see if the input value contains data
        if (!validateNotEmpty(inputField, helpText))
          return false;

        // Then see if the input value is a ZIP code
        return validateRegEx(/^\d{5}$/,
          inputField.value, helpText,
          "Please enter a 5-digit ZIP code.");
      }

// *********************************************************************************************************
// validate date entered 
// pre-warn form field if wrong
//
      function validateDate(inputField, helpText) {
        // First see if the input value contains data
        //if (!validateNotEmpty(inputField, helpText))
        //  return false;

        // Then see if the input value is a date
        return validateRegEx(/^\d{2}\/\d{2}\/(\d{2}|\d{4})$/,
          inputField.value, helpText,
          "<font size=1>Please enter a valid date (for example, 03/20/2008).</font>");
      }

// *********************************************************************************************************
// validate phone number entered 
// pre-warn form field if wrong
//
      function validatePhone(inputField, helpText) {
        // First see if the input value contains data
        if (!validateNotEmpty(inputField, helpText))
          return false;

        // Then see if the input value is a phone number
        return validateRegEx(/^\d{3}-\d{3}-\d{4}$/,
          inputField.value, helpText,
          "Please enter a valid phone number (for example, 123-456-7890).");
      }

// *********************************************************************************************************
// validate email entered 
// pre-warn form field if wrong
//
      function validateEmail(inputField, helpText) {
        // First see if the input value contains data
        //if (!validateNotEmpty(inputField, helpText))
        //  return false;

        // Then see if the input value is an email address
        return validateRegEx(/^[\w\.-_\+]+@[\w-]+(\.\w{2,3})+$/,
          inputField.value, helpText,
          "Please enter a valid email address (for example, johndoe@acme.com).");
      }


// ******************************************************************************************************
// check on send button click that email entered is valid
//
      function checkEmailOK(form) {
        if (validateEmail(form["emNew"], document.getElementById("emMsg"))) {
          // Submit the email address to the ajax routine on server
          addEmailToList();
        } else {
          alert("I'm sorry but there is something wrong with the email address you have entered.");
        }
      }



