// ---------------------------------------------------------------------------
// Autor: Javier Muņoz
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
function days_in_february(year) {
  return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
// ---------------------------------------------------------------------------
function f_is_date(year, month, day) {
  var arr_days_in_month = new Array(null, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  if (year < 1) {
    return false;
  }
  if (month < 1 || month > 12) {
    return false;
  }
  if (day < 1 || day > 31) {
    return false;
  }
  if (day > arr_days_in_month[month]) {
    return false;
  }
  if ((month == 2) && (day > days_in_february(year))) {
    return false;
  }
  return true;
}
// ---------------------------------------------------------------------------
function is_email(string) {
  var regexp = /^[0-9a-z\-\_]+(.[0-9a-z\-\_]+)*@[0-9a-z\-]+(.[0-9a-z\-]+)*\.[0-9a-z][0-9a-z]+$/;
  return regexp.test(string);
}
// ---------------------------------------------------------------------------
function f_contiene_caracteres_extendidos(string) {
  var regexp = /^[0-9a-z]+$/;
  return !regexp.test(string);
}
// ---------------------------------------------------------------------------
function is_integer(string) {
  var regexp = /^-?[0-9]+$/;
  return regexp.test(string);
}
// ---------------------------------------------------------------------------
function move_option(from, to) {
  if (from.selectedIndex == -1) {
    alert("Por favor, seleccione un elemento de la lista");
    from.focus();
    return;
  }
  var value = from.options[from.selectedIndex].value;
  var text = from.options[from.selectedIndex].text;
  var option = new Option(text, value);
  to.options[to.length] = option;
  from.remove(from.selectedIndex);
}
// ---------------------------------------------------------------------------
function popup(url, name, width, height, left, top, dependent) {
  if (left == 0) {
    left = (screen.width - width) / 2;
  }
  if (top == 0) {
    top = (screen.height - height) / 2;
  }
  var popup = window.open(url, name, "dependent=" + dependent + ", height=" + height + ", left=" + left + ", resizable=no, scrollbars=yes, top=" + top + ", width=" + width);
  popup.focus();
}
// ---------------------------------------------------------------------------
function replace_str(string, find, replace) {
  var output = new String(string);
  if (output.length < 1) {
    return output;
  }
  var regexp = eval("/" + find + "/g");
  output = output.replace(regexp, replace);
  return output;
}
// ---------------------------------------------------------------------------
function f_trim(str) {
  var regexp = /^\s*|\s*$/g;
  return str.replace(regexp, "");
}
// ---------------------------------------------------------------------------
function format_number(input) {
  var pos = input.indexOf(".");
  var output = input;
  if (pos > -1) {
    output = input.substr(0, pos) + "," + input.substr(pos + 1, input.length);
  }
  return output;
}
// ---------------------------------------------------------------------------

