//--------------------------------------------------------------------------------------------------------------------
//カレンダー表示


// 臨時休業：何月の何日か？
//例　1月2日と1月3日
//var Holidays1 = new Array(1,2,1,3);
//例　1月2日
//var Holidays1 = new Array(1,2);

var Holidays1 = new Array(1,1,1,2,1,3,1,4,1,5);




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



var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var today = now.getDate();
now.setDate(1);
var startDay = now.getDay();
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();
//臨時の休日
var clossing = new Array();
for (var i = 0; i <= dateMax; i++) holidays[i] = 0;

var firstSunday = (startDay == 0) ? 1: 8 - startDay;
for (i = 0; i < Holidays1.length; i += 2) {
  if (Holidays1[i] == month) {
    clossing[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;
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, 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'>";
    else if (col == 1) s1 = "<td class='today mon'>";
    else if (col == 2 && (firstMonday + 8 == i || firstMonday + 15 == i)){
	 s1 = "<td class='today closed'>";
    }
    else if (col == 6) s1 = "<td class='today sat'>";
    else s1 = "<td class='today'>";
	if (clossing[i] == 1) s1 = "<td class='today closed'>";
  }
  else if (holidays[i] == 1 || col == 0) s1 = "<td class='sun'>";
  else if (col == 1) s1 = "<td class='mon'>";
  else if (col == 2) {
	if(firstMonday + 8 == i || firstMonday + 15 == i){
		s1 = "<td class='closed'>";	
	}else{
		s1 = "<td>";
	}
	tues += 1;
  }
  else if (col == 6) s1 = "<td class='sat'>";
  else s1 = "<td>";
  if (clossing[i] == 1) s1 = "<td class='closed'>";
  
  document.write(s1 + i + "</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>");

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

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

var firstMonday = (startDay < 2) ? 2 - startDay: 9 - startDay;
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");
var col = 0, s1;
if (startDay > 0) {
  document.write("<tr>");
  for ( ; col < startDay; col++) document.write("<td>&nbsp;</td>");
}

var tues = 0; //火曜日の出現数

for (i = 1; i <= dateMax; i++) {
  if (col == 0) document.write("<tr>");
  if (holidays[i] == 1 || col == 0) s1 = "<td class='sun'>";
  else if (col == 1) s1 = "<td class='mon'>";
  else if (col == 2) {
	if(firstMonday + 8 == i || firstMonday + 15 == i){
		s1 = "<td class='closed'>";	
	}else{
		s1 = "<td>";
	}
	tues += 1;
  }
  else if (col == 6) s1 = "<td class='sat'>";
  else s1 = "<td>";
  if (clossing[i] == 1) s1 = "<td class='closed'>";
  
  document.write(s1 + i + "</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>");
