var __menu_item_icon_width = 20 ;
var __menu_item_icon_height = 20 ;

var __menu_item_default_margin_left = 2 ;
var __menu_default_width = 80 ; 
var __menu_item
var __menu_default_top_border_width = 2 ;
var __menu_default_top_border_width = 2 ; 

var __menu_default_tag_BINDED = "__JS_currentMenu" ;
var __menu_default_tag_MENUID = "__JS_currentMenuItemId" ;
var __menu_default_icon_color = "#5598CC" ;

var __menu_show_on_btn = 0 ;
var __menu_show_above_btn = 1 ;
var __menu_show_below_btn = 2 ;


function ShowChangeStat(btn)
{
	var menu = GetObjById("change_stat") ;
	ShowMenu(menu, btn, __menu_show_below_btn) ;
	return true ;
}

function ShowChangeStat2(btn)
{
	var menu = GetObjById("change_stat2") ;
	ShowMenu(menu, btn, __menu_show_below_btn) ;
	return true ;
}

function ShowChangeStat3(btn)
{
	var menu = GetObjById("change_stat3") ;
	ShowMenu(menu, btn, __menu_show_below_btn) ;
	return true ;
}

function ShowChangeStat4(btn)
{
	var menu = GetObjById("change_stat4") ;
	ShowMenu(menu, btn, __menu_show_below_btn) ;
	return true ;
}

function ShowChangeStat5(btn)
{
	var menu = GetObjById("change_stat5") ;
	ShowMenu(menu, btn, __menu_show_below_btn) ;
	return true ;
}

function PosClientToGlobal(obj, x, y)
{
	var rect = new Object ;
		
	for (;!IsTopObj(obj); obj = obj.parentNode)
	{
		x += parseInt(obj.offsetLeft) - obj.scrollLeft ;
		y += parseInt(obj.offsetTop) - obj.scrollTop ;
	}
	rect.x = x + parseInt(obj.offsetLeft) - obj.scrollLeft ;
	rect.y = y + parseInt(obj.offsetTop) - obj.scrollTop ;

	//alert(String(rect.x) + ", " + String(rect.y)) ;
    return rect ;
}

var __lastMenu ; 
var __menu_currently_activated_menus = new Array() ;
function ShowMenu(menu, btn, menu_pos, x, y)
{
	ShowWindow(menu, "SW_SHOW") ;
	if(!btn)
	{
		SetForegroundWindow(menu) ;
        __lastMenu = menu ;
		__menu_currently_activated_menus.push(menu) ;
		return true ;
	}	
	
	var rect ;
	if (GetBrowser() == "IE")
		rect = PosClientToGlobal(btn, 0, 0) ;
	else
	{
		rect = new Object ; 
		rect.x = btn.offsetLeft ; 
		rect.y = btn.offsetTop ;
		}

    var obj = btn ; 
    var obj_y = 0 ;
    var obj_str_y = "" ;
    while(obj != document.body)
    {
        obj_y += parseInt(obj.offsetTop) ; 
        obj_str_y += String(obj_y) + "\n" ;
        obj = obj.parentNode ;
    }
//    myLog("Height = " + rect.y + "\n" + obj_str_y) ;

	if(menu_pos== __menu_show_above_btn)
		rect.y -= parseInt(GetObjStyle(menu, "height")) ;
	else if (menu_pos == __menu_show_below_btn)
		rect.y += parseInt(GetObjStyle(btn, "height"));
 
    if(x)
        rect.x += parseInt(x) ;
    if(y)
        rect.y += parseInt(y) ;

	MoveWindow(menu, rect.x, rect.y) ;		//此处修改弹出位置
	SetForegroundWindow(menu) ;
    __lastMenu = menu ; 
	__menu_currently_activated_menus.push(menu) ;


	return true ;
}
function ShowWindow(new_id, showCmd) 
{
	var obj = GetObjById(new_id)
	if (obj)
	{
		switch(showCmd)
		{
			case "SW_HIDE":
				SetObjStyle(obj, "display", "none") ;	
				break ;
			case "SW_SHOW":				
				SetObjStyle(obj, "display", "block") ;
				break ;
			case "SW_MIN":				
				// add min_tab 
				break ;
		}
		return true ;
	}
	return false ;
}
function HideMenu(_Menu)
{
	if(_Menu)
	{	
		for (var i = 0 ; i < __menu_currently_activated_menus.length ; ++i)
		{
			if (_Menu == 	__menu_currently_activated_menus[i])
			 	return true ;	
		}	
	}
	for (var i = 0 ; i < __menu_currently_activated_menus.length ; ++i)
	{
		SetObjStyle(__menu_currently_activated_menus[i], "display", "none") ;
	}
	__menu_currently_activated_menus.splice(0,  __menu_currently_activated_menus.length) ;
	return true ;
}

function __menu_item_on_mouse_over(_Event)
{
	var theEvent = GetEvent(_Event) ;
	var theEventSrc = GetEventSrc(theEvent) ;
	
	SetObjStyle(theEventSrc, "textDecoration", "underline") ;
}
	
function __menu_item_on_mouse_out(_Event)
{
	var theEvent = GetEvent(_Event) ;
	var theEventSrc = GetEventSrc(theEvent) ;
	
	SetObjStyle(theEventSrc, "textDecoration", "none") ;
}

function __menu_container_onmouseout(_Event)
{
	var theEvent = GetEvent(_Event) ;
	var theEventSrc = GetEventSrc(theEvent) ;
	var topParent = GetTopParent(theEventSrc);
	if(topParent!=GetTopParent(GetEventToElement(theEvent)))
	{
		SetObjStyle(topParent, "display", "none") ;
	}	
}
		
function __menu_show_menu(_bShow)
{
	if (!_bShow)
	{
		SetObjStyle(this.SubContainer, "display", "none") ;
		return true ;
	}
	else
	{
		SetObjStyle(this.SubContainer, "display", "block") ;
		SetForegroundObj(this.SubContainer) ;
		return true ;
	}
}

function GetBindedMenuItem(htmlObj)
{
	return GetObjAttribute(htmlObj, __menu_default_tag_BINDED) ;
}
