var entry = [
				 { m: 3, d:13, y: 2009, title: "To the Youth Ministers of the Diocese of Oakland" }
				,{ m: 4, d:1, y: 2009, title: "Youth Ministry Begins at Home" }
				,{ m: 4, d:14, y: 2009, title: "Christ, Violence and the Human Person"}
				,{ m: 5, d:14, y: 2009, title: "Tooth Brush Time - The Greatest Time of the Day!"}
			];

// note: blog dates must be in 2000 or after

var numberToMonth = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

document.write(blogArchive());
			
function digit(n) {
	var r = n;
	r  = (n < 10 ? "0" : "") + r;
	return r;
} // digit

//returns Date object or a String with the error message
function parseDate(text) {
	//alert("starting to parseDate!");
	var msg = "This date must be in the format MM/DD/YYYY.";
	var hasError = false;
	var split = text.split("/");
	if (split.length != 3) {
		split = text.split("-");
		if (split.length != 3)
			return msg;
	}
	var m = parseInt(split[0], 0);
	var d = parseInt(split[1], 0);
	var y = parseInt(split[2], 0);
	if (isNaN(m) || (m < 1) || (m > 12) ) {
		msg += "  The month is invalid.";
		hasError = true;
	}
	if (isNaN(d) || (d < 1) || (d > 31) ) {
		msg += "  The day is invalid.";
		hasError = true;
	}
	if (isNaN(y) || (y < 1900) || (y > 2100) ) {
		msg += "  The year is invalid.";
		hasError = true;
	}
	if (hasError) {
		return msg;
	} else return new Date(y, m-1, d);
} // parseDate

function dateLink
(i) {
	// omits link to same page
	var link;
	var c = digit(entry[i].y-2000) + digit(entry[i].m) + digit(entry[i].d) + ".htm"; // current entry
	var cDate = entry[i].m + "/" +entry[i].d + "/" + entry[i].y;
	if (document.URL.indexOf(c) < 0 ) {
		link = "<a href='./" + c + "' title='"  + entry[i].title + "'>" + cDate + "</a>";		
	} else {
		link = cDate;
	} // if

	return link;
} // dateLink

function titleLink
(i) {
	// omits link to same page
	var link;
	var c = digit(entry[i].y-2000) + digit(entry[i].m) + digit(entry[i].d) + ".htm"; // current entry
	var cDate = entry[i].m + "/" +entry[i].d + "/" + entry[i].y;
	if (document.URL.indexOf(c) < 0 ) {
		link = "<a href='./" + c + "' title='Posted "  + entry[i].title + "'>" + entry[i].title + "</a>";		
	} else {
		link = cDate;
	} // if

	return link;
} // titleLink
 

/*
	<div class="blog-archive">
		<h2>Archive</h2>
		<ul>
			<li><a href="./090313.htm">3/13/2009</a></li>
		</ul>
	</div>
*/

function blogDateSort(a, b) {
// a and b are blog entry assoc arrays
	var reverseSort = true;
	if (a.y != b.y) return ( reverseSort ? b.y - a.y : a.y - b.y );
	if (a.m != b.m) return ( reverseSort ? b.m - a.m : a.m - b.m );
	return (reverseSort ? b.d - a.d : a.d - b.d );
} // blogDateSort

function blogArchive() { 
	entry.sort(blogDateSort);
	var archive = "<div class='blog-archive'><h2>Archive</h2><ul>";
	for (var i=0; i<entry.length; i++) {
		archive += "<li>" + dateLink
(i) + "</li>";
	} // for
	archive += "</ul></div>";
	return archive;
} // blogArchive