function prepareCalendar () {
  var divs = $$('.listGroupMember.eventDate.calendar .name, .listGroupMember.eventDate.calendar .date');
  for (var index = 0, len = divs.length; index < len; ++index) {
    var div = divs[index];
    Event.observe(div, 'click', toggleCalendarRow, false);
  }
}

Event.observe(window, 'load', prepareCalendar, false);

function toggleCalendarRow (event) {
  var tr = this.parentNode.parentNode;
  var trA = $(tr.id);
  if (trA.hasClassName('open')) {
    trA.removeClassName('open');
  } else {
	var divs = $$('.listGroupMember.eventDate.calendar.open');
    for (var index = 0, len = divs.length; index < len; ++index) {
      var div = divs[index];
      div.removeClassName('open');
    }
    trA.addClassName('open');
  }
}
