/*
	Author: Natalie Downe
	Date: 13 - Jan - 2006
*/

function handleClick (e) {

	var targetElement;
	var displayed;
	
	if(window.event && window.event.srcElement) {
		targetElement = e.srcElement;
	} else if(e && e.target) {
		targetElement = e.target;
	}
	
	if(typeof(targetElement != '') != 'undefined') {
		
		// test just in case the wrong link has the listner - should never happen
		if(typeof(targetElement.parentNode.getElementsByTagName('ul')) != 'undefined') {
			
			// is it already displayed?
			if(targetElement.parentNode.getElementsByTagName('ul')[0].style.display == 'block') {
				displayed = true;
			} else {
				displayed = false;
			}
			
			
			// vamoose all parent child child.ul elements
			var localSubLists = targetElement.parentNode.parentNode.getElementsByTagName('ul');
			var j = 0;
			for (j; j < localSubLists.length; j++) {
				if(targetElement.parentNode.parentNode.id == 'navList') {
					localSubLists[j].parentNode.getElementsByTagName('a')[0].className = 'deselectedLink';
				}
				localSubLists[j].style.display = 'none';
			}
			
			// display correct element
			if (displayed == false) {
				targetElement.parentNode.getElementsByTagName('ul')[0].style.display = 'block';
				if(targetElement.parentNode.parentNode.id == 'navList') {
					targetElement.className = 'selectedLink';
				}
				displayed = true;
			} else {
				targetElement.className = 'deselectedLink';
				displayed = true;
			}	
			
			// stop link from following through
			return false;	
		}
	}	
}

function attachToNavLinks(LIarray) {
	// attach listners to links contained inside list items with the class name 'navLink'
	var i = 0;
	for(i; i < LIarray.length; i++) {
		var navLink = /navLink/;
		if(navLink.test(LIarray[i].className)) {
			addEvent(LIarray[i].getElementsByTagName('a')[0], 'click', handleClick);
			if(LIarray[i].parentNode.id == 'navList') {
				LIarray[i].getElementsByTagName('a')[0].className = 'deselectedLink';
			}
		}
	}
}

function startList() {
	// attach listner to every link in 'nav' and 'essentials' container
	attachToNavLinks(document.getElementById('navList').getElementsByTagName('li'));
	if (document.getElementById('essentialsList') != null) {
	   attachToNavLinks(document.getElementById('essentialsList').getElementsByTagName('li'));
    }
}

addEvent(window, 'load', startList);