Problematic popmenu behavior

We have a non-modal form that displays a map. The map is an html area.
On this same form have a ‘menu’ at the top. We are using the popmenu to make this work.
We use the popmenu on various forms and it works great… but not on this form for some reason.

I ran this using the built-in Ajax debugger and here’s the output for when the menu does not work…

<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js"></script> 
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js"></script> 
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js"></script> 
<script type="text/javascript" id="yahoomenu"><![CDATA[/*>]^]^>*/</script>

</head>]]></header-contribution><component id="contribution6c" ><![CDATA[<span id="contribution6c"></span>]]></component><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[clearDoubleClickId('sv_da182b61_79c3_489d_af8a_c2b851a90fda')]]></evaluate><evaluate><![CDATA[oMenu.clearContent();mi = new YAHOO.widget.MenuItem('Open Map Position...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=1328905"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Update Extents Info (pre-save)');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=21218256"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save Map Position');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=32291974"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save Map Position As...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=21825415"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Delete Map Position');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=2712319"});oMenu.addItem(mi,3);setTimeout("oMenu.render(document.getElementById('form_seis_set_map'));var jsComp = document.getElementById('-1:sv_da182b61_79c3_489d_af8a_c2b851a90fda');var oMenuReg = YAHOO.util.Dom.getRegion(document.getElementById(oMenu.id));var parentReg = YAHOO.util.Dom.getRegion(jsComp.offsetParent);var jsCompReg = YAHOO.util.Dom.getRegion(jsComp);if(jsComp.offsetParent && jsCompReg.top + 20+(oMenuReg.bottom - oMenuReg.top) > parentReg.top + (parentReg.bottom - parentReg.top) && jsCompReg.top + 20 - (oMenuReg.bottom - oMenuReg.top) > parentReg.top){oMenu.moveTo(jsCompReg.left  + 0,jsCompReg.top - (oMenuReg.bottom - oMenuReg.top));} else {oMenu.moveTo(jsCompReg.left  + 0,jsCompReg.top + 20);}oMenu.show();", 0);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set
INFO: 
INFO: Initiating Ajax GET request on ?x=bf8FO3Kbld7YgqN667D7jwNghpouFHyT*j-1rgh7wDrqo4PqZwYrczSTK6pyMezC8QSBDT2GEjTUduyBY12QCw&ignoremp=true&random=0.21076634474131806
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (512 characters)
INFO: 
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[storeValueBeforeUpdate();]]></evaluate><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[setTimeout("var wcall=wicketAjaxGet('?x=bf8FO3Kbld7YgqN667D7jwNghpouFHyT*j-1rgh7wDrqo4PqZwYrczSTK6pyMezC8QSBDT2GEjTUduyBY12QCw&ignoremp=true',null,function() { onAjaxError();}.bind(this), function() {return notDragging;}.bind(this));", 5000);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set

Here’s an example of another form where the menu does work…

<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js"></script> 
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js"></script> 
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js"></script> 
<script type="text/javascript" id="yahoomenu"><![CDATA[/*>]^]^>*/</script>

</head>]]></header-contribution><component id="contribution2" ><![CDATA[<span id="contribution2"></span>]]></component><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[setStatusText('Ready');]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[clearDoubleClickId('sv_dc0e5ad9_8f21_4405_80f7_753f77791271')]]></evaluate><evaluate><![CDATA[oMenu.clearContent();mi = new YAHOO.widget.MenuItem('New List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=10661148"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Open List...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=1261032"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Save List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=21326907"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save List As...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=12899773"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Delete List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=11311314"});oMenu.addItem(mi,3);mi = new YAHOO.widget.MenuItem('Export');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=23410074"});oMenu.addItem(mi,4);mi = new YAHOO.widget.MenuItem('<html>Import</html>');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=27405003"});oMenu.addItem(mi,4);mi = new YAHOO.widget.MenuItem('<html>Print</html>');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=27765921"});oMenu.addItem(mi,5);mi = new YAHOO.widget.MenuItem('Log Out');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=20361508"});oMenu.addItem(mi,6);setTimeout("oMenu.render(document.getElementById('form_iglass_main'));var jsComp = document.getElementById('sv_dc0e5ad9_8f21_4405_80f7_753f77791271');var oMenuReg = YAHOO.util.Dom.getRegion(document.getElementById(oMenu.id));var parentReg = YAHOO.util.Dom.getRegion(jsComp.offsetParent);var jsCompReg = YAHOO.util.Dom.getRegion(jsComp);if(jsComp.offsetParent && jsCompReg.top + 20+(oMenuReg.bottom - oMenuReg.top) > parentReg.top + (parentReg.bottom - parentReg.top) && jsCompReg.top + 20 - (oMenuReg.bottom - oMenuReg.top) > parentReg.top){oMenu.moveTo(jsCompReg.left  + 0,jsCompReg.top - (oMenuReg.bottom - oMenuReg.top));} else {oMenu.moveTo(jsCompReg.left  + 0,jsCompReg.top + 20);}oMenu.show();", 0);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: 
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (37029 characters)
INFO: Invoking post-call handler(s)...
INFO: 
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (43136 characters)
INFO: Invoking post-call handler(s)...
INFO: 
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (74691 characters)
INFO: Invoking post-call handler(s)...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set
INFO: 
INFO: Initiating Ajax GET request on ?x=B6QcVxmd4CRK*Y1aQ5fnL*rfMZKlD-oKNy15ShJrQda5FLTFS7OsJ0Ncw6VQxoL5JjNPWwQHvjY&ignoremp=true&random=0.9109449113982921
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (557 characters)
INFO: 
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[storeValueBeforeUpdate();]]></evaluate><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[setStatusText('Ready');]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[setTimeout("var wcall=wicketAjaxGet('?x=B6QcVxmd4CRK*Y1aQ5fnL*rfMZKlD-oKNy15ShJrQda5FLTFS7OsJ0Ncw6VQxoL5JjNPWwQHvjY&ignoremp=true',null,function() { onAjaxError();}.bind(this), function() {return notDragging;}.bind(this));", 5000);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...

Any ideas on what might be going on here ?

Thanks in advance
Mark

does this not working behavior also show up in FireFox?
Or another browser?

we really need to have a sample solution for this and the browser versions (if it really only goes wrong in 1 browser but not the other)

The problem exists in IE7 and Firefox

if you dont show the map does it then show?
It could be that the map just covers or somehow interacts with it and then it fails
Do you have any problems reported by IE7 or FF?