var NS4;
var IE4;
var FF;
var mouse_top;
var mouse_left;
var parent_menu_name = "class_userinfo";
var status_over = false;	
var event_id = "none";
//var child_menu_array = ["menu_child1", "menu_child2", "menu_child3","menu_child4"];
var column_height = 18;
var mainmenu_top_indent = 0;	
var menuover_bgcolor = "#C9CDD1";
var menuover_fgcolor = "#ffffff";
var default_menuover_bgcolor = "#ffffff";
var default_menuover_fgcolor = "#000000";

NS4 = (document.layers);

IE4 = (document.all);
FF = (!document.all);
isWin = (navigator.appVersion.indexOf("Win") != -1)
if (NS4) {
  document.captureEvents(Event.CLICK)
  document.onclick = MouseDown;
}
else if (IE4) {
    document.onclick = MouseDown;
}
else {
    document.onmousedown = MouseDown;
}

function MouseDown(e) {
    if (window.event) {
        IE4 = true;
        FF = false;
        e = window.event;
    }
    else {
        IE4 = false;
    }
    var coordX = 0;
    var coordY = 0;
    if (typeof (e.pageX) != "undefined") {
        coordX = e.pageX;
        coordY = e.pageY;
    } else if (typeof (e.clientX) != "undefined") {
        coordX = e.clientX + window.document.body.scrollLeft;
        coordY = e.clientY + window.document.body.scrollTop;
    }

    var event_target = e.srcElement ? e.srcElement : e.target;
    event_target = event_target.toString();
    var event_check = event_target.indexOf("javascript:UserMenuView(");
    if (!status_over) hideAll();
    if (!event_check) {
        viewMenu(e, parent_menu_name);
        if (!IE4) eval(event_target); // Run UserMenuView() Function.
    }
    else {
        hideAll();
    }
}

function hideAll() {
    var objParent = document.getElementById(parent_menu_name);
    objParent.style.display = "none";
  if (event_id == "none") { return; }
}

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

function viewMenu (e, ar_id) {
    if (window.event) {
        IE4 = true;
        FF = false;
        e = window.event;
    }
    else {
        IE4 = false;
    }
    if (ar_id == "none") return;
    var objParent = document.getElementById(ar_id);
    menuLocBod = window.document.body;
    xPos = menuLocBod.scrollLeft + e.clientX;
    //  yPos = event.clientY + menuLocBod.scrollTop;
    yPos = e.clientY + getScrollXY()[1];  // 20081223 aja: revised code.
    //yPos = event.y + menuLocBod.scrollTop;  // 20081223 aja: reposition context menu.
    screen_height = window.document.body.offsetHeight;
    screen_width = window.document.body.offsetWidth;
    if (IE4) {
        mouse_top = e.y;
        mouse_left = e.x;
    }
    else {
        mouse_top = e.clientY;
        mouse_left = e.clientX;
    }
    if (IE4) eval("mainmenu_top_indent = " + objParent.childNodes[0].childNodes[0].childNodes.length);
    else eval("mainmenu_top_indent = " + objParent.childNodes[1].childNodes[1].childNodes.length);
    mainmenu_top_indent = mainmenu_top_indent * column_height;
    if (screen_height > mouse_top + mainmenu_top_indent) {
        // 20081222 aja
        //yPos = event.clientY + menuLocBod.scrollTop;
    }
    else {
        // 20081222 aja
        //yPos = (event.clientY + menuLocBod.scrollTop) - mainmenu_top_indent;
    }
    if (mouse_top - mainmenu_top_indent < 0) {
        // 20081222 aja
        //yPos = event.clientY + menuLocBod.scrollTop;
    }
    eval("objParent.style.top ='" + yPos + "px'");
    eval("objParent.style.left ='" + xPos + "px'");
    objParent.style.display = "";
}

function onMouseOver(ar_obj, ar_id) {
  status_over = true;
  changeColor(ar_obj);
}

function onMouseOut(ar_obj) {
  status_over = false;
  changeColor(ar_obj);
}

function changeColor(ar_obj) {
  if (ar_obj.children[0].style.color == menuover_fgcolor) {
    ar_obj.children[0].style.color = default_menuover_fgcolor;
    ar_obj.children[0].style.backgroundColor = default_menuover_bgcolor;
  }
  else {
    ar_obj.children[0].style.backgroundColor = menuover_bgcolor;
    ar_obj.children[0].style.color = menuover_fgcolor;
  }
}
