﻿function makeCalendar() {
    var htmlc = "<table class=\"calendar\">\n";
    var today = new Date();
    var m = monthToString(today.getMonth()).toUpperCase();
    var y = today.getFullYear();
    
    htmlc += "<tr><th colspan=\"7\">" + m + " " + y + "</th></tr>\n";
    htmlc += "<tr><td class=\"day\">Sun</td>";
    htmlc += "<td class=\"day\">Mon</td>";
    htmlc += "<td class=\"day\">Tue</td>";
    htmlc += "<td class=\"day\">Wed</td>";
    htmlc += "<td class=\"day\">Thu</td>";
    htmlc += "<td class=\"day\">Fri</td>";
    htmlc += "<td class=\"day\">Sat</td></tr>\n";
    
    var daysinmonth = getDaysInMonth(today);
    var currday = 1;
    var newd = new Date();
    newd.setFullYear(y);
    newd.setMonth(today.getMonth());
    newd.setDate(1);
    var dayofweek = newd.getDay();
    var foundfirst = false;
    
    while (currday < daysinmonth) {
        htmlc += "<tr>";
        for (var col=0;col<7;col++) {
            // pad calendar with blank spaces until first day of month
            if (currday == 1) {
                for (var i=0;i<dayofweek;i++) {
                    htmlc += "<td>&nbsp;</td>";
                    col++
                }
            }
            // display date or pad calendar with blank spaces after last day of month
            htmlc += (currday > daysinmonth) ? "<td>&nbsp;</td>" : "<td>" + currday + "</td>";
            currday++;
        }
        htmlc += "</tr>\n";
    }
    htmlc += "</table></a>";
    
    document.getElementById("divCalendar").innerHTML = htmlc;
}

function getDaysInMonth(d) {
	var daysinmonth = 0;
	switch (d.getMonth()) {
		case 0: case 2: case 4: case 6: case 7: case 9: case 11:
			daysinmonth = 31;
			break;
		case 3: case 5: case 8: case 10:
			daysinmonth = 30;
			break;
		case 1:	// february
			daysinmonth = (d.getFullYear() % 4 == 0) ? 29: 28;
			break;
	}
	return daysinmonth;
}

function monthToString(intM) {
	var str = "";
	switch (intM) {
		case 0:
			str = "January";
			break;
		case 1:
			str = "February";
			break;
		case 2:
			str = "March";
			break;
		case 3:
			str = "April";
			break;
		case 4:
			str = "May";
			break;
		case 5:
			str = "June";
			break;
		case 6:
			str = "July";
			break;
		case 7:
			str = "August";
			break;
		case 8:
			str = "September";
			break;
		case 9:
			str = "October";
			break;
		case 10:
			str = "November";
			break;
		case 11:
			str = "December";
			break;
	}
	return str;
}




