function calendar () {
		var	date, today, year, month, day, week, msg, holiday;

		holiday	= false;
		msg	= "";

		//
		// 今日の日付取得
		//
		date	= new Date();
		year	= date.getYear();
		month	= date.getMonth();
		today	= date.getDate();

		//
		// browser check
		//
		var	browser = navigator.appName;
		if (browser.indexOf("Netscape") == -1) {
			//
			// ブラウザが Netscape Navigator 以外の処理
			// （つまり Internet Explore の時を想定している）
			//
			year += 1900;
		}
		else {
			//
			// ブラウザが Netscape Navigator の処理
			//
			if (year < 2000) {
				year += 1900;
			}
		}
		//
		// 日数設定
		//
		var	m_tbl = new Array(12);
		m_tbl[0] = 31;		// Jan
		m_tbl[1] = 28;		// Feb
		m_tbl[2] = 31;		// Mar
		m_tbl[3] = 30;		// Apr
		m_tbl[4] = 31;		// May
		m_tbl[5] = 30;		// Jun
		m_tbl[6] = 31;		// Jul
		m_tbl[7] = 31;		// Aug
		m_tbl[8] = 30;		// Sep
		m_tbl[9] = 31;		// Oct
		m_tbl[10] = 30;		// Nov
		m_tbl[11] = 31;		// Dec

		var	m_name_tbl = new Array(12);
		//////////////////////////////////////////////////////////
		// ***** ここからユーザーの設定箇所 (1) *****
		//
		// １．月名設定
		//     １月から１２月までの名称を設定できます。
		//      m_name_tbl[?] の ? は月から１引いた値が入ります。
		//      例えば m_name_tbl[0] で指定する名前は１月に当たります。
		//
		m_name_tbl[0] = "2007年 1月";
		m_name_tbl[1] = "2007年 2月";
		m_name_tbl[2] = "2007年 3月";
		m_name_tbl[3] = "2007年 4月";
		m_name_tbl[4] = "2007年 5月";
		m_name_tbl[5] = "2007年 6月";
		m_name_tbl[6] = "2007年 7月";
		m_name_tbl[7] = "2007年 8月";
		m_name_tbl[8] = "2007年 9月";
		m_name_tbl[9] = "2007年 10月";
		m_name_tbl[10] = "2007年 11月";
		m_name_tbl[11] = "2007年 12月";
		//
		// ***** ここからユーザーの設定箇所 (1) *****
		//////////////////////////////////////////////////////////

		//
		// 記念日データ格納用配列作成
		//
		var	msg_d = new Array(12);
		for (i = 0; i < 12; i++) {
			var	base = new Array(31);
			for (j = 0; j < 31; j++) {
				base[j] = "";
			}
			msg_d[i] = base;
		}
		//////////////////////////////////////////////////////////
		// ***** ここからユーザーの設定箇所 (2) *****
		//
		// １．記念日データ作成
		//     一般的なものは設定済みだが、付け加えたいものがあれば
		//     次の規則によって追加・変更可能。
		//     msg_d の [] には、１つ目が月から１を引いた値、２つ目が
		//     日から１を引いた値が入っている。つまり、msg_d[0][0]
		//     は１月１日に表示させる内容となる。この方式に従って
		//     書き加えることで、１年のどの月日にも内容を設定できる。
		//     msg_d[0][0] = "..." 等を作らなければ、何も表示されない。
		//     また祝日は _ から書き始める。
		//
		// １月
		msg_d[0][0] = "_元旦、休診日です";
		msg_d[0][1] = "_休診日です";
		msg_d[0][2] = "_休診日です";
		msg_d[0][7] = "_休診日です";
		msg_d[0][14] = "_休診日です";
		msg_d[0][21] = "_休診日です";
		msg_d[0][28] = "_休診日です";
		// ２月
		msg_d[1][3] = "_休診日です";
		msg_d[1][10] = "_休診日です";
		msg_d[1][17] = "_休診日です";
		msg_d[1][24] = "_休診日です";
		// ３月
		msg_d[2][4] = "_休診日です";
		msg_d[2][11] = "_休診日です";
		msg_d[2][18] = "_休診日です";
		msg_d[2][25] = "_休診日です";
		// ４月
		msg_d[3][1] = "_休診日です";
		msg_d[3][8] = "_内科のみ全休です";
		msg_d[3][15] = "_休診日です";
		msg_d[3][22] = "_休診日です";
		msg_d[3][29] = "_休診日です";
		// ５月
		msg_d[4][6] = "_休診日です";
		msg_d[4][13] = "_休診日です";
		msg_d[4][20] = "_休診日です";
		msg_d[4][27] = "_休診日です";
		// ６月
		msg_d[5][3] = "_休診日です";
		msg_d[5][10] = "_休診日です";
		msg_d[5][17] = "_休診日です";
		msg_d[5][24] = "_休診日です";
		// ７月
		msg_d[6][1] = "_休診日です";
		msg_d[6][8] = "_休診日です";
		msg_d[6][15] = "_休診日です";
		msg_d[6][22] = "_休診日です";
		msg_d[6][29] = "_休診日です";
		// ８月
		msg_d[7][5] = "_休診日です";
		msg_d[7][12] = "_休診日です";
		msg_d[7][19] = "_休診日です";
		msg_d[7][26] = "_休診日です";
		// ９月
		msg_d[8][2] = "_休診日です";
		msg_d[8][9] = "_休診日です";
		msg_d[8][16] = "_休診日です";
		msg_d[8][23] = "_休診日です";
		// １０月
		msg_d[9][0] = "_休診日です";
　　　　msg_d[9][7] = "_休診日です";
		msg_d[9][14] = "_休診日です";
		msg_d[9][21] = "_休診日です";
		msg_d[9][28] = "_休診日です";
		// １１月
		msg_d[10][4] = "_休診日です";
		msg_d[10][11] = "_休診日です";
		msg_d[10][18] = "_休診日です";
		msg_d[10][25] = "_休診日です";
		// １２月
		msg_d[11][2] = "_休診日です";
		msg_d[11][9] = "_休診日です";
		msg_d[11][16] = "_休診日です";
		msg_d[11][23] = "_休診日です";
		msg_d[11][29] = "_休診日です";
		//
		// ***** ここまでユーザーの設定箇所 (2) *****
		//////////////////////////////////////////////////////////

		//
		// うるう年チェック
		//
		if (month == 1) {
			if (year % 4 == 0) {
				if (year % 100 == 0) {
					if (((year / 100) % 4) == 0) {
						m_tbl[1] = 29;
					}
				}
				else {
					m_tbl[1] = 29;
				}
			}
		}

		//
		// カレンダー描画処理
		//
		document.write("<TABLE BORDER BGCOLOR=#F5F5F5>\n");
		document.write("<TR><TH COLSPAN=8 ALIGN=center BGCOLOR=#9999FF><FONT COLOR=#ffffff>" + m_name_tbl[month] + "</FONT></TH></TR>");

		for (i = 1; i <= m_tbl[month]; i++) {
			//
			// 描画したい日付に設定
			//
			date.setDate(i);

			if ((day = date.getDate()) < 10) {
				day = " " + day;
			}

			//
			// 設定した日付の曜日取得
			//
			week = date.getDay();

			//
			// 日付の書き出し位置設定
			//
			if ((i == 1) && (week != 0)) {
				document.write("<TR>");
				j = 0;
				while (j < week) {
					j++;
				}
				if (j) {
					document.write("<TD COLSPAN=" + j + "><FONT COLOR=#ffffff>.</FONT></TD>");
				}
			}

			//
			// 表示する記念日があれば表示用データ作成
			//
			holiday = false;
			if ((msg_d[month][(i-1)]) != "") {
				//
				// 祝日のチェック
				//
				if ((msg_d[month][(i-1)].substring(0,1))=="_") {
					holiday = true;
				}
			}
			if (week == 0) {
				// 日曜の処理
				document.write("<TR>");
			}
			if (holiday) {
				// 日曜でかつ祝日・休診日の場合の処理
				document.write("<TD BGCOLOR=#B0C4DE ALIGN=right><FONT COLOR=#FF0000>");
			}
			else if (week == 0) {
				// 日曜の処理
				document.write("<TD BGCOLOR=#B0C4DE ALIGN=right><FONT COLOR=#FFFFFF>");
			}
		//*	else if (holiday) {
		//*		// 祝日･休診日
		//*		document.write("<TD BGCOLOR=#B0C4DE ALIGN=right><FONT COLOR=#FF0000>");
		//*	}
			else if (week == 6) {
				// 土曜の処理
				document.write("<TD BGCOLOR=#B0C4DE ALIGN=right><FONT COLOR=#FFFFFF>");
			}
			else {
				// 平日の処理
				document.write("<TD BGCOLOR=#B0C4DE ALIGN=right><FONT COLOR=#FFFFFF>");
			}

			//
			// 今日の処理
			//
			if (day == today) {
				document.write("<FONT COLOR=#009900><B>" + day + "</B></FONT>");
				//
				// 記念日のチェック
				//
				if ((msg_d[month][day-1]) != "") {
					//
					// 祝日のチェック
					//
					if ((msg_d[month][day-1].substring(0,1))=="_") {
						//
						// 祝日の記念日取得
						//
						msg = msg_d[month][day-1];
						msg =  msg.substring(1,msg.length);
						msg = "<FONT COLOR=#FF0000>" + msg + "</FONT>";
					}
					else {
						//
						// 平日の記念日取得
						//
						msg = msg_d[month][day-1];
					}
				}
			}
			else {
				//
				// 今日以外の日付の描画処理
				//
				document.write(day);
			}

			document.write("</TD>");

			//
			// 一週間分出力後の処理
			//
			if (week == 6) {
				document.write("</TR>");
			}
		}

		//
		// １ヶ月の最後の日が土曜日以外の場合の処理
		//
		if (week < 6) {
			j = 0;
			while ((j + week) < 6) {
				j++;
			}
			document.write("<TD COLSPAN=" + j + "><FONT COLOR=#ffffff>.</FONT></TD>");
		}

		//
		// 記念日があれば記念日描画
		//
		if (msg != "") {
			document.write("<TR><TD COLSPAN=7 ALIGN=center BGCOLOR=#EBE6FA>");
			document.write("<FONT SIZE=2 COLOR=#000000>");
			document.write("<DIV>本日は<BR><b>" + msg + "</b></DIV></FONT>");
			document.write("</TD></TR>");
		}
		if (msg == "") {
			document.write("<TR><TD COLSPAN=7 ALIGN=center BGCOLOR=#EBE6FA>");
			document.write("<FONT SIZE=2 COLOR=#000000>");
			document.write("<DIV>本日は<BR><b>" + "診察日です" + "</b></DIV></FONT>");
			document.write("</TD></TR>");
		}
		document.write("</TABLE>");
}
