var hideCheckTime = -1; var hideTimeout; var currentHoverArea = null; var WaitingToHide = false; function SuspendHide() { }; function ResumeHide() { }; function DoMouseOver() { if (WaitingToHide == true) { DoHide(currentHoverArea.Name); } if (this.IsPlaceHolder == false) { this.Content.style.visibility = "visible"; } this.className = this.HoverClassName; currentHoverArea = this; }; function DoMouseOut() { if (this.IsPlaceHolder == false) { WaitingToHide = true; hideCheckTime = new Date().getTime(); hideTimeout = setTimeout("CheckHide('" + this.Name + "')", 10); } else { DoHide(this.Name); } }; function CheckHide(HoverAreaId) { hoverTime = document.getElementById(HoverAreaId).HideDelay; if ((new Date().getTime() - hideCheckTime) >= hoverTime) { DoHide(HoverAreaId); } else { hideTimeout = setTimeout("CheckHide('" + HoverAreaId + "')", 10); } }; function DoHide(HoverAreaId) { currentHoverArea = null; clearTimeout(hideTimeout); hideCheckTime = -1; var targetHoverArea = new Object(); targetHoverArea = document.getElementById(HoverAreaId); if (targetHoverArea.IsPlaceHolder == false) { targetHoverArea.Content.style.visibility = "hidden"; } targetHoverArea.className = targetHoverArea.OldClassName; WaitingToHide = false; }; function RegisterPlaceHolderEvents(HoverAreaId, HoverClassName) { var newHoverArea = new Object(); newHoverArea = document.getElementById(HoverAreaId); newHoverArea.Name = HoverAreaId; newHoverArea.Content = null; newHoverArea.IsPlaceHolder = true; newHoverArea.HideDelay = -1; newHoverArea.OldClassName = newHoverArea.className; newHoverArea.HoverClassName = newHoverArea.className + HoverClassName newHoverArea.style.position = "static"; newHoverArea.onmouseover = DoMouseOver; newHoverArea.onmouseout = DoMouseOut; }; function RegisterMenuEvents(HoverAreaId, ContentId, HoverClassName, HideDelay) { var newContent = new Object(); newContent = document.getElementById(ContentId); newContent.Name = ContentId; newContent.style.position = "absolute"; newContent.style.visibility = "hidden"; newContent.onmouseover = SuspendHide; newContent.onmouseout = ResumeHide; var newHoverArea = new Object(); newHoverArea = document.getElementById(HoverAreaId); newHoverArea.Name = HoverAreaId; newHoverArea.IsPlaceHolder = false; newHoverArea.HideDelay = HideDelay; newHoverArea.Content = newContent; newHoverArea.OldClassName = newHoverArea.className; newHoverArea.HoverClassName = newHoverArea.className + HoverClassName newHoverArea.style.position = "static"; newHoverArea.onmouseover = DoMouseOver; newHoverArea.onmouseout = DoMouseOut; };