var g_currentMenu = null; var g_hideMenuLock = false; var g_overlayDiv = null; var g_underlayDiv = null; var g_menuDiv = null; var g_mouseOverHighlight = false; function overlayMenu( htmlElement, item1, item2, item3, item4 ) { if ( g_overlayDiv == null ) { g_mouseOverHighlight = true; g_overlayDiv = document.createElement( "div" ); g_underlayDiv = document.createElement( "div" ); g_menuDiv = document.createElement( "div" ); var os = g_overlayDiv.style; var us = g_underlayDiv.style; var ms = g_menuDiv.style; ms.border = "1px solid black"; ms.background = "#AAAAAA"; ms.paddingLeft = ms.paddingRight = "0.5em"; ms.paddingTop = ms.paddingBottom = "0.1em"; us.zIndex = -10; os.position = ms.position = us.position = "absolute"; us.background = "#EEEEEE"; os.border = "1px solid black"; g_overlayDiv.onmouseout = g_menuDiv.onmouseout = function() { g_underlayDiv.style.display = 'none'; setTimeout( function() { g_overlayDiv.style.display = g_menuDiv.style.display = g_underlayDiv.style.display; }, 10 ); }; g_overlayDiv.onmouseover = g_menuDiv.onmouseover = function() { g_underlayDiv.style.display = ''; }; document.body.appendChild( g_overlayDiv ); document.body.appendChild( g_underlayDiv ); document.body.appendChild( g_menuDiv ); } var loc = getLocation( htmlElement ); var os = g_overlayDiv.style; var us = g_underlayDiv.style; var ms = g_menuDiv.style; createMenu( g_menuDiv, item1, item2, item3, item4 ); os.display = ms.display = us.display = ''; os.left = ms.left = us.left = ( loc.x - 10 ) + "px"; us.top = ( loc.y - 10 ) + "px"; os.top = ms.top = ( loc.y - 10 - g_menuDiv.offsetHeight ) + "px"; os.width = us.width = ( htmlElement.offsetWidth + 20 ) + "px"; us.height = ( htmlElement.offsetHeight + 20 ) + "px"; os.height = ( htmlElement.offsetHeight + 20 + g_menuDiv.offsetHeight ) + "px"; } function createMenu( div, item1, item2, item3, item4 ) { while( div.childNodes.length > 0 ) { div.removeChild( div.childNodes.item(0) ); } addMenuItem( div, item1 ); addMenuItem( div, item2 ); addMenuItem( div, item3 ); addMenuItem( div, item4 ); } function addMenuItem( menuElem, menuItem ) { if ( isDefined( menuItem, null ) == null ) { return; } var item = document.createElement( "a" ); item.href = menuItem.Href; item.onclick = menuItem.Handler; item.innerText = menuItem.Name; if ( menuElem.childNodes.length > 0 ) { menuElem.appendChild( document.createTextNode( " | " ) ); } menuElem.appendChild( item ); } function MenuItem( name, handler ) { this.Name = name; this.Handler = handler; this.Href = "#"; } function MenuItemHref( name, href ) { this.Name = name; this.Href = href; this.Handler = null; } function EntityDefinition( entityName, controlPath, separatorPath, editorClass ) { this.EntityName = entityName; this.ControlPath = isDefined( controlPath, "" ); this.SeparatorPath = isDefined( separatorPath, "" ); this.HasSeparator = this.SeparatorPath != ""; this.EditorClass = isDefined( editorClass, entityName + "Editor" ); }