var bdate = new Date();
thisyear=bdate.getYear(); thisyear=((thisyear<1000)?((thisyear<70)?2000:1900):0)+thisyear;
var tomth = bdate.getMonth();
var today = bdate.getDate();
var tday = bdate.getDay();
var Days = ['Sunday','Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var Months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var Mdays = [31,29,31,30,31,30,31,31,30,31,30,31];

var whichyear = "";
var whichmonth = "";

// day output
var dayStr = "";
function displayDay(mth,dy,showall,showdays,aday) {
	var avDate = avDates[mth][dy-1];
	var dayClass = (mth== tomth && dy == today) ? " class=today" : "";
	if (avDate.length) {
		if (showdays) {
			dayString = "<div class=\"day\"><dt"+dayClass+">"+aday+", "+dy+" "+Months[mth]+"</dt>\n";
		} else {
			dayString = "<div class=\"day\"><dt"+dayClass+">"+Months[mth]+" "+dy+"</dt>\n";
		}
		dcount = 0;
		for (var avDnum = 0; avDnum < avDate.length; avDnum++) {
			if (!whichyear || avDate[avDnum].match(whichyear+' -')) { // only show if matches year or no year specified
				dayString += "<dd>"+avDate[avDnum]+"</dd>\n";
				dcount++;
			}
		}
		if (!dcount) {
			if (showall != 'no') {
				dayString += "<dd>-</dd></div>\n";
			} else {
				dayString = '';
			}
		} else {
			dayString += "</div>\n";
		}
	} else if (showall != 'no') {
		if (showdays) {
			dayString = "<div class=\"day\"><dt"+dayClass+">"+aday+", "+dy+" "+Months[mth]+"</dt>\n<dd>-</dd></div>\n";
		} else {
			dayString = "<div class=\"day\"><dt>"+Months[mth]+" "+dy+"</dt>\n<dd>-</dd></div>\n";
		}
	} else { dayString = '' }
	dayStr += dayString;
}

function makeWeek(showall) {
	dayStr = "";
	var preday = new Date();
	var whichday = bdate.getDate()-((tday+7)%7);
	preday.setDate(whichday); // make week Mon-Sun instead of Sun-Sat
	if (whichday<=0) { preday.setMonth((tomth+11)%12); } // drop month if necessary
	for (var di = 0; di <= 6; di++) {
		preday.setDate(preday.getDate()+1);
		displayDay(preday.getMonth(),preday.getDate(),showall,'y',Days[preday.getDay()]);
	}
	document.getElementById("dw").innerHTML = "<h3>This week in Avengers History</h3>\n<dl>\n"+dayStr+"</dl>";
}

function makeMonth(optmonth) {
	dayStr = "";
	var themonth = optmonth ? optmonth : tomth;
	for (var di = 1; di <= Mdays[themonth]; di++) {
		displayDay(themonth,di);
	}
	document.getElementById("dm").innerHTML = "<h3>Avengers History for "+Months[themonth]+"</h3>\n<dl>\n"+dayStr+"</dl>";
}

function makeYear() {
	dayStr = "";
	for (var mi=0; mi<=11; mi++) {
		dayStr += "<h3>"+Months[mi]+"</h3>\n";
		for (var di = 1; di <= Mdays[mi]; di++) {
			displayDay(mi,di);
		}
	}
	document.getElementById("dy").innerHTML = "<h3>Avengers History</h3>\n<dl>\n"+dayStr+"</dl>";
}
