Tempo fa avevo risolto cosi (forse esiste un'altra soluzione)
startMenu è una variabile alla quale assegno la classe. La seconda funziona (fuori classe) agisce usando startMenu e sfruttando i metodi della classe.
Sperando di esserti stato d'aiuto.
codice:
var startMenu;
function checkAutoClose() {
this.loseFocus();
//--------- Menu incorso
startMenu = this;
setTimeout("_checkAutoClose()",1500);
} // function checkAutoClose()
function _checkAutoClose() {
var parentMenu = startMenu.parentMenu;
while (parentMenu != null) {
startMenu = parentMenu;
parentMenu = parentMenu.parentMenu;
} // while (parentMenu != null)
if (canCloseAll(startMenu) == 0) {
startMenu.closeSubMenu();
} // if (canCloseAll(startMenu) == 0)
} // function doCloseAllMenu()