// JavaScript Document
var kabe_sun = "#ffeded";
var kabe_mon = "#efefef";
var kabe_tue = "#efefef";
var kabe_wed = "#efefef";
var kabe_thu = "#efefef";
var kabe_fri = "#efefef";
var kabe_sat = "lightblue";
var firstAltMsg = "&nbsp";
var firstAltYMD = "&nbsp";

//行事テーブル(フラグ(1:祝日 2:記念日など),月,日,メッセージ)
var gyouji_tbl2007 = new Array(
1, 1, 1, "元旦",
1, 1, 8, "成人の日",
1, 2, 11, "建国記念の日",
1, 4, 29, "みどりの日",
1, 5, 3, "憲法記念日",
1, 5, 4, "国民の休日",
1, 5, 5, "こどもの日",
1, 7, 16, "海の日",
1, 9, 17, "敬老の日",
1, 10, 8, "体育の日",
1, 11, 3, "文化の日",
1, 11, 23, "勤労感謝の日",
1, 12, 23, "天皇誕生日",
1, 3, 21, "春分の日",
1, 1, 2, "",
1, 1, 3, "",
1, 1, 4, "",
1, 2, 12, "",
1, 4, 30, "振替休日",
1, 8, 13, "",
1, 8, 14, "",
1, 8, 15, "",
1, 8, 16, "",
1, 9, 24, "",
1, 11, 26, "社内研修",
1, 12, 24, "振替休日",
1, 12, 31, ""
);
var gyouji_tbl2008 = new Array(
1, 1, 1, "元旦",
1, 1, 2, "正月休み",
1, 1, 3, "正月休み",
1, 1, 14, "",
1, 2, 11, "",
1, 3, 20, "",
1, 4, 29, "",
1, 5, 5, "",
1, 5, 6, "",
1, 7, 21, "",
1, 8, 13, "",
1, 8, 14, "",
1, 8, 15, "",
1, 9, 15, "",
1, 9, 23, "",
1, 10, 10, "",
1, 10, 13, "",
1, 11, 3, "",
1, 11, 24, "",
1, 12, 23, "",
1, 12, 29, "",
1, 12, 30, "",
1, 12, 31, ""
);
var gyouji_tbl2009 = new Array(
1, 1, 1, "",
1, 1, 2, "",
1, 1, 3, "",
1, 1, 12, "",
1, 2, 11, "",
1, 3, 20, "",
1, 4, 29, "",
1, 5, 4, "",
1, 5, 5, "",
1, 5, 6, "",
1, 7, 20, "",
1, 8, 12, "",
1, 8, 13, "",
1, 8, 14, "",
1, 9, 21, "",
1, 9, 22, "",
1, 9, 23, "",
1, 10, 12, "",
1, 11, 2, "",
1, 11, 3, "",
1, 11, 23, "",
1, 12, 23, "",
1, 12, 30, "",
1, 12, 31, ""
);
var gyouji_tbl2010 = new Array(
1, 1, 1, "",
1, 1, 2, "",
1, 1, 3, "",
1, 1, 4, "",
1, 1, 11, "",
1, 2, 11, "",
1, 3, 22, "",
1, 4, 29, "",
1, 5, 3, "",
1, 5, 4, "",
1, 5, 5, "",
1, 7, 19, "",
1, 8, 11, "",
1, 8, 12, "",
1, 8, 13, "",
1, 9, 20, "",
1, 9, 23, "",
1, 10, 11, "",
1, 11, 3, "",
1, 11, 22, "",
1, 11, 23, "",
1, 12, 23, "",
1, 12, 30, "",
1, 12, 31, ""
);
var gyouji_tbl2011 = new Array(
1, 1, 1, "",
1, 1, 2, "",
1, 1, 3, "",
1, 1, 4, "",
1, 1, 10, "",
1, 2, 11, "",
1, 3, 21, "",
1, 4, 29, "",
1, 5, 3, "",
1, 5, 4, "",
1, 5, 5, "",
1, 7, 18, "",
1, 8, 12, "",
1, 8, 15, "",
1, 8, 16, "",
1, 9, 19, "",
1, 9, 23, "",
1, 10, 10, "",
1, 11, 3, "",
1, 11, 4, "",
1, 11, 23, "",
1, 12, 23, "",
1, 12, 30, "",
1, 12, 31, ""
);
var gyouji_tbl2012 = new Array(
1, 1, 1, "",
1, 1, 2, "",
1, 1, 3, "",
1, 1, 4, "",
1, 1, 9, "",
1, 3, 20, "",
1, 4, 30, "",
1, 5, 3, "",
1, 5, 4, "",
1, 7, 16, "",
1, 8, 13, "",
1, 8, 14, "",
1, 8, 15, "",
1, 9, 17, "",
1, 10, 8, "",
1, 11, 23, "",
1, 12, 24, "",
1, 12, 29, "",
1, 12, 30, "",
1, 12, 31, ""
);

