var MenuStatus = new Object()
MenuStatus.contextmenu = null;
MenuStatus.MenuID = '';
MenuStatus.MenuListID = '';
MenuStatus.RefTable= '';
MenuStatus.RefTableBorder ='';
MenuStatus.selectStyle = "2 dotted gray"
MenuSize =160
var ElementClicked = null
var MenuDisabled = false
var AlertMsgMenu = false;

if (window.Event)
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = processClicks;

function GetParentTableSrcElement(event,findTag)
{
	var CheckID=null;
	var o = event.srcElement
	if (o.tagName=="INPUT"&&o.type.toLowerCase()=='checkbox') {CheckID=o;}
	if (o.tagName=="A") {return false}
	//if (o.tagName=="INPUT"||o.tagName=="IMG"||o.tagName=="SELECT"||o.tagName=="TEXTAREA"){return false;}
	test=false
	while (o.tagName!='HTML'&&o.tagName!='BODY'&&test==false){
		var o = o.parentElement
		if (o.id!=''){
			if (o.tagName==findTag.toUpperCase()){test=true}	
		}
		
		
	}
	if (o.tagName!='HTML'&&o.tagName!='BODY'){
		if (CheckID!=null){
		ar = o.id.split("_");
		select(ar[1],false);
		CheckID.checked=true;}
		return o}
	else{return false}
}

function subCloseRightMenu(){
	mCL(MenuStatus.MenuListID,1)
	getObj(MenuStatus.MenuID,'style').display='none';
	MenuStatus.MenuID = '';
	MenuStatus.MenuListID = '';
	document.body.oncontextmenu=MenuStatus.contextmenu;
}

function CloseRightMenu(o){
	if (MenuStatus.MenuID!='')
	{
		if (o) {if (o.id.indexOf('spTrElm_mnu')<0){subCloseRightMenu()}}
		else {subCloseRightMenu()}
			
	}
}

function fncMenuDisabled()
{

  if (browser.isIE) {
    document.attachEvent("ondblclick", fncMenuEnabled);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("ondblclick", fncMenuEnabled,   true);
    event.preventDefault();
  }
MenuDisabled=true;
var o =  GetParentTableSrcElement(event,'TABLE')
CloseRightMenu(o)
MenuStatus.MenuID 	= ''
MenuStatus.MenuListID 	= ''
MenuStatus.RefTable 	= ''
alert('Per riabilitare i menu\rEseguire Doppio Click sulla Pagina.')
}

function fncMenuEnabled()
{
  
  if (browser.isIE) {
    document.detachEvent("ondblclick", fncMenuEnabled);

  }
  if (browser.isNS) {
    document.removeEventListener("ondblclick", fncMenuEnabled,   true);
  }
MenuDisabled=false;
alert('I menu sono stati riabilitati.')
}

function processClicks() {
	if (event.button !=1&&MenuDisabled==false){
		ElementClicked = event.srcElement.tagName
		var o =  GetParentTableSrcElement(event,'TABLE')
		if (o)
			{	
				ar = o.id.split("_")
				if (ar[1]) {
					menuID = "Menu_mnu_" + ar[1]
					var o=getObj(menuID,'obj')
					if (o) {
						
						if (MenuStatus.MenuID!=''){
							subCloseRightMenu()
						}
						MenuStatus.MenuID 	= menuID
						MenuStatus.MenuListID 	= "Table_mnu_" + ar[1]
						MenuStatus.RefTable 	= "DataTable_" + ar[1]
						o.style.display=''
						var mY = MouseY(event)
						if (mY+o.offsetHeight>document.documentElement.offsetHeight+document.body.scrollTop) {
						if (mY-o.offsetHeight>0){mY = mY - o.offsetHeight}else{mY=0}
						}
						o.style.top=mY
						
						var mX = MouseX(event)
						if (mX+o.offsetWidth>document.documentElement.offsetWidth+document.body.scrollLeft) {
						mX = mX - o.offsetWidth
						}
						o.style.left=mX
						document.body.oncontextmenu=mostra;
					}
					else {CloseRightMenu(o)}
				}
				else {CloseRightMenu(o)}
			}
		else {CloseRightMenu(o)}
	}
	else {
		if (MenuStatus.MenuID!=''){
		var o =  GetParentTableSrcElement(event,'TR')
		CloseRightMenu(o)
		}
	
	}
	return false;
	
}




function mostra(){return false;}

function MenuOpen(objName,id,MenuLevel)
{

	var addY=0
	var TableName = "Table_" + id
	//if (MenuLevel==1){
	//	var Title = "title_float_" + ar[1]
	//	if (getObj(Title,'obj')){addY = eval(Title + '.offsetHeight')}
	//}
	var mnu = MenuExists(TableName)
	if (!mnu){
		MenuList[TableName] = new Array()
		MenuAdd(objName,TableName,MenuLevel)
		}
	else
		{
		MenuClose(TableName,MenuLevel)
		MenuAdd(objName,TableName,MenuLevel)	
		}

	var trElm = getObj('sp' + objName,'obj')
	var Elm = getObj('span' + objName,'obj')
	var s = Elm.style.top
	if (s.substr(0,1)=="0") {
		var y = trElm.offsetTop - Elm.offsetTop 
		var x = trElm.offsetWidth + trElm.offsetLeft - Elm.offsetLeft
		var idTable = getObj("Menu_" + id,'obj')
	
		var posY = y + addY
		if (Elm.offsetWidth<MenuSize){Elm.style.width=MenuSize}
		Elm.style.top = posY
		Elm.style.left = x 
		
	}
	Elm.style.display=''
}

