/***************************************************************************************************//このスクリプトは「JavaScript Kit」のカレンダースクリプトを元に種智院大学用に大幅に改修した物です。//改変、改造は自由ですがスクリプトデザインの権利は種智院大学及び井上兄弟社が有します。//JavaScript Kitに感謝!//2007/6/26***************************************************************************************************/var myimages=new Array()function preloadimages(){for (i=0;i<preloadimages.arguments.length;i++){myimages[i]=new Image();myimages[i].src=preloadimages.arguments[i];}}/* The path of images to be preloaded inside parenthesis: (Extend list as desired.) */preloadimages("images/cal_prev.gif","images/cal_prevr.gif","images/cal_next.gif","images/cal_nextr.gif","images/calbut1.gif","images/calbut2.gif","images/calbutr1.gif","images/calbutr2.gif");var thisDate = 1;							// Tracks current date being written in calendarvar today = new Date();							// Date object to store the current datevar todaysDay = today.getDay() + 1;					// Stores the current day number 1-7var todaysDate = today.getDate();					// Stores the current numeric date within the monthvar todaysMonth = today.getMonth() + 1;				// Stores the current month 1-12var todaysYear = today.getFullYear();					// Stores the current yearvar monthNum = todaysMonth;						// Tracks the current month being displayedvar yearNum = todaysYear;						// Tracks the current year being displayedvar firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));	// Object Storing the first day of the current monthvar firstDay = firstDate.getUTCDay();					// Tracks the day number 1-7 of the first day of the current monthvar lastDate=getLastDatefnc(monthNum,yearNum)var numbDays = 0;var calendarString = "";var eastermonth = 0;var easterday = 0;//閏年判定function getLastDatefnc(m,y){var monthlastday;var msb=[31,28,31,30,31,30,31,31,30,31,30,31];if (m==2){if (y%4==0){msb[1]=29;};if (y%100==0){msb[1]=28;};if (y%400==0){msb[1]=29;};}return(msb[m-1]);}function DrawCalendar(arg) {	var calendarString = '';	var calwidth;	var calhight;	var bold1='';	var bold2='';	var bdcol='';	var colcolor;	var comm='';	var comm2='';	var comm3='';	var daycounter = 0;		switch (arg){	case "normal":{		calwidth='20';		calhight='17';		comm2='PreviousMonth_normal';		comm3='NextMonth_normal';		comm='writeevents_normal';		calendarString += '<table  border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"honbun12_14\" height=\"100\">';		var preString="";		preString += '<tr>';		preString += '<td colspan=\"3\" width=\"60\" height=\"19\" ><a href=\"#\" onMouseOver=\"document.c1.src=\'images\/calbutr1\.gif\';\" onMouseOut=\"document.c1.src=\'images\/calbut1\.gif\';\" onMouseDown=\"changedate(\'normal\')\"><img name=\"c1\" src=\"images\/calbut1\.gif\" width=\"60\" height=\"19\" border=\"0\" alt=\"今月を表示\"\/><\/a><\/td>';		preString += '<td colspan=\"4\" width=\"80\" height=\"19\" ><a href=\"calendar.html\" onMouseOver=\"document.c2.src=\'images\/calbutr2\.gif\';\" onMouseOut=\"document.c2.src=\'images\/calbut2\.gif\';\" ><img name=\"c2\" src=\"images\/calbut2\.gif\" width=\"80\" height=\"19\" border=\"0\" alt=\"詳細カレンダー\"\/><\/a><\/td>';		preString += '<\/tr>';		break;	}		case "big":{		calwidth='30';		calhight='30';		comm2='PreviousMonth_big';		comm3='NextMonth_big';		comm='writeevents_big';		calendarString += '<table  border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"honbun14_21\" height=\"100\">';		var preString="";		break;	}	}	calendarString += '<tr>';	calendarString += '<td width=' + calwidth + ' height=' + calhight + ' ><a href=\"#\" onMouseOver=\"document.PreviousMonth.src=\'images\/cal_prevr\.gif\';\" onMouseOut=\"document.PreviousMonth.src=\'images\/cal_prev\.gif\';\" onClick=\"changedate(\'' +comm2+ '\')\"><img name=\"PreviousMonth\" src=\"images\/cal_prev\.gif\" width=' + calwidth + ' height=' + calhight + ' border=\"0\" alt=\"前月\"\/><\/a><\/td>';	calendarString += '<td colspan=\"5\" bgcolor=\"#FFD761\" align=\"center\" valign=\"center\" height=' + calhight + '  colspan=\"3\">' + yearNum + '年　' + monthNum + '月<\/td>';	calendarString += '<td width=' + calwidth + ' height=' + calhight + ' ><a href=\"#\" onMouseOver=\"document.NextMonth.src=\'images\/cal_nextr\.gif\';\" onMouseOut=\"document.NextMonth.src=\'images\/cal_next\.gif\';\" onClick=\"changedate(\'' +comm3+ '\')\"><img name=\"NextMonth\" src=\"images\/cal_next\.gif\" width=' + calwidth + ' height=' + calhight + ' border=\"0\" alt=\"次月\"\/><\/a><\/td> ';			calendarString += '<\/tr>';	calendarString += '<tr>';	calendarString += '<td bgcolor=\"#FADDD4\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >日<\/td> ';	calendarString += '<td bgcolor=\"#EEEEEE\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >月<\/td> ';	calendarString += '<td bgcolor=\"#EEEEEE\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >火<\/td> ';	calendarString += '<td bgcolor=\"#EEEEEE\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >水<\/td> ';	calendarString += '<td bgcolor=\"#EEEEEE\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >木<\/td> ';	calendarString += '<td bgcolor=\"#EEEEEE\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >金<\/td> ';	calendarString += '<td bgcolor=\"#E0E0FF\" align=\"center\" valign=\"center\" width=' + calwidth + ' height=' + calhight + ' >土<\/td> ';	calendarString += '<\/tr>';	calendarString += '<tr>';	calendarString += '<td bgcolor=\"#FF0000\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"2\"><\/td> ';	calendarString += '<td bgcolor=\"#888888\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<td bgcolor=\"#888888\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<td bgcolor=\"#888888\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<td bgcolor=\"#888888\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<td bgcolor=\"#888888\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<td bgcolor=\"#0000FF\"><img src=\"images\/spacer.gif\" width=' + calwidth + ' height=\"1\"><\/td> ';	calendarString += '<\/tr>';	thisDate = 1;	for (var i = 1; i <= 6; i++) {		calendarString += '<tr>';		for (var x = 1; x <= 7; x++) {			daycounter = (thisDate - firstDay)+1;			thisDate++;			if ((daycounter > numbDays) || (daycounter < 1)) {					calendarString += '<td align=\"center\" bgcolor=\"#AAAAAA\" height=' + calhight + ' width=' + calwidth + ' >&nbsp;<\/td> ';//日付のない所			} else {					if ((todaysDay == x) && (todaysDate == daycounter) && (todaysMonth == monthNum)) {//もし本日だったら					bold1='<b>';					bold2='<\/b>';					bdcol='bordercolor=\"#FF0000\"';					} else {					bold1='';					bold2='';					bdcol='';					}					var daycolor=checkevents(daycounter,monthNum,yearNum);					if (daycolor==""){					calendarString += '<td align=\"center\" bgcolor=\"#FFFFFF\" ' + bdcol + ' height=' + calhight + ' width=' + calwidth + ' >' + bold1 + daycounter + bold2 + '<\/td> ';//予定のない普通の日					} else {					calendarString += '<td align=\"center\"' + bdcol + ' bgcolor=#' + daycolor + ' height=' + calhight + ' width=' + calwidth + ' ><a href=\"javascript:'+ comm +'(' + daycounter + ',' + monthNum + ',' + yearNum + ')\"><u>' + bold1 + daycounter +bold2 + '<\/u><\/a><\/td> ';					}			}			}		calendarString += '<\/tr> ';	}	calendarString += preString;	calendarString += '<\/table> ';	document.getElementById("calendar").innerHTML=calendarString;	thisDate = 1;	//カレンダー下文字自動書き直し	switch (arg){	case "normal":{writeevents_normal(today.getDate(),today.getMonth()+1,today.getFullYear());break;}	case "big":{writeevents_big(today.getDate(),today.getMonth()+1,today.getFullYear());break;}	}	}function changedate(buttonpressed) {	var arg;	switch (buttonpressed){	//case "PreviousYear":{yearNum--;break;}	//case "NextYear":{yearNum++;break;}	case "PreviousMonth_normal":{monthNum--;arg="normal";if (monthNum == 0) {monthNum = 12;yearNum--;}break;}	case "PreviousMonth_big":{monthNum--;arg="big";if (monthNum == 0) {monthNum = 12;yearNum--;}break;}		case "NextMonth_normal":{monthNum++;arg="normal";if (monthNum == 13) {monthNum = 1;yearNum++;}break;}	case "NextMonth_big":{monthNum++;arg="big";if (monthNum == 13) {monthNum = 1;yearNum++;}break;}		case "normal":{monthNum = todaysMonth;yearNum = todaysYear;arg="normal";break;}	case "big":{monthNum = todaysMonth;yearNum = todaysYear;arg="big";break;}	}		numbDays =getLastDatefnc(monthNum,yearNum)	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));	firstDay = firstDate.getDay() + 1;		DrawCalendar(arg);	return;}function checkevents(day,month,year) {	var numevents = 0;	var daycolor='';	for (var i = 0; i < events.length; i++) { 		if ((events[i][2] == day) && (events[i][1] == month) && (events[i][3] == year)) {			switch(events[i][0]){			case "公":{daycolor='A8EDED';break;} //青			case "オ":{daycolor='C7F5BA';break;} //緑			case "入":{daycolor='FFD9EA';break;} //ピンク			case "学":{daycolor='FFFCAB';break;} //黄			case "その他1":{daycolor='FF0000';break;} //			case "その他2":{daycolor='0000FF';break;} //			default:{daycolor='FFFFFF';dayname=' ';} 			}		}	}	return daycolor;}function writeevents_normal(day,month,year) {	var theeventtitle = '●'+ month + '/' + day + 'のイベント<br>';	var theevent ='';	var cnt=0;	for (var i = 0; i < events.length; i++) {		if ((events[i][2] == day) && (events[i][1] == month) && (events[i][3] == year)) {			cnt++;				if (events[i][4]==''){					theevent += '　・' +events[i][5];				}else{					theevent += '　・' + '<a href='+events[i][4]+'>'+events[i][5] + '</a>';				}							if (cnt==3){			i=events.length;			}else{			theevent +='<br> ';			}		}	}		//カレンダー下文字自動書き直し	if (theevent==''){	document.getElementById("results").innerHTML='カレンダーの<br>日付をクリックしてください。';	}else{	document.getElementById("results").innerHTML=theeventtitle+theevent;}}function writeevents_big(day,month,year) {	var theeventtitle = year +'/'+ month +'/'+ day + '<br>';	var theevent ='';	var eveString="";	for (var i = 0; i < events.length; i++) {	if ((events[i][2] == day) && (events[i][1] == month) && (events[i][3] == year)) {				if (events[i][4]==''){					theevent += '【' +events[i][5]+'】<br>';					theevent += events[i][6]+'<br>'+'----------------------------------------------------------------<br> ';				}else{					theevent +=  '<a href='+events[i][4]+'>【'+events[i][5]+'】<br>';					theevent += events[i][6]+'</a>'+'<br>'+'----------------------------------------------------------------<br> ';				}		}	}		//カレンダー下文字自動書き直し	if (theevent==''){	document.getElementById("results").innerHTML='着色されているカレンダーの日付をクリックすると<br>その日のイベントが表示されます。';	}else{	document.getElementById("results").innerHTML=theeventtitle+theevent;}}function floatingholiday(targetyr,targetmo,cardinaloccurrence,targetday) {var firstdate = new Date(String(targetmo)+"/1/"+String(targetyr));	// Object Storing the first day of the current month.var firstday = firstdate.getUTCDay();	// The first day (0-6) of the target month.var dayofmonth = 0;	// zero out our calendar day variable.	targetday = targetday - 1;	if (targetday >= firstday) {		cardinaloccurrence--;	// Subtract 1 from cardinal day.		dayofmonth = (cardinaloccurrence * 7) + ((targetday - firstday)+1);	} else {		dayofmonth = (cardinaloccurrence * 7) + ((targetday - firstday)+1);	}return dayofmonth;}