C:\Users\KHammer\Desktop\ffoffice\HTMLBasedGUI\general\CONTEXTMENUControls.js D:\dev\perforce\FF_REL_5_0\install\ffoffice-tomcat\webapps\ffoffice\HTMLBasedGUI\general\CONTEXTMENUControls.js
function addVersionInfoCONTEXTMENUCONTROLS() function addVersionInfoCONTEXTMENUCONTROLS()
{ {
if (this.m_jsversions == undefined) m_jsversions = new Array(); if (this.m_jsversions == undefined) m_jsversions = new Array();
if (this.m_jsfiles == undefined) m_jsfiles = new Array(); if (this.m_jsfiles == undefined) m_jsfiles = new Array();
m_jsversions.push('40_20080115'); m_jsversions.push('40_20080115');
m_jsfiles.push('srcjs/CONTEXTMENUControls.js_design'); m_jsfiles.push('srcjs/CONTEXTMENUControls.js_design');
} }
var METHOD_ONCONTEXTMENU_CONTEXTMENU = "reactOnContextMenuRequest"; var METHOD_ONCONTEXTMENU_CONTEXTMENU = "reactOnContextMenuRequest";
var PROPERTY_CONTEXTMENUITEMS_CONTEXTMENU = "casaContextMenuItems"; var PROPERTY_CONTEXTMENUITEMS_CONTEXTMENU = "casaContextMenuItems";
var m_tdElementPerLevel = new Array(30); var m_tdElementPerLevel = new Array(30);
var m_rowInfoStack = new Array(30); var m_rowInfoStack = new Array(30);
var m_treenodeToFocusCONTEXTMENU = null; var m_treenodeToFocusCONTEXTMENU = null;
var m_textgridRowToFocusCONTEXTMENU = null; var m_textgridRowToFocusCONTEXTMENU = null;
function openCONTEXTMENU(contextMenu) function openCONTEXTMENU(contextMenu)
{ {
try try
{ {
var vHTML = getHTMLForLevelCONTEXTMENU(contextMenu, 0, 0, m_direction); var vHTML = getHTMLForLevelCONTEXTMENU(contextMenu, 0, 0, m_direction);
var vContextMenuHeight = 6*getSeparatorCountLevel0CONTEXTMENU()-0+18*geNodeCountLevel0CONTEXTMENU()-0; var vContextMenuHeight = 6*getSeparatorCountLevel0CONTEXTMENU()-0+18*geNodeCountLevel0CONTEXTMENU()-0;
var vContextMenuTop = contextMenu.style.top; var vContextMenuTop = contextMenu.style.top;
var vEnd = vContextMenuTop.lastIndexOf("px"); var vEnd = vContextMenuTop.lastIndexOf("px");
if (vEnd < 0) if (vEnd < 0)
vEnd = vContextMenuTop.length(); vEnd = vContextMenuTop.length();
vContextMenuTop = vContextMenuTop.substring(0, vEnd); vContextMenuTop = vContextMenuTop.substring(0, vEnd);
var vAdditionOffset = 150; var vAdditionOffset = 150;
if (getHasOneLevelLevelOnlyCONTEXTMENU() == true) if (getHasOneLevelLevelOnlyCONTEXTMENU() == true)
vAdditionOffset = 20; vAdditionOffset = 20;
var documentHeight; var documentHeight;
if (isIE()) if (isIE())
documentHeight = m_parentdocumentbody.clientHeight documentHeight = m_parentdocumentbody.clientHeight
else else
documentHeight = parent.parent.document.body.clientHeight; documentHeight = parent.parent.document.body.clientHeight;
var up = false; var up = false;
if (vContextMenuTop-0+vContextMenuHeight-0+vAdditionOffset-0 > documentHeight) if (vContextMenuTop-0+vContextMenuHeight-0+vAdditionOffset-0 > documentHeight)
{ {
up = true; up = true;
contextMenu.style.top = "" + (vContextMenuTop-0-vContextMenuHeight-0) + "px"; contextMenu.style.top = "" + (vContextMenuTop-0-vContextMenuHeight-0) + "px";
} }
contextMenu.innerHTML = vHTML; contextMenu.innerHTML = vHTML;
if (m_direction == "rtl") if (m_direction == "rtl")
{ {
reposMenuRtlCONTEXTMENU("0"); reposMenuRtlCONTEXTMENU("0");
} }
else else
{ {
var vLeft = contextMenu.style.left; var vLeft = contextMenu.style.left;
if (vLeft.lastIndexOf("px") > 0) if (vLeft.lastIndexOf("px") > 0)
vLeft = vLeft.substring(0, vLeft.lastIndexOf("px")); vLeft = vLeft.substring(0, vLeft.lastIndexOf("px"));
var vtable = parent.gebid("CASA_CM_TABLE20"); var vtable = parent.gebid("CASA_CM_TABLE20");
if (vLeft-0+vtable.offsetWidth > m_parentdocumentbody.clientWidth) if (vLeft-0+vtable.offsetWidth > m_parentdocumentbody.clientWidth)
reposMenuRtlCONTEXTMENU("0"); reposMenuRtlCONTEXTMENU("0");
} }
if (isIE()) if (isIE())
{ {
resetCheckIO(); resetCheckIO();
var itemInfo = contextMenu.CASA_itemFirst; var itemInfo = contextMenu.CASA_itemFirst;
if (up) if (up)
itemInfo = contextMenu.CASA_itemLast; itemInfo = contextMenu.CASA_itemLast;
rollOverInImageCellROLLOVER(itemInfo.id1); rollOverInImageCellROLLOVER(itemInfo.id1);
rollOverInLabelCellROLLOVER(itemInfo.id2); rollOverInLabelCellROLLOVER(itemInfo.id2);
rollOverInCMTextCellROLLOVER(itemInfo.id3); rollOverInCMTextCellROLLOVER(itemInfo.id3);
} }
} }
catch(exc) catch(exc)
{ {
} }
} }
function openItemCONTEXTMENU(contextMenu, itemIndex, elementid) function openItemCONTEXTMENU(contextMenu, itemIndex, elementid)
{ {
try try
{ {
var vItemLevel = getPropertyValue(PROPERTY_CONTEXTMENUITEMS_CONTEXTMENU + "["+itemIndex+"].level"); var vItemLevel = getPropertyValue(PROPERTY_CONTEXTMENUITEMS_CONTEXTMENU + "["+itemIndex+"].level");
if (isIE() == false) if (isIE() == false)
if (m_tdElementPerLevel[vItemLevel] != null) if (m_tdElementPerLevel[vItemLevel] != null)
releaseHTMLCONTEXTMENU(vItemLevel); releaseHTMLCONTEXTMENU(vItemLevel);
var vNextLevel = vItemLevel-0 + 1-0; var vNextLevel = vItemLevel-0 + 1-0;
var vNextItemIndex = itemIndex-0 + 1-0; var vNextItemIndex = itemIndex-0 + 1-0;
var vObject = parent.document.getElementById(elementid); var vObject = parent.document.getElementById(elementid);
if (vObject != null) if (vObject != null)
{ {
vObject.level = vItemLevel; vObject.level = vItemLevel;
vObject.index = itemIndex; vObject.index = itemIndex;
m_tdElementPerLevel[vItemLevel] = vObject; m_tdElementPerLevel[vItemLevel] = vObject;
vObject.innerHTML = getHTMLForLevelCONTEXTMENU(contextMenu, vNextItemIndex, vNextLevel, m_direction); vObject.innerHTML = getHTMLForLevelCONTEXTMENU(contextMenu, vNextItemIndex, vNextLevel, m_direction);
if (m_direction == "rtl") if (m_direction == "rtl")
reposMenuRtlCONTEXTMENU(vNextLevel); reposMenuRtlCONTEXTMENU(vNextLevel);
} }
} }
catch(exc) catch(exc)
{ {
} }
} }
function reposMenuRtlCONTEXTMENU(pLevel) function reposMenuRtlCONTEXTMENU(pLevel)
{ {
var vOuterTable = parent.document.getElementById("CASA_CM_TABLE"+pLevel); var vOuterTable = parent.document.getElementById("CASA_CM_TABLE"+pLevel);
var vOuterLeft = vOuterTable.style.left; var vOuterLeft = vOuterTable.style.left;
var vOuterLeftLen = vOuterLeft.length var vOuterLeftLen = vOuterLeft.length
if (vOuterLeftLen > 2 && vOuterLeft.substring(vOuterLeftLen-2, vOuterLeftLen) == "px") if (vOuterLeftLen > 2 && vOuterLeft.substring(vOuterLeftLen-2, vOuterLeftLen) == "px")
vOuterLeft = vOuterLeft.substring(0, vOuterLeftLen-2); vOuterLeft = vOuterLeft.substring(0, vOuterLeftLen-2);
var vInnerTable = parent.document.getElementById("CASA_CM_TABLE2"+pLevel); var vInnerTable = parent.document.getElementById("CASA_CM_TABLE2"+pLevel);
if (pLevel == "0") if (pLevel == "0")
vOuterTable.style.left = vOuterLeft - vInnerTable.clientWidth +20-0; vOuterTable.style.left = vOuterLeft - vInnerTable.clientWidth +20-0;
else else
vOuterTable.style.left = vOuterLeft - vInnerTable.clientWidth; vOuterTable.style.left = vOuterLeft - vInnerTable.clientWidth;
} }
var mm_geSeparatorCountLevel0CONTEXTMENU = null; var mm_geSeparatorCountLevel0CONTEXTMENU = null;
function getSeparatorCountLevel0CONTEXTMENU() function getSeparatorCountLevel0CONTEXTMENU()
{ {
if (mm_geSeparatorCountLevel0CONTEXTMENU == null) mm_geSeparatorCountLevel0CONTEXTMENU = CL().C_getSeparatorCountLevel0CONTEXTMENU; if (mm_geSeparatorCountLevel0CONTEXTMENU == null) mm_geSeparatorCountLevel0CONTEXTMENU = CL().C_getSeparatorCountLevel0CONTEXTMENU;
return mm_geSeparatorCountLevel0CONTEXTMENU(this);  return mm_geSeparatorCountLevel0CONTEXTMENU(); 
} }
var mm_geNodeCountLevel0CONTEXTMENU = null; var mm_geNodeCountLevel0CONTEXTMENU = null;
function geNodeCountLevel0CONTEXTMENU() function geNodeCountLevel0CONTEXTMENU()
{ {
if (mm_geNodeCountLevel0CONTEXTMENU == null) mm_geNodeCountLevel0CONTEXTMENU = CL().C_geNodeCountLevel0CONTEXTMENU; if (mm_geNodeCountLevel0CONTEXTMENU == null) mm_geNodeCountLevel0CONTEXTMENU = CL().C_geNodeCountLevel0CONTEXTMENU;
return mm_geNodeCountLevel0CONTEXTMENU(this);  return mm_geNodeCountLevel0CONTEXTMENU(); 
} }
var mm_getHTMLForLevelCONTEXTMENU = null; var mm_getHTMLForLevelCONTEXTMENU = null;
function getHTMLForLevelCONTEXTMENU(contextMenu, itemIndex, level, pDir) function getHTMLForLevelCONTEXTMENU(contextMenu, itemIndex, level, pDir)
{ {
if (mm_getHTMLForLevelCONTEXTMENU ==null) mm_getHTMLForLevelCONTEXTMENU = CL().C_getHTMLForLevelCONTEXTMENU; if (mm_getHTMLForLevelCONTEXTMENU ==null) mm_getHTMLForLevelCONTEXTMENU = CL().C_getHTMLForLevelCONTEXTMENU;
return mm_getHTMLForLevelCONTEXTMENU(contextMenu, itemIndex, level, pDir); return mm_getHTMLForLevelCONTEXTMENU(contextMenu, itemIndex, level, pDir);
} }
var mm_getHasOneLevelOnlyCONTEXTMENU = null; var mm_getHasOneLevelOnlyCONTEXTMENU = null;
function getHasOneLevelLevelOnlyCONTEXTMENU() function getHasOneLevelLevelOnlyCONTEXTMENU()
{ {
if (mm_getHasOneLevelOnlyCONTEXTMENU ==null) mm_getHasOneLevelOnlyCONTEXTMENU = CL().C_getHasOneLevelOnlyCONTEXTMENU; if (mm_getHasOneLevelOnlyCONTEXTMENU ==null) mm_getHasOneLevelOnlyCONTEXTMENU = CL().C_getHasOneLevelOnlyCONTEXTMENU;
return mm_getHasOneLevelOnlyCONTEXTMENU(); return mm_getHasOneLevelOnlyCONTEXTMENU();
} }
function selectItemAndCloseCONTEXTMENU(contextMenu, itemIndex) function selectItemAndCloseCONTEXTMENU(contextMenu, itemIndex)
{ {
try try
{ {
m_noProcessingForNextHotKey = true; m_noProcessingForNextHotKey = true;
closeCONTEXTMENU(contextMenu); closeCONTEXTMENU(contextMenu);
var vMethod = "casaObjects1["+itemIndex+"].select"; var vMethod = "casaObjects1["+itemIndex+"].select";
invokeMethodInModel(vMethod); invokeMethodInModel(vMethod);
passBackFocusCONTEXTMENU(); passBackFocusCONTEXTMENU();
blockActivities(); blockActivities();
} }
catch (exc) catch (exc)
{ {
} }
} }
function closeCONTEXTMENU(contextMenu, evt) function closeCONTEXTMENU(contextMenu, evt)
{ {
try try
{ {
clearTimeoutCONTEXTMENU(contextMenu); clearTimeoutCONTEXTMENU(contextMenu);
releaseHTMLCONTEXTMENU(0); releaseHTMLCONTEXTMENU(0);
contextMenu.CASA_indexOfItemLastRolledOver = null; contextMenu.CASA_indexOfItemLastRolledOver = null;
contextMenu.style.display = "none"; contextMenu.style.display = "none";
} }
catch (exc) catch (exc)
{ {
} }
} }
function passBackFocusCONTEXTMENU() function passBackFocusCONTEXTMENU()
{ {
if (isIE() == false) return; if (isIE() == false) return;
try try
{ {
if (m_treenodeToFocusCONTEXTMENU != null) if (m_treenodeToFocusCONTEXTMENU != null)
{ {
m_treenodeToFocusCONTEXTMENU.focus(); m_treenodeToFocusCONTEXTMENU.focus();
m_treenodeToFocusCONTEXTMENU = null; m_treenodeToFocusCONTEXTMENU = null;
} }
if (m_textgridRowToFocusCONTEXTMENU != null) if (m_textgridRowToFocusCONTEXTMENU != null)
{ {
var info = m_textgridRowToFocusCONTEXTMENU; var info = m_textgridRowToFocusCONTEXTMENU;
m_textgridRowToFocusCONTEXTMENU = null; m_textgridRowToFocusCONTEXTMENU = null;
var gridCC = info.gridCC; var gridCC = info.gridCC;
var keyboardIndex = info.keyboardIndex; var keyboardIndex = info.keyboardIndex;
gridCC.CASA_keybCursor = keyboardIndex; gridCC.CASA_keybCursor = keyboardIndex;
var focusCell = parent.gebid(info.rowId); var focusCell = parent.gebid(info.rowId);
focusCell.focus(); focusCell.focus();
} }
} }
catch (exccc) catch (exccc)
{ {
str=""; str="";
for (var id in excc) str += " "+excc[id]; for (var id in excc) str += " "+excc[id];
alert(str); alert(str);
} }
} }
function releaseHTMLCONTEXTMENU(itemLevel) function releaseHTMLCONTEXTMENU(itemLevel)
{ {
try try
{ {
var vOneLevelClosed = false; var vOneLevelClosed = false;
for (var i=itemLevel; i <m_tdElementPerLevel.length; i++) for (var i=itemLevel; i <m_tdElementPerLevel.length; i++)
{ {
if (m_tdElementPerLevel[i] != null) if (m_tdElementPerLevel[i] != null)
{ {
m_tdElementPerLevel[i].innerHTML = ""; m_tdElementPerLevel[i].innerHTML = "";
m_tdElementPerLevel[i] = null; m_tdElementPerLevel[i] = null;
vOneLevelClosed = true; vOneLevelClosed = true;
} }
} }
if (vOneLevelClosed == true) if (vOneLevelClosed == true)
{ {
var vRowInfos = m_rowInfoStack[itemLevel]; var vRowInfos = m_rowInfoStack[itemLevel];
for (var j=0; j<vRowInfos.length; j++) for (var j=0; j<vRowInfos.length; j++)
{ {
rollOverOutImageCellROLLOVER(vRowInfos[j].imageId); rollOverOutImageCellROLLOVER(vRowInfos[j].imageId);
rollOverOutLabelCellROLLOVER(vRowInfos[j].labelId); rollOverOutLabelCellROLLOVER(vRowInfos[j].labelId);
rollOverOutCMTextCellROLLOVER(vRowInfos[j].textId); rollOverOutCMTextCellROLLOVER(vRowInfos[j].textId);
} }
} }
} }
catch (exc) catch (exc)
{ {
} }
} }
function rokdCONTEXTMENU() function rokdCONTEXTMENU()
{ {
if (!isIE()) return; if (!isIE()) return;
var cc = parent.CasaPAGEContextMenu; var cc = parent.CasaPAGEContextMenu;
var evt = parent.window.event; var evt = parent.window.event;
rokdInternallyCONTEXTMENU(cc,evt.srcElement,evt.keyCode); rokdInternallyCONTEXTMENU(cc,evt.srcElement,evt.keyCode);
} }
function rokdInternallyCONTEXTMENU(cc, srcElement, keyCode) function rokdInternallyCONTEXTMENU(cc, srcElement, keyCode)
{ {
var srcInfo = cc.CASA_itemInfos[srcElement.id]; var srcInfo = cc.CASA_itemInfos[srcElement.id];
if (srcInfo == null) if (srcInfo == null)
{ {
return; return;
} }
var vSrcLevel = srcInfo.level; var vSrcLevel = srcInfo.level;
var vSrcCounter = srcInfo.counter; var vSrcCounter = srcInfo.counter;
var info = null; var info = null;
if (keyCode == 13) if (keyCode == 13)
{ {
if (srcInfo.opened == 2) if (srcInfo.opened == 2)
{ {
sc = parent.gebid(srcInfo.id1); sc = parent.gebid(srcInfo.id1);
sc.click(); sc.click();
} }
} }
else if (keyCode == 27) else if (keyCode == 27)
{ {
closeCONTEXTMENU(cc); closeCONTEXTMENU(cc);
passBackFocusCONTEXTMENU(); passBackFocusCONTEXTMENU();
return; return;
} }
else if (keyCode == 37) else if (keyCode == 37)
{ {
if (vSrcLevel > 0) if (vSrcLevel > 0)
{ {
var firstInLevel = null; var firstInLevel = null;
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (firstInLevel == null) if (firstInLevel == null)
firstInLevel = o; firstInLevel = o;
else if (o.counter < firstInLevel.counter) else if (o.counter < firstInLevel.counter)
firstInLevel = o; firstInLevel = o;
} }
} }
vSrcLevel--; vSrcLevel--;
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel && o.counter == (firstInLevel.counter-1)) if (o.level == vSrcLevel && o.counter == (firstInLevel.counter-1))
{ {
info = o; info = o;
releaseHTMLCONTEXTMENU(vSrcLevel); releaseHTMLCONTEXTMENU(vSrcLevel);
} }
} }
} }
} }
else if (keyCode == 39) else if (keyCode == 39)
{ {
if (srcInfo.opened != 2) if (srcInfo.opened != 2)
{ {
sc = parent.gebid(srcInfo.id1); sc = parent.gebid(srcInfo.id1);
sc.click(); sc.click();
vSrcLevel++; vSrcLevel++;
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (info == null) if (info == null)
info = o; info = o;
else if (o.counter < info.counter) else if (o.counter < info.counter)
info = o; info = o;
} }
} }
} }
} }
else if (keyCode == 38) else if (keyCode == 38)
{ {
checkLeafCONTEXTMENU(cc, vSrcLevel, vSrcCounter); checkLeafCONTEXTMENU(cc, vSrcLevel, vSrcCounter);
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (info == null && o.counter < vSrcCounter) if (info == null && o.counter < vSrcCounter)
info = o; info = o;
else if (o.counter < vSrcCounter && o.counter > info.counter) else if (o.counter < vSrcCounter && o.counter > info.counter)
info = o; info = o;
} }
} }
if (info == null) if (info == null)
{ {
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (info == null) if (info == null)
info = o; info = o;
else if (o.counter > info.counter) else if (o.counter > info.counter)
info = o; info = o;
} }
} }
} }
} }
else if (keyCode == 40) else if (keyCode == 40)
{ {
checkLeafCONTEXTMENU(cc, vSrcLevel, vSrcCounter); checkLeafCONTEXTMENU(cc, vSrcLevel, vSrcCounter);
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (info == null && o.counter > vSrcCounter) if (info == null && o.counter > vSrcCounter)
info = o; info = o;
else if (o.counter > vSrcCounter && o.counter < info.counter) else if (o.counter > vSrcCounter && o.counter < info.counter)
info = o; info = o;
} }
} }
if (info == null) if (info == null)
{ {
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
var o = cc.CASA_itemInfos[id]; var o = cc.CASA_itemInfos[id];
if (o.level == vSrcLevel) if (o.level == vSrcLevel)
{ {
if (info == null) if (info == null)
info = o; info = o;
else if (o.counter < info.counter) else if (o.counter < info.counter)
info = o; info = o;
} }
} }
} }
} }
if (info != null) if (info != null)
{ {
if (keyCode != 39) if (keyCode != 39)
{ {
rollOverOutImageCellROLLOVER(srcInfo.id1); rollOverOutImageCellROLLOVER(srcInfo.id1);
rollOverOutLabelCellROLLOVER(srcInfo.id2); rollOverOutLabelCellROLLOVER(srcInfo.id2);
rollOverOutCMTextCellROLLOVER(srcInfo.id3); rollOverOutCMTextCellROLLOVER(srcInfo.id3);
} }
rollOverInImageCellROLLOVER(info.id1); rollOverInImageCellROLLOVER(info.id1);
rollOverInLabelCellROLLOVER(info.id2); rollOverInLabelCellROLLOVER(info.id2);
rollOverInCMTextCellROLLOVER(info.id3); rollOverInCMTextCellROLLOVER(info.id3);
sc = parent.gebid(info.id1); sc = parent.gebid(info.id1);
if (sc == null) if (sc == null)
{ {
var str = info.id1+"\n"; var str = info.id1+"\n";
for (var id in cc.CASA_itemInfos) for (var id in cc.CASA_itemInfos)
{ {
str += "["+id+"]"; str += "["+id+"]";
for (var innerId in cc.CASA_itemInfos[id]) for (var innerId in cc.CASA_itemInfos[id])
{ {
if (innerId == "text") str += " "+cc.CASA_itemInfos[id][innerId]; if (innerId == "text") str += " "+cc.CASA_itemInfos[id][innerId];
} }
str += "\n"; str += "\n";
} }
alert(str); alert(str);
} }
else else
sc.setActive(); sc.setActive();
} }
} }
function onmouseenterNodeCONTEXTMENU(ccId, level, itemIndex, TDId) function onmouseenterNodeCONTEXTMENU(ccId, level, itemIndex, TDId)
{ {
var cc = parent.gebid(ccId); var cc = parent.gebid(ccId);
try try
{ {
if (m_tdElementPerLevel[level] == null) if (m_tdElementPerLevel[level] == null)
{ {
setTimeoutToOpenSubLevelCONTEXTMENU(cc, itemIndex, TDId); setTimeoutToOpenSubLevelCONTEXTMENU(cc, itemIndex, TDId);
} }
else if (m_tdElementPerLevel[level].index == itemIndex) else if (m_tdElementPerLevel[level].index == itemIndex)
{ {
if (m_tdElementPerLevel[level-0+1-0] != null) if (m_tdElementPerLevel[level-0+1-0] != null)
releaseHTMLCONTEXTMENU(level-0+1-0); releaseHTMLCONTEXTMENU(level-0+1-0);
} }
else else
{ {
releaseHTMLCONTEXTMENU(level); releaseHTMLCONTEXTMENU(level);
setTimeoutToOpenSubLevelCONTEXTMENU(cc, itemIndex, TDId); setTimeoutToOpenSubLevelCONTEXTMENU(cc, itemIndex, TDId);
} }
} }
catch(exc) catch(exc)
{ {
} }
} }
function checkLeafCONTEXTMENU(ccId, level, itemIndex) function checkLeafCONTEXTMENU(ccId, level, itemIndex)
{ {
var cc = parent.gebid(ccId); var cc = parent.gebid(ccId);
try try
{ {
ccId.CASA_indexOfItemLastRolledOver = itemIndex; ccId.CASA_indexOfItemLastRolledOver = itemIndex;
clearTimeoutCONTEXTMENU(ccId); clearTimeoutCONTEXTMENU(ccId);
if (m_tdElementPerLevel[level] == null) if (m_tdElementPerLevel[level] == null)
return; return;
releaseHTMLCONTEXTMENU(level); releaseHTMLCONTEXTMENU(level);
} }
catch(exc) catch(exc)
{ {
} }
} }
function setTimeoutToOpenSubLevelCONTEXTMENU(contextMenu, itemIndex, TDId) function setTimeoutToOpenSubLevelCONTEXTMENU(contextMenu, itemIndex, TDId)
{ {
try try
{ {
clearTimeoutCONTEXTMENU(contextMenu); clearTimeoutCONTEXTMENU(contextMenu);
contextMenu.CASA_timeoutId = window.setTimeout("reactOnTimeoutToOpenSubLevelCONTEXTMENU("+itemIndex+", \""+TDId+"\")", 300); contextMenu.CASA_timeoutId = window.setTimeout("reactOnTimeoutToOpenSubLevelCONTEXTMENU("+itemIndex+", \""+TDId+"\")", 300);
} }
catch (exc) catch (exc)
{ {
} }
} }
function reactOnTimeoutToOpenSubLevelCONTEXTMENU(itemIndex, TDId) function reactOnTimeoutToOpenSubLevelCONTEXTMENU(itemIndex, TDId)
{ {
try try
{ {
var vContextMenu = parent.document.getElementById("THISCONTEXTMENU"); var vContextMenu = parent.document.getElementById("THISCONTEXTMENU");
vContextMenu.CASA_timeoutId = null; vContextMenu.CASA_timeoutId = null;
openItemCONTEXTMENU(vContextMenu, itemIndex, TDId); openItemCONTEXTMENU(vContextMenu, itemIndex, TDId);
} }
catch (exc) catch (exc)
{ {
} }
} }
function clearTimeoutCONTEXTMENU(contextMenu) function clearTimeoutCONTEXTMENU(contextMenu)
{ {
try try
{ {
if (contextMenu.CASA_timeoutId != null) if (contextMenu.CASA_timeoutId != null)
{ {
window.clearTimeout(contextMenu.CASA_timeoutId); window.clearTimeout(contextMenu.CASA_timeoutId);
contextMenu.CASA_timeoutId = null; contextMenu.CASA_timeoutId = null;
} }
} }
catch (exc) catch (exc)
{ {
} }
} }