/*   Global Variables  */

var glossaryList;
var eTarget, eTargetParent;

/*   Constructors   */
function glossaryTerm(name, term, def) {
	this.length = 4;
	this.name = name;
	this.term = term;
	this.def = def;
}

/*   Arrays   */
var glossaryArray = new Array
	glossaryArray[0] = new glossaryTerm('ecoeasy_icon', 'EcoEasy', 'Eco-friendly products that make a difference for the environment. The EcoEasy icon may be used with the other icons listed here or on its own to identify products that earn environmental certifications, are refillable, and/or use eco-friendly materials or designs.');
	glossaryArray[1] = new glossaryTerm('energy_star', 'Energy Star', 'ENERGY STAR\u00ae qualified products meet strict energy efficiency guidelines set by the Environmental Protection Agency (EPA) and the Department of Energy (DOE). These products help save money and reduce pollution from energy use.');
	glossaryArray[2] = new glossaryTerm('fsc_logo', 'Forest Stewardship Council ', 'Wood products certified by the nonprofit Forest Stewardship Council (FSC) to come from responsibly managed forests.');
	glossaryArray[3] = new glossaryTerm('nontoxic_icon', 'Non-toxic', 'Products designed to avoid causing adverse effects in humans or other organisms by eliminating the use of known or suspected toxic or hazardous chemicals or materials.');
	glossaryArray[4] = new glossaryTerm('recycle_icon', 'Recycled', 'Products containing post-consumer and/or post-industrial recycled content.');

/*   Runtime   */


/*   Functions   */
function initializeOptions() {
}

//Set the events
function setEvents(event) {
	event.target ? eTarget = event.target : eTarget = event.srcElement;
	eTargetParent = eTarget.parentNode;
}

function showDef(event) {

	setEvents(event);
	event.preventDefault ? event.preventDefault() : event.cancelBubble = true;
	
	if (eTarget.nodeName == 'A') {
	
		for (var x = 0; x < glossaryArray.length; x++) {
	
			var pattern = new RegExp(glossaryArray[x].term);
			var result = pattern.exec(eTarget.lastChild.nodeValue);
			
			if (result) {
			
				var existingDD = glossaryList.getElementsByTagName('DD');
				
				if (existingDD.length > 0) {
				
					glossaryList.removeChild(existingDD[0]);
				
				}
				
				var eDD = document.createElement('DD');
				var eDDText = document.createTextNode(glossaryArray[x].def + ' ');
				eDD.appendChild(eDDText);
				
				var eNewA = document.createElement('A');
				eNewA.setAttribute('style', 'text-decoration: underline; color: #027902;');
				eNewA.setAttribute('href', '#');
				eNewA.addEventListener ? eNewA.addEventListener('click', removeDefinition, false) : eNewA.attachEvent('onclick', removeDefinition) 
				
				eNewAText = document.createTextNode('Close');
				eNewA.appendChild(eNewAText);
				eDD.appendChild(eNewA);
				
				if (eTargetParent.nextSibling) {
				
					var parentSib = eTargetParent.nextSibling;
					glossaryList.insertBefore(eDD, parentSib);
				
				} else {
				
					glossaryList.appendChild(eDD);
				}
			}
		}
	}
}

function removeDefinition (event) {

	setEvents(event);


	var existingDD = glossaryList.getElementsByTagName('DD');
	
	if (existingDD.length > 0) {
	
		glossaryList.removeChild(existingDD[0]);
	
	}
	
	event.preventDefault ? event.preventDefault() : event.cancelBubble = true;

}