
// display the definitions list
function display_abbr() {
	// make sure the DOM is working
	if (!document.getElementsByTagName || !document.createElement || !document.createTextNode) return false;
	
	// get all <abbr>
	var abbr = document.getElementsByTagName("abbr");
	// make sure that at least one exists
	if (abbr.length < 1) return false;
	
	// create and fill an array for all the <abbr>
	var defs = new Array();
	for (var i=0; i<abbr.length; i++) {
		var current_abbr = abbr[i];
		// IE fix
		if (current_abbr.childNodes.length < 1) continue;
		var def = current_abbr.getAttribute("title");
		var key = current_abbr.lastChild.nodeValue;
		defs[key] = def;
	}
	
	// create the markup
	var dlist = document.createElement("dl");
	for (key in defs) {
		var definition = defs[key];
		
		var dtitle = document.createElement("dt");
		var dtitle_text = document.createTextNode(key);
		dtitle.appendChild(dtitle_text);
		
		var ddesc = document.createElement("dd");
		var ddesc_text = document.createTextNode(definition);
		ddesc.appendChild(ddesc_text);
		
		dlist.appendChild(dtitle);
		dlist.appendChild(ddesc);
	}
	
	// IE fix
	if (dlist.childNodes.length < 1) return false;
	
	// create a header for def list
	var header = document.createElement("h2");
	var header_text = document.createTextNode("Abbreviations");
	header.appendChild(header_text);
	
	// insert the markup into document
	document.body.appendChild(header);
	document.body.appendChild(dlist);
	
}

add_load_event(display_abbr);