var mx, my, oid;
var mid = "";
var sid = "";
var octx = "";
var moving = false;

function killMouseClick() {

    window.event.cancelBubble = true;
    window.event.returnValue = false;
    return false;
}

function handleMouseClick(evt, ctx, all) {
    var scl = (document.documentElement.scrollLeft > 0) ? document.documentElement.scrollLeft : document.body.scrollLeft;
    var sct = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop;

    if (evt == null || evt == 'undefined') {
        mx = window.event.clientX + scl;
        my = window.event.clientY + sct;
        oid = window.event.srcElement.id;
    } else {

        try {
            mx = evt.clientX + scl;
            my = evt.clientY + sct;
            oid = evt.target.id;

        } catch (e) {
            mx = window.event.clientX + scl;
            my = window.event.clientY + sct;
            oid = window.event.srcElement.id;
        }
    }



    var id = oid.substring(0, 3);
    if (id == 'do_' || id == 'ru_' || id == 'dt_' || id == 'r1_' || id == 'r2_') {
        if (evt.clientX == null) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        } else {
            try {
                evt.cancelBubble = true;
                evt.returnValue = false;
            } catch (e) {
                window.event.cancelBubble = true;
                window.event.returnValue = false;
            }
        }

        if (ctx != "") {
            showMenu(mx, my, ctx, id, all);
        }
        else {
            hideMenu();
        }
        return false;
    }
    else if (moving) {
        window.event.cancelBubble = true;
        window.event.returnValue = false;
        moving = false;
        return false;
    }
    else {
        hideMenu();
        return true;
    }
}

function openDetail(url) {
    openDialog(url, "Detail");
}

function openDialog(url, winName) {
    window.open(url, winName, "scrollbars,resizable,height=560,width=640", true).focus();
    //window.showModalDialog(url, window, "dialogHeight:560px;dialogWidth:640px;scroll:no;status:no");
}

function detail(targetPage) {
    moving = true;
    if (targetPage != "") {
        var url = targetPage + "?" + octx.replace(/#/g, "'");
        hideMenu();
        openDetail(url);
    }
}

function drill(targetPage, levelParm) {
    moving = true;
    if (targetPage != "") {
        var url = targetPage + "?" + octx.replace(/#/g, "'");
        if (levelParm) {
            url += levelParm;
        }
        hideMenu();
        window.location = url;
    }
}

function showMenu(rx, ry, ctx, id, all) {
    hideMenu();
    octx = ctx;
    mid = id + "menu";
    sid = id + "submenu";
    //var mobj = document.all(mid);
    var mobj = document.getElementById(mid);
    if (mobj) {
        var scl = (document.documentElement.scrollLeft > 0) ? document.documentElement.scrollLeft : document.body.scrollLeft;
        var sct = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop;
        mobj.style.visibility = "visible";
        var cw = document.body.clientWidth;
        var ch = document.body.clientHeight;
        if (rx + mobj.offsetWidth > cw + scl) {
            mobj.style.left = (cw + scl - mobj.offsetWidth) + "px";
        }
        else {
            mobj.style.left = rx + "px";
        }
        if (ry + mobj.offsetHeight > ch + sct) {
            mobj.style.top = (ch + sct - mobj.offsetHeight) + "px";
        }
        else {
            mobj.style.top = ry + "px";
        }
        mobj = document.getElementById(sid);
        if (mobj) {
            if (all) {
                mobj.style.visibility = "visible";
            }
            else {
                mobj.style.visibility = "hidden";
            }
        }
    }
}

function hideMenu() {
    octx = "";
    var mobj;
    if (mid != "") {
        mobj = document.getElementById(mid);
        if (mobj) {
            mobj.style.visibility = "hidden";
            mobj = document.getElementById(sid);
            if (mobj) {
                mobj.style.visibility = "hidden";
            }
        }
        mid = "";
        sid = "";
    }
}

