navTimer = null;
var nav_to_hide = null;
var menu_x_offset = -2;
var menu_y_offset = 21;
var bgcolor = null;
var defaultlay = null;

function set_active_nav(lay){
	var el = document.getElementById(lay);
	bgcolor = el.style.backgroundColor;	
	var sn = document.getElementById('sub_nav');
	sn.style.backgroundColor=el.style.backgroundColor;
	defaultlay = lay;
	nav_to_hide = lay;
}

function show_nav_special(obj, lay){
  var newY = findPosY(obj) + menu_y_offset;
  
  var newX = findPosX(obj) + menu_x_offset;
  var el = document.getElementById(lay);	

  newX  = newX - (el.offsetWidth / 2) + (obj.offsetWidth / 2);
/*
    if (newX < 0){
  	newX = 0
  }else {
  	var nav_lay_end = newX + el.offsetWidth;
	var nav_end = 800
  	if (nav_lay_end > nav_end){
   	  newX = 800 - el.offsetWidth;
  	}

}
*/
  el.style.left = newX + 'px' ;
  el.style.top = newY + 'px';
  show_nav(lay);
}

function show_nav(lay){
	if (nav_to_hide != lay){
		do_hide(nav_to_hide);
	}
	var el = document.getElementById(lay);
	el.style.visibility='';
	var sn = document.getElementById('sub_nav');
	if (bgcolor != null){
		bgcolor = sn.style.backgroundColor;
	}
	sn.style.backgroundColor=el.style.backgroundColor;
	clearTimeout(navTimer);
	navTimer = null;
}

function hide_nav(lay){
	nav_to_hide = lay;
	navTimer = setTimeout("timeout_hide('"+lay+"')", 500);
}

function timeout_hide(lay){
	do_hide(lay);
	if (defaultlay != null){
		show_nav(defaultlay);
		nav_to_hide = defaultlay;
	}
}

function do_hide(lay){
	if (lay != null){
		var el = document.getElementById(lay);
		var sn = document.getElementById('sub_nav');
		el.style.visibility='hidden';
		sn.style.backgroundColor = bgcolor;
	}
	nav_to_hide = null;
}

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;
}

