PageSourceSearch

https://inubasari.com/js/user_calendar.js?v=2026.9.29.0

js inubasari.com collected 2026-10-04 16:42:35 UTC 18,427 bytes, 480 lines download raw bytes

1var calObj = new Array();
2
3const today = new Date();								//日付取得
4const yearChk = today.getFullYear();		//å¹´
5const monthChk = today.getMonth() + 1;	//月
6const dateChk = today.getDate();				//日
7const dayChk = today.getDay();					//曜日
8// alert(yearChk);
9// alert(monthChk);
10// alert(dateChk);
11
12/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
13
14//【以下カレンダー0の設定】
15
16// [0]は0番目のカレンダー
17calObj[0] = new Object();
18
19// 曜日スタート // [0] 日 / [1] 月 / [2] 火 / [3] 水 / [4] 木 / [5] 金 / [6] 土
20calObj[0].weekStart = 0;
21
22// xヶ月後のカレンダーを初期表示設定(0の場合は当月)
23if(yearChk >= 2025 && monthChk >= 1 &&  dateChk >= 1){
24	calObj[0].defaultMonth = 0;	//当月
25}else{
26	calObj[0].defaultMonth = 1;	//次月
27};
28
29// ["day"] 日付に対してのクラス指定
30calObj[0].daysClass = new Object();
31// calObj[0].daysClass["2024/2/13"] = 'Birthday;テスト<br />クリックすると開きます何かが。;http://qqq.qqq.com';
32// 2024/2/13にBirthdayクラスを指定
33// セミコロンで区切ると説明コメント、URLを付けることができます(全クラス指定共通)。
34// calObj[0].daysClass["2/13"] = 'Birthday;テスト<br />年を抜くと毎年。;http://qqq.qqq.com';
35calObj[0].daysClass["8/8"] = 'Birthday;「道の駅犬挟」オープンの日';
36
37// ["xDaysLater"] ○日後のクラス指定
38calObj[0].xDaysLater = new Array();
39calObj[0].xDaysLater[0] = 'Today;今日'; // 0日後にTodayクラスを指定
40// calObj[0].xDaysLater[1] = 'Tomorrow;君たちにとっては明日の出来事だ。<br>テスト開業'; // 1日後にTomorrowクラスを指定
41// calObj[0].xDaysLater[4] = 'Deli;本日注文の場合の発送予定日'; // 1日後にTomorrowクラスを指定
42
43// 国民の祝日
44calObj[0].daysClass["1/1"] = 'Holyday;元日';
45calObj[0].daysClass["2/11"] = 'Holyday;建国記念日';
46calObj[0].daysClass["4/29"] = 'Holyday;昭和の日';
47calObj[0].daysClass["5/3"] = 'Holyday;憲法記念日';
48calObj[0].daysClass["5/4"] = 'Holyday;みどりの日';
49calObj[0].daysClass["5/5"] = 'Holyday;こどもの日';
50calObj[0].daysClass["11/3"] = 'Holyday;文化の日';
51calObj[0].daysClass["11/23"] = 'Holyday;勤労感謝の日';
52calObj[0].daysClass["12/23"] = 'Holyday;天皇誕生日';
53
54// 振替休日
55calObj[0].daysClass["2024/5/6"] = 'Holyday;振替休日';
56calObj[0].daysClass["2024/8/12"] = 'Holyday;振替休日';
57calObj[0].daysClass["2024/9/23"] = 'Holyday;振替休日';
58calObj[0].daysClass["2024/11/4"] = 'Holyday;振替休日';
59calObj[0].daysClass["2025/2/24"] = 'Holyday;振替休日';
60calObj[0].daysClass["2025/5/6"] = 'Holyday;振替休日';
61calObj[0].daysClass["2025/11/24"] = 'Holyday;振替休日';
62
63calObj[0].daysClass["2024/8/20"] = 'Regular;定休日です';
64
65// 年末対応
66// calObj[0].daysClass["12/31"] = 'Regular;売店(16時閉店)<br>薬膳食堂犬挟(年末休日)';
67// calObj[0].daysClass["12/31"] = 'Sales;売店(16時閉店)<br>薬膳食堂犬挟(年末休日)';
68calObj[0].daysClass["12/31"] = 'Regular;全館休駅';
69calObj[0].daysClass["1/1"] = 'Regular;全館休駅';
70// calObj[0].daysClass["1/2"] = 'Sales;売店(16時閉店)<br>薬膳食堂犬挟(年末休日)';
71
72// ["xDay"] 毎月○日のクラス指定
73calObj[0].xDays = new Array();
74// calObj[0].xDays[1] = 'Sale;毎月1日は激安セールの日☆'; // 毎月1日にSaleクラスを指定
75
76// ["week"] 毎週○曜日の場合
77calObj[0].week = new Array();
78calObj[0].week[0] = "Sun";	// Sun
79calObj[0].week[1]; 					// Mon
80calObj[0].week[2];					// Tue
81calObj[0].week[3];					// Wed
82calObj[0].week[4];					// Thu
83calObj[0].week[5];					// Fri
84calObj[0].week[6] = "Sat";	// Sat
85
86// (○月) 第× △曜日の場合
87calObj[0].month = new Object();
88// 毎月「曜日-第○」 日:0 / 月:1 / 火:2 / 水:3 / 木:4 / 金:5 / 土:6
89// calObj[0].month["0-4"] = 'Holyday;第4日曜日は定休日です'; // 第4日曜日はHolydayクラス指定
90// calObj[0].month["2-2"] = 'Holyday;第2火曜日は定休日です'; // 第2火曜日はHolydayクラス指定
91// calObj[0].month["2-4"] = 'Holyday;第4火曜日は定休日です'; // 第4火曜日はHolydayクラス指定
92
93// Regular定休日
94// calObj[0].month["3-1"] = 'Regular;毎週【水曜日】は定休日です'; //	第1週目(水曜日=3)
95// calObj[0].month["3-2"] = 'Regular;毎週【水曜日】は定休日です'; //	第2週目(水曜日=3)
96// calObj[0].month["3-3"] = 'Regular;毎週【水曜日】は定休日です'; //	第3週目(水曜日=3)
97// calObj[0].month["3-4"] = 'Regular;毎週【水曜日】は定休日です'; //	第4週目(水曜日=3)
98// calObj[0].month["3-5"] = 'Regular;毎週【水曜日】は定休日です'; //	第5週目(水曜日=3)
99// calObj[0].month["3-6"] = 'Regular;毎週【水曜日】は定休日です'; //	第6週目(水曜日=3)
100// calObj[0].daysClass["2/4"] = 'Regular;全館休駅';
101// calObj[0].daysClass["2/18"] = 'Regular;全館休駅';
102// calObj[0].daysClass["3/5"] = 'Regular;全館休駅';
103// calObj[0].daysClass["3/18"] = 'Regular;全館休駅';
104
105// calObj[0].daysClass["9/2"] = 'Regular;全館休駅';
106// calObj[0].daysClass["9/9"] = 'Regular;全館休駅';
107// calObj[0].daysClass["9/16"] = 'Regular;全館休駅';
108calObj[0].daysClass["9/30"] = 'Regular;全館休駅';
109
110calObj[0].daysClass["10/7"] = 'Regular;全館休駅';
111calObj[0].daysClass["10/21"] = 'Regular;全館休駅';
112
113
114// 固定月「月-曜日-第○」 日:0 / 月:1 / 火:2 / æ°´:3 / 木:4 / 金:5 / å
114œŸ:6
115calObj[0].month["1-1-2"] = 'Holyday;成人の日';	// 1月 月曜日(1) 第2
116calObj[0].month["7-1-3"] = 'Holyday;海の日';		// 7月 月曜日(1) 第3
117calObj[0].month["9-1-3"] = 'Holyday;敬老の日';	// 9月 月曜日(1) 第3
118calObj[0].month["10-1-2"] = 'Holyday;体育の日';	// 10月 月曜日(1) 第2
119
120// ["backward"] 過去の日付のクラス名(指定しない場合はnull)
121calObj[0].backward = 'backward';
122
123// カレンダーをクリックできるようにする場合 (有効 : true / 無効 : false)
124// クラス指定でURLが指定されている場合はそちらが優先されます。
125calObj[0].click = false;
126
127// クリックした時に開くURL ( _YEAR_ : 年 / _MONTH_ : 月 / _DAY_ : 日 )
128calObj[0].clickURI = 'http://www.yahoo.co.jp/?year=_YEAR_&month=_MONTH_&day=_DAY_';
129
130// クリック可能にしたいクラス名 (すべての日をクリック可能にする場合は空にしてください)
131// Holyday と指定した場合はclassがHolyday指定された日付だけクリックできるようになります。
132calObj[0].clickClassName = "";
133
134// クリック不許可にしたいクラス名
135calObj[0].clickDisabledClassName = "Sun";
136
137// 優先度 クラス指定する順番が変わります。
138calObj[0].priority = new Array('week','xDay','xDaysLater','day','backward');
139
140//【カレンダー0の設定はここまで】
141
142// カレンダー1の設定
143// [0]のカレンダーを[1]にコピーしてちょっと修正する。
144calObj[1] = new Object();
145calObj[1] = cal_clone(calObj[0]);
146calObj[1].defaultMonth = 2; //翌月から表示
147calObj[1].weekStart = 0;
148// カレンダー1の設定はここまで
149
150/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
151calObj.calendars = new Array();
152calObj.days = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
153calObj.weekName = new Array("日","月","火","水","木","金","土");
154calObj.monthName = new Array('','1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月');
155calObj.date = new Date();
156calObj.date = new Date(calObj.date.getFullYear() + "/" + (calObj.date.getMonth() + 1) + "/" + calObj.date.getDate() + " 00:00:00");
157calObj.day = calObj.date.getDate();
158calObj.month = calObj.date.getMonth() + 1;	//初期設定月
159calObj.year = calObj.date.getFullYear();
160calObj.currentList = null;
161
162function cal_init(){
163	var d = window.document;
164	var tagObj = d.getElementsByTagName("div");
165	var calToday = new Date();
166
167	for(var i=0;i<tagObj.length;i++){
168		if(tagObj[i].className == "cal_wrapper"){
169			var calId = Number(tagObj[i].id.substring(3,tagObj[i].id.length));
170			calObj.calendars.push(calId);
171			if(0 < (calObj.month + calObj[calId].defaultMonth) && (calObj.month + calObj[calId].defaultMonth) < 13)
172				calObj[calId].currentMonth = new Date(calObj.year+"/"+(calObj.month + calObj[calId].defaultMonth)+"/"+"1 00:00:00");
173			else
174				calObj[calId].currentMonth = new Date((calObj.year+1)+"/"+((calObj.month + calObj[calId].defaultMonth)%12)+"/"+"1 00:00:00");
175			cal_create(calId);
176		};
177	};
178};
179
180function cal_create(calId){
181	var d = window.document;
182	var day = calObj[calId].currentMonth.getDate();
183	var month = calObj[calId].currentMonth.getMonth() + 1;
184	var year = calObj[calId].currentMonth.getFullYear();
185	var week = calObj[calId].currentMonth.getDay();
186	var time = calObj[calId].currentMonth.getTime();
187	var tdTextListArr = new Array();
188	var bisDay = 0;
189	var MonthDays = calObj.days[month];
190	var WeekCnt = new Array();
191	var calendarHash = [];
192
193	if(month == 2){
194		if(year % 100 == 0 || year % 4 != 0){
195			if(year % 400 != 0){
196				bisDay = 0;
197			}
198			else {
199				bisDay = 1;
200			};
201		}
202		else if(year % 4 == 0) {
203			bisDay = 1;
204		}
205		else {
206			bisDay = 0;
207		};
208	};
209
210	MonthDays += bisDay;
211	var calHTML = "<table border='0' cellspacing='0' cellpadding='0' class='cal'>";
212	calHTML += "<tr><th colspan='7'>";
213	calHTML += "<div class='cal_ui'>";
214	// if(yearChk >= 2024 && monthChk < 9 &&  dateChk < 1){
215	// if(dateChk >= 20 ){
216		// calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; 前月' />";
217		calHTML += "<input type='button' onclick='cal_move("+calId+",null);' value='当月' />";
218		calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='次月' />";
219	// };
220	calHTML += "</div>";
221	calHTML += "<p>" + year + "å¹´" + calObj.monthName[month] + "</p></th></tr>";
222	calHTML += "<tr class='headline'>";
223
224	// ヘッダ設定(曜日)
225	for(var i=0;i<7;i++){
226		var w = (calObj[calId].weekStart + i) % 7;
227		calHTML += "<td>" + calObj.weekName[w] + "</td>";
228	};
229	calHTML += "</tr><tr>";
230	var weekBreak = (calObj[calId].weekStart - 1) % 7;
231	if(weekBreak < 0){
232		weekBreak = 6;
233	};
234
235	var ws = week;
236	var i = 0;
237	var weekBlank = [];
238	while(ws != calObj[calId].weekStart){
239		var t = new Date(time - ((i+1)*(60*60*24*1000)));
240		weekBlank.unshift('<td><div class="backward">' + t.getDate() + "</div></td>");
241		i++;
242		ws--;
243		if(ws < 0){
244			ws = 6;
245		};
246	};
247	calHTML += weekBlank.join('');
248
249	for(dayCnt=1;dayCnt<=(calObj.days[month]+bisDay);dayCnt++){
250		var dayStr = year + "/" + month + "/" + dayCnt;
251		var dayStrN = month + "/" + dayCnt;
252
253		if(WeekCnt[week] == undefined)
254			WeekCnt[week] = 0;
255		WeekCnt[week]++;
256
257		var monStr = '' + month + '-' + week + '-' + WeekCnt[week];
258		var weekStr = '' + week + '-' + WeekCnt[week];
259
260		var dayClass = new Object();
261		var dayClassText = new Object();
262		var currentDayDate = new Date(year + "/" + month + "/" + dayCnt + " 00:00:00");
263		var laterDay = Math.floor((currentDayDate.getTime() - calObj.date.getTime()) / 1000 / (60 * 60 * 24));
264		var tdId = "td_"+calId+"_"+year+"_"+month+"_"+dayCnt;
265
266		// backward
267		if(calObj[calId].backward != null && currentDayDate.getTime() < calObj.date.getTime())
268			dayClass["backward"] = calObj[calId].backward;
269
270		// week
271		if(calObj[calId].month[weekStr] != undefined)
272			dayClass["week"] = calObj[calId].month[weekStr];
273		else if(calObj[calId].month[monStr] != undefined)
274			dayClass["week"] = calObj[calId].month[monStr];
275		else if(calObj[calId].week[week] != undefined){
276			if(typeof(calObj[calId].week[week]) == "object" && calObj[calId].week[week][WeekCnt[week]] != undefined){
277				dayClass["week"] = calObj[calId].week[week][WeekCnt[week]];
278			}
279			else if(calObj[calId].week[week] != undefined && typeof(calObj[calId].week[week]) != "object")
280				dayClass["week"] = calObj[calId].week[week];
281		}
282
283		// xDay
284		if(calObj[calId].xDays[dayCnt] != undefined)
285			dayClass["xDay"] = calObj[calId].xDays[dayCnt];
286
287		// xDaysLater
288		if(calObj[calId].xDaysLater[laterDay] != undefined)
289			dayClass["xDaysLater"] = calObj[calId].xDaysLater[laterDay];
290
291		// day
292		if(calObj[calId].daysClass[dayStr] != undefined)
293			dayClass["day"] = calObj[calId].daysClass[dayStr];
294		else if(calObj[calId].daysClass[dayStrN] != undefined)
295			dayClass["day"] = calObj[calId].daysClass[dayStrN];
296
297		var tdClassArr = new Array();
298		var tdTextArr = new Array();
299		var tdLinkArr = new Array();
300		var tdClassStr = "";
301		var tdTextStr = "";
302		var tdMouse = "";
303		var tdClassNames = new Object();
304		for(var ci=0;ci<calObj[calId].priority.length;ci++){
305			if(dayClass[calObj[calId].priority[ci]] != undefined){
306				var splitArr = new Array();
307				splitArr = dayClass[calObj[calId].priority[ci]].split(';');
308				tdClassArr.push(splitArr[0]);
309				tdClassNames[splitArr[0]] = true;
310				if(splitArr[1] != undefined){
311					tdTextArr.push(splitArr[1]);
312					var tdTextListLink = "";
313					if(splitArr[2] != undefined)
314						tdTextListLink = " onclick=\"cal_open(\'"+splitArr[2]+"\')\"";
315					tdTextListArr.push('<ol><li id="'+tdId+'_li" onmouseover="cal_list2day_over(this)" onmouseout="cal_list2day_out(this)" value="'+dayCnt+'"'+tdTextListLink+'>'+splitArr[1]+'</li></ol>');
316				}
317				if(splitArr[2] != undefined)
318					tdLinkArr.push(splitArr[2]);
319			}
320		}
321
322		if(tdTextArr.length > 0){
323			tdTextStr = "<span id='"+tdId+"'>";
324			for(var i=0;i<tdTextArr.length;i++){
325				tdTextStr += tdTextArr[i] + "<br />";
326			}
327			tdTextStr += "</span>";
328			tdMouse = " onmouseover=\"cal_disp_text(\'"+tdId+"\')\" onmouseout=\"cal_hide_text(\'"+tdId+"\')\"";
329			tdClassArr.push('pointer');
330		}
331
332		if(tdLinkArr.length > 0)
333			tdMouse += " onclick=\"cal_open(\'"+tdLinkArr[0]+"\')\"";
334		else if(calObj[calId].click){
335			var clickOpenURI = calObj[calId].clickURI;
336			clickOpenURI = clickOpenURI.replace(/_YEAR_/ig,year);
337			clickOpenURI = clickOpenURI.replace(/_MONTH_/ig,month);
338			clickOpenURI = clickOpenURI.replace(/_DAY_/ig,dayCnt);
339			if((calObj[calId].clickClassName != "" && tdClassNames[calObj[calId].clickClassName]) || calObj[calId].clickClassName == ""){
340				if(!tdClassNames[calObj[calId].clickDisabledClassName]){
341					tdMouse += " onclick=\"cal_open(\'"+clickOpenURI+"\')\"";
342					tdClassArr.push('pointer');
343				};
344			};
345		};
346
347		if(tdClassArr.length > 0)
348			tdClassStr = " class='" + tdClassArr.join(' ') + "'";
349		calHTML += "<td id='"+tdId+"_td'><div"+tdClassStr+tdMouse+">" + dayCnt + tdTextStr + "</div></td>";
350		if(week == weekBreak){
351			calHTML += "</tr>";
352			if(dayCnt < calObj.days[month]){
353				calHTML += "<tr>";
354			}
355		}
356		week++;
357		week = week % 7;
358	}
359	var nd = 0;
360	while(week != calObj[calId].weekStart){
361		nd++;
362		calHTML += '<td><div class="backward">'+nd+'</div></td>';
363		week++;
364		week = week % 7;
365	};
366	calHTML += "</table>";
367	d.getElementById('cal'+calId).innerHTML = calHTML;
368
369	// list
370	if(d.getElementById('schedule'+calId)){
371		d.getElementById('schedule'+calId).innerHTML = "";
372		if(tdTextListArr.length > 0 && d.getElementById('schedule'+calId)){
373			d.getElementById('schedule'+calId).innerHTML = tdTextListArr.join('');
374		}
375	}
376	// /list
377}
378
379function cal_list2day_over(obj){
380	var d = window.document;
381	var dayId = obj.id.substring(0,obj.id.indexOf('_li'));
382	if(d.getElementById(calObj.currentList))
383		d.getElementById(calObj.currentList).style.backgroundColor = '#FFF';
384	calObj.currentList = dayId+'_td';
385	if(d.getElementById(dayId+'_td'))
386		d.getElementById(dayId+'_td').style.backgroundColor = '#CCC';
387}
388
389function cal_list2day_out(obj){
390	var d = window.document;
391	var dayId = obj.id.substring(0,obj.id.indexOf('_li'));
392	if(d.getElementById(calObj.currentList))
393		d.getElementById(calObj.currentList).style.backgroundColor = '#FFF';
394}
395
396function cal_open(uri){
397	window.open(uri);
398}
399
400function cal_disp_text(textId){
401	var d = window.document;
402	if(navigator.userAgent.indexOf('MSIE') == -1)
403		d.getElementById(textId).style.display = "block";
404}
405
406function cal_hide_text(textId){
407	var d = window.document;
408	d.getElementById(textId).style.display = "none";
409}
410
411// カレンダー当月・次月ボタン設定
412function cal_move(calId,m){
413	console.log(m);
414	if(m == null)
415		calObj[calId].currentMonth = new Date(calObj.year+"/"+(calObj.month)+"/"+"1 00:00:00");
416	else {
417		var day = calObj[calId].currentMonth.getDate();
418		var month = calObj[calId].currentMonth.getMonth() + 1;
419		var year = calObj[calId].currentMonth.getFullYear();
420
421		// 翌月以降の表示制御(2024/11/19	m<14)
422		if(0 < month + m && month + m < 14)
423
424			// ******************************
425			// 翌月以降の表示制御(2024/11/19)
426			// m + 1 = 月
427			// (month + m) < ??)
428			// 年度末 12月の場合は13を設定
429			// ******************************
430			if((month + m) < 12){
431				// alert(month + m);
432				calObj[calId].currentMonth = new Date(year+"/"+(month + m)+"/"+"1 00:00:00");
433			}
434			else {
435				calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
436			}
437
438		else if((month + m) < 1){
439			year--;
440			month = 12;
441			calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
442		}
443		else {
444			year++;
445			month = 1;
446			calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
447		}
448	}
449
450	// 翌月分のみ表示(年末対応)
451	// year = 2026;
452	// month = 1;
453	// calObj[calId].currentMonth = new Date(year+"/"+(month)+"/"+"1 00:00:00");
454	// calObj[calId].currentMonth = new Date(year+"/"+(calObj.month + 1)+"/"+"1 00:00:00");
455
456	cal_create(calId);
457}
458
459function cal_clone(obj) {
460	var dest;
461	if(typeof obj == 'object'){
462		if(obj instanceof Array){
463			dest = new Array();
464			for(i=0;i<obj.length;i++)
465				dest[i] = cal_clone(obj[i]);
466		}
467		else {
468			dest = new Object();
469			for(prop in obj)
470				dest[prop] = cal_clone(obj[prop]);
471		}
472	}
473	else
474		dest = obj;
475	return dest;
476}
477function cal_getMonth(){
478
479}
480cal_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.