PageSourceSearch

https://www.okate.co.jp/hpgen/HPB/theme/js/cal.js?t=20260301

js okate.co.jp collected 2026-10-04 07:08:51 UTC 15,076 bytes, 368 lines download raw bytes

1// Cal3.4.0 / 2012-10-22
2// SYNCK GRAPHICA
3// charset UTF-8
4var calObj = new Array();
5
6/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
7
8//【以下カレンダー0の設定】
9
10// [0]は0番目のカレンダーってことね。
11calObj[0] = new Object();
12
13// xヶ月後のカレンダーを初期表示するか (0の場合は当月)
14calObj[0].defaultMonth = 0;
15
16// ["day"] 日付に対してのクラス指定
17calObj[0].daysClass = new Object();
18// セミコロンで区切ると説明コメント、URLを付けることができます(全クラス指定共通)。
19//calObj[0].daysClass["4/29"] = 'Holyday;昭和の日';
20
21// ["xDaysLater"] ○日後のクラス指定
22calObj[0].xDaysLater = new Array();
23calObj[0].xDaysLater[0] = 'Today'; // 0日後にTodayクラスを指定。
24
25//calObj[0].daysClass["1/1"] = 'Holyday;元日';
26//calObj[0].daysClass["2/11"] = 'Holyday;建国記念日';
27//calObj[0].daysClass["4/29"] = 'Holyday;昭和の日';
28//calObj[0].daysClass["5/3"] = 'Holyday;憲法記念日';
29//calObj[0].daysClass["5/4"] = 'Holyday;みどりの日';
30//calObj[0].daysClass["5/5"] = 'Holyday;こどもの日';
31//calObj[0].daysClass["11/3"] = 'Holyday;文化の日';
32//calObj[0].daysClass["11/23"] = 'Holyday;勤労感謝の日';
33//calObj[0].daysClass["12/23"] = 'Holyday;天皇誕生日';
34
35
36// ["xDay"] 毎月○日のクラス指定
37calObj[0].xDays = new Array();
38//calObj[0].xDays[1] = 'Sale;毎月1日は激安セールの日☆'; // 毎月1日にSaleクラスを指定。
39
40// ["week"] 毎週○曜日の場合
41calObj[0].week = new Array();
42calObj[0].week[0] = "Sun"; // Sun
43calObj[0].week[1]; // Mon
44calObj[0].week[2]; // Tue
45calObj[0].week[3]; // Wed
46calObj[0].week[4]; // Thu
47calObj[0].week[5]; // Fri
48calObj[0].week[6] = "Sat"; // Sat
49
50// (○月) 第× △曜日の場合
51calObj[0].month = new Object();
52// 毎月「曜日-第○」 日:0 / 月:1 / 火:2 / 水:3 / 木:4 / 金:5 / 土:6
53//calObj[0].month["2-2"] = 'Holyday'; // 第2火曜日はHolydayクラス指定
54// 固定月「月-曜日-第○」 日:0 / 月:1 / 火:2 / 水:3 / 木:4 / 金:5 / 土:6
55//calObj[0].month["4-5-3"] = 'Holyday'; // 1月 月曜日(1) 第2 ということね。
56
57// ["backward"] 過去の日付のクラス名(指定しない場合はnull)
58calObj[0].backward = 'null';
59
60// カレンダーをクリックできるようにする場合 (有効 : true / 無効 : false)
61// クラス指定でURLが指定されている場合はそっちが優先されます。
62calObj[0].click = false;
63
64// クリック可能にしたいクラス名 (すべての日をクリック可能にする場合は空にしてください)
65// Holyday と指定した場合はclassがHolyday指定された日付だけクリックできるようになります。
66calObj[0].clickClassName = "";
67
68// 優先度 クラス指定する順番が変わります。
69calObj[0].priority = new Array('week','xDay','xDaysLater','day','backward');
70
71//【カレンダー0の設定はここまで】
72
73// [0]のカレンダーを[1]にコピーしてちょっと修正する。
74calObj[1] = new Object();
75calObj[1] = cal_clone(calObj[0]);
76calObj[1].defaultMonth = 0; //翌月から表示。
77// カレンダー1の設定はここまで
78
79/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
80
81// 以下、さわらぬ神にたたりなし
82calObj.calendars = new Array();
83calObj.days = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
84calObj.weekName = new Array("日","月","火","水","木","金","土");
85calObj.monthName = new Array('','01','02','03','04','05','06','07','08','09','10','11','12');
86calObj.date = new Date();
87calObj.date = new Date(calObj.date.getFullYear() + "/" + (calObj.date.getMonth() + 1) + "/" + calObj.date.getDate() + " 00:00:00");
88calObj.day = calObj.date.getDate();
89calObj.month = calObj.date.getMonth() + 1;
90calObj.year = calObj.date.getFullYear();
91calObj.currentList = null;
92
93function cal_init(){
94    var d = window.document;
95    var tagObj = d.getElementsByTagName("div");
96    var calToday = new Date();
97    for(var i=0;i<tagObj.length;i++){
98        if(tagObj[i].className == "cal_wrapper"){
99            var calId = Number(tagObj[i].id.substring(3,tagObj[i].id.length));
100            calObj.calendars.push(calId);
101            if(0 < (calObj.month + calObj[calId].defaultMonth) && (calObj.month + calObj[calId].defaultMonth) < 13)
102                calObj[calId].currentMonth = new Date(calObj.year+"/"+(calObj.month + calObj[calId].defaultMonth)+"/"+"1 00:00:00");
103            else 
104                calObj[calId].currentMonth = new Date((calObj.year+1)+"/"+((calObj.month + calObj[calId].defaultMonth)%12)+"/"+"1 00:00:00");
105            cal_create(calId);
106        }
107    }
108}
109function cal_create(calId){
110    var curDate = new Date();
111    var curMonth = curDate.getMonth()+1;
112    var curYear  = curDate.getFullYear();
113    var d = window.document;
114    var day = calObj[calId].currentMonth.getDate();
115    var month = calObj[calId].currentMonth.getMonth() + 1;
116    var year = calObj[calId].currentMonth.getFullYear();
117    var week = calObj[calId].currentMonth.getDay();
118    var tdTextListArr = new Array();
119    var bisDay = 0;
120    var MonthDays = calObj.days[month];
121    var WeekCnt = new Array();
122    if(month == 2){
123        if(year % 100 == 0 || year % 4 != 0){
124            if(year % 400 != 0)
125                bisDay = 0;
126            else
127                bisDay = 1;
128        }
129        else if(year % 4 == 0)
130            bisDay = 1;
131        else
132            bisDay = 0;
133    }
134    MonthDays += bisDay;
135    var calHTML = "<table border='0' cellspacing='0' cellpadding='0' class='cal'>";
136    calHTML += "<tr><th colspan='7'>";
137    if( year == curYear ) {
138      if( month - curMonth >= 0 )
139        calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' class='prev' />";
140      else
141        calHTML += "<input type='button' class='prev-hide' />";
142    } else if(year > curYear) {
143      if((month - curMonth >= 0) || (month - curMonth <= 0))
144        calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' class='prev' />";
145      else 
146        calHTML += "<input type='button' class='prev-hide' />";
147    } else
148        calHTML += "<input type='button' class='prev-hide' />";
149    calHTML += "<p class='month'>" + year + "/" + calObj.monthName[month] + "</p>";
150    if ( month <= curMonth ) {
151      if ((month - curMonth <= 1 && year - curYear < 1) || (month - curMonth < 0 && year - curYear == 1))
152        calHTML += "<input type='button' onclick='cal_move("+calId+",1);' class='next' />"+ "</th></tr>";
153    } else if ( month > curMonth ) {
154      if ((month - curMonth <= 11 && year - curYear < 1) || (month - curMonth < 0 && year - curYear == 1))
155        calHTML += "<input type='button' onclick='cal_move("+calId+",1);' class='next' />"+ "</th></tr>";
156    }
157    calHTML += "<tr class='headline'>";
158    for(var i=0;i<calObj.weekName.length;i++)
159        calHTML += "<td>" + calObj.weekName[i] + "</td>";
160    calHTML += "</tr><tr>";
161    for(var i=0;i<week;i++)
162        calHTML += "<td>&nbsp;</td>";
163    for(dayCnt=1;dayCnt<=(calObj.days[month]+bisDay);dayCnt++){
164        var dayStr = year + "/" + month + "/" + dayCnt;
165        var dayStrN = month + "/" + dayCnt;
166        if(WeekCnt[week] == undefined)
167            WeekCnt[week] = 0;
168        WeekCnt[week]++;
169        
170        
171        
172        var monStr = '' + month + '-' + week + '-' + WeekCnt[week];
173        var weekStr = '' + week + '-' + WeekCnt[week];
174        //alert(weekStr);
175        
176        var dayClass = new Object();
177        var dayClassText = new Object();
178        var currentDayDate = new Date(year + "/" + month + "/" + dayCnt + " 00:00:00");
179        var laterDay = Math.floor((currentDayDate.getTime() - calObj.date.getTime()) / 1000 / (60 * 60 * 24));
180        var tdId = "td_"+calId+"_"+year+"_"+month+"_"+dayCnt;
181
182        
183        // backward
184        if(calObj[calId].backward != null && currentDayDate.getTime() < calObj.date.getTime())
185            dayClass["backward"] = calObj[calId].backward;
186        
187        // week
188        if(calObj[calId].month[weekStr] != undefined)
189            dayClass["week"] = calObj[calId].month[weekStr];
190        else if(calObj[calId].month[monStr] != undefined)
191            dayClass["week"] = calObj[calId].month[monStr];
192        else if(calObj[calId].week[week] != undefined){
193            if(typeof(calObj[calId].week[week]) == "object" && calObj[calId].week[week][WeekCnt[week]] != undefined){
194                dayClass["week"] = calObj[calId].week[week][WeekCnt[week]];
195            }
196            else if(calObj[calId].week[week] != undefined && typeof(calObj[calId].week[week]) != "object")
197                dayClass["week"] = calObj[calId].week[week];
198        }
199        // xDay
200        if(calObj[calId].xDays[dayCnt] != undefined)
201            dayClass["xDay"] = calObj[calId].xDays[dayCnt];
202        
203        // xDaysLater
204        if(calObj[calId].xDaysLater[laterDay] != undefined)
205            dayClass["xDaysLater"] = calObj[calId].xDaysLater[laterDay];
206        
207        // day
208        if(calObj[calId].daysClass[dayStr] != undefined)
209            dayClass["day"] = calObj[calId].daysClass[dayStr];
210        else if(calObj[calId].daysClass[dayStrN] != undefined)
211            dayClass["day"] = calObj[calId].daysClass[dayStrN];
212        
213        var tdClassArr = new Array();
214        var tdTextArr = new Array();
215        var tdLinkArr = new Array();
216        var tdClassStr = "";
217        var tdTextStr = "";
218        var tdMouse = "";
219        var tdClassNames = new Object();
220        if(typeof data[year] != undefined){
221            if(typeof (data[year][month][dayCnt]) != "undefined" && data[year][month][dayCnt][1] !== null)
222            {
223                if(typeof (data[year][month][dayCnt][1]) != "undefined" && data[year][month][dayCnt][1] !== null)
224                {
225                    tdClassArr.push(data[year][month][dayCnt][0]);
226                }
227            }
228        }
229        for(var ci=0;ci<calObj[calId].priority.length;ci++){
230            if(dayClass[calObj[calId].priority[ci]] != undefined){
231                var splitArr = new Array();
232                splitArr = dayClass[calObj[calId].priority[ci]].split(';');
233                tdClassArr.push(splitArr[0]);
234                tdClassNames[splitArr[0]] = true;
235                if(splitArr[1] != undefined){
236                    tdTextArr.push(splitArr[1]);
237                    var tdTextListLink = "";
238                    if(splitArr[2] != undefined)
239                        tdTextListLink = " onclick=\"cal_open(\'"+splitArr[2]+"\')\"";
240                    tdTextListArr.push('<ol><li id="'+tdId+'_li" onmouseover="cal_list2day_over(this)" onmouseout="cal_list2day_out(this)" value="'+dayCnt+'"'+tdTextListLink+'>'+splitArr[1]+'</li></ol>');
241                }
242                if(splitArr[2] != undefined)
243                    tdLinkArr.push(splitArr[2]);
244            }
245        }
246//      if(tdTextArr.length > 0){
247//          tdTextStr = "<span id='"+tdId+"'>" + tdTextArr[0] + "</span>";
248//          tdMouse = " onmouseover=\"cal_disp_text(\'"+tdId+"\')\" onmouseout=\"cal_hide_text(\'"+tdId+"\')\"";
249//          tdClassArr.push('pointer');
250//      }
251        
252        if(tdLinkArr.length > 0)
253            tdMouse += " onclick=\"cal_open(\'"+tdLinkArr[0]+"\')\"";
254        else if(calObj[calId].click){
255            var clickOpenURI = calObj[calId].clickURI;
256            clickOpenURI = clickOpenURI.replace(/_YEAR_/ig,year);
257            clickOpenURI = clickOpenURI.replace(/_MONTH_/ig,month);
258            clickOpenURI = clickOpenURI.replace(/_DAY_/ig,dayCnt);
259            if((calObj[calId].clickClassName != "" && tdClassNames[calObj[calId].clickClassName]) || calObj[calId].clickClassName == ""){
260                tdMouse += " onclick=\"cal_open(\'"+clickOpenURI+"\')\"";
261                tdClassArr.push('pointer');
262            }
263        }
264        
265        
266        if(tdClassArr.length > 0)
267            tdClassStr = " class='" + tdClassArr.join(' ') + "'";
268        
269        
270        
271        calHTML += "<td id='"+tdId+"_td'><div"+tdClassStr+tdMouse+">" + dayCnt + tdTextStr + "</div></td>";
272
273        if(week == 6){
274            calHTML += "</tr>";
275            if(dayCnt < calObj.days[month])
276                calHTML += "<tr>";
277            week = 0;
278        }
279        else
280            week++;
281    }
282    while(week <= 6 && week != 0){
283        calHTML += "<td>&nbsp;</td>";
284        if(week == 6)
285            calHTML += "</tr>";
286        week++;
287    }
288    calHTML += "</table>";
289    d.getElementById('cal'+calId).innerHTML = calHTML;
290    
291    // list
292    if(tdTextListArr.length > 0 && d.getElementById('schedule'+calId)){
293        d.getElementById('schedule'+calId).innerHTML = tdTextListArr.join('');
294    }
295    // /list
296}
297function cal_list2day_over(obj){
298    var d = window.document;
299    var dayId = obj.id.substring(0,obj.id.indexOf('_li'));
300    if(d.getElementById(calObj.currentList))
301        d.getElementById(calObj.currentList).style.backgroundColor = '#FFFFFF';
302    calObj.currentList = dayId+'_td';
303    if(d.getElementById(dayId+'_td'))
304        d.getElementById(dayId+'_td').style.backgroundColor = '#CCCCCC';
305}
306function cal_list2day_out(obj){
307    var d = window.document;
308    var dayId = obj.id.substring(0,obj.id.indexOf('_li'));
309    if(d.getElementById(calObj.currentList))
310        d.getElementById(calObj.currentList).style.backgroundColor = '#FFFFFF';
311}
312function cal_open(uri){
313    window.open(uri);
314}
315function cal_disp_text(textId){
316    var d = window.document;
317    if(navigator.userAgent.indexOf('MSIE') == -1)
318        d.getElementById(textId).style.display = "block";
319}
320function cal_hide_text(textId){
321    var d = window.document;
322    d.getElementById(textId).style.display = "none";
323}
324
325function cal_move(calId,m){
326    if(m == null)
327        calObj[calId].currentMonth = new Date(calObj.year+"/"+(calObj.month)+"/"+"1 00:00:00");
328    else {
329        var day = calObj[calId].currentMonth.getDate();
330        var month = calObj[calId].currentMonth.getMonth() + 1;
331        var year = calObj[calId].currentMonth.getFullYear();
332        if(0 < month + m && month + m < 13)
333            calObj[calId].currentMonth = new Date(year+"/"+(month + m)+"/"+"1 00:00:00");
334        else if((month + m) < 1){
335            year--;
336            month = 12;
337            calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
338        }
339        else {
340            year++;
341            month = 1;
342            calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
343        }
344    }
345    cal_create(calId);
346}
347function cal_clone(obj) {
348    var dest;
349    if(typeof obj == 'object'){
350        if(obj instanceof Array){
351            dest = new Array();
352            for(i=0;i<obj.length;i++)
353                dest[i] = cal_clone(obj[i]);
354        }
355        else {
356            dest = new Object();
357            for(prop in obj)
358                dest[prop] = cal_clone(obj[prop]);
359        }
360    }
361    else
362        dest = obj;
363    return dest;
364}
365function cal_getMonth(){
366    
367}
368cal_init();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.