document.observe('dom:loaded', function() {
	var showTarget = function(target) {
		var p = target;
		while(p.tagName.toLowerCase() != 'body') {
			if (p.style.display == 'none') {
				p.style.display = 'block';
				if (p.id.indexOf('_open') > -1) {
					var peer = $(p.id.replace('_open', '_closed'));
					peer.hide();
				}
			};
			p=p.parentNode;
		}
		target.scrollTo();
	}
	$$('a[href]').each(function(el) {
		var parts = el.href.split('#');
		if (parts.length < 2) {
			return;
		}
		var name = parts[1];
		if(name=='') return;
		var target = $$('a[name='+name+']')[0];
		el.observe('click', function(evt) {
			showTarget(target);
			evt.stop();
			return false;
		});
	});
	var navd = null;
	setInterval(function() {
		if (navd != document.location.href) {
			if (document.location.href.indexOf('#') > -1) {
				var name = document.location.href.split('#')[1];
				var target = $$('a[name='+name+']')[0];
				showTarget(target);
			}
			navd = document.location.href;
		}
	}, 10);
});
