var current_subnav = '';
var navout_delay = 200;

function navout(objid) {
	if ( current_subnav != objid ) { 		
		document.getElementById(objid).style.display = 'none';
	}
}

function get_winW() {
	return window.innerWidth != null ? window.innerWidth : (document.body != null ? document.body.clientWidth : 760);
}

function is_macie(){
	if ( (navigator.appName == 'Microsoft Internet Explorer') && (navigator.platform == 'MacPPC')) {
		return true;
 	}
	else { return false; }
}

function navinit() {

	if ( !is_macie() ) {
	var zindx = 900;
	
	var navItems = document.getElementById("nav").getElementsByTagName("td");
	for ( var i=0; i<navItems.length; i++ ) {
		if ( navItems[i].className == "menuparent" ) {
			navItems[i].onmouseover=function() { 
				++zindx;
				current_subnav = 'sub_' + this.id;
				var winW = get_winW();
				var x = findX(this);
				var divL = (x + 200 ) < winW ? x : winW - 200;
				document.getElementById(current_subnav).style.left = divL
				document.getElementById(current_subnav).style.zIndex = zindx;
				document.getElementById(current_subnav).style.top = findY(this) + this.offsetHeight; 		
				document.getElementById(current_subnav).style.display = 'block';
			}
			navItems[i].onmouseout = function() { 
				func = "navout('" + 'sub_' + this.id + "')";
				current_subnav = '';
				setTimeout(func, navout_delay);
			}
		}
	}
	
	var subnavitems = document.getElementById('subnav').getElementsByTagName("ul");
	for ( var i=0; i<subnavitems.length; i++ ) {
		subnavitems[i].onmouseover = function() { current_subnav = this.id; }
		subnavitems[i].onmouseout = function() { 
			func = "navout('" + this.id + "')";
			current_subnav = '';
			setTimeout(func, navout_delay);
		}
	}
	}
}
window.onload = navinit;


function findX(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 findY(obj) { 
	var cur = 0;
	if ( obj.offsetParent ) {
		while ( obj.offsetParent ) {
			cur += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if ( obj.y ) { curleft += obj.y; }
	return cur;
}