(function () {
	var each_li = function (list, f) {
		for (var i = 0; i < list.childNodes.length; i++) {
			if (list.childNodes[i].nodeName == 'LI') {
				f(list.childNodes[i]);
			}
		}
	}

	var attach_hover_listeners = function (item) {
		item.onmouseover=function() {
			this.className+=" over";
		}
		item.onmouseout=function() {
			this.className=this.className.replace(" over", "");
		}
	}

	var with_sublist = function (item, f) {
		var lists = item.getElementsByTagName('UL');
		if (lists.length > 0) {
			return f(lists[0]);
		}
	}

	var process_list = function (list) {
		each_li(list, function (item) {
			attach_hover_listeners(item);
			with_sublist(item, process_list);
		});
	}

	var start_list = function() {
		if (document.getElementById) {
			process_list(document.getElementById('nav'));
		}
	}

	window.onload=start_list;
	
})();
