var global_flag = 'safe';

function warn(elem) {

    elem.style.background = '#f8bd80';

    if(elem.style.color == 'rgb(248, 189, 128)') {
        elem.style.color = 'white';
    }
       
    global_flag = 'warn';
   
}

function safe(elem) {
    elem.style.background = 'white';
}

// validates that the field value string has one or more characters in it
function isNotEmpty(elem) {

  var str = elem.value;
    var re = /.+/;
    if((!str.match(re)) || (elem.style.color == 'rgb(248, 189, 128)')) {
        warn(elem);
        return false;
    } else {
        safe(elem);
        return true;
    }

}

//validates that the entry is a positive or negative number
function isNumber(elem, empty) {

  if(empty) {
      if(!isNotEmpty(elem)) {
        return false;
      }
  }

  var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re)) {
        warn(elem);
        return false;
    }
    safe(elem);
    return true;
}

// validates that the entry is formatted as an e-mail address
function isEMailAddr(elem) {
 
  var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        warn(elem);
        return false;
    } else {
        safe(elem);
        return true;
    }
   
}