function GetMonthName(mm)
{
	mmname = new Array("JANUARY", "FEBRUARY", "MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");
	if(mm < 1 || mm > 12){
		return("");
	}
	idx = mm - 1;
	return(mmname[idx]);
}
function GetWeekName(ww)
{
	wwname = new Array("SUNDAY", "MONDAY", "TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY");
	if(ww < 0 || ww > 6){
		return("");
	}
	return(wwname[ww]);
}

function Isholiday(imonth,iday,iyear)
//祝祭日のチェックであり、日曜日を休日としないので注意
{
	var	i;
	var row;
	var	dd;

	//月曜日の日付を求める
	monday = new Array(5);
	for(i=0;i<5;i++){
		monday[i] = 0;
	}
	for(row=0,dd=1;dd<=31;dd++){
		try{
			today = new Date(iyear,imonth-1,dd);
		}
		catch(e){
			break;
		}
		tempweek = today.getDay();//0=日曜日
		if(tempweek == 1){
			//月曜日
			monday[row] = dd;
			row++;
		}
		delete today;
	}
	if(imonth == 1){
		//一月
		// １月１日
		// １月の第二月曜日
		if(iday == 1) return(true);
		if(iday == monday[1]){
			//第二月曜日
			return(true);
		}
	}
	if(imonth == 2){
		//二月
		// ２月１１日
		if(iday == 11){
			return(true);
		}
		if(iday == 12){
			today = new Date(iyear,imonth,11);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}	
	}
	if(imonth == 3){
		//三月
		// ３月２１日
		if(iday == 21 && iyear != 2008){
			return(true);
		}
		if(iday == 22){
			today = new Date(iyear,imonth,21);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
	}
	if(imonth == 4){
		//四月
		// ４月２９日
		if(iday == 29){
			return(true);
		}
		if(iday == 30){
			today = new Date(iyear,imonth,29);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
	}
	if(imonth == 5){
		//五月
		// ５月３日
		// ５月４日
		// ５月５日
		if(iday == 3){
			return(true);
		}
		if(iday == 4){
			return(true);
		}
		if(iday == 5){
			return(true);
		}
		if(iday == 6){
			today = new Date(iyear,imonth,iday);
			tempweek = today.getDay();//0=日曜日
			if(tempweek < 4){
				//月、火、水だったら休日(3,4,5のどれかが日曜)
				return(true);
			}
			delete today;
		}

	}
	if(imonth == 6){
		//六月
	}
	if(imonth == 7){
		//七月
		// ７月第三月曜日
		if(iday == monday[2]){
			//第三月曜日
			return(true);
		}
	}
	if(imonth == 8){
		//八月
	}
	if(imonth == 9){
		//九月
		// ９月第三月曜日
		if(iday == monday[2]){
			//第三月曜日
			return(true);
		}
		// ９月２２日（２１日が休日の場合）
		if(iday == 22 && monday[2] == 21){
			return(true);
		}
		// ９月２３日
		if(iday == 23){
			return(true);
		}
		if(iday == 24){
			today = new Date(iyear,imonth,23);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
	}
	if(imonth == 10){
		//十月
		// １０月第二月曜日
		if(iday == monday[1]){
			//第二月曜日
			return(true);
		}
	}
	if(imonth == 11){
		//十一月
		// １１月３日
		if(iday == 3){
			return(true);
		}
		if(iday == 4){
			today = new Date(iyear,imonth,3);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
		// １１月２３日
		if(iday == 23){
			return(true);
		}
		if(iday == 24){
			today = new Date(iyear,imonth,23);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
	}
	if(imonth == 12){
		//十二月
		// １２月２３日
		if(iday == 23){
			return(true);
		}
		if(iday == 24){
			today = new Date(iyear,imonth,23);
			tempweek = today.getDay();//0=日曜日
			if(tempweek == 0){
				return(true);
			}
			delete today;
		}
	}
	return(false);
}

function GetDispColor()
{
	var now = new Date();
	var week = now.getDay();
	var year = now.getYear();
	var month = now.getMonth() + 1;
	var day = now.getDate();
	if(year < 2000){
		year += 1900;
	}
	if(week == 0){
		return("red");
	}
	var ret = Isholiday(month,day,year);
	if(ret){
		return("red");
	}
	if(week == 6){
		return("blue");
	}
	return("black");
}

function NowDisp()
{
	var now = new Date();
	var theHour = now.getHours();
	var theMin = now.getMinutes();
	var DispColor = GetDispColor();
	var clockDisp = ((theHour < 10) ? " " : "") + theHour;
	clockDisp += ":";
	clockDisp += ((theMin <10) ? "0" : "") + theMin;
	document.getElementById("month").innerHTML = GetMonthName(now.getMonth() + 1);
	document.getElementById("day").innerHTML = "<font color=" + DispColor + ">" + now.getDate() + "</font>";
	document.getElementById("week").innerHTML = "<font color=" + DispColor + ">" + GetWeekName(now.getDay()) + "</font>";
	document.getElementById("clock").innerHTML = clockDisp;
	window.setTimeout("NowDisp()", 1000);
}
