$(document).ready(function () {
    var days = $("ul.month > li > ul > li").has("span");
    var details = days.find("> ul.day_events");

    for (var i = 0; i < days.length; i++) {
        days[i].onclick = function () {
            days.removeClass("current");
            $(this).addClass("current");
            details.stop().animate({
                opacity: 0
            }, 1000, function () {
                $(this).css("display", "none");
            });
            $(this).find("> ul.day_events").stop().css("display", "block").animate({
                opacity: 1
            }, 1000);
        }
    }
    function switchMonth(dir) {
        return function () {
            if ((dir == -1 && index > 0) || (dir == 1 && index < months.length - 1)) {
                $(months[index]).removeClass("current");
                index += dir;
                $(months[index]).addClass("current");
                controls.removeClass("disabled");
                if (index == 0)
                    $(controls[0]).addClass("disabled");
                if (index == months.length - 1)
                    $(controls[1]).addClass("disabled");
            }
        }
    }

    var months = $("section#calendar > ul > li");
    var index = months.filter(".current").index("section#calendar > ul > li");
    var controls = $("section#calendar > div.controls > div");
    if (controls.length > 0) {
        controls[0].onclick = switchMonth(-1);
        controls[1].onclick = switchMonth(1);
    }
});
