// Modulo per la dichiarazione delle strutture generali
//


	// parametri relativi al file toolbar
	
	var MaxMenu = 10;
	var TotalMenu = 0;
	var newLineChar = String.fromCharCode(10);
	var char34 = String.fromCharCode(34);
	var LastMSMenu = "";
	var IsMSMenu = false;
	var IsMenuDropDown = true;
	var HTMLStr;
	var TBLStr;
	var x = 0;
	var y = 0;
	var x2 = 0;
	var y2 = 0;
	var x3 = 0;
	var MSMenuWidth;
	var ToolbarMinWidth;
	var ToolbarMenu;
	var ToolbarBGColor;
	var ToolbarLoaded = false;
	var aDefMSColor  = new Array(3);
	var aCurMSColor  = new Array(3);
	var MSFont;
	var arrMenuInfo = new Array(30);
	
	var ToolBar_Supported = false;
	var Frame_Supported   = false;
	var DoInstrumentation = false;





function CambioPwd(pwdold,pwdnew,pwdconf) 
 {
		if (pwdold == "")
		{
		  alert("Inserire la vecchia password.");
		  return (false);
		}
		if (pwdnew == "")
		{
		  alert("Inserire la nuova password.");
		  return (false);
		}
		if (pwdconf == "")
			{
			  alert("Reinserire la password per conferma.");
			  return (false);
			}
		
		 if (pwdconf != pwdnew)
			{
			  alert("Nuova password e conferma non corrispondenti: reinserire.");
			  return (false);
			}
	 
		return (true);			
}
	


	// Funzione per aprire una nuova finestra
	function openWin(url, name, prop)
	{ 
		searchWin = window.open(url, name, prop); 
	}

	// Funzione per la lettura dei parametri
	function LeggiParametro(CodParametro)
	{	
		for (var indice = 1; indice <= numparametri; ++indice)
		{
		  if (PARAMETRICOD[indice] == CodParametro)
		  {
			return PARAMETRIVAL[indice]   ;
		  }
		}
	}

	// Funzione per la lettura del termine educational dall'array
	function LeggiEducation(CodEdu)
	{	
		//alert ("funzione education =" + CodEdu );

		for (var indice = 1; indice <= numedu; ++indice)
		{
		  if (EDUCOD[indice] == CodEdu)
		  {
			return EDUVAL[indice]   ;
		  }
		}
	}

	// Funzione per cambiare la lingua
	function CambiaLingua(newlingua)
	{	
		lingua =newlingua;
		//drawToolbar(); 
	}
	
	// Funzione per il controllo delle stringhe nelle pagine
	function ControllaCampoStringa(CodCampo,DescCampo,Lungmin,Lungmax)
	{
	  if (Lungmin > 0)
	  {
		if (CodCampo.value == "") 
		{
		  alert("Inserire un valore per il campo '" + DescCampo + "'.");
			CodCampo.focus();
		  return (false);
		}
	  }
	  if (CodCampo.value.length < Lungmin)
	  {
	    alert("Inserire almeno " + Lungmin + " caratteri per il campo '" + DescCampo + "'.");
		CodCampo.focus();
	    return (false);
	  }
	  if (CodCampo.value.length > Lungmax)
	  {
	    alert("Inserire al massimo " + Lungmax + " caratteri per il campo '" + DescCampo + "'.");
		CodCampo.focus();
	    return (false);
	  }
	  return (true);
	}
	
	// Funzione per il controllo dei campi interi nelle pagine
	function ControllaCampoNumero(CodCampo,DescCampo,decPoints,valmin,valmax)
	{
		var checkOK = "0123456789-,";
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		
		if (valmin == 1 || CodCampo.value.length > 0 )
		{

		if (CodCampo.value == "") 
		{
		  alert("Inserire un valore per il campo '" + DescCampo + "'.");
		  CodCampo.focus();
		  return (false);
		}
		  
		for (i = 0;  i < CodCampo.value.length;  i++)
		{
		  ch = CodCampo.value.charAt(i);
		  for (j = 0;  j < checkOK.length;  j++)
		    if (ch == checkOK.charAt(j))
		      break;
		  if (j == checkOK.length)
		  {
		    allValid = false;
		    break;
		  }
		  if (ch == ",")
		  {
		    allNum += ".";
		    decPoints++;
		  }
		  else
		    allNum += ch;
		}
		if (!allValid)
		{
			alert("Inserire solo cifre per il campo '" + DescCampo + "'.");
			CodCampo.focus();
			return (false);
		}
		if (decPoints > 1)
		{
			alert("Inserire un numero valido per il campo '" + DescCampo + "'.");
			CodCampo.focus();
			return (false);
		}
		if (CodCampo.value > valmax)
		{
			alert("Inserire un numero inferiore a " + valmax + " per il campo '" + DescCampo + "'.");
			CodCampo.focus();
			return (false);
		}
		if (CodCampo.value < valmin)
		{
			alert("Inserire un numero superiore a " + valmin + " per il campo '" + DescCampo + "'.");
			CodCampo.focus();
			return (false);
		}
		}
		
		return (true);
	}

	    function check_Data(st,obb)
	      {		   if (st.length > 0 ) 
		    {
		    var dt = new Date(2001,01,31); // Establishes a specific date for the object.
		   	dt.setDate(st.substr(0, 2 ));
		   	dt.setMonth(st.substr(3, 2 )-1);
		   	dt.setYear(st.substr(6, 4 ));
		   	y = dt.getYear();		   
		   	if( y < 1900)
		   		y = y + 1900;
              if(st.length > 10)
              {
                return false;
	          }
	          else if(st.charAt(2) != '/' || st.charAt(5) != '/' )
	          {
              	return false;
              }
	          else if(dt.getDate() != st.substr(0, 2 ))
	          {
              	return false;
              }
	          else if((dt.getMonth()+1)!=st.substr(3, 2 ))
	          {
              	return false;
              }
	          else if(y!=st.substr(6, 4 ) || st.substr(6, 4 )<1900)
	          {
              	return false;
              }              }              
		      return true;
	      }

	 function ControllaData(CodCampo,obblig)
	 {
	  if(!(check_Data(CodCampo.value,obblig.value)))
	  {
			alert("Il campo data non è nel formato corretto o la data inserita non è valida");
			CodCampo.focus();
			return (false);
	  }	  return (true);
	 }

	function ControllaEmail(CodCampo,DescCampo,Lungmin,Lungmax) {
	  if (Lungmin > 0)
	  {
		if (CodCampo.value == "")
		{
		  alert("Inserire un valore per il campo '" + DescCampo + "'.");
			CodCampo.focus();
		  return (false);
		}
	 
	  if ((CodCampo.value.indexOf("@") == -1) |
		(CodCampo.value.indexOf(".") == -1) | (CodCampo.value.length < 7))
	  {
			alert("Il campo '" + DescCampo + "' non è nel formato corretto")
			CodCampo.focus();
			return (false);
	  }
	  if (CodCampo.value.length < Lungmin)
	  {
	    alert("Inserire almeno " + Lungmin + " caratteri per il campo '" + DescCampo + "'.");
		CodCampo.focus();
	    return (false);
	  }
	  if (CodCampo.value.length > Lungmax)
	  {
	    alert("Inserire al massimo " + Lungmax + " caratteri per il campo '" + DescCampo + "'.");
		CodCampo.focus();
	    return (false);
	  }
	  }
	  return (true);			
	}



	// Funzione per il controllo delle stringhe nelle pagine
	function ConfermaCancellazione()
	{
		return (confirm("Eliminare l'elemento selezionato ?"));
	}
	
	// Funzione per il controllo delle stringhe nelle pagine
	function Datoesistente()
	{
		return (confirm("Attenzione record gia' esistente"));
	}
	
	function DammiCollegamento(IndirizzoPagina, nomefile,lingua)
	{
		var collegamento = "";
		
		if (VerificaEsistenzaStringa(nomefile,"http") )
		{
			collegamento = nomefile;
		}
		else
		{
			if ((VerificaEsistenzaStringa(IndirizzoPagina,"sv10mod")) ||
				(VerificaEsistenzaStringa(IndirizzoPagina,"sv10MOD")) ) // sono in modifica
				nomefile = "mod" + nomefile;
			if ((VerificaEsistenzaStringa(IndirizzoPagina,"sv10ita")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10ITA")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10eng")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10ENG")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10deu")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10DEU")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10FRA")) ||
				 (VerificaEsistenzaStringa(IndirizzoPagina,"sv10fra")))
			{
				collegamento = nomefile; // sono nel sotto menu della lingua
			}
			else		 
			{
				collegamento = lingua + "/" + nomefile;
			}
		}
		return collegamento;
	}
	
	function StampaPagina()
	{  
		if (NS) 
		{
		    window.print() ;  
		} 
		else
		{
		    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
			document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		    WebBrowser1.ExecWB(6, 2);
			WebBrowser1.outerHTML = "";  
		}
	}

	function DammiNavigator()
	{  
	
		 if(navigator.userAgent.indexOf('IRIX') != -1)
			{document.write("Irix")}

		else if((navigator.userAgent.indexOf('Win') != -1) && (navigator.userAgent.indexOf('95') != -1))
			{document.write("Microsoft Windows 95")}

		else if(navigator.userAgent.indexOf('Win') != -1)
			{document.write("Microsoft Windows 3.1 or NT")}

		else if(navigator.userAgent.indexOf('Mac') != -1)
			{document.write("Macintosh")}

		else {document.write("Other")}
	}
	
	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_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_findObj(n, d) { //v4.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 && document.getElementById) x=document.getElementById(n); 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_nbGroup(event, grpName) { //v3.0
	  var i,img,nbArr,args=MM_nbGroup.arguments;
	  if (event == "init" && args.length > 2) {
	    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
	      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
	      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
	      nbArr[nbArr.length] = img;
	      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
	        if (!img.MM_up) img.MM_up = img.src;
	        img.src = img.MM_dn = args[i+1];
	        nbArr[nbArr.length] = img;
	    } }
	  } else if (event == "over") {
	    document.MM_nbOver = nbArr = new Array();
	    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
	      if (!img.MM_up) img.MM_up = img.src;
	      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
	      nbArr[nbArr.length] = img;
	    }
	  } else if (event == "out" ) {
	    for (i=0; i < document.MM_nbOver.length; i++) {
	      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
	  } else if (event == "down") {
	    if ((nbArr = document[grpName]) != null)
	      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
	    document[grpName] = nbArr = new Array();
	    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
	      if (!img.MM_up) img.MM_up = img.src;
	      img.src = img.MM_dn = args[i+1];
	      nbArr[nbArr.length] = img;
	  } }
	}

	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_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];}
	}
