function showModis(show) {
  showDiv('modisdate', show);
}

function setModis() {
  var mdf = document.forms['modis_date'];
  if (mdf.recent.checked) mf.modis_date.value = '';
  else mf.modis_date.value = mdf.year.value + "-" + mdf.month.value + "-" + mdf.day.value;
  if (mf.tmodis_date) {
    if (mdf.trecent.checked) mf.tmodis_date.value = '';
    else mf.tmodis_date.value = mdf.tyear.value + "-" + mdf.tmonth.value + "-" + mdf.tday.value;
  }
  if (mf.layer_remote_modis.checked || (mf.tmodis_date && mf.tlayer_remote_modis.checked)) getMap(false);
  showDiv('modisdate', false);
}

function initModis() {
  var mdf = document.forms['modis_date'];
  initYears(false);
  initMonths(true, false);
  if (mdf.tyear) {
    initYears(true);
    initMonths(true, true);
  }
}

function initYears(tlayer) {
  var mdf = document.forms['modis_date'];
  var ctl = (tlayer) ? mdf.tyear : mdf.year;
  var d = new Date();
  for (var i=2004; i<= d.getFullYear(); i++) {
    ctl.options[i-2004] = new Option(i, i);
    if (i == d.getFullYear()) ctl.selectedIndex = i - 2004;
  }
}

function initMonths(current, tlayer) {
  var mdf = document.forms['modis_date'];
  var i, month, year, ctl;
  if (tlayer) {
    year = mdf.tyear.value;
    ctl = mdf.tmonth;
  } else {
    year = mdf.year.value;
    ctl = mdf.month;
  }
  var d = new Date();
  var month = (current) ? d.getMonth() : mdf.month.value - 1;
  var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  ctl.options.length = 0;
  if (year == "2004") ctl.options[0] = new Option('December', '12');
  else if (year == d.getFullYear()) {
    for (i=0; i<=d.getMonth(); i++) {
      ctl.options[i] = new Option(months[i], i+1);
      if (i == month) ctl.selectedIndex = i;
    }
  } else {
    for (i=0; i<12; i++) {
      ctl.options[i] = new Option(months[i], i+1);
      if (i == month) ctl.selectedIndex = i;
    }
  }
  initDays(current, tlayer);
}

function initDays(current, tlayer) {
  var mdf = document.forms['modis_date'];
  var year, month, ctl;
  var d = new Date();
  var start = 1;
  if (tlayer) {
    year = mdf.tyear.value;
    month = mdf.tmonth.value;
    ctl = mdf.tday;
  } else {
    year = mdf.year.value;
    month = mdf.month.value;
    ctl = mdf.day;
  }
  var day = (current) ? d.getDate() - 2 : ctl.value - 1;
  var month_days = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  var num_days = month_days[month-1];
  if ((month == 2) && (((year - 2004) % 4) == 0)) num_days = num_days + 1;
  if (year == 2004) start = 25;
  if ((year == d.getFullYear()) && (month == (d.getMonth() + 1))) num_days = d.getDate() - 1;
  ctl.options.length = 0;
  for (var i=start; i<=num_days; i++) {
    ctl.options[i-start] = new Option(i, i);
    if ((i-start) == day) ctl.selectedIndex = i - start;
  }
}
