var opensubmenuid = null;
var entersubmenuid = null;
var counteventsubmenu = 0;
function getObject(id){
    if(document.getElementById)
        return document.getElementById(id);
    else
        return eval(id);
}
function findPos(obj,loopOverContainer) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        if(loopOverContainer){
            while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
            }
        }
    }
    return [curleft,curtop];
}
function checkOversubmenu(){
    if(opensubmenuid != entersubmenuid)
        getObject(opensubmenuid).style.display = 'none';
}
function checkInsubmenu(){
    if(counteventsubmenu<1){
        getObject(opensubmenuid).style.display = 'none';
    }
}
function showsubmenu(owner,targetid,loopOverContainer){
    var targetobj = getObject(targetid);
    if(owner != null && targetobj != null){
        var pos = findPos(owner,loopOverContainer);
        targetobj.style.left = pos[0]+'px';
        targetobj.style.top = (pos[1] + owner.height)+'px';
        targetobj.style.display = '';
        targetobj.style.border = '1px';
        opensubmenuid = targetid;
        entersubmenuid = null;
    }else
        alert(1);
}
function hidesubmenu(owner,targetid){
    if(owner.id == entersubmenuid || targetid != entersubmenuid){
        var targetobj = getObject(targetid);
        if(targetobj != ''){
            setTimeout("checkOversubmenu()",500);
        }
    }
}
function entersubmenu(targetid){
    entersubmenuid = targetid;
    counteventsubmenu = counteventsubmenu + 1;
}
function closesubmenu(targetid){
    counteventsubmenu = counteventsubmenu - 1;
    if(counteventsubmenu <= 0){
        entersubmenuid = null;
        setTimeout("checkInsubmenu()",500);
    }
}
