// nav.js
// adds sfhover to hovered li elements
function prepareNav() {
	var menu = document.getElementById('menu');
	var buttons = menu.getElementsByTagName('li');
	for(i=0; i < buttons.length; i++) {
		buttons[i].onmouseover = function() { addClass('sfhover', this); }
		buttons[i].onmouseout = function() { removeClass('sfhover', this); }
	}
}

// identifies the first list items in all ists on the page with the class first
function identifyFirst() {
	if(!document.getElementsByTagName) return false;
	var lists = document.getElementsByTagName('ul');
	if(lists.length > 0) {
		for(i=0; i < lists.length; i++) {
			var firstentry = getFirstChildElement(lists[i]);
			if(firstentry) addClass('first', firstentry);
		}
	}
	return false;
}

function getFirstChildElement(parent) {
	var child = parent.firstChild;
	while(child && child.nodeType != 1) {
		child = child.nextSibling;
	}
	return child;
}

function addClass(classname, elem) {
	if(elem.className.length) {
		elem.className += ' '+classname;
	} else {
    	elem.className = classname;
	}
}

function removeClass(classname, elem) {
	elem.className = elem.className.replace(classname, '');
}

function addLoadEvent(func) {
	if(typeof window.onload != 'function') {
		window.onload = func;
	} else {
		var oldonload = window.onload;
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(identifyFirst);
addLoadEvent(prepareNav);

