var is_hidden = false;
var is_marked = false;

function formatDate(da) {
  m = da.getMonth() + 1;
  if ( m < 10)
    m = '0' + m;
  d = da.getDate();
  if ( d < 10)
    d = '0' + d;
  return da.getFullYear() + '-' + m + '-' + d;
}

function allClicked(f, chked) {
  fl = f.elements.length;
  for (i = 0; i < fl; i++) {
    e = f.elements[i];
    if (e.id.substr(0, 2) == "c_")
      e.checked = (chked ? false : true);
  }
  if (chked)
    f.cat.value = 0;
  else
    f.cat.value = 454647;
}

function doSubmit(f) {
  fl = f.elements.length;
  
  var dFrom, dTo;

  for (i = 0; i < fl; i++) {
    e = f.elements[i];
    if (e.name == "cat" && e.value == 0) {
      alert("Please select a release category!");
      return false;
    }
    if ((e.name == "from" || e.name == "to") && !ft_fromto && (f.from.value != "" || f.to.value != "")) {
      bad = false;
      re = /^[1-9][0-9][0-9][0-9]-[0-9]{2}-[0-9]{2}$/;
      if (!re.test(e.value))
        bad = true;
      else {
        dp = e.value.match(/[0-9]+/g);
        d = new Date(dp[0], --dp[1], dp[2]);
        if (e.name == "from")
          dFrom = d;
        else
          dTo = d;
        if (formatDate(d) != e.value)
          bad = true;
      }
      if (bad) {
        alert("Please enter a valid date in format YYYY-MM-DD!");
        e.focus();
        return false;
      }
    }
  }

  /*if (dTo - dFrom > 6 * 24 * 60 * 60 * 1000 || dTo - dFrom < 0) {
    alert("The largest date range is seven days!");
    return false;
  }*/

  if (ft_inc)
    f.inc.value='';
  if (ft_exc)
    f.exc.value='';
  if (ft_fromto) {
    f.from.value = '';
    f.to.value ='';
  }
  return true;
}

function setCat(cb, cat) {
  if (cb.checked)
    cb.form.cat.value = cb.form.cat.value | cat;
  else
    cb.form.cat.value = cb.form.cat.value & ~cat;
}

function setLang(cb) {
  if (cb.checked)
    cb.form.lang.value = 1;
  else
    cb.form.lang.value = 0;
}

function hideClicked() {
  if (num_noneng > 0) {
    if (is_hidden) {
      for (i = 1; i <= num_noneng; i++)
        document.getElementById('f' + i).style.display = '';
      document.getElementById('hidelang').value = 'Hide non-english';
      is_hidden = false;
    }
    else {
      for (i = 1; i <= num_noneng; i++)
        document.getElementById('f' + i).style.display = 'none';
      document.getElementById('hidelang').value = 'Show non-english';
      is_hidden = true;
    }
  }
  return false;
}

function markClicked() {
  if (num_noneng > 0) {
    if (is_marked) {
      for (i = 1; i <= num_noneng; i++)
        document.getElementById('f' + i).style.color = '';
      document.getElementById('marklang').value = 'Mark non-english';
      is_marked = false;
    }
    else {
      for (i = 1; i <= num_noneng; i++)
        document.getElementById('f' + i).style.color = '#8C5F00';
      document.getElementById('marklang').value = 'Unmark non-english';
      is_marked = true;
    }
  }
  return false;
}