var PanelCount = 5;

var PanelState = new Array();

function LoadFunc() {

}

for (i = 1; i<=PanelCount; i++) {
	PanelState[i] = 0;	
}

function ShowPanel(PanelID, event) {
	SysHidePanelExecptOne(PanelID);
	var mx, my;
	var isSafari  = (navigator.userAgent.indexOf("Safari") != -1);
	if (isSafari) {
		if (navigator.userAgent.indexOf("3.0") != -1) {
			mx = 10 + event.clientX + document.body.scrollLeft;
			my = 10 + event.clientY   + document.body.scrollTop;
		} else {
			mx = 10 + event.clientX;
			my = 10 + event.clientY;
		}
	} else {
		mx = 10 + event.clientX + document.body.scrollLeft;
		my = 10 + event.clientY  + document.body.scrollTop;
	}

	if (PanelID == 1) {
		mx = FindXY("td" + PanelID).x + 4;
	} else {
		mx = FindXY("td" + PanelID).x + -1;
	}
	my = FindXY("td" + PanelID).y + 42;
	eval('document.getElementById("panel' + PanelID + '").style.left = mx+"px"');
	eval('document.getElementById("panel' + PanelID + '").style.top = my+"px"');

	//eval('document.getElementById("panel' + PanelID + '").style.left = mx+"px"');
	//eval('document.getElementById("panel' + PanelID + '").style.top = my+"px"');
	
	
	document.getElementById("panel" + PanelID).style.display = "block";
	PanelState[PanelID] = 1;
}

function HidePanel(PanelID, evt) {
	var SourceID = "";
	var DestID = "";
	
	if (navigator.appName == "Microsoft Internet Explorer") {
		DestID = event.toElement.id;
		SoutceID = event.fromElement.id;
	} else {
		SourceID = evt.target.id;
		DestID = evt.relatedTarget.id;//evt.src.id;
	}

	
	if (DestID.substr(0, 10) == "innerpanel" || DestID == "panel" + PanelID) {
		return;
	}

	//alert(DestID);
	//document.getElementById("panel" + PanelID).innerHTML = document.getElementById("panel" + PanelID).innerHTML + "<br>"+SourceID;
	PanelState[PanelID] = 2;
	PanelState[PanelID + 100] = setInterval("SysHidePanel("+PanelID+")", 200);
	//document.getElementById("panel" + PanelID).style.display = "none";
}

function SysHidePanel(PanelID) {
	clearInterval(PanelState[PanelID + 100]);
	if (PanelState[PanelID] == 2) {
		PanelState[PanelID] = 0;
		document.getElementById("panel" + PanelID).style.display = "none";
	}
}

function SysHidePanelExecptOne(PanelID) {
	for (i = 1; i <= PanelCount; i++) {
		if (i != PanelID) {
			PanelState[i] = 2;
			SysHidePanel(i);
		}
	}
}

function contains (container, containee) {
  while (containee) {
    if (container == containee) {
      return true;
    }
    containee = containee.parentNode;
  }
  return false;
}

function getElementPosition(elemID){
	var offsetTrail = document.getElementById(elemID);
	var offsetLeft = 0;
	var offsetTop = 0;
	while (offsetTrail){
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
		//alert(offsetTrail.offsetTop);
	}
	if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined'){
		offsetLeft += document.body.leftMargin;
		offsetTop += document.body.topMargin;
	}
	return {left:offsetLeft,top:offsetTop};
}


function FindXY(ID){
	obj = document.getElementById(ID);
	var x=0,y=0;
	while (obj!=null){
		//alert(obj.offsetLeft);
		x+=obj.offsetLeft-obj.scrollLeft;
		y+=obj.offsetTop-obj.scrollTop;
		obj=obj.offsetParent;
	}
	return {x:x, y:y};
}


function ShowTest() {
	document.getElementById("test").style.display='block';
}
	
function HideTest() {
	document.getElementById("test").style.display='none';
}

/*

<div id="panel1" onmouseout="javascript:HidePanel(1, event);" class="panel1" style="display:none;">
<?php 
	GenerateMenuIndex(4, true, 2, 1);
?>


*/
