function trace (s) {
	if (!document.getElementById('debug')) {
		var o = document.createElement('pre');
		o.id = 'debug';
		o.style.color = 'black';
		o.style.fontSize = '10pt';
		o.style.position = 'absolute';
		o.style.top = '500px';
		o.style.right = '0px';
		o.style.textAlign = 'left';
		document.getElementsByTagName('body')[0].appendChild(o);
	}
	if (typeof console == 'undefined') {
		document.getElementById('debug').innerHTML += s + '<br />';
	}
	else {
		console.log(s);
	}
}

document.write('<!--[if lt IE 8]><link rel="stylesheet" href="css/ie.css" type="text/css" media="screen" /><![endif]-->');

Event.observe(window, 'load', function (event) {
	var m = new Menu('nav');
});


var Menu = Class.create();
Menu.prototype = {
	initialize: function (containerDiv, options) {
		var m = this;
		var d = $(containerDiv);

		this.selectedUl = null;
		this.uls = [];
		this.eventMouseClick = this.mouseClick.bindAsEventListener(this);

		// set actions on each of the first level lis
		$A(d.immediateDescendants()).each(function (ul) {
			ul = $(ul);
			$A(ul.immediateDescendants()).each(function (li) {
				li = $(li);
				if (li.nodeName == 'LI') {
					$A(li.immediateDescendants()).each(function (e) {
						e = $(e);
						if (e.nodeName == 'A') {
							e.observe('click', function (ev) {
								m.mouseClick(li, ev);
							});
						}
						if (e.nodeName == 'UL') {
							if (li.hasClassName('selected')) {
								m.selectedUl = e;
							}
							m.uls.push(e);
						}
					});
				}
			});
		});
	},
	mouseClick: function (li, ev) {
		var li = $(li);
		var ul = null;

		// get the ul for this li
		$A(li.immediateDescendants()).each(function (e) {
			e = $(e);
			if (e.nodeName == 'UL') {
				ul = e;
				return;
			}
		});

		if (!ul) {
			ul = this.selectedUl;
		}

		// hide all the current uls
		this.uls.each(function (e) {
			e = $(e);
			if (e != ul) {
				e.setStyle({display: 'none'});
			}
		});
		if (ul) {
			ul.setStyle({display: 'block'});
		}
		var e = $(Event.element(ev));
		if (e && e.nodeName == 'A' && (e.href == '#' || e.href == window.location + '#')) {
			Event.stop(ev);
		}
	}
}