2 ProtoCalendar.LangFile['ja'] = {
\r
3 HOUR_MINUTE_ERROR: '時間が無効です。',
\r
4 NO_DATE_ERROR: '日を選択して下さい。',
\r
6 DEFAULT_FORMAT: 'yyyy/mm/dd',
\r
7 LABEL_FORMAT: 'yyyy年mm月dd日 ddddi',
\r
8 MONTH_ABBRS: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
\r
9 WEEKDAY_ABBRS: ['日','月','火','水','木','金','土'],
\r
10 WEEKDAY_NAMES: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],
\r
13 YEAR_AND_MONTH: true,
\r
18 parseDate: function(inputValue) {
\r
19 if (inputValue == '一昨日') {
\r
21 d.setDate(d.getDate() - 2);
\r
23 } else if (inputValue == '明後日') {
\r
25 d.setDate(d.getDate() + 2);
\r
30 getHolidays: function(calendar) {
\r
31 var year = calendar.getYear();
\r
32 var month = calendar.getMonth();
\r
33 var lastDay = calendar.getNumDayOfMonth();
\r
41 var springDay = Math.floor((31 * year + temp)/128) - Math.floor(year/4) + Math.floor(year/100);
\r
48 var autumnDay = Math.floor((31 * year + temp)/128) - Math.floor(year/4) + Math.floor(year/100);
\r
51 var mondayIndex = 0;
\r
52 for(var day = 1; day <= lastDay; day++) {
\r
53 var dayOfWeek = new Date(year, month, day).getDay();
\r
56 if (dayOfWeek == ProtoCalendar.MONDAY) {
\r
60 /*祝日は削除するためにコメントアウト Edit by ymatsumoto
\r
61 if (day == 1 && month == ProtoCalendar.JAN && 1949 <= year) {
\r
62 holidays[day] = '元旦';
\r
63 } else if (day == 15 && month == ProtoCalendar.JAN && 1949 <= year && year < 2000) {
\r
64 holidays[day] = '成人の日';
\r
65 } else if (dayOfWeek == ProtoCalendar.MONDAY && mondayIndex == 2 && month == 0 && 2000 <= year) {
\r
66 holidays[day] = '成人の日';
\r
67 } else if (day == 11 && month == ProtoCalendar.FEB && 1967 <= year) {
\r
68 holidays[day] = '建国記念の日';
\r
69 } else if (day == springDay && month == ProtoCalendar.MAR) {
\r
70 holidays[day] = '春分の日';
\r
71 } else if (day == 29 && month == ProtoCalendar.APR && 1989 <= year && year < 2007) {
\r
72 holidays[day] = 'みどりの日';
\r
73 } else if (day == 29 && month == ProtoCalendar.APR && 1949 <= year && year < 1989) {
\r
74 holidays[day] = '天皇誕生日';
\r
75 } else if (day == 4 && month == ProtoCalendar.MAY && 2007 <= year) {
\r
76 holidays[day] = 'みどりの日';
\r
77 } else if (day == 29 && month == ProtoCalendar.APR && 2007 <= year){
\r
78 holidays[day] = '昭和の日';
\r
79 } else if (day == 3 && month == ProtoCalendar.MAY && 1949 <= year) {
\r
80 holidays[day] = '憲法記念日';
\r
81 } else if (day == 4 && month == ProtoCalendar.MAY && 1986 <= year && year < 2007) {
\r
82 holidays[day] = '国民の休日';
\r
83 } else if (day == 5 && month == ProtoCalendar.MAY && 1949 <= year) {
\r
84 holidays[day] = 'こどもの日';
\r
85 } else if (day == 20 && month == ProtoCalendar.JULY && 1996 <= year && year < 2003) {
\r
86 holidays[day] = '海の日';
\r
87 } else if (mondayIndex == 3 && month == ProtoCalendar.JULY && dayOfWeek == ProtoCalendar.MONDAY && 2003 <= year) {
\r
88 holidays[day] = '海の日';
\r
89 } else if (day == 15 && month == ProtoCalendar.SEPT && 1966 <= year && year < 2003) {
\r
90 holidays[day] = '敬老の日';
\r
91 } else if (mondayIndex == 3 && month == ProtoCalendar.SEPT && dayOfWeek == ProtoCalendar.MONDAY && 2003 <= year) {
\r
92 holidays[day] = '敬老の日';
\r
93 } else if (autumnDay == day && month == ProtoCalendar.SEPT) {
\r
94 holidays[day] = '秋分の日';
\r
95 } else if (day == 10 && month == ProtoCalendar.OCT && 1966 <= year && year < 2001) {
\r
96 holidays[day] = '体育の日';
\r
97 } else if (mondayIndex == 2 && month == ProtoCalendar.OCT && dayOfWeek == ProtoCalendar.MONDAY && 2000 <= year) {
\r
98 holidays[day] = '体育の日';
\r
99 } else if (day == 3 && month == ProtoCalendar.NOV && 1948 <= year) {
\r
100 holidays[day] = '文化の日';
\r
101 } else if (day == 23 && month == ProtoCalendar.NOV && 1948 <= year) {
\r
102 holidays[day] = '勤労感謝の日';
\r
103 } else if (day == 23 && month == ProtoCalendar.DEC && 1989 <= year) {
\r
104 holidays[day] = '天皇誕生日';
\r
107 var hasHoliday = year > 1973 || year == 1973 && month > ProtoCalendar.APR;
\r
108 var hasKokuminHoliday = year >= 1988;
\r
109 var oldRule = hasHoliday && year < 2006;
\r
110 var curRule = hasHoliday && year >= 2006;
\r
111 for(var day = 1; day <= lastDay; day++) {
\r
112 var dayOfWeek = new Date(year, month, day).getDay();
\r
114 if (dayOfWeek == ProtoCalendar.SUNDAY && holidays[day]) {
\r
115 var next = day + 1;
\r
117 if (holidays[next]) continue;
\r
118 } else if (curRule) {
\r
119 for (; holidays[next]; next += 1) { }
\r
121 holidays[next] = '振替休日';
\r
123 } else if (hasKokuminHoliday && holidays[day - 1] && holidays[day + 1] && !holidays[day]) {
\r
124 holidays[day] = '国民の休日';
\r
128 calendar.holidays = holidays;
\r