var Glossary = {

	moveToAnchor: function(evt) {
		var el = evt.element();
		if(!el.hasClassName("on")) {
			this.resetClasses("glossary-nav");
			el.addClassName("on");
			this.hideGroups();
			this.showGroup(el);
		} 
	},
	
	showGroup: function(el) {
		var group = "";
		if(el) {
			group = el.hash;
			group = group.split("#");
			group = group[1];		
		} else {
			if(location.hash) group = location.hash;
			else group = "a-f";
		}
		if($(group)) $(group).show();
	},
 
	resetClasses: function(container) {
		$(container).descendants().invoke("removeClassName", "on");
	},
	
	hideGroups: function() {
		$$(".glossary-list").invoke("hide");
	}
};

document.observe("dom:loaded", function() {
	$$("#glossary-nav li a").each(function(el) {
		el.observe("click", Glossary.moveToAnchor.bindAsEventListener(Glossary));
	});
	Glossary.hideGroups();
	Glossary.showGroup();
});


