var rdCurrMenu

function rdShowPopupMenu(sMenuId,sPopupLocation) {

    if (rdCurrMenu) {
        //rdCurrMenu.destroy()
        rdCurrMenu.hide(rdCurrMenu)
    }

    var sPopupId  //Add rdPopup to the ID. For tables, it goes befor _Row#, For crosstabs, it needs to go before _Ct# 
    if (sMenuId.indexOf("_CtCol") !=-1) { 
        sPopupId = sMenuId.replace("_CtCol", "_rdPopup_CtCol") 
    } 
     else if (sMenuId.indexOf("_Row") != -1)  { 
        sPopupId = sMenuId.replace("_Row","_rdPopup_Row") 
    } 
     else { 
        sPopupId = sMenuId + "_rdPopup" 
    } 

    
    var sLocation = "bl"
    if (sPopupLocation) {
        if (sPopupLocation.toLowerCase()=="right") {
            sLocation = "tr" // top right
        }
    }
    
    //Special case for empty menu options. 10890
    var elePopup = document.getElementById(sPopupId)
    for (var i=elePopup.firstChild.firstChild.childNodes.length - 1; i > -1; i--) {
        var item = elePopup.firstChild.firstChild.childNodes[i]
        var sText
        if (item.textContent != undefined) {
            sText = item.textContent //Mozilla, Webkit
        } else {
            sText = item.innerText //IE
        }
        if (sText == "") {
            //if (item.innerHTML.indexOf("Blank.gif") != -1) {
                item.parentNode.removeChild(item)
            //}
        }
    }
    
    rdCurrMenu = YAHOO.widget.MenuManager.getMenu(sPopupId) //9899
    if (rdCurrMenu == undefined) {
        rdCurrMenu = new YAHOO.widget.Menu(sPopupId, { hidedelay: 10, context: [sMenuId, "tl", sLocation] }) //tl:top left  bl:bottom left
        rdCurrMenu.render();
        rdCurrMenu.show(rdCurrMenu)
    } else { 
        //The popup menu already exists.
        rdCurrMenu.show(rdCurrMenu)
    }
}

