function initHelpers() {
	if ($('events')) {
		var togglers = $('events').getElementsByTagName('a');
    for (var i=0; i<togglers.length; i++) {
       addEvent(togglers[i], 'mouseover', updateEvent, false);  
	  }
	}			
}

function updateEvent(e) {
	var targ = getTarget(e);    
	var togglers = $('events').getElementsByTagName('a');
  var elements = $('events').getElementsByTagName('dd');
  
  for (var i=0; i<togglers.length; i++) {
    if (togglers[i] == targ) {
			$('eventdesc').innerHTML = '<br /><p><strong>Notes for this event:</strong></p>' + elements[i].innerHTML;
			togglers[i].className = 'highlight';
    } else {
			togglers[i].className = '';
    }
  }
}

addEvent(window, 'load', initHelpers, true);  


// Utility functions - mostly pinched from elsewhere // 
   
function addEvent(elm, evType, fn, useCapture) {
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent('on'+evType, fn);
    return r;
  }
} 

function getTarget(e) {
  var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
  return targ;
}

function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}

