function addToList(lst,item) {
  if (lst > '') {
    return lst + ',' + item;
  } else {
    return item;
  }
}

function addToListX(lst,item) {
  //add item to list if its not in it already
  if (lst.indexOf(item.toLowerCase())==-1) {
    return addToList(lst,item);
  } else {
    return lst;
  }
}

function goodDate(v) {
  var good=false;
  if (isNaN(Date.parse(v))) {
    alert("Not a valid date.");
    return false;
  } else {
    var d = new Date(v);
    var y = d.getYear();
    if ((y >= 0) && (y <= 99)) {
      var d2 = new Date();
      var y2 = d2.getYear();
      if (y > 2) {       
        y += 1900;
      } else {
        y += 2000;
      }
    }
    if ((y < 1492) || (y > 2525)) {
      alert("Not a valid date - year must be between 1492 and 2525." + y);
      return false;
    } else {
      return (String(d.getMonth()+1) + '/' + d.getDate() + '/' + y);
    }
  }
}

function isDate(v) {
  if (isNaN(Date.parse(v))) {
    return false;
  } else {
    var d = new Date(v);
    var y = d.getYear();
    if ((y >= 0) && (y <= 99)) {
      var d2 = new Date();
      var y2 = d2.getYear();
      if ((2000+y) > y2) {       
        y += 1900;
      } else {
        y += 2000;
      }
	d = new Date(y,d.getMonth(),d.getDate())
    }
    if ((y < 1492) || (y > 2525)) {
      return false;
    } else {
      return d;
    }
  }
}

function goodFloat(v) {
  if (isNaN(parseFloat(fldVal))) {
    alert("Not a valid number.");
    return false;
  } else {
    return parseFloat(v);
  }
}

function goodInt(v) {
  if (isNaN(parseInt(v))) {
    alert("Not a valid integer.");
    return false;
  } else {
    return parseInt(v);
  }
}

function isNaInt(n) {
  if (isNaN(n)) return true;
  if (parseInt(n)!=n) return true;
  return false;
}

function sqlMultiStr(fldName,v) {
  if ((v.substring(0,1) == '~') && (v.length > 1)) {
    var nt1 = '(not '
    var nt2 = ')'
    v = v.substring(1,v.length) 
  } else {
    var nt1 = ''
    var nt2 = ''
  }
  var i = v.indexOf(',');
  if (i == -1) {
    //var sql = fldName + '=' + sqlStr(v);
    var sql = fldName + ' like ' + sqlStr(v+'%');
  } else {
    var sql = fldName + ' in ('; 
    while (i > -1) {
      sql += sqlStr(v.substring(0,i)) + ',';
      v = v.substring(i+1,v.length);
      i = v.indexOf(',');
    }//end while
    sql += sqlStr(v) + ')';
  }
  return nt1 + '(' + sql + ')' + nt2;
}

function sqlStr(v) {
  if (v.indexOf('\'')==-1) {
    return '\'' + v + '\'';
  } else {
    var sql = '\'';
    for (var i=0;i<v.length+1;i++) {
      sql += v.substring(i,i+1);
      if (v.substring(i,i+1) == '\'') {
        sql += '\'';
      }
    }
    return sql + '\'';
  }
}


