function calendar(nYear, nMonth, nDay){
///////////////////////////////////////////////////////////////////////////////////////////
//  2005年12月16日　COR 2009/11/09 12/6は臨時休業、年末年始は12/29〜1/3休業
//  COR   2008/11/22 COR  2008/12/1 2009/08/15は、臨時休業COR
//  指定月のカレンダーを表示する（指定日はボールド表示）
//  2008/12/30〜2008/12/31休日　12/26,12/27,12/28,12/29は営業,2010/03/30 INS 5/22,5/23休業
//  2010/07/28 INS 2010/08/14は、臨時休業COR 
//  引数：	nYear	=	表示年
//		nMonth	=	表示月
//		nDay	=	ボールド表示する日
///////////////////////////////////////////////////////////////////////////////////////////
//var oncli='JavaScript:onClick=selectCalendar(';
var fontcol,cstyle,ccall;
var now = new Date();   
var nowYear = now.getYear();
if(nowYear < 2000) nowYear += 1900;
var nowMonth = now.getMonth() + 1;
var nowDay = now.getDay();
objDate = new Date(nYear, nMonth - 1, 1);	// Dataオブジェクト生成
var firstday = objDate.getDay();

// 表示月の１ヶ月の日数
	if ((nMonth==4)||(nMonth==6)||(nMonth==9)||(nMonth==11)){nDays=30;}
	else if(nMonth==2){
		if((((nYear)%4)==0)&&(((nYear)%100)!=0)||(((nYear)%400)==0)){nDays=29;}
		else {nDays=28;}
	} else {nDays=31;}
// 休日をセット
	if(nMonth==1){holiday1=1;holiday2=14-(firstday+5)%7;holiday3=-1;}
	else if(nMonth==2){holiday1=11;holiday2=-1;holiday3=-1;}
	else if(nMonth==3){ed=20.8431+0.242194*((nYear)-1980)-Math.floor(((nYear)-1980)/4);holiday1=Math.floor(ed);holiday2=-1;holiday3=-1;}
	else if(nMonth==4){holiday1=29;holiday2=-1;holiday3=-1;}
	else if(nMonth==5){holiday1=3;holiday2=4;holiday3=5;}
	else if(nMonth==6){holiday1=-1;holiday2=-1;holiday3=-1;}
	else if(nMonth==7){holiday1=20;holiday2=-1;holiday3=-1;}
	else if(nMonth==8){holiday1=-1;holiday2=-1;holiday3=-1;}
	else if(nMonth==9){holiday1=15;ed=23.2488+0.242194*((nYear)-1980)-Math.floor(((nYear)-1980)/4);holiday2=Math.floor(ed);holiday3=-1;}
	else if(nMonth==10){holiday1=14-(firstday+5)%7;holiday2=-1;holiday3=-1;}
	else if(nMonth==11){holiday1=3;holiday2=23;holiday3=-1;}
	else if(nMonth==12){holiday1=23;holiday2=-1;holiday3=-1;}
	// カレンダーをHTML形式に展開する
	data+='<tr align="center" class="KN10">';
	data+='<td class="CDT" style="color:#ff0000;">Sun<\/td>';
	data+='<td class="CDT" style="color:#000000;">Mon<\/td>';
	data+='<td class="CDT" style="color:#000000;">Tue<\/td>';
	data+='<td class="CDT" style="color:#000000;">Wed<\/td>';
	data+='<td class="CDT" style="color:#000000;">Thu<\/td>';
	data+='<td class="CDT" style="color:#000000;">Fri<\/td>';
	data+='<td class="CDT" style="color:#0000ff;">Sat<\/td><\/tr>';

	for(var sunday = 1-firstday; sunday <= 31; sunday +=7) {
		data += '<TR align="center" class="S12">';
		for(i = sunday; i < sunday + 7; i++) {
			if((i > 0) && (i <= nDays)) {
				objDate.setDate(i);
				today = objDate.getDay();

//
// 定休日・背景色変化（金曜日と月末の土日,月初めの１日が日曜日の場合が定休日,年始（3））
//12月29日〜12月31日は、休日→(nMonth==12)&&(i>=30)、12月6日は、臨時休業
//
				if((today==5)||((today==6)&&(24<i)&&(i<=31))||((today==0)&&(25<i)&&(i<=31))||((today==0)&&(i==1))||((nMonth==12)&&(i>=29))||((nMonth==1)&&(i>=1)&&(i<=3))||((nMonth==12)&&(i==6))){cstyle="REST";ccall="#";}
				else {cstyle="CDAY";}
//
//５月２２日〜５月２３日は、休業（20010年３月３０日ins）
				if((nMonth==5)&&(i>=22)&&(i<=23)){cstyle="REST";}
//
// 2010/07/28 INS 8月14日は臨時休業
				if((nMonth==8)&&(i==14)){cstyle="REST";}
//

// 文字の色
				if((today==0)||(i==holiday1)||(i==holiday2)||(i==holiday3)){fontcol="#ff0000";}
				else if((today==1)&&((i-1==holiday1)||(i-1==holiday2)||(i-1==holiday3))){fontcol="#ff0000";}
				else if(today==6){fontcol="#0000ff";}
				else {fontcol="#000000";}
// 今日はボールド
				if((i==nDay)&&(nMonth==nowMonth)&&(nYear==nowYear)){deco="font-weight:800;text-decoration:underline;"}
				else {deco="";}
				data += '<td '+ccall+' class="'+cstyle+'" style="color:'+fontcol+';'+deco+'">'+i+'<\/a><\/td>';
			} else {
				data += "<td><\/td>";
			}
		}
		data += "<\/TR>";
	}
// 空行追加？
//	if (( firstday < 5 ) || (firstday < 6 && nDays !=31)) {
//		data+='<TR><TD><BR><\/TD><\/TR>';
//	}
}

