function calendar(next){

  d = new Date();
  nowyear = d.getYear();
  if (nowyear < 1900) nowyear += 1900;
  nowmon = d.getMonth();
  nowmonth = nowmon + 1;
  nowdate = d.getDate();
  
  wdname = new Array('日','月','火','水','木','金','土');

  buffer = document.location.search;
  buffer = buffer.replace("?","");
  buffer = buffer.split("&");
  query = new Array();
  for (i in buffer) {
    buf = buffer[i].split("=");
    query[buf[0]] = buf[1];
  }

  if (query['next']) {
    y = eval(query['year']);
    m = eval(query['mon']) + 1;
    target = new Date(y,m,1);
  }else{
    target = new Date(nowyear,nowmon,1);
  }

  year = target.getYear();
  if (year < 1900) year += 1900;
  mon = target.getMonth();
  month = mon + 1;
  if(month < 10){monthstr = '0' + month;}
  else          {monthstr = month;}

  for (i = 28; i <= 31; i++) {
    ldate = new Date(year,mon,i);
    if (ldate.getMonth() == mon) ld = i;
  }

  fwday = target.getDay();
  ldate = new Date(year,mon,ld);
  lwday = ldate.getDay();
  day = 1 - fwday;

  CAL  = '<table border=0 summary="この表は催し物・イベント該当日を示したカレンダーです。最初の行は曜日を、2行目以降は日付を表します。リンクのついた日付は催し物・イベントがある日で、クリックすると該当の催し物・イベントのページへジャンプします。">';
  CAL += '<caption>' + month + '月</caption>';
  CAL += '<tr class="week">';

  for (i in wdname) {
    if (i == 0){
      CAL += '<td><span class="sunday">' + wdname[i] + '</span></td>';
    }else{
      CAL += '<td><span>' + wdname[i] + '</span></td>';
    }
  }
  CAL += '</tr>';

  while (day <= ld) {
    CAL += '<tr>';
    for (i = 0; i < 7; i ++) {
      if (day < 1 || day > ld) CAL += '<td>&nbsp;</td>';
      else {
        link1 = '';
        link2 = '';
        if(day < 10){daystr = '0' + day;}
        else        {daystr = day;}
        if(eventym['' + year + monthstr + daystr]){
          link1 = '<a href="/cgi-bin/event/event.cgi?year1=' + year + '&month1=' + monthstr + '&day1=' + daystr + '&year2=' + year + '&month2=' + monthstr + '&day2=' + daystr + '">';
          link2 = '</a>';
//alert("L=" + '<a href="/cgi-bin/event/event.cgi?date=' + year + monthstr + daystr + '">');
        }
        if (year == nowyear && month == nowmonth && day == nowdate) {
          CAL += '<td>' + link1 + '<span class="today">' + day + '</span>' + link2 + '</td>';
//alert("L=" + '<td>' + link1 + '<span class="today">' + day + '</span>' + link2 + '</td>');
        }
        else {
          if(link1){
            CAL += '<td>' + link1 + day + link2 + '</td>';
          }else{
            CAL += '<td>' + link1 + '<span>' + day + '</span>' + link2 + '</td>';
          }
        }
      }
      day ++;
    }
    CAL += "</tr>";
  }
  CAL += "</table>";

  CAL += '<form>';
  CAL += '<div class="nextmonth">';
  CAL += '<input type="submit" name="crnt" value="今月">';
  CAL += '<input type="submit" name="next" value="翌月へ">';
  CAL += '<input type="hidden" name="year" value="' + year + '">';
  CAL += '<input type="hidden" name="mon" value="' + mon + '">';
  CAL += '</div>';
  CAL += '</form>';

  document.write(CAL);
}
