﻿// UTF-8
// Ver1.05 2007.07.06 initial version.
// Panasonic Center Beijing

var currentYear;	//
var currentMonth;	//
var currentDay;	//
var monthArray= new Array();	//


//----------------------------------------------------
// ?取当前??
//----------------------------------------------------
function setCurrentDate() {
	var msg;
	data = new Date();
	var yo;
	var y,m;
	currentYear = data.getYear();
	currentYear = (currentYear < 2000) ? currentYear + 1900 : currentYear;
	currentMonth = data.getMonth() + 1;
	currentDay = data.getDate();
	monthArray[0]=[currentYear,currentMonth];
	m = currentMonth+1;
	y=currentYear;
	for (yo = 1; yo < 13; yo++) {
		if(m > 12) {
			y=y+1;
			m=1;
		}
		monthArray[yo]=[y,m];
		m++;
	}
}

//----------------------------------------------------
// 日期??
//----------------------------------------------------
function isToday(year, month, day) {
    if (year == currentYear && parseInt(month,10) == currentMonth && day == currentDay) {
        return true;
    }
    return false;
}

function isSaturday(year, month, day) {
    var week = new Date(year, month - 1, day).getDay();
    if (week == 6) {
        return true;
    }
    return false;
}

function isHoliday(year, month, day) {
    var week = new Date(year, month - 1, day).getDay();
    if (week == 0) {
        return true;
    }
	switch(parseInt(month,10)) {
    case 1:
        if (day == 1) {
            return true;
        }
        break;
    case 5:
        if (day == 1) { //May day
            return true;
        }
        break;
    case 10:
        if (day == 1) {
            return true;
        }
        break;
	}
	var cday = year + '/' +month +'/' + day;
	if(National_holidays[cday]) { return true; }
	return false;
}

function isSunday(year, month, day) {
    var week = new Date(year, month - 1, day).getDay();
    if (week == 0) {
        return true;
    }
    return false;
}

function getFirstMonday(year, month) {
    var monday;
    for(monday = 1; monday < 8; monday++) {
        if(new Date(year, month - 1, monday).getDay() == 1) {
            break;
        }
    }
    return monday;
}


//----------------------------------------------------------
//日期上是否?定??接
//----------------------------------------------------------
function isNewsday(cday) {
		if(NEWSLINKS[cday]) { return NEWSLINKS[cday]; }
		return false;
}

//-----------------------------------------------------------
// 休?日
//-----------------------------------------------------------
// 原?上周一休?（通??外JS指定）
function isKyukanday(year, month, day) {
    var week = new Date(year, month - 1, day).getDay();
    if (week == Kyukandays['normal']) { // 通常休?日的星期
        return true;
    }
    var cday = year + '/' +month +'/' + day;
    // ?取?末年初等特殊休?
    if(Kyukandays[cday]) { return true; }
    return false;
}

//-----------------------------------------------------------
// 日??示
//-----------------------------------------------------------

function DisplayClendar(y,m,flg){

if(y == 'undefined') { y = currentYear;}
if(m == 'undefined') { m = currentMonth;}

var maxday = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) { maxday[1]++; }
var msg;
var lastday=maxday[m-1];

msg=(''
+ '<div id="maa_con_eve_cal02">'
+'<table summary="' + y + '年' + m + '月的日?表">'
+'<tr>'
+'<th><span class="maa_con_eve_cal_txt01">日</span></th>'
+'<th>一</th>' 
+'<th>二</th>' 
+'<th>三</th>' 
+'<th>四</th>' 
+'<th>五</th>' 
+'<th><span class="maa_con_eve_cal_txt02">六</span></th>' 
+'</tr>\n'
+'<tr>\n'
);

var week = new Date(y, m - 1, 1).getDay();
var yo;

for (yo = 0; yo < week; yo++) {
	msg = ( msg + '<td>&nbsp;</td>');
}

var cday='';
var spanname=''
var displayday=''
for (d = 1; d <= lastday; d++) {
	cday = y + '/' +m +'/' + d;
	displayday=d;
	classname='';

// 休?日?示& 周日?日周六　分??更
	if(flg==1) {
		if (isKyukanday(y, m, d)) {
			classname =' class="maa_con_tab_res"';
			displayday='休';
		} else if (isHoliday(y, m, d)) {
			classname =' class="maa_con_tab_txt_sun"';
		} else if(isSaturday(y, m, d)) {
			classname =' class="maa_con_tab_txt_sat"';
		}

	//	if (isToday(y, m, d)) {
	//		classname =' class="today"';
	//	}
	}

	if(isNewsday(cday)) {
		msg = ( msg + '<td' + classname + '><a href="'+isNewsday(cday) +'">'+ displayday + '</a></td>');
	} else {
		msg = ( msg + '<td' + classname + '>' + displayday + '</td>');
	}

	week++;
	if(week > 6) {
	msg = ( msg  + '\n</tr>\n' );
	week=0;
	if(d < lastday) { msg = msg  + '<tr>\n'}
	}
}

if(week > 0) {
	for (yo = week; yo < 7; yo++) {
		msg = ( msg + '<td>&nbsp;</td>');
	}
	msg = ( msg + '\n</tr>\n</table>');
} else {
	msg = ( msg + '\n</table>');

}
msg = ( msg + '</div>');
//document.write(msg);
	return(msg);
}



//-----------------------------------------------------------
// 日??示
//-----------------------------------------------------------
function SetClendarMonth(num,flg) { 
	var calstr=DisplayClendar(monthArray[num][0],monthArray[num][1],flg);
	var item = $('calender'); 
	var nextmonthflg='';
	var prevmonthflg='';

	if(num < 1) { nextmonthflg='&nbsp;&nbsp;<a href="javascript:;" onclick="SetClendarMonth(' + (num + 1) + ",'" + flg +"'" + ')">≫</a>';}
	if(num > 0) { prevmonthflg='<a href="javascript:;" onclick="SetClendarMonth(' + (num -1) + ",'" + flg +"'" + ')">≪</a>&nbsp;&nbsp;';}

var calstr2=('<div id="maa_con_eve_cal01"><dl><dt>'
+ prevmonthflg
+ monthArray[num][0] + '年' + monthArray[num][1] + '月'
+ nextmonthflg
+ '</dt></dl>\n</div>\n'
);

	calstr2= calstr2 + calstr;
	Element.update(item, calstr2);  
} 



