// Copyright (c) 2004-2009 koikikukan All Rights Reserved.
// http://www.koikikukan.com/
// License is granted if and only if this entire
// copyright notice is included. By Yujiro ARAKI.

// Ver1.00 2006.03.15 initial version.
// Ver1.01 2006.04.11 fix bug.
// Ver1.02 2006.04.15 fix bug.
// Ver1.03 2006.04.16 fix bug.
// Ver1.04 2006.08.03 fix bug.
// Ver1.05 2007.04.21 fix bug.
// Ver1.06 2007.11.05 fix bug.
// Ver1.07 2009.04.19 for change low.

var currentYear;
var currentMonth;
var currentDay;

function setCurrentDate() {
    data = new Date();
    currentYear = data.getYear();
    currentYear = (currentYear < 2000) ? currentYear + 1900 : currentYear;
    currentMonth = data.getMonth() + 1;
    currentDay = data.getDate();
}

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;
    }
    return false;
}


function setWeekendAndHoliday(y,m) {
    var element = document.getElementById("wp-calendar");
    var caption = document.getElementsByTagName("caption");
    var date = caption[0].innerHTML;
    var number = date.match(/\d{1,}/g);
    var year = number[0];
    var month = number[1];

    var tbody = element.getElementsByTagName("tbody");
    var td = tbody[0].getElementsByTagName("td");
    var day;
    for (i = 0; i < td.length; i++) {
        if(td[i].innerHTML.indexOf("href") != -1){
            day = td[i].getElementsByTagName("a")[0].innerHTML;
        } else {
            day = td[i].innerHTML;
        }
        if (isHoliday(year, month, day)) {
            if (isToday(year, month, day)) {
                td[i].setAttribute('class', 'tholiday');
                td[i].setAttribute('className', 'tholiday');
            } else {
                td[i].setAttribute('class', 'holiday');
                td[i].setAttribute('className', 'holiday');
            }
        } else if(isSaturday(year, month, day)) {
            if (isToday(year, month, day)) {
                td[i].setAttribute('class', 'tsaturday');
                td[i].setAttribute('className', 'tsaturday');
            } else {
                td[i].setAttribute('class', 'saturday');
                td[i].setAttribute('className', 'saturday');
            }
        } else {
            if (isToday(year, month, day)) {
                td[i].setAttribute('class', 'today');
                td[i].setAttribute('className', 'today');
            }
        }
    }
}

