function drawTable(bodyID) {
	var tr, td, link, txt;
	tbody = document.getElementById(bodyID);
	clearTable(tbody);
	for(var i = 0; i < bookJsData.length; i++) {
		tr = tbody.insertRow(tbody.rows.length);
		td = tr.insertCell(tr.cells.length);
		td.setAttribute("align", "center");
		link = document.createElement("a");
		link.setAttribute("href", bookJsData[i].link + ".html");
		txt = document.createTextNode(bookJsData[i].authorLast + ", " + bookJsData[i].authorFirst);
		link.appendChild(txt);
		td.appendChild(link);
		td = tr.insertCell(tr.cells.length);
		td.setAttribute("align", "center");
		link = document.createElement("a");
		link.setAttribute("href", bookJsData[i].link + ".html");
		txt = document.createTextNode(bookJsData[i].title);
		link.appendChild(txt);
		td.appendChild(link)
		td = tr.insertCell(tr.cells.length);
		td.setAttribute("align", "center");
		link = document.createElement("a");
		link.setAttribute("href", bookJsData[i].link + ".html");
		txt = document.createTextNode(bookJsData[i].year);
		link.appendChild(txt);
		td.appendChild(link);
	}
}

function clearTable(tbody) {
	while (tbody.rows.length > 0) {
		tbody.deleteRow(0);
	}
}
						
function sortTable(link) {
	switch (link.firstChild.nodeValue) {
		case "Author" :
			bookJsData.sort(sortByAuthor);
			break;
		case "Title" :
			bookJsData.sort(sortByTitle);
			break;
		case "Date" :
			bookJsData.sort(sortByDate);
			break;
	}
	drawTable("bookData");
	return false;
}
						
function sortByDate(a, b) {
	return a.year - b.year;
}
						
function sortByTitle(a, b) {
	a = a.title.toLowerCase();
	b = b.title.toLowerCase();
	return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
						
function sortByAuthor(a, b) {
	a = a.authorLast.toLowerCase();
	b = b.authorLast.toLowerCase();
	return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}


