function init() {
	if (!document.getElementsByTagName || !document.getElementById) return;
	
	// Attach helper events
	addEvent(document.getElementById('email'), 'focus', wipeEmailBox, false);
	addEvent(document.getElementById('signupform'), 'submit', checkEmail, false);
		
	// Set up the menu system
	var menu = document.getElementById('menu').getElementsByTagName('ul')[0];
	links = menu.getElementsByTagName('a');

	for (var i = 0; i < links.length; i++) {
		// install event listeners
		addEvent(links[i], 'mouseover', mOver, false);
		addEvent(links[i], 'mouseout', mOut, false);

		grouparea = document.getElementById('thedescription');		
		// remember where the em is, and move it to the correct place
		var desc = links[i].parentNode.getElementsByTagName('em')[0];
		grouparea.appendChild(desc);		
		links[i].myDesc = desc;
	}
}

function wipeEmailBox() {
	var textbox = document.getElementById('email');
	if(textbox.value == 'your email') {
		textbox.value = '';
	}
}

function checkEmail(e) {
	var textbox = document.getElementById('email');
	if (textbox.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi)) {
		return true;
	} else {
		alert('Please type your email address into the box.');
		if (e && e.preventDefault)
			e.preventDefault();
		return false;
	}
}

// Rollover events for the menu
function mOver(e) {
	var link;
	if (e && e.target)
		link = e.target;
	if (window.event && window.event.srcElement)
		link = window.event.srcElement;
	if (!link)
		return;    
	if (link.nodeType == 3) {
		link = link.parentNode; // Fix for Safari
	}

	link.myDesc.className = 'show';
}

function mOut(e) {
	var link;
	if (e && e.target)
		link = e.target;
	if (window.event && window.event.srcElement)
		link = window.event.srcElement;
	if (!link)
		return;    
	if (link.nodeType == 3) {
		link = link.parentNode; // Fix for Safari
	}

	link.myDesc.className = '';
}


var links;
addEvent(window, 'load', init, false);

function addEvent(elm, evType, fn, useCapture) {
	// cross-browser event handling for IE5+, NS6 and Mozilla
	// By Scott Andrew
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else {
		elm['on' + evType] = fn;
	}
}