var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var today = now.getDate();
//var today = new Date(2009,12,14);
now.setDate(1);
var startDay = now.getDay();//曜日0-6
var monthdays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var dateMax = monthdays[month - 1];
if (month == 2 && ((year%4 == 0 && year%100 != 0) || year%400 == 0)) dateMax = 29;
// 休日配列の初期化
var holidays = new Array();
for (var i = 0; i <= dateMax; i++) holidays[i] = 0;

//--------------------------------------------------------------------------------------------------------------------

// 祝日1：何月の何日か？
// 定休日を追加してください定休日が日曜日のときは追加する必要はありません。
//例　1月2日と1月3日を追加
//var Holidays1 = new Array();

var Holidays1 = new Array();

//--------------------------------------------------------------------------------------------------------------------
var firstSunday = (startDay == 0) ? 1: 8 - startDay;
for (i = 0; i < Holidays1.length; i += 2) {
  if (Holidays1[i] == month) {
    holidays[Holidays1[i+1]] = 1;
    for (var j = firstSunday; j < dateMax; j += 7)
      if (Holidays1[i+1] == j ) { holidays[j+1] = 1; break; }  // 振替休日
  }
}
// 祝日2：何月の第何月曜日か？
var Holidays2 = new Array();
var firstMonday = (startDay < 2) ? 2 - startDay: 9 - startDay;

//第三水曜日
var teikyuubi = firstMonday + 16;

for (i = 0; i < Holidays2.length; i += 2)
  if (Holidays2[i] == month) holidays[(Holidays2[i+1] - 1) * 7 + firstMonday] = 1;
var days = new Array("日", "月", "火", "水", "木", "金", "土");

document.write("<div class='calen_div'>");
document.write("<table class='calen'>\n<tr class='bg1'><th colspan=7>"
  + year + "年 " + month + "月</th></tr>\n");
document.write("<tr class='bg2'><th class='sun'>" + days[0] + "</th>");

for (i = 1; i < 6; i++) document.write("<th>" + days[i] + "</th>");
document.write("<th class='sat'>" + days[6] + "</th></tr>\n");
var col = 0;
var s1;
if (startDay > 0) {
  document.write("<tr>");
  for ( ; col < startDay; col++) document.write("<td>&nbsp;</td>");
}

for (i = 1; i <= dateMax; i++) {
  if (col == 0) document.write("<tr>");
  if (i == today) {
    if (holidays[i] == 1 || col == 0) s1 = "<td class='today sun'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
    else if (col == 1) s1 = "<td class='today mon'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
/*
    else if (col == 2){
	 s1 = "<td class='today closed'>" + i;
    }
    else if (col == 3 && i == teikyuubi){
    	s1 = "<td class='today closed'>" + i;
    }
*/
    else if (col == 6) s1 = "<td class='today sat'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
    else s1 = "<td class='today'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
  }
  else if (holidays[i] == 1 || col == 0) s1 = "<td class='sun'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
  else if (col == 1) s1 = "<td class='mon'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
/*
  else if (col == 2) {
		s1 = "<td class='closed'>" + i;
  }
  else if (col == 3 && i == teikyuubi){
  	s1 = "<td class='closed'>" + i;
  }
*/
  else if (col == 6) s1 = "<td class='sat'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
  else s1 = "<td>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
  document.write(s1 + "</td>");
  if (col == 6) { document.write("</tr>\n"); col = 0; } else col++;
}
if (col != 0) {
  for ( ; col < 7; col++) document.write("<td>&nbsp;</td>");
  document.write("</tr>");
}
document.write("</table>");

document.write("</div>");

month = now.getMonth() + 2;
//次の年の処理
if(month > 12){
    month = 1;
    year = year + 1;
    now.setFullYear(year);
}
now.setMonth(month - 1);
now.setDate(1);
startDay = now.getDay();
dateMax = monthdays[month - 1];
if (month == 2 && ((year%4 == 0 && year%100 != 0) || year%400 == 0)) dateMax = 29;
// 休日配列の初期化
holidays = new Array();
for (i = 0; i <= dateMax; i++) holidays[i] = 0;

firstSunday = (startDay == 0) ? 1: 8 - startDay;
for (i = 0; i < Holidays1.length; i += 2) {
  if (Holidays1[i] == month) {
    holidays[Holidays1[i+1]] = 1;
    for (j = firstSunday; j < dateMax; j += 7)
      if (Holidays1[i+1] == j ) { holidays[j+1] = 1; break; }  // 振替休日
  }
}

firstMonday = (startDay < 2) ? 2 - startDay: 9 - startDay;

//第三水曜日
teikyuubi = firstMonday + 16;

for (i = 0; i < Holidays2.length; i += 2)
  if (Holidays2[i] == month) holidays[(Holidays2[i+1] - 1) * 7 + firstMonday] = 1;
document.write("<div class='calen_div'>");
document.write("<table class='calen'>\n<tr class='bg1'><th colspan=7>"
  + year + "年 " + month + "月</th></tr>\n");
document.write("<tr class='bg2'><th class='sun'>" + days[0] + "</th>");

for (i = 1; i < 6; i++) document.write("<th>" + days[i] + "</th>");
document.write("<th class='sat'>" + days[6] + "</th></tr>\n");
col = 0;
s1 = '';
if (startDay > 0) {
  document.write("<tr>");
  for ( ; col < startDay; col++) document.write("<td>&nbsp;</td>");
}

for (i = 1; i <= dateMax; i++) {
	  if (col == 0) document.write("<tr>");
	  if (i == today) {
	    if (holidays[i] == 1 || col == 0) s1 = "<td class='today sun'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	    else if (col == 1) s1 = "<td class='today mon'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	    else if (col == 2){
		 s1 = "<td class='today closed'>" + i;
	    }
	    else if (col == 3 && i == teikyuubi){
	    	s1 = "<td class='today closed'>" + i;
	    }
	    else if (col == 6) s1 = "<td class='today sat'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	    else s1 = "<td class='today'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	  }
	  else if (holidays[i] == 1 || col == 0) s1 = "<td class='sun'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	  
	/*
	  else if (col == 1) s1 = "<td class='mon'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	  else if (col == 2) {
			s1 = "<td class='closed'>" + i;
	  }
	  else if (col == 3 && i == teikyuubi){
	  	s1 = "<td class='closed'>" + i;
	  }
	*/
	  else if (col == 6) s1 = "<td class='sat'>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	  else s1 = "<td>" + '<a href="/booklists/index/' + year + '-' + month + '-' + i + '">' + i +  "</a>";
	  document.write(s1 + "</td>");
	  if (col == 6) { document.write("</tr>\n"); col = 0; } else col++;
}
if (col != 0) {
  for ( ; col < 7; col++) document.write("<td>&nbsp;</td>");
  document.write("</tr>");
}
document.write("</table>");

document.write("</div>");
