<!-- contextual menu -->
function returnValue(o_item) {
  return false;
};
            
// position and display context menu
function showContextMenu(evt, tree_item) {
    // hide any existing menu just in case
    hideContextMenus();
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        /*var elem = (evt.target) ? evt.target : evt.srcElement;
         if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }*/
        var oid = tree_item.a_config[2].WRId;
        //if (elem.className == "contextEntry") {
            var menu = document.getElementById(cMenu[oid].menuID);
            // turn on IE mouse capture
            if (menu.setCapture) {
                menu.setCapture();
            }
            // position menu at mouse event location
            var left, top;
            if (evt.pageX) {
                left = evt.pageX;
                top = evt.pageY;
            } else if (evt.clientX) {
                left = evt.clientX;
                top = evt.clientY;
            } else if (evt.offsetX || evt.offsetY) {
                left = evt.offsetX;
                top = evt.offsetY;
            }

            menu.style.left = left + "px";
            menu.style.top = top + "px";
            menu.style.visibility = "visible";
            if (evt.preventDefault) {
                evt.preventDefault();
            }
            evt.returnValue = false;
        //}
    }
}

// retrieve URL from cMenu object related to chosen item
function getHref(tdElem) {
    var div = tdElem.parentNode.parentNode.parentNode.parentNode;
    var index = tdElem.parentNode.rowIndex;
    for (var i in cMenu) {
        if (cMenu[i].menuID == div.id) {
            return cMenu[i].hrefs[index];    
        }
    }
    return "";
}

// navigate to chosen menu item
function execMenu(evt) {
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var elem = (evt.target) ? evt.target : evt.srcElement;
        if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }
        if (elem.className == "menuItemOn") {
            location.href = getHref(elem);
        }
        hideContextMenus();
    }
}

// hide all context menus
function hideContextMenus() {
    if (document.releaseCapture) {
        // turn off IE mouse event capture
        document.releaseCapture();
    }
    for (var i in cMenu) {
        var div = document.getElementById(cMenu[i].menuID)
        div.style.visibility = "hidden";
    }
}

// rollover highlights of context menu items
function toggleHighlight(evt) {
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var elem = (evt.target) ? evt.target : evt.srcElement;
        if (elem.nodeType == 3) {
            elem = elem.parentNode;
        }
        if (elem.className.indexOf("menuItem") != -1) {
            elem.className = (evt.type == "mouseover") ? "menuItemOn" : "menuItem";
        }
    }
}

// set tooltips for menu-capable and lesser browsers
function setContextTitles() {
    var cMenuReady = (document.body.addEventListener || typeof document.oncontextmenu != "undefined")
    var spans = document.body.getElementsByTagName("span");
    for (var i = 0; i < spans.length; i++) {
        if (spans[i].className == "contextEntry") {
            if (cMenuReady) {
                var menuAction = (navigator.userAgent.indexOf("Mac") != -1) ? "Click and hold " : "Right click ";
                spans[i].title = menuAction + "to view relevant links"
            } else {
                spans[i].title = "Relevant links available with other browsers (IE5+/Windows, Netscape 6+)."
                spans[i].style.cursor = "default";
            }
        }
    }
}

// bind events and initialize tooltips
function initContextMenus() {
    if (document.body.addEventListener) {
        // W3C DOM event model
        document.body.addEventListener("contextmenu", showContextMenu, true);
        document.body.addEventListener("click", hideContextMenus, true);
    } else {
        // IE event model
        document.body.oncontextmenu = showContextMenu;
    }
    // set intelligent tooltips
    setContextTitles();
}
<!-- end contextual menu -->



function confirm_deletion(dluLink){
      	if (confirm('Delete selected item ?')) { return true; };
	return false; 
}

function imageswap(name, imagesrc)  
{
   eval("document." + name + ".src = '" + imagesrc + "'");
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}


function gen(texts,links,t,tl)
{
  //var texts = new Array("","","")
  //var links = new Array("","","")
  //var t
  //var tl
  var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  
  var map = InternetExplorer ? menu : document.embeds("menu");
	for (i=0;i<=t;i++)
	{
  	map.SetVariable('m' + (i+1), texts[i]);
  	map.SetVariable('l' + (i+1), links[i]);
	}
	map.SetVariable('nt', t);
	map.SetVariable('title', tl);
  
  	
}
  
function gens(texts,links,t,tl)
{
  //var texts = new Array("","","")
  //var links = new Array("","","")
  //var t
  //var tl
  var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  
  var map = InternetExplorer ? menu : document.embeds("menu");
	for (i=0;i<=t;i++)
	{
  	map.SetVariable('ms' + (i+1), texts[i]);
  	map.SetVariable('ls' + (i+1), links[i]);
	}
	map.SetVariable('nts', t);
	map.SetVariable('titles', tl);
  
	
}

//metodi per esa tree - hierarchical - BEGIN
/*
function expandNode(level, levelStatus) {
        var elem = document.getElementById(level + levelStatus);
        var imgElem = document.getElementById('img' + level + levelStatus);
        if (elem.style.display == 'none') {
          elem.style.display='';
          document.cookie=level+levelStatus+ '=inline;';
          if (imgElem != null) {
            imgElem.src='icons/expanded.gif';
          }
        } else {
          elem.style.display='none';
          document.cookie=level+levelStatus+ '=none;'
          if (imgElem != null) {
            imgElem.src='icons/collapsed.gif';
          }
        }  
      }  
      
function writeDisplay(level, levelStatus) {
        var elem = document.getElementById(level + levelStatus);
        var imgElem = document.getElementById('img' + level + levelStatus);
        
       tempArray = document.cookie.split(';');
      
        finalArray = new Array();
        i = 0;
        tempArray.each(function(aCookie, index) {
          finalArray[index] = tempArray[index].split('=');
        });
        
        for (j = 0; j < finalArray.length; j++) {
          if (trim(finalArray[j][0]) == (level+levelStatus)) {
            if (finalArray[j][1] == 'inline') {
              elem.style.display='';
            } else {
              elem.style.display=finalArray[j][1];
            }
            
            if (imgElem != null) {
              if (finalArray[j][1] == 'inline') {
                imgElem.src='icons/expanded.gif';
              } else if (finalArray[j][1] == 'none') {
                imgElem.src='icons/collapsed.gif';
              }
            }
          }
        }     
      }
      
function trim(s) {
        while (s.substring(0,1) == ' ') {
          s = s.substring(1,s.length);
        }
        while (s.substring(s.length-1,s.length) == ' ') {
          s = s.substring(0,s.length-1);
        }
        return s;
      }
*/
//metodi per esa tree - hierarchical - END


//HttpRequest

var http = getHTTPObject();

//inizializza l'oggetto XMLHttpReqeuest
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
