var div_active = {};

function div_show(id, e, deep) {
    if (typeof deep == 'undefined') {
        deep = 0;    
    }

    if (typeof id == 'undefined') {
        return;
    }

    if (typeof id == 'string') {
        id = document.getElementById(id);    
    }

    if (div_active[deep] == id) {
        return;
    } else {
        if (div_active[deep] != null)
            div_hide(deep);

        id.style.display = 'block';
        div_active[deep] = id;
    }

    var evt = e || window.event;
    if (!evt) {
        return;    
    }
    var click = evt.target || evt.srcElement;
    if (click != null) {
        var pos = get_pos(click);
        id.style.left = (pos.x+50) + "px";
        id.style.top  = (pos.y+50) + "px";
    }
}

function div_hide(deep) {
    if (typeof deep == 'undefined') {
        deep = [0,1];
    } else {
        deep = [deep];    
    }

    for (var i in deep) {
        if (div_active[deep[i]] != null) {
           div_active[deep[i]].style.display = 'none';
           div_active[deep[i]] = null;
        }
    }
}

function get_pos(ele) {
    var width = ele.offsetWidth;
    var height = ele.offsetHeight;
    for (var lx = 0,ly = 0; ele != null; lx += ele.offsetLeft, ly += ele.offsetTop, ele = ele.offsetParent);
    return { x: lx, y: ly, w: width, h: height };    
}