function carenda(a_year,a_month){
  var now = new Date();
  var year;
  var month;
  var date;
  //var dValue = document.getElementById("dValue");

  if(a_year)
  	year = a_year;
  else
	year = now.getFullYear();
  
  if(a_month)
  	month = a_month;
  else
	month = now.getMonth()+1;
  date = now.getDate();

  if(year == 2007)
	var gyouji_tbl = gyouji_tbl2007;
  else if(year == 2008)
	var gyouji_tbl = gyouji_tbl2008;
  else if(year == 2009)
  	var gyouji_tbl = gyouji_tbl2009;
  else if(year == 2010)
  	var gyouji_tbl = gyouji_tbl2010;
  else if(year == 2011)
  	var gyouji_tbl = gyouji_tbl2011;
  else if(year == 2012)
  	var gyouji_tbl = gyouji_tbl2012;
  var kokuminLastCnt = gyouji_tbl.length / 4;

  //dValue.innerHTML = (new Date(year, month-1, 1)).getTime();

  var last_date = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var editMsg;
  if(month==2){
	if(year%4==0){
	  if((year%100==0) && (year%400!=0)){
	  }else{
		last_date[1] = 29;
	  }
	}
  }

  var b_month = month - 1;
  var b_year = year;
  if(b_month < 1){
	b_month = 12;
	b_year = year -1;
  }
  var n_month = month + 1;
  var n_year = year;
  if(n_month > 12){
	n_month = 1;
	n_year = year + 1;
  }

  editMsg = "";

  if(month == 12 && year == 2012){
	editMsg += "<TABLE class='calender_top'><TR><TD><span class='calender_top_center'><a href='javascript:carenda("+b_year+","+b_month+")'><<</a> "+year+"年"+month+"月の営業日</span></TD></TR>\n";
  }
  else if(month == 1 && year == 2011){
	editMsg += "<TABLE class='calender_top'><TR><TD><span class='calender_top_center'>"+year+"年"+month+"月の営業日 <a href='javascript:carenda("+n_year+","+n_month+")'>>></a></span></TD></TR>\n";
  }
  else{
	editMsg += "<TABLE class='calender_top'><TR><TD><span class='calender_top_center'><a href='javascript:carenda("+b_year+","+b_month+")'><<</a> "+year+"年"+month+"月の営業日 <a href='javascript:carenda("+n_year+","+n_month+")'>>></a></span></TD></TR>\n";
  }
  
  editMsg += "<table class='calender_yobi'>";
  
  editMsg += "<tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td></tr>";
  
  editMsg += "<tr>";
  
  for(dayIndex=0; dayIndex<(new Date(year,month-1,1)).getDay(); dayIndex++){
	editMsg += defTD("&nbsp;","white","white",bord);
  }
  
  for(i=1; i<=last_date[month-1]; i++){
	if(i!=1 && dayIndex == 0){
	  editMsg += "</tr><tr>";
	}
	
  var kabeColor;
  var fontColor;
  var altYMD = year + "/" + month + "/" + i;
  var altMsg = "&nbsp";
  var bord = "";

  switch(dayIndex){
	case 0:
	  fontColor = "red";
	  kabeColor = kabe_sun;
	  break;
	case 1:
	  fontColor = "black";
	  kabeColor = kabe_mon;
	  break;
	case 2:
	  fontColor = "black";
	  kabeColor = kabe_tue;
	  break;
	case 3:
	  fontColor = "black";
	  kabeColor = kabe_wed;
	  break;
	case 4:
	  fontColor = "black";
	  kabeColor = kabe_thu;
	  break;
	case 5:
	  fontColor = "black";
	  kabeColor = kabe_fri;
	  break;
	case 6:
	  fontColor = "red";
	  kabeColor = kabe_sat;
	  break;
  }
  
	
	for(var j=0; j<kokuminLastCnt; j++){
	  if(gyouji_tbl[j*4+1] == month && gyouji_tbl[j*4+2] == i){
		if(gyouji_tbl[j*4] == 1){
		  fontColor = "red";
		}else{
		  kabeColor = "lightgreen";
		}
	  }
	}	


	if(i==date){
	  for(var j=0; j<kokuminLastCnt; j++){
		if(gyouji_tbl[j*4+1] == month && gyouji_tbl[j*4+2] == i){
		  if(gyouji_tbl[j*4] == 1){
			fontColor = "red";
		  }
		  else{
			fontColor = "black";
		  }
		}
	  }
	  kabeColor = "#ffcc66";
	}
	
	if(i==date && month == (now.getMonth()+1) && year==now.getFullYear()){
		bord = " style='border:1px solid #CCCCCC;background-color:#ffcccc;'";
	}
	else
		bord = " style='border:1px solid #CCCCCC'";
	
	editMsg += defTD(i,fontColor,kabeColor,bord);
	
	if(dayIndex == 6){
	  editMsg += "</TR>";
	}
	dayIndex++; dayIndex%=7;
  }
  if(dayIndex!=7){
	editMsg += "</TR>";
  }
  editMsg += "<TR><TD colspan='7' style='padding-top:5px;border-top:1px solid #CCCCCC;'>黒色：営業日　　<font color='red'>赤色</font>：休日</TD></TR>";
  editMsg += "</TABLE>";
  
  document.getElementById("carenda").innerHTML = editMsg;
}

function defTD(str, iro, kabe ,bord){
  return "<TD class='calender_main_text1'"+bord+"><font color='"+iro+"'>" + str + "</font></TD>";
}


