// Copyright (c) 2004-2007 koikikukan All Rights Reserved.
// http://www.koikikukan.com/
// License is granted if and only if this entire
// copyright notice is included. By Yujiro ARAKI.

// Ver1.00 2006.03.15 initial version.
// Ver1.01 2006.04.11 fix bug.
// Ver1.02 2006.04.15 fix bug.
// Ver1.03 2006.04.16 fix bug.
// Ver1.04 2006.08.03 fix bug.
// Ver1.05 2007.04.21 fix bug.

var currentYear;var currentMonth;var currentDay;function setCurrentDate(){data=new Date();currentYear=data.getYear();currentYear=(currentYear<2000)?currentYear+1900:currentYear;currentMonth=data.getMonth()+1;currentDay=data.getDate();}
function isToday(year,month,day){if(year==currentYear&&parseInt(month,10)==currentMonth&&day==currentDay){return true;}
return false;}
function isSaturday(year,month,day){var week=new Date(year,month-1,day).getDay();if(week==6){return true;}
return false;}
function isHoliday(year,month,day){var week=new Date(year,month-1,day).getDay();if(week==0){return true;}
switch(parseInt(month,10)){case 1:if(day==1){return true;}
if(day==2&&isSunday(year,month,1)){return true;}
if(day==(getFirstMonday(year,month)+7)){return true;}
break;case 2:if(day==11){return true;}
if(day==12&&isSunday(year,month,11)){return true;}
break;case 3:if(year>1979&&year<2100){if(day==parseInt(20.8431+0.242194*(year-1980)-parseInt((year-1980)/4))){return true;}
if(day==(parseInt(20.8431+0.242194*(year-1980)-parseInt((year-1980)/4))+1)&&isSunday(year,month,day-1)){return true;}}
break;case 4:if(day==29){return true;}
if(day==30&&isSunday(year,month,29)){return true;}
break;case 5:if(day==3||day==4||day==5){return true;}
if(day==6&&(isSunday(year,month,3)||isSunday(year,month,4)||isSunday(year,month,5))){return true;}
break;case 7:if(day==(getFirstMonday(year,month)+14)){return true;}
break;case 9:if(day==(getFirstMonday(year,month)+14)){return true;}
if(year>1979&&year<2100){if(day==parseInt(23.2488+0.242194*(year-1980)-parseInt((year-1980)/4))){return true;}
if(day==(parseInt(23.2488+0.242194*(year-1980)-parseInt((year-1980)/4))+1)&&isSunday(year,month,day-1)){return true;}}
break;case 10:if(day==(getFirstMonday(year,month)+7)){return true;}
break;case 11:if(day==3||day==23){return true;}
if(day==4&&isSunday(year,month,3)){return true;}
if(day==24&&isSunday(year,month,23)){return true;}
break;case 12:if(day==23){return true;}
if(day==24&&isSunday(year,month,23)){return true;}
break;}
return false;}
function isSunday(year,month,day){var week=new Date(year,month-1,day).getDay();if(week==0){return true;}
return false;}
function getFirstMonday(year,month){var monday;for(monday=1;monday<8;monday++){if(new Date(year,month-1,monday).getDay()==1){break;}}
return monday;}