// $BSWS: navi.js,v 1.1 2012/01/16 14:09:35 brahe Exp $

function adjustNaviPosition (){
	// set css style position of navi to 'fixed' if we got room enough to see all of it
	var header = document.getElementsByTagName('header')[0];
	var nav = document.getElementsByTagName('nav')[0];
	var subNav = document.getElementById('nav_main');
	if(! subNav) {	// we are on the start page
		subNav = nav;
	}

	if(! header || ! nav || ! subNav) {
		return false;
	}
	var headerHeight = header.offsetHeight;
	var navHeight = nav.offsetHeight;
	var navTop = nav.offsetTop;
	var subNavHeight = subNav.offsetHeight;
	var subNavTop = subNav.offsetTop;
	
	var subNavNeeded = subNavTop + subNavHeight;
	
	var neededHeightBySubNavi = headerHeight + navTop + subNavNeeded;
	var neededHeightByNavi = headerHeight +  navHeight;
	
	var neededHeight = neededHeightByNavi > neededHeightBySubNavi	?	neededHeightByNavi	:	neededHeightBySubNavi;
	var winHeight = window.innerHeight;
	if(! winHeight){ 	// IE8
		return false;
	}

	if (winHeight < neededHeight) {
		// set absolute position from style sheet if win too small for navi
		nav.style.position = 'absolute';
		var boxShadow = "#373a3b 0px 2px 10px";
		header.style.boxShadow = boxShadow;
		header.style.MozBoxShadow = boxShadow;
		header.style.webkitBoxShadow = boxShadow;
		return true;
	}
	
	nav.style.position = 'fixed';
	var boxShadow = "none";
	header.style.boxShadow = boxShadow;
	header.style.MozBoxShadow = boxShadow;
	header.style.webkitBoxShadow = boxShadow;
	return true;
}

if ( window.addEventListener ) {
	window.addEventListener( "resize", adjustNaviPosition, false );
	
} else if ( window.attachEvent ) {
	window.attachEvent( "onresize", adjustNaviPosition );
}

