function submitLoginForm(){
  var myErr = '';
  if (document.loginForm.Email.value == ''){
    myErr = myErr + '* You must enter your username\n';
  }
  if (document.loginForm.Password.value == ''){
    myErr = myErr + '* You must enter your password\n';
  }

  if (myErr == ''){
    return true;
  }
  else{
    alert(myErr);
    return false;
  }
}

function submitHeaderLoginForm(){
  var myErr = '';
  if (document.headerLoginForm.Email.value == ''){
    myErr = myErr + '* You must enter your username\n';
  }
  if (document.headerLoginForm.Password.value == ''){
    myErr = myErr + '* You must enter your password\n';
  }

  if (myErr == ''){
    return true;
  }
  else{
    alert(myErr);
    return false;
  }
}


function validEmail(emailString){
  if (emailString.indexOf("@") == -1){
    return false;  //contains no @ sign
  }
  else{
    var temp = emailString.split("@");
    if ((temp[0].length == 0) || (temp[1].length == 0) || (temp.length > 2)){
      return false;  //nothing either before or after the @ sign, or contains more than 1 @ sign
    }
    else{
      var validCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&'*+-./=?^_`{|}~";
      for (i=0; i<temp[0].length; i++){
        if (validCharacters.indexOf(temp[0].charAt(i)) == -1){
          return false;  //first part of email address does not contain a valid character
        }
      }
      validCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-."
      for (i=0; i<temp[1].length; i++){
        if (validCharacters.indexOf(temp[1].charAt(i)) == -1){
          return false;  //second part of email address does not contain a valid character
        }
      }
      if ((temp[1].indexOf(".") == -1) || (temp[1].indexOf(".") == 0) || (emailString.lastIndexOf(".") == (emailString.length - 1))){
        return false;  //either no dot found, dot is straight after the @ sign or dot is at the end of the address
      }
    }
  }
  return true;
}

function validPhone(numString){
  var validCharacters = "0123456789 ext.()+";
  for (i=0; i<numString.length; i++){
    if (validCharacters.indexOf(numString.charAt(i)) == -1){
      return false;  //phone number does not contain a valid character
    }
  }
  return true;
}

function validNumber(numString){
  var validCharacters = "0123456789.";
  for (i=0; i<numString.length; i++){
    if (validCharacters.indexOf(numString.charAt(i)) == -1){
      return false;  //number does not contain a valid character
    }
  }
  return true;
}

function validDate(dateStr) {
  // validates dates in the format DD/MM/YYYY
  var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
  if (reg2.test(dateStr) == false) {
    return false;
  }
  var parts = dateStr.split(RegExp.$1);
  var dd = parts[0];
  var mm = parts[1];
  var yy = parts[2];
  var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
  if (parseFloat(dd) != dt.getDate()) {
    return false;
  }
  if (parseFloat(mm)-1 != dt.getMonth()) {
    return false;
  }
  return true;
}

function validPassword(strToValidate){
  var validCharacters = "ABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
  strToValidate = strToValidate.toUpperCase()
  for (i=0; i<strToValidate.length; i++){
    if (validCharacters.indexOf(strToValidate.charAt(i)) == -1){
      return false;
    }
  }
  return true;
}
