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()