function theCalendar(theYear,theMonth)
{
	var wrtMonth= new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	var wrtDate = new Array("日","月","火","水","木","金","土");
	var wrtColor= new Array("#FF0000","#000000","#000000","#000000","#000000","#000000","#0000FF");
	var special = new Array(3,21, 9,23, 1,1, 1,15, 2,11, 4,29, 5,3, 5,4, 5,5, 7,20, 9,15, 10,10, 11,3, 11,23, 12,23);
	var specCol = "#FF0000";			//　休日の文字色
	var theDate = new Date();			//　日付オブジェクトを生成
	var theCurrentMonth = theDate.getMonth()+1;	//　現在の月を取得
	if (theYear >= 0)				//　年月が指定されていた場合は年月を再設定
	{
		theDate.setYear(theYear);		//　指定年を取得
		theDate.setMonth(theMonth-1);		//　指定月を取得
	}
	theYear = theDate.getYear();
	theMonth= theDate.getMonth()+1;
	if (theYear < 2000) theYear += 1900;		//　getFullYear()という手もある
	if (((theYear % 4 == 0) && (theYear % 100 != 0)) || (theYear % 400 == 0))
	{
		wrtMonth[2]++;				//　2月を29日にする
		special[1]++;				//　春分の日をずらす
		special[3]++;				//　秋分の日をずらす
	}
	theDate.setDate(1);				//　日付を１日にし曜日を次の行で取得
	var count = theDate.getDay();
	var day   = 0;					//　曜日カウンタを0にする
	var date  = 1;					//　日付を1日にする
	var flag  = false;				//　休日＆日曜日フラグ
	var hFlag = false;				//　休日フラグ
	var  i,j;
	
	with(document)
	{
		write("<table BORDER=1 BORDERCOLOR=pink cellpadding=1 cellspacing=0><TR><TH colspan=7>"+theYear+"年"+theMonth+"月</TH></TR>");
		write("<TR>");
		for(i=0;i<7;i++) write("<TH>",wrtDate[i],"</TH>");	//　曜日書き出し
		write("</TR>");
		flag = false;					//　休日が日曜日だった場合true
		for(i=1;i<=wrtMonth[theMonth]+count;i++)
		{
			hFlag = false;					//　休日だったらtrue
			if (day>=count)
			{
				wrt = ""+date;
				for(j=0; j<15; j++)
				{
					if ((special[j*2] == theMonth) && (special[j*2+1] == date))
					{
						wrt = wrt.fontcolor(specCol);
						if ((day % 7) == 0) flag = true;	//　休日が日曜日だったらtrue
						hFlag = true;
					}
				}
				date++;
			}else{
				wrt = "　";
			}
			if ((hFlag == false) && flag == false) wrt = wrt.fontcolor(wrtColor[day % 7]);
			if (((day % 7) == 1) && flag == true) { wrt = wrt.fontcolor(specCol); flag = false;}
			write("<TD align=right>"+wrt+"</TD>");
			if (day % 7 == 6) write("</TR><TR>");
			day++;			//　1日増やす
		}
		write("</TABLE>");
	}
}
