var calendar_old_onload = window.onload;

window.onload = function()
{
    if (typeof calendar_old_onload == 'function')
    {
         calendar_old_onload();
    }

    var calendarHovers = new calendarHoverScript();
    calendarHovers.init();
}

function calendarHoverScript()
{
    this.calendar = null;
}

calendarHoverScript.prototype.init = function()
{
    this.calendar = document.getElementById('calendar');
    this.eventsList = document.getElementById('eventsSideList');
    if ((!this.calendar) || (!this.eventsList))
    {
        return null;
    }
    this.loadEvents();
    var links = this.calendar.getElementsByTagName('a');
    for (var i=0; i<links.length; i++)
    {
        var link = links[i];
        if (link.className != 'dateLink')
        {
            continue;
        }
        var hoverScript = this;
        link.onmouseover = function()
        {
            var date = this.id.replace(/datelink_/, '');
            hoverScript.hideEvents();
            hoverScript.showEvents(date);
        }
    }

}
calendarHoverScript.prototype.loadEvents = function()
{
    var children = this.eventsList.childNodes;
    var events = new Object();
    for (var i = 0; i < children.length; i++)
    {
        if (
            (!children[i].tagName)
            ||
            (children[i].tagName.toLowerCase() != 'li')
        )
        {
            continue;
        }
        var li = children[i];
        var date = li.id.replace(/events_/, '');

        events[date] = li;
    }
    this.events = events;
}

calendarHoverScript.prototype.hideEvents = function()
{
    var el;
    for (el in this.events)
    {
        this.events[el].className = "hidden";
    }
}

calendarHoverScript.prototype.showEvents = function(date)
{
    if (this.events[date])
    {
        this.events[date].className = '';
    }
}


