PageSourceSearch

https://interiorkataoka.com/js/cal.js

js interiorkataoka.com collected 2026-10-07 22:30:55 UTC 16,764 bytes, 418 lines download raw bytes

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