﻿// (C)1999-2002 三宅龍太郎
// 2001.11.18
// 2002.1.20 修正
// 2002.1.31 修正
// 2002.4.18 点検
// 2003.3.30 点検
// 2007.9.08 修正 by hayashi yosuke
// 2008.1.12 休業日表示 by hayashi yosuke

// カレンダーを表示

	var url; //リンク先 URL
	var ur_win = new Array("_top","_blank");
	var u_win = 0; //リンク表示先
	var a_tit = "本日です";

	var sur; var surZ = 36; //表示月数&最大数
	var todF; //表題・今日の日付の表示（ 1:非表示 ）
	var lev; //並べ方向（ 1:横方向 ）

	var smry = "該当月のカレンダーを記述します。"; // sumarry 属性値

	var Days = new Array("日","月" ,"火","水","木","金","土");
	var date = new Date();
	var Monthdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	var year;
	var month;
	var today;
	var closedDay;
	var Startday;
	var thisMonthdays;

	var row;
	var col;
	var mm;

	var c;

	var i = 0;
	var j = 0;

function calendar(url) {
	url = '' + url;
	if ( sur>surZ ) { sur=surZ; }

	year = date.getYear();
	month = date.getMonth();
	today = date.getDate();
	date.setDate(1);
	Startday = date.getDay();
	var closed= document.getElementById("closed").innerHTML;

	document.open();

	scale(url, month, closed);

	month++; if ( month>11 ) { month=0; year++; }
	
	today = 0;
	scale(url, month, closed);
	
	document.write("<address>&copy;1999-",year," RYU's<\/address>");
	document.close();
}

function scale(url, _month, _closed) {
	document.write('<div class=\"spc\"');
	document.write('>');
	cale_html(url, _month, _closed);
	document.write('<\/div>');

}
	// HTML 出力

function cale_html(url, _month, _closed) {
	if ( year<2000 ) { year = year + 1900; }
	if (((year%4==0) && (year%100!=0)) || (year%400==0)) { Monthdays[1] = 29; }
	thisMonthdays = Monthdays[month];
	with(document){

	write('<table sumarry=\"',smry,'\">');

	write('<colgroup>');
	write('<col span=\"1\" class=\"c1\">');
	write('<col span=\"5\" class=\"c2\">');
	write('<col span=\"1\" class=\"c3\">');
	write('</colgroup>');

	write('<thead><tr><td colspan=\"7\">' + year + '<span>年<\/span> ',
		month+1,'<span>月<\/span><\/td><\/tr><\/thead>');

	write('<tbody>');

	// 曜日表示
	write('<tr>');
	for ( i=0; i<7; i++ ) {
		if ( i==0 ) {
		write('<th class=\"sun\" scope=\"col\">',Days[i],'<\/th>');
		}
		else if ( i==6 ) {
		write('<th class=\"sat\" scope=\"col\">',Days[i],'<\/th>');
		}
		else write('<th class=\"day\" scope=\"col\">',Days[i],'<\/th>');
	}
	write('<\/tr>');

	// 日にち表示
	row=0;
	col=0;
	mm=month-1; if ( mm<0 ) { mm=11; }
	
	write('<tr>');

	for ( i=0; i<Startday; i++ ) {
		write('<td><small class=\"emp\">');
		write(Monthdays[mm]-(Startday-(i+1)));
		write('<\/small><\/td>');
		col++;
	}

	for ( i=1; i<=thisMonthdays; i++ ) {
		if ( col==0 ) {
			write('<td class=\"sun\">');
		}
		else if ( col==6 ) {
			write('<td class=\"sat\">');
		}
		else { write('<td class=\"day\">'); }
		
		if ( i==today ) {
			write('<a href=\"',url,'\" target=\"',ur_win[u_win],'\"');
			write(' title=\"',a_tit,'\">');
			write('<strong class=\"tdy\">',i,'<\/strong><\/a>');
		} else if(isClosed(i, _month, _closed)) {
			write('<strong class=\"cld\">',i,'<\/strong>');
		}
		
		else {			
			write(i);
		}
		
		write('<\/td>');

		col++;
		if ( col==7 ) {
			write('<\/tr>');
			if ( i<thisMonthdays ) { write('<tr>'); }
			col=0; row++;
		}
		Startday = col;
	}

	if ( col!=0 ) {
		for ( i=1; i<(8-col); i++ ) {
			write('<td><small class=\"emp\">',i,'<\/small><\/td>');
		}
		write('<\/tr>');
	}

	write('<\/tbody><\/table>');

	}

}

function isClosed(td, _month, _closed) {
	var closedDays = _closed.split("、");
	var comparedMonth = _month+1;
	for(var x=0;x<closedDays.length;x++) {
		var devide = closedDays[x].split("月");
		var devideDate = devide[1].split("日");
		if(devide[0]==comparedMonth&&devideDate[0]==td) {
			return true;
		}
	}
	return false;
}


// 今日の日付を表示

function days(c) {

	c = '' + c;

	var nd = new Date();
	var y;
	var m;
	var d;

	y = nd.getYear(); if (y<2000) { y = y + 1900; }
	y = y + " ";
	y = y + "年".small().fontcolor(c);

	m = " " + (nd.getMonth()+1) + " ";
	m = m + "月".small().fontcolor(c);

	d = " " + (nd.getDate(nd)) + " ";
	d = d + "日".small().fontcolor(c);

	document.open();
	document.write(y,m,d);
	document.close();

}