/*------------------------------------------------------------------------------
Function:       makeGlossary()
Author:         Aaron Gustafson (aaron at easy-designs dot net)
Creation Date:  7 June 2005
Version:        1.1
Homepage:       http://www.easy-designs.net/code/makeGlossary/
License:        Creative Commons Attribution-ShareAlike 2.0 License
                http://creativecommons.org/licenses/by-sa/2.0/
Note:           If you change or improve on this script, please let us know by 
                emailing the author (above) with a link to your demo page.
------------------------------------------------------------------------------*/
function makeGlossary(containerID,targetID) { if (!document.getElementById || !document.getElementsByTagName) return false; if (!document.getElementById(containerID) || !document.getElementById(targetID)) return false; var container = document.getElementById(containerID); var target = document.getElementById(targetID); var arr = []; var dfns = container.getElementsByTagName('dfn'); var abbrs = container.getElementsByTagName('abbr'); var acros = container.getElementsByTagName('acronym'); arr = arr.concat(dfns, abbrs, acros); if ( (arr[0].length==0) && (arr[1].length==0) && (arr[2].length==0) ) { return false;} var glossArr = []; var used = []; for (var i=0; i<arr.length; i++) { if (arr[i].length < 1) continue; for (var j=0; j<arr[i].length; j++) { if (!arr[i][j].hasChildNodes()) continue; var trm = arr[i][j].innerHTML; var dfn = arr[i][j].getAttribute('title'); if (!inArray.apply(used, [trm])) { used.push(trm); glossArr[trm] = dfn;} } } if (used.length < 1) return false; glossArr = ksort.apply(glossArr); var dl = buildDLfromArray(glossArr,'glossary'); var h2 = document.createElement('h2'); var h2_txt = document.createTextNode('Page Glossary'); h2.appendChild(h2_txt); target.appendChild(h2); target.appendChild(dl); return true;} function buildDLfromArray(arr,cls) { var dl = document.createElement('dl'); dl.className = cls; for (key in arr) { if (arr[key].indexOf('function') != -1 && arr[key].indexOf('{') != -1) continue; var dt = document.createElement('dt'); dt.innerHTML = key; dl.appendChild(dt); var dd = document.createElement('dd'); var dd_txt = document.createTextNode(arr[key]); dd.appendChild(dd_txt); dl.appendChild(dd);} return dl;} 


function setGlossary() { 
	if (makeGlossary('content','glossary')){
		// Show the glossary
		$('glossary').className = $('glossary').className+' show';
	}
} 


window.onload.actions.push(setGlossary);