function myCalendar(offset){

	var today = new Date();
	var year = today.getYear();
	var month = today.getMonth()+offset;
	var day = today.getDate();
	if (year < 1900) year += 1900;

	if (month >= 12){
		month -= 12;
		year += 1;
	}
	else if (month < 0){
		month + 12;
		year -= 1;
	}
	var toMonth = new Date(year,month,1);
	var nextMonth = new Date(year,(month + 1),1);
	var monthAfter = new Date(year,(month + 2),1);
	var toWeek = toMonth.getDay();
	var nextWeek = nextMonth.getDay();
	var toDays = (nextMonth.getTime() - toMonth.getTime())/(24*60*60*1000);
	var nextDays = (monthAfter.getTime() - nextMonth.getTime())/(24*60*60*1000);
	var toCnt = (7-(toWeek + toDays)%7)%7;
	var nextCnt =(7-(nextWeek + nextDays)%7)%7;
	/*var linefeed;*/
	
	var monthName = new Array('1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月');
	
	var holyday = new Object();

	//定休日を"1"になるように日付を列挙する。	
	holyday["2009/12/6"] = 1;
	holyday["2009/12/13"] = 1;
	holyday["2009/12/20"] = 1;
	holyday["2009/12/23"] = 1;
	holyday["2009/12/27"] = 1;
	holyday["2009/12/30"] = 1;
	holyday["2009/12/31"] = 1;
	holyday["2010/1/1"] = 1;
	holyday["2010/1/2"] = 1;
	holyday["2010/1/3"] = 1;
	holyday["2010/1/10"] = 1;
	holyday["2010/1/11"] = 1;
	holyday["2010/1/17"] = 1;
	holyday["2010/1/24"] = 1;
	holyday["2010/1/31"] = 1;
	holyday["2010/2/7"] = 1;
	holyday["2010/2/11"] = 1;
	holyday["2010/2/14"] = 1;
	holyday["2010/2/21"] = 1;
	holyday["2010/2/28"] = 1;
	holyday["2010/3/7"] = 1;
	holyday["2010/3/14"] = 1;
	holyday["2010/3/21"] = 1;
	holyday["2010/3/22"] = 1;
	holyday["2010/3/28"] = 1;
	holyday["2010/4/4"] = 1;
	holyday["2010/4/11"] = 1;
	holyday["2010/4/18"] = 1;
	holyday["2010/4/25"] = 1;
	holyday["2010/4/29"] = 1;
	holyday["2010/5/2"] = 1;
	holyday["2010/5/3"] = 1;
	holyday["2010/5/4"] = 1;
	holyday["2010/5/5"] = 1;
	holyday["2010/5/9"] = 1;
	holyday["2010/5/16"] = 1;
	holyday["2010/5/23"] = 1;
	holyday["2010/5/30"] = 1;
	holyday["2010/6/6"] = 1;
	holyday["2010/6/13"] = 1;
	holyday["2010/6/20"] = 1;
	holyday["2010/6/27"] = 1;
	holyday["2010/7/4"] = 1;
	holyday["2010/7/11"] = 1;
	holyday["2010/7/18"] = 1;
	holyday["2010/7/19"] = 1;
	holyday["2010/7/25"] = 1;
	holyday["2010/8/1"] = 1;
	holyday["2010/8/8"] = 1;
	holyday["2010/8/15"] = 1;
	holyday["2010/8/22"] = 1;
	holyday["2010/8/29"] = 1;
	holyday["2010/9/5"] = 1;
	holyday["2010/9/12"] = 1;
	holyday["2010/9/19"] = 1;
	holyday["2010/9/20"] = 1;
	holyday["2010/9/23"] = 1;
	holyday["2010/9/26"] = 1;
	holyday["2010/10/3"] = 1;
	holyday["2010/10/10"] = 1;
	holyday["2010/10/11"] = 1;
	holyday["2010/10/17"] = 1;
	holyday["2010/10/24"] = 1;
	holyday["2010/10/31"] = 1;
	holyday["2010/11/3"] = 1;
	holyday["2010/11/7"] = 1;
	holyday["2010/11/14"] = 1;
	holyday["2010/11/21"] = 1;
	holyday["2010/11/23"] = 1;
	holyday["2010/11/28"] = 1;
	holyday["2010/12/5"] = 1;
	holyday["2010/12/12"] = 1;
	holyday["2010/12/19"] = 1;
	holyday["2010/12/23"] = 1;
	holyday["2010/12/26"] = 1;
	holyday["2010/12/30"] = 1;
	holyday["2010/12/31"] = 1;


	document.write("<table>");
	document.write("<caption>",monthName[month] ," ",year,"年</caption><tr>");
	document.write("<th style='color:#ff0000;'>日</th>");
	document.write("<th>月</th>");
	document.write("<th>火</th>");
	document.write("<th>水</th>");
	document.write("<th>木</th>");
	document.write("<th>金</th>");
	document.write("<th>土</th>");
	document.write("<tr>");
	
	for (i=1; i<=toWeek; i++) {
		document.write("<td>&nbsp;</td>");
	}
	for (i=1; i <= toDays; i++) {
		
		if ((toWeek+i)%7==0) linefeed = "</tr><tr>"; else linefeed = "";
		
		var monstr = month + 1;
		var todaystr = year + "/" + monstr + "/" + i;
		
		if(holyday[todaystr]==1){
			textColor = '#ff0000';
		}
		else{
			textColor = '#000000';
		}
		
		if(i == day && offset==0){
			putDay = "<strong>" + i + "</strong>";
		}
		else{
			putDay = i;
		}
		document.write("<td style='color: " + textColor + ";'>" + putDay + "</td>"+linefeed);
			
	}
	for (i=1; i <= toCnt; i++) {
		document.write("<td>&nbsp;</td>");
	}
	document.write("</tr>");
	document.write("</table>");
}