//  システムの日付を取得し当月のカレンダーを表示する
function ThisMonth(nYear1, nMonth1){
var monname = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];
	var objSysDate = new Date(); 
// Dateオブジェクトの生成
	if(nYear1 == 0) {
		gnYear = objSysDate.getFullYear();
		if (nMonth1 == 0) {
			gnMonth = objSysDate.getMonth() + 1;
		} else {
			gnMonth = objSysDate.getMonth() + nMonth1 + 1;
			if (gnMonth>12) {
				gnYear++;
				gnMonth -= 12;
			}
		}
		gnDay = objSysDate.getDate();
	} else {
		gnYear = nYear1;
		gnMonth = nMonth1;
		gnDay = objSysDate.getDate();
	}

	tdata0='<table border="0" style="width:168px;" cellpadding="0" cellspacing="0"><tr align="center" class="KN12"><td colspan="7" class="CALEND">';
	tdata1='<table border="0" style="width:168px;" cellpadding="0" cellspacing="1">';
	document.write("<FORM>");

	data=tdata0+'<A class="CAL" HREF="JavaScript:onClick=dispcalendar(\'display1\');">'+monname[gnMonth-1]+','+gnYear+'</\a><\/td><\/tr><\/table>';
	data+='<span ID="display1" style="display:block;">'+tdata1;
	calendar(gnYear, gnMonth, gnDay);
	data+='<\/table><\/span>\n';
	document.write(data);

	gnMonth++;
	if (gnMonth>12) {gnYear++;gnMonth=1;}
	data=tdata0+'<A class="CAL" HREF="JavaScript:onClick=dispcalendar(\'display2\');">'+monname[gnMonth-1]+','+gnYear+'</\a><\/td><\/tr><\/table>';
	data+='<span ID="display2" style="display:none;">'+tdata1;
	calendar(gnYear, gnMonth, gnDay);
	data+='<\/table><\/span>\n';
	document.write(data);

	gnMonth++;
	if (gnMonth>12) {gnYear++;gnMonth=1;}
	data=tdata0+'<A class="CAL" HREF="JavaScript:onClick=dispcalendar(\'display3\');">'+monname[gnMonth-1]+','+gnYear+'</\a><\/td><\/tr><\/table>';
	data+='<span ID="display3" style="display:none;">'+tdata1;
	calendar(gnYear, gnMonth, gnDay);
	data+='<\/table><\/span>\n';
	document.write(data);
	document.write("</FORM>");
}

function dispcalendar(onid){
// 連動させるID
var ids=["display1","display2","display3"];
	if(document.all){
		for (i = 0; i < ids.length; i++) {
			document.all(ids[i]).style.display = "none";
		}
		document.all(onid).style.display = "block";
	}else if(document.getElementById){
		for (i = 0; i < ids.length; i++) {
			document.getElementById(ids[i]).style.display = "none";
		}
		document.getElementById(onid).style.display = "block";
	}
}

// 日付選択
function selectCalendar(selYear,selMonth,selDay){
	var rday=3; //日付加算分
	var dt=new Date();
	var rtime=dt.getTime()+rday*24*3600*1000;
	if(Date.parse(selYear+"/"+selMonth+"/"+selDay+" 00:00:00")<rtime){
		dt.setTime(rtime);
		selYear=dt.getYear();
		selMonth=dt.getMonth()+1;
		selDay=dt.getDate();
	}
	selectOption("mainForm","year",selYear);
	selectOption("mainForm","month",selMonth);
	selectOption("mainForm","day",selDay);
}

