/* http://www.hunlock.com/blogs/Javascript_Dates-The_Complete_Reference/ */

$(document).ready(function() {
    var calendar = weekly_calendar();
    $("#home_calendar_left").html(calendar);
});

Date.prototype.getDayName = function(shortName) {
   var Days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
   if (shortName) {
      return Days[this.getDay()].substr(0,3);
   } else {
      return Days[this.getDay()];
   }
}

Date.prototype.getMonthName = function() {
   return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][this.getMonth()]; 
}

function weekly_calendar() {
    var event_link = function(start_date, end_date) {
        if (typeof(end_date) == 'undefined') end_date = start_date;
        return '/events/search/?category=&q=&age=&cost=&start_date='+start_date[0]+'-'+start_date[1]+'-'+start_date[2]+'&end_date='+end_date[0]+'-'+end_date[1]+'-'+end_date[2]+'&ongoing=on&search=';
    }

    var d = new Date();
    var end_d = new Date(d);
    end_d.setDate(end_d.getDate()+6);

    var output = '<div id="calendar_paginate">'+d.getMonthName()+' '+d.getDate()+' through '+end_d.getMonthName()+' '+end_d.getDate()+'</div>';
    output += '<div id="calendar_wrap"><table id="small_calendar" border="0" cellpadding="0" cellspacing="1"><tbody><tr>';

    for (var i=0; 7 > i; i++) {
        var day = d.getDate();
        var day_link = i == 0 ? '/events/' : event_link([d.getFullYear(), d.getMonth()+1, day]);

        output += '<td><a href="'+day_link+'">'+day+'</a> '+d.getDayName(1)+'</td>';
        d.setDate(day + 1);
    }

    end_d.setDate(end_d.getDate()+7);
    var next_week = event_link([d.getFullYear(), d.getMonth()+1, d.getDate()], [end_d.getFullYear(), end_d.getMonth()+1, end_d.getDate()]);

    output += '</tr></tbody></table><p><a class="more_viewAll" href="'+next_week+'">Next Week</a> <a href="/events/" class="more_viewAll">More Events</a></p></div>';
    return output;
}
