function init() { 
	togglers = document.getElementById('togglers').getElementsByTagName('a');;
	expandareas = document.getElementById('archive').getElementsByTagName('div');
	
	if (togglers.length != expandareas.length) {
		alert('Oops! There are ' + togglers.length + ' togglers and ' + expandareas.length + ' expanding areas.');
	}           

	for (var i=0; i<togglers.length; i++) {
		 change(i, false);
		 addEvent(togglers[i], 'click', update, true);  
	}
}

function update(e) {
	var targ = getTarget(e);
	for (var i=0; i<togglers.length; i++) {
		change(i, togglers[i] == targ);
	}
	cancelEvent(e);
}
  
function change(index, show) {
	if (show) {
		expandareas[index].className = 'show';
		togglers[index].className = 'active';
	} else {
		expandareas[index].className = 'hide';
		togglers[index].className = '';
	}
}

var togglers;
var expandareas;

addEvent(window, 'load', init, 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 cancelEvent(e) {
	if (!e) e = window.event;
	if (e.preventDefault) {
			e.preventDefault();
	} else {
			e.returnValue = false;
	}
}