

function displayInfo(elem, info)
{
if (elem.id=="Content")
{
if (info != "")
 {
  alert (info);
 }else{
  alert(elem + ' , top:' + elem.offsetTop + ' , height:' + elem.offsetHeight);
 }
}
}
var showCount = 0;

function ApproxHeight(elem, deep)
{
	
	var h = elem.offsetHeight;
	deep++;
	if (deep > 6) return h;
	//displayInfo(elem, "");
	for (var i = 0; i < elem.childNodes.length;i++)
	 {
	  var el = elem.childNodes[i];
	  /*if (el.nodeType != 1)
	  	continue;*/
	  	
	  if (el.offsetTop > h)
	    h = el.offsetTop;
	    
	  //if ((el.nodeName != "DIV") /*|| (el.nodeName != "TABLE")*/)
	  //{
		if((el.offsetTop + el.offsetHeight) > h)
	  	{
	    	h = el.offsetTop + el.offsetHeight;
	  	}
	  //}
	  /*else{*/
	  
	  var apH = ApproxHeight(el, deep);
	  if (el.nodeName == "TABLE")
	  {
	  	//displayInfo(elem, apH + ' ' + el.nodeName + '   (' + el + ')');
	  }
		  //displayInfo(elem, apH + ' ' + el.nodeName + '   (' + el + ')');
	  if((apH >= el.offsetHeight) /*&& (apH < (2 * el.offsetHeight))*/)
	  {
	  	h = apH + el.offsetTop;
	  }else{
	  	if ((apH > (2 * el.offsetHeight)) && (showCount < 0))
	  	{
	  		//alert (elem.id + " " + elem.nodeName + " " + apH + "   <>    " + el.id + " " + el.nodeName + " " + el.offsetTop + " " + el.offsetHeight);
	  		showCount++;
	  	}
	  }
	   // }
	   //alert (elem.id + " " + elem.nodeName + " " + h);
	 }
return h;
}

function ApproxWidth(elem, deep)
{
	var h = 0;
	deep++;
	if (deep > 5) return 0;
	//displayInfo(elem, "");
	for (var i = 0; i < elem.childNodes.length;i++)
	 {
	  var el = elem.childNodes[i];
	  if (el.offsetLeft > h)
	    h = el.offsetLeft;
	
	  if((el.offsetLeft + el.offsetWidth) > h)
	  {
	    h = el.offsetLeft + el.offsetWidth;
	  }else{
		  var apH = ApproxWidth(el, deep);
		  //displayInfo(elem, apH + ' ' + el.id + '   (' + el + ')');
		  if((apH + el.offsetLeft) > h)
		    h = apH + el.offsetLeft;
	  }
	 }
return h;
}

function GetObject(oName)
{
	return MM_findObj(oName, false);
}

var hideTimers = new Array();
var hideShowDefs = new Array();

function DoHide(el)
{
	var elO = GetObject(el);
	elO.style.visibility = "hidden";
	if ((hideShowDefs[elO] != false) && (hideShowDefs[elO] != null))
	{
		hideShowDefs[elO].style.visibility = "visible";
	}
}

function ResetHideDelay(el)
{
	if((hideTimers[el] != null) && (hideTimers[el] != false))
	{
		clearTimeout(hideTimers[el]);
		hideTimers[el] = null;
	}
}

function StartHideDelay(el)
{
	//alert("starthide");
	if((hideTimers[el] != null) && (hideTimers[el] != false))
	{
		return;
	}
	hideTimers[el] = setTimeout("DoHide('" + el.id + "');", 500);
}

function SetMouseOutHideDelayed(toHideElement, toShowElement)
{
	
	/*if ((hideTimers[toHideElement] != false) && (hideTimers[toHideElement] != "undefined"))
	{
		alert("requestReset " + toHideElement.nodeName);
		ResetHideDelay(toHideElement);
		return;
	}*/
	//alert("setup " + toHideElement);
	//alert("setup " + toHideElement.nodeName);
	hideShowDefs[toHideElement] = toShowElement;
	
	toHideElement.onmouseout = function(){ StartHideDelay(this);}
	toHideElement.onmouseover = function(){ ResetHideDelay(this);}
	
	for(var i = 0;i < toHideElement.childNodes.length; i++)
	{
		var ele = toHideElement.childNodes[i];
		ele.onmouseout = function(){ StartHideDelay(toHideElement); }
		ele.onmouseover = function(){ ResetHideDelay(toHideElement); }
	}
}











