	var oldMenu = 0
	var newMenu = 0
	var loaded = false;
	
	/**
	 * Carica un modulo specifico dell'applicazione.
	 * moduleid - id del codice del modulo
	 * parms    - parametri da passare sulla command line
	 * selarea  - area da selezionare (0 nessuna modifica)
	 * custommenuid - se valorizzato, id del menu custom da caricare
	 * selsub  - sottovoce da selezionare
	 * parm1   - parametro 1 speciale
	 * parm2   - parametro 2 speciale
	 */
	/*
	function mainDoLoadModule(moduleid, parms, selarea, custommenuid, selsub, parm1, parm2, clearflags)
	{
		intr = new InterpreterObjectClient();
		intr.parse();
		
		if (clearflags) intr.clear();
		
		intr.flags |= INTR_FLAG_LOADMODULE;
		intr.pageid = moduleid;
		
	}
	
	-- da completare
	*/
	
	var LOADMENUFLAG_LOADFULL = 0;
	var LOADMENUFLAG_LOADHALF = 1;
	
	function mainLoadMenu(rpath, selarea, selsub, parm1, clearflagsvalue, customid, menutype, flags)
	{
		intr = new InterpreterObjectClient();
		intr.parse();
		
		if (clearflagsvalue == 0) 
			intr.clear();
		else
			intr.clear(clearflagsvalue);
		
		if (customid)
		{
			intr.flags |= INTR_FLAG_LOADPERSONALMENU;
			intr.userid = customid;
		}
		
		if (menutype == 2)
			intr.flags |= INTR_FLAG_LOAD_LEARNENV;
		else if (menutype == 4)
			intr.flags |= INTR_FLAG_LOAD_VETENV;
		
		intr.selarea = selarea;
		intr.selsub = selsub;
		intr.parm1 = parm1;
		
		var rest = intr.parseRest();
		
		if ( flags == null ) flags = 0;
		
		if ( ( flags & LOADMENUFLAG_LOADHALF ) == 0 )
			top.topFrame.location.href = rpath + "e/topnew2.asp?id=" + intr.makeUrl() + (rest.length ? "&" : "") + rest;
			
		top.leftFrame.location.href = rpath + "e/left.asp?id=" + intr.makeUrl() + (rest.length ? "&" : "") + rest;
	}
	
	function mainChangeLanguage(curlangid, newlangid, msg, intr, flags)
	{
			var bchangelang = true;
			if (curlangid != newlangid)
			{
				if (msg.length)
					if (!confirm(msg))
						bchangelang = false;
			}
		
		  if (bchangelang)
		  { 
		  	intr.language = newlangid;
		  	intr.action2 = INTR_ACTION_CHANGE_LANGUAGE;
		  }		
	}
	
	function mainRemoteCall(filename, params)
	{
		// Ottiene un riferimento all'elemento HEAD
		var head = document.getElementsByTagName('head').item(0);
		
		// Elimina eventuali vecchi script inseriti precedentemente
		var old  = document.getElementById('lastLoadedCmds');
		if (old) head.removeChild(old);
		
		// Costruisce la url da chiamare
		parameters = new String(params).split(',');
		var scriptUrl = filename + '?rnd=' + Math.random();
		for (var i = 0; i < parameters.length; i++) {
			scriptUrl += "&" + parameters[i];
		}

		// Crea l'elemento script
		script = document.createElement('script');		
		script.src = scriptUrl;
		script.type = 'text/javascript';
		script.defer = true;
		script.id = 'lastLoadedCmds';

		// Lo inserisce nell'elemento HEAD, attivando il codice in logoutasp.asp
		void(head.appendChild(script));	
	}		
	
	function isEmpty(s) { s = ""+s; return (s == "undefined" || s == "null" || s == "") }
	
	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); 
	  if (!x)
	  	x=d.getElementById(n);
	  return x;
	}	
	
	function findObj(n, d) { return MM_findObj(n,d) }
	  

	function setMenu(n, langid)
	{
		var i, t;
		
		if (oldMenu != 0)
		{
			i = MM_findObj('menu' + oldMenu);
			i.src = "pics/empty.gif";
		}

		oldMenu = n;
		i = MM_findObj('menu' + n);
		if (""+langid == "4")
		  i.src = "pics/A_frecciA.gif";
	  else
		  i.src = "pics/frecciA.gif";
		
		//alert(oldMenu + " " + n);		
	}
	
	/*
	function jumpTo(menu,p,n)
	{
		var hname, hpath, htarget;
		
		parent.h.clear();
		
		switch(menu.toLowerCase()) {
		case 'informazioni':
		case 'information':
			hname = 'Information'; hpath = 'mainframe.pos?pos=01'; htarget = '_top';
			break;
		case 'universitaria':
		case 'university':
			hname = 'University'; hpath = 'mainframe.pos?pos=02'; htarget = '_top';
			break;
		case 'professionale':
		case 'riservata':
		}
		
		parent.h.push("Home page", "index.htm", "_top");
		parent.h.push(hname, hpath, htarget);
		parent.h.push(n,p,"centerFrame");
		parent.h.show();

	}
	*/

	var localSubSec = 0;
	
	function jumpsGetIndex(id)
	{
		for(var i=0; i<jumps.length; i++)
			if (jumps[i].id == id)
				return i;
				
		return 0;
	}

	function start(langid)
	{
		newSubSec = parent.topFrame.newSubSection;
		curSubSec = parent.topFrame.currentSubSection;
		
		//alert(localSubSec + ' ' + curSubSec + ' ' + newSubSec)
		
		if (curSubSec != 0 && curSubSec != newSubSec) {
		
			parent.topFrame.currentSubSection = parent.topFrame.newSubSection;	// Update main section
			if (localSubSec == newSubSec) return;																// If section is already loaded, return
			
			i = jumpsGetIndex(newSubSec);
			
			setMenu(jumps[i].snum, langid);
			//jumpTo(jumps[i].section, jumps[i].url, jumps[i].title);
			localSubSec = newSubSec;																						// Update local section
			
		} else if (localSubSec != curSubSec && curSubSec != 0) {
			
			i = jumpsGetIndex(curSubSec);
			
			setMenu(jumps[i].snum, langid);																							// Set menu
			//jumpTo(jumps[i].section, jumps[i].url, jumps[i].title);
			//parent.centerFrame.location = jumps[i].url;
			localSubSec = curSubSec;																						// Update local section
		} 		
	}
	
	function goTo(n, s, langid)
	{
		var i = jumpsGetIndex(n);
		var topUrl = self.location.href;
		
		if (topUrl.lastIndexOf('/') == -1)
			topUrl = topUrl.substring(0, topUrl.lastIndexOf('\\')+1);
		else
			topUrl = topUrl.substring(0, topUrl.lastIndexOf('/')+1);
			
		setMenu(jumps[i].snum, langid);
		
		localSubSec = parent.topFrame.currentSubSection = parent.topFrame.newSubSection = n;		

		//jumpTo(jumps[i].section, jumps[i].url, jumps[i].title);

		
		if (jumps[i].target)
		{
				window.open(jumps[i].url)
		}
		else
		{
			if (s && s != 0) {
				parent.centerFrame.location = topUrl + jumps[i].sub[s-1].url2;
			} else {
				parent.centerFrame.location = topUrl + jumps[i].url;
			}
		}
	}
	
	function findId(a, id) 
	{
		for (var i=0; i<a.length; i++) 
			if (a[i].id == id)
				return a[i];
				
		return null;
	}
	
	function doShowTag(title, noBr)
	{
		document.write('<div align="center">');
		document.write('  <table border="0" width="100%">');
		document.write('    <tr> ');
		document.write('      <td><div align="right" class="pageTitle">' + title + '</div></td>');
		document.write('    </tr>');
		document.write('  </table>');
		document.write('</div>');
		
		if (noBr) return;
		document.write('<br>');
	}
	
	
	function showMenu(langid, Area)
	{		
	  if ("" + langid == "4")
	  {
	    borderstyle = "border-left";
	    logoalign   = "right";
	  }
	  else
	  {
	    borderstyle = "border-right";
	    logoalign   = "left";
	  }
	  
	  if (Area == 1)
	    il = 28;
    else
      il = 34;
	    
		document.write('<table width=190 cellspacing=0 cellpadding=0 border=0 height=100%>');
		document.write('<tr>');
		document.write('<td style="' + borderstyle + ':1 solid black;" width=19 height=100>&nbsp;</td>');
		document.write('<td width=10></td>');		  		    		
	  document.write('<td width=172 valign="middle" align="' + logoalign + ' " style="text-decoration:none;"><a href="http://www.eumedis.net/en/" target="_blank"><img src="pics/eumedis_en_S.gif" border="0" alt="Home page Eumedis site"></a></td>');		
		document.write('</tr>');

		for (var i=0; i<jumps.length; i++)
		{
			document.write('<tr>');
			document.write('<td style="' + borderstyle + ':1 solid black;" width=19 height=' + il + '><img id="menu' + (i+1) + '" src="pics/empty.gif" width="15" height="15"></td>');
			document.write('<td width=10></td>');			   			  			
      document.write('<td width=172 valign=middle><a href="javascript:goTo(' + (i+1) + ',0,' + langid + ');"><font style="color:#363F70; font-size:11; font-family:Verdana; text-decoration:none;"><b>' + jumps[i].title + '</b></font></a></td>');  						    			  		
			document.write('</tr>');
		}

		document.write('<tr>');
		document.write('<td style="' + borderstyle + ':1 solid black;" width=19 height=100%>&nbsp;</td>');
		document.write('<td width=10></td>');
		document.write('<td width=172 valign="bottom" align="center"></td>');
		document.write('</tr>');
		document.write('</table>');
	}
	
  function getBasePath(URL)
  {
		var curUrl = self.location.href;
		curUrl = curUrl.substring(0, curUrl.indexOf(URL));    
		
		return curUrl;
  }
  
	function findPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}
	
	function findPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}  
	
	/**
	================================================================================
	Bitnot(num) - returns !num for bit mask operations
	================================================================================
	*/	  
  function BitNot(v)
  {
  	return (0xFFFFFFFF - v);
  }	

	function isNumerico(obj) {
		if (obj.value.length==0) return false;
		var strCarValidi = "0123456789";
		var strAppo = new String(obj.value);
		var finei=strAppo.length;
		for (var i=0; i<finei; i++)
		  if (strCarValidi.indexOf(strAppo.charAt(i)) == -1) return false;
		return true;
	}
