function getObj(name) {
	var thisobj
	if (document.getElementById) {
		thisobj = document.getElementById(name);
	} else if (document.all) {
		thisobj = document.all[name];
	} else if (document.layers) {
		if (document.layers[name]) {
			thisobj = document.layers[name];
			thisobj.style = document.layers[name];
		} 
	}
	return thisobj
}
function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) curleft += obj.x;
	return curleft;
}
function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;
	return curtop;
}
function getScrollXY() {
  var x = 0, y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    x = window.pageXOffset;
	y = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    x = document.body.scrollLeft;
	y = document.body.scrollTop;
  } else if( document.documentElement &&
      ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
	x = document.documentElement.scrollLeft;
    y = document.documentElement.scrollTop;
  }
	return {x:x, y:y};
}

//document.write('<span id="showit">test</span>')
function navinit(){
	//show = document.getElementById("showit") // for testing: show.innerHTML = 'show: ' + 
	ismacie = (navigator.appVersion.indexOf("MSIE") > 0 && navigator.userAgent.indexOf("Mac")>-1)
	
	var navcount = getObj('nav').getElementsByTagName('li').length
	var loc = window.location.toString()
	for(var i=0; i<navcount; i++) {
		var a = getObj('n' + i)
		if(a && loc.indexOf(a.href) != -1) {
			a.className = 'current';
			break;
		}
	}
	if(getObj('home')) getObj('n0').className = 'current';
	
	navO = getObj('nav')
	navS = navO.style
	nL0 = getObj('li0')// text at top of nav
	navtop = findPosY(getObj('lih')) // home button y
	navcell = getObj('lcol')	
	
	speed = 10
	navw = navO.offsetWidth
	navh = navO.offsetHeight
	coltop = navtop
	colend = findPosY(navcell) + navcell.offsetHeight
	targ = {
		x: 4,
		y: 0
	}
	navS.left = 0//-navw
	navS.top = targ.y
	navS.visibility = document.layers? 'show' : 'visible'
	oldY = 0
	//move() 
	//watcher = setInterval("watchscroll()",10)
}

//window.onresize = navinit

function watchscroll() {
	curY = getScrollXY().y
	if(curY != oldY) {
		oldY = curY
		if(curY > coltop) {
			if(parseInt(navS.top) > colend - navh){
				targ.y = colend - navh + nL0.offsetHeight
			} else {
				targ.y = curY - navtop
			}
			move()
		} else {
			targ.y = 0
		}
		//show.innerHTML = 'navtop: ' + navtop + '<br>curY: ' + curY + '<br>targ.y: ' + targ.y
	}
}

function move() {
	if (window.moving)
	clearInterval(moving)
	moving = setInterval("moveit()",10)
}

function moveit() {
	var xdone = 1// no x move for this one
	var ydone = 0
	var navx = parseInt(navS.left)
	var navy = parseInt(navS.top)
	var dx = targ.x - navx
	var dy = targ.y - navy
	/*if(Math.abs(dx) > 1) {
		var vx = Math.round(dx / speed)
		navS.left = navx + vx
	} else {
		navS.left = targ.x
		xdone = 1
	}*/
	if(Math.abs(dy) > 1) {
		var vy = Math.round(dy / speed)
		if(navy + vy > colend - navh){
			targ.y = colend - navh
			vy = Math.round((targ.y - navy)/ speed)
		}
		navS.top = navy + vy
	} else {
		navS.top = 0
		ydone = 1
	}
	if (xdone && ydone){
		clearInterval(moving)
	}
}

if(typeof ol != "object") { ol = { fa: [window.onload], run: function() {
	for(var i in this.fa) if(typeof this.fa[i] == 'function') this.fa[i]() }}
	window.onload = function() {ol.run() }
}
ol.fa[ol.fa.length] = navinit