function formatArticles() {
	var tableDatas = document.getElementsByTagName("td");
 
	for (var i = 0; i < tableDatas.length; i++) {
		// check if the td is of class "sidenote"
		var td = tableDatas[i];
		
		switch(td.className) {
		case "sidenote":
		case "caption":
			break;
		default:
			//alert("skipping: " + td.className);
			continue;
		}
			
		td.className = "";		// clear the old class setup to get ready for new one
		//td.removeAttribute("className");
		var tdParent = td.parentNode.parentNode.parentNode;		// skip past the <tr>
		if(tdParent == null || tdParent.parentNode == null)
			continue;				
			
		if(tdParent.className == "sidenote04")		// multiple TD's under same table, and this one's parent has already been changed over
			continue;
		
		tdParent.className = "sidenote04";
		var tdParentAlign = tdParent.getAttribute("align");
		
		var tableWrapper = document.createElement("table");
		var tableBody = document.createElement("tbody");
		var tableWrapTr = document.createElement("tr");
		var tableWrapTd = document.createElement("td");
		var divWidth = tdParent.getAttribute("width");

		tableWrapper.setAttribute("cellPadding", 0);
		tableWrapper.setAttribute("cellSpacing", 0);
		tableWrapper.setAttribute("border", 0);
		
		tableWrapper.appendChild(tableBody);
		tableBody.appendChild(tableWrapTr);
		tableWrapTr.appendChild(tableWrapTd);
			
		if((tdParentAlign == null) || (tdParentAlign == "") || (tdParentAlign == "center") || (tdParentAlign == "default")) {
			tdParentAlign = "";					// no float if align was center
			if(divWidth) tableWrapper.setAttribute("width", divWidth);
		}
		if(divWidth && divWidth.indexOf('%') != -1) {
			tdParent.setAttribute("width", "");
			if(divWidth) tableWrapper.setAttribute("width", divWidth);
		}
		
		tdParent.setAttribute("style", "");						// kill whatever funky style it had before
		var outerDivClassName = "sidenote01" + tdParentAlign;		// this closely follows the structure in the CSS file, check it out (default.css)
		
		tdParent.setAttribute("align", "");		// clear the old alignment, which will instead use the new CSS float
		tdParent.setAttribute("cellPadding", 0);
		tdParent.setAttribute("cellSpacing", 0);
		
		var tablePar = tdParent.parentNode;
		if(tablePar == null)
			continue;

		var divWrapper = document.createElement('div');
		tableWrapper.className = outerDivClassName;
		tableWrapTd.className = "sidenote02";
		divWrapper.className = "sidenote03";

		tableWrapTd.appendChild(divWrapper);
		tablePar.replaceChild(tableWrapper, tdParent);

		divWrapper.appendChild(tdParent);
	}
}