(function() {
    var Dom = YAHOO.util.Dom,
        Event = YAHOO.util.Event,
        cal1 = null,
        dateHolder = [],
        myTooltip = null,
        myDates = {
            '2/5/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '2/6/2010':    'Singithi Dhaham Hamuwa 3:00 PM - 6:30 PM',
            '2/20/2010':    'Sil Program for Children in English 9:00 AM - 2:00 PM',
            '2/28/2010':    'Sil Program for Adults and Young Adults in Sinhalese 8:00 AM - 4:30 PM',
            '2/14/2010':    'Washington DC Sil Program 8:00am - 4:00pm',

            '3/5/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '3/12/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '3/19/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '3/26/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '3/6/2010':    'Singithi Dhaham Hamuwa 3:00 PM - 6:30 PM',
            '3/20/2010':    'Sil Program for Children in English 9:00 AM - 2:00 PM',
            '3/21/2010':    'Program in California',
            '3/28/2010':    'Sil Program for Adults and Young Adults in Sinhalese 8:00 AM - 4:30 PM',
            '3/14/2010':    'Washington DC Sil Program 8:00am - 4:00pm',

            '4/2/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '4/9/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '4/16/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '4/23/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '4/30/2010':    'Weekly Program 7.00 PM - 9.30 PM',
            '4/3/2010':    'Singithi Dhaham Hamuwa 3:00 PM - 6:30 PM',
            '4/17/2010':    'Sil Program for Children in English 9:00 AM - 2:00 PM',
            '4/18/2010':    'Program in California',
            '4/25/2010':    'Sil Program for Adults and Young Adults in Sinhalese 8:00 AM - 4:30 PM',
            '4/11/2010':    'Washington DC Sil Program 8:00am - 4:00pm'
        };

    function init() {
        strDates = '';
        for (var tmpDate in myDates) {
            strDates = strDates + ',' + tmpDate;
        }
        cal1 = new YAHOO.widget.Calendar('cal1', 'cal1Container');
        cal1.renderEvent.subscribe(addListeners);
        cal1.addRenderer(strDates, cal1.renderCellStyleHighlight1)
        cal1.render();
    }
    
    function addListeners() {
        var tds = Dom.getElementsByClassName('calcell', 'td', cal1.table);
        var tipTds = [];
        if (myTooltip) {
            myTooltip.destroy();
        }
        for (var i = 0; i < tds.length; i++) {
            //Parse the current date to (m/d/yyyy)
            var tmpDate = cal1.cellDates[i][1] + '/' + cal1.cellDates[i][2] + '/' + cal1.cellDates[i][0];
            if (myDates[tmpDate]) {
                tds[i].title = myDates[tmpDate];
                tipTds[tipTds.length] = tds[i].id;
            }
        }
        myTooltip = new YAHOO.widget.Tooltip('cal_tooltip', { 
                context: tipTds, 
                showDelay:100 } );
    }

    Event.on(window, 'load', init);
})();

