
function isValidEmail(email, required) {
    if (required==undefined) {   
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
        return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
        return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}




function isValidPhone(phone, required) {
    if (required==undefined) {   
        required=true;
    }
    if (phone==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (phone.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidCharsForPhone(phone)) {  
        return false;
    }
 return true;
}


function allValidCharsForPhone(phone) {
  var parsed = true;
  var validchars = "+0123456789";
  for (var i=0; i < phone.length; i++) {
    var letter = phone.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function CheckAll() {

  var chkAll = document.getElementById('allbox');

      var fmobj = document.f_view;
      for ( i=0; i < fmobj.elements.length; i++ ) {
        var e = fmobj.elements[i];
        if ((e.name != 'allbox') && (e.type=='checkbox')) {
                e.checked = chkAll.checked;
        }      
      }
}



