
		
	//fucking IE does return 0!! for all non-links,.. document.getElementsByName("subblock");
	//so we hide all!! div's
function hide_all() {
	var i;
	var nodes = document.getElementsByTagName("DIV");
	for( i=0; i < nodes.length; i++) {
		if( nodes[i].className == "subblock") {
			nodes[i].style.display = "none";
		}
	}
	
}

		//just resets the .id for all links
function unactivate_all() {
	var i;
	var nodes = document.getElementsByTagName("DIV");
	for( i=0; i < nodes.length; i++) {
		if( nodes[i].getAttribute && (nodes[i].getAttribute("id") == "active"))
			nodes[i].id = "";
	}
	
}

		//gets the target for moz and ie
function getEventTarget( evt) {
	var event;
	if( evt)
		event = evt;
	else
		event = window.event;
	if( event.target) 
		return event.target;
	else if( event.srcElement)
		return event.srcElement;
	else 
		return;

}

		//search for the first "div subblock" after the node and shows it
function showNextSubblock( node) {
	while( node=node.nextSibling) {
		if( node.getAttribute && (node.className == "main")) break;
		if( node.getAttribute && (node.className == "subblock")) {
			showDiv( node);
			break;
		}
	}
}

function getParent( node, parentname) {
	while( node=node.parentNode) {
		if( node.className == parentname) return node;
	}
}

function showDiv( node) {
  hide_all();
	node.style.display = "block";
}

function activate( node) {
	unactivate_all();
	node.id="active";
}

function searchLinksAndActivate( uri) {
	href = new String(uri)
	var i;
	var node;
        var bhref;
        var ii;
	var blocks = document.getElementsByTagName("A");
	for( i=0; i < blocks.length; i++) {
			//if( blocks[i].href == uri) {
			//now match also suburls(eg. for gallery)
                bhref = blocks[i].href;
                ii = bhref.lastIndexOf("index.xhtml");
                if( ii == -1) {
                    ii = bhref.lastIndexOf("view.xhtml");
                }
                if( ii != -1) {
                    bhref = bhref.substring(0, ii);
                    window.status = bhref;
                }
		if( bhref == href.substr(0, bhref.length) ) {
			node = blocks[i];
			break;
		}
	}
	setParentActive(node)
}


function setParentActive( node) {
	if( !node) return;
	hide_all();
	var main = getParent( node, "main");
	var subblock = getParent( node, "subblock");
	var sub = getParent( node, "sub");
	if( subblock) {
		showDiv( subblock);
		if( sub)
			activate(sub);
	} else if( main) {
		showNextSubblock( main);
		activate( main);
	}
}

function onFocus( evt) {
	var node = getEventTarget( evt);
	if( node.blur)
		node.blur();
}

function onClick( evt) {
	var node = getEventTarget( evt);
	setParentActive( node);
}


	//set this in index.html
function ordner_onload() {
	if( top.ordner && top.ordner.location)
		searchLinksAndActivate( top.ordner.location);
}

	//set this in index.html
	//and for f**g ie5 also in navi.html and additionally add the onclick-handler
	//frame on load not supported
function navi_onload() {
	hide_all();
	var i;
	var blocks = document.getElementsByTagName("A");
	for( i=0; i < blocks.length; i++) {
		if( blocks[i].addEventListener) {
			blocks[i].addEventListener("focus", onFocus, true);
			blocks[i].addEventListener("click", onClick, true);
		} else {
			blocks[i].onfocus = onFocus;
			blocks[i].onclick = onClick;
		}
	}

		//only if the navi is loaded later
	if( top.ordner) {
		if( top.ordner.location) searchLinksAndActivate( top.ordner.location);
	}


}

