/*  
 * Enhance definition lists to make definitions clickable
 * Can be used with keyboard : bring focus to a term then hit enter or space
 * 
 * CopixTeam - Goulven CHAMPENOIS
 */

window.addEvent('domready', function(){
	$$('dl').each(function(el){
		el.addClass('enhanced');
		el.getElements('dd').each(function(el){
			el.addClass('hide');
		});
		el.addEvent('click', function(e){
			if($(e.target).get('tag') == 'dt'){
				e.target.toggleClass('open');
				e.target.getNext('dd').toggleClass('hide');
			}
		});
		// Open the first item (making it an option would be best)
		el.getElements('dt')[0].toggleClass('open');
		el.getElements('dd')[0].toggleClass('hide');
		// Making it keyboard accessible
		el.getElements('dt').each(function(el){
			el.set('tabindex', 0); // Allow DT to receive keyboard focus
			el.addEvent('keypress', function(e){
				if(e.key.test(/enter|space/)){
					el.getNext('dd').toggleClass('hide');
					e.stop();
				}
			});
		});
	});
});