/*********************************************
 Riceve: valore numerico 
 Ritorna il mese nella forma mmm 
 es. Gen...

30/10/1999 Daniele Marrama
*********************************************/ 

function monthshort(n)
{

if (n==1){m='Gen';}
else if (n==2) {m='Feb';}
else if (n==3) {m='Mar';}
else if (n==4) {m='Apr';}
else if (n==5) {m='Mag';}
else if (n==6) {m='Giu';}
else if (n==7) {m='Lug';}
else if (n==8) {m='Ago';}
else if (n==9) {m='Set';}
else if (n==10) {m='Ott';}
else if (n==11) {m='Nov';}
else if (n==12) {m='Dic';}

return (m) ;
}

//----------
function monthshort_e(n)
{

if (n==1){m='Jan';}
else if (n==2) {m='Feb';}
else if (n==3) {m='Mar';}
else if (n==4) {m='Apr';}
else if (n==5) {m='May';}
else if (n==6) {m='Jun';}
else if (n==7) {m='Jul';}
else if (n==8) {m='Ago';}
else if (n==9) {m='Sep';}
else if (n==10) {m='Oct';}
else if (n==11) {m='Nov';}
else if (n==12) {m='Dec';}

return (m) ;
}

function desmonth_e(n)
{

if (n==1){m='Jan';}
else if (n==2) {m='February';}
else if (n==3) {m='March';}
else if (n==4) {m='April';}
else if (n==5) {m='May';}
else if (n==6) {m='June';}
else if (n==7) {m='July';}
else if (n==8) {m='Agost';}
else if (n==9) {m='September';}
else if (n==10) {m='October';}
else if (n==11) {m='November';}
else if (n==12) {m='December';}

return (m) ;
}

function desmonth_i(n)
{

if (n==1){m='Gennaio';}
else if (n==2) {m='Febbraio';}
else if (n==3) {m='Marzo';}
else if (n==4) {m='Aprile';}
else if (n==5) {m='Maggio';}
else if (n==6) {m='Giugno';}
else if (n==7) {m='Luglio';}
else if (n==8) {m='Agosto';}
else if (n==9) {m='Settembre';}
else if (n==10) {m='Ottobre';}
else if (n==11) {m='Novembre';}
else if (n==12) {m='Dicembre';}

return (m) ;
}
//----------

function numDayForMonth(checkYear, checkMonth)
    {

	maxDay = 31;

	if (checkMonth == 4 || checkMonth == 6 || checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else
	if (checkMonth == 2)
	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else
		if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}

	return (maxDay); //check day
    }



/*********************************************

 Effettua la differenza tra due date (dmax e dmin) 
 e restituisce il numero dei giorni
 
30/10/1999 Daniele Marrama
*********************************************/ 
function diffDate2(dmax,dmin)
{



dma = new String(dmax)
dmi = new String(dmin)
var DyMilli = 1000 * 60* 60*24;
var tmax     = Date.parse(dma)*1;
var tmin     = Date.parse(dmi)*1;
var tdiff    = tmax-tmin
 
//s = Math.round(tdiff / DyMilli) ;
s =  tdiff
return(s);

}


function diffDate(dmax,dmin)
{

var MinMilli = 1000 * 60;
var HrMilli  = MinMilli * 60;
var DyMilli  = HrMilli * 24;
var tmax     = dmax.valueOf()*1;
var tmin     = dmin.valueOf()*1;
var tdiff    = tmax-tmin
 
s = Math.round(tdiff / DyMilli) ;

return(s);

}

/*****************************



******************************/
function isPeriodo(periodo)
{


 var s = new String(periodo)
 p=s.indexOf('/')
 ret = true
 if (p==-1 || p==0)
 {return false}

 //mese
 if(isMese(s.substr(0,p)) )
   {ret = true}
 else
   {return false}
  

 //anno 
  if(isAnno(s.substr(p+1,s.length)))
    {ret = true}
  else
    {return false}

 return ret
}



/*****************************************

 funzione per calcolare la differeza tra 
 due periodi (periodi sono istanze della 
              classe periodo)
 nella forma gg/mm/aaaa con d2 >= d1

 Return millisecondi
******************************************/ 

function diffPeriodi(d2,d1)
{
//d2 è il maggiore

var dmax = new Date(d2.anno(),d2.mese(),d2.giorno())
var dmin = new Date(d1.anno(),d1.mese(),d1.giorno())


return (dmax.valueOf()-dmin.valueOf())


}





/*****************************************

 funzione per controllare se il valore (m)
 inviato si riferisce ad un mese (1-12)

******************************************/ 

function isMese(m)
{
  if(isNumber(m))   
  {
     if (m*1 >0 && m*1 < 13)
        {return true}
     else 
        {return false}
  } 
  else
  {return false} 
    
} 

/*****************************************

 funzione per controllare se il valore (a)
 inviato  è un anno compreso nella matrice
 dati 
******************************************/ 
function isAnno(a)
{
 if (a.length<3){a = "19"+a}
  if(isNumber(a))   
  {
     if (a*1 >=primo_anno && a*1 <= ultimo_anno)
        {return true}
     else 
        {return false}
  } 
  else
 {return false} 
     
} 


/******************************************
  funzione per eliminare gli spazi
  in testa ad una stringa

**Daniele Marrama novembre 1999*************/

function Ltrim(stringa)
{
var strRet = stringa
for(i=0;i<=stringa.length-1;i++)
{

  if(stringa.substr(i,1)==" ")
    {}
  else
    {strRet = stringa.substr(i);return strRet}
}

return strRet;

}

/******************************************
  funzione per eliminare gli spazi
  in coda ad una stringa

**Daniele Marrama novembre 1999*************/

function Rtrim(stringa)
{
var strRet = stringa;
for(i=stringa.length-1;i>=0;i--)
{

  if(stringa.substr(i,1)==" ")
    {} 
  else
    { strRet = stringa.substr(0,i+1);return strRet;}
}

return strRet;

}

/******************************************
  funzione per eliminare gli spazi
  in testa e in coda ad una stringa
**Daniele Marrama novembre 1999*************/

function Alltrim(stringa)
{

return Rtrim(Ltrim(stringa));

}

/*****************************************

 funzione per controllare se una stringa 
 è vuota 
 ******************************************/ 
function isEmpty(inputStr) 
{
if (inputStr == null || inputStr == "") {
return true
}
return false
}

/*****************************************
 visualizza l'ultimo indice ISTAT a seconda della tabella selezionata

 ******************************************/ 
function mess_ultimo_dato(versione)
{
	
var p  =""
var p_dal  = new periodo(vpenultimo_periodo)
var p_al   = new periodo(vultimo_periodo)

var ultimo_rac = raccordoP(p_dal,p_al);
var ultima_vp = format(varperc(p_dal.indice(),p_al.indice()*ultimo_rac),1)+"%";    
var s_style_Title = "<div class='ultimoindiceistatpagine'>"

if(versione=="I")
{
p = p + "Nel mese di " +  "<b>"+monthshort(ultimo_mese)+" "+ultimo_anno + "</b><br>"+ " l'indice ISTAT è risultato<br>uguale a <b>" +""+p_al.indice() +"</b> facendo"
p = p + "<br>registrare una var% del " + "<b>"+ultima_vp+ "</b>"+"<br>rispetto a <b>" +  monthshort(ultimo_mese)+" "+penultimo_anno + " </b>(" +p_dal.indice()+")"
document.write (s_style_Title + p + "</div>");
}
else
{
p = monthshort(ultimo_mese)+" "+ultimo_anno + " (" +p_al.indice()+") - " + monthshort(ultimo_mese)+" "+penultimo_anno + " (" +p_dal.indice()+")"
p = p+ "<p><b>var% = " + ultima_vp+ "</b></p>"
document.write (s_style_Title + p + "</div>");
}

}

/*****************************************
 ritorna l'ultimo indice ISTAT a seconda della tabella selezionata

 ******************************************/ 
function stringa_ultimo_dato(versione)
{
var p  =""
var p_dal  = new periodo(vpenultimo_periodo)
var p_al   = new periodo(vultimo_periodo)

var ultimo_rac = raccordoP(p_dal,p_al);
var ultima_vp = format(varperc(p_dal.indice(),p_al.indice()*ultimo_rac),1)+"%"; 

if(versione=="I")
{
p = p + "<b>Ultimo periodo in archivio</b>:"+ monthshort(ultimo_mese)+" "+penultimo_anno + "-"+ monthshort(ultimo_mese)+" "+ultimo_anno + "<br><b>Variazione registrata</b>:"+ ultima_vp 
}
else
{
p = p + "<b>Last period</b>:"+ monthshort_e(ultimo_mese)+" "+penultimo_anno + "-"+ monthshort_e(ultimo_mese)+" "+ultimo_anno + "<br><b>Value</b>:"+ ultima_vp 
}

return p
}

/*****************************************
 visualizza l'ultimo indice ISTAT a seconda della tabella selezionata

 ******************************************/ 
function str_ultimo_dato(versione)
{
var p  =""
var p_dal  = new periodo(vpenultimo_periodo)
var p_al   = new periodo(vultimo_periodo)

var ultimo_rac = raccordoP(p_dal,p_al);
var ultima_vp = format(varperc(p_dal.indice(),p_al.indice()*ultimo_rac),1)+"%"; 
var s_style_Title = "<div class='lastindex'>"

if(versione=="I")
{
p = p + "<b>Ultimo periodo in archivio</b>:"+ monthshort(ultimo_mese)+" "+penultimo_anno + "-"+ monthshort(ultimo_mese)+" "+ultimo_anno + "<br><b>Variazione registrata</b>:"+ ultima_vp 
document.write (s_style_Title + p + "</div>");
}
else
{
p = p + "<b>Last period</b>:"+ monthshort_e(ultimo_mese)+" "+penultimo_anno + "-"+ monthshort_e(ultimo_mese)+" "+ultimo_anno + "<br><b>Value</b>:"+ ultima_vp 
document.write (s_style_Title + p + "</div>");
}

}
/***********************************************
drawchartonload(an, tipo, width, title)
************************************************/

function drawchartonload(an, tipo, width, title)

{

	var itablewidth =width
	var parte = 0
	var i=0
	var imaxvalue=0
	var table_border=0 
    var labelcolor, img_cell, img_default

	labelcolor   = "#CCCCFF"
	
	img_cell    = 'spacer_red.gif'
	img_default = 'spacer_red.gif'
	maxgif      = 'spacer_black.gif'
	mingif      = 'spacer_blue.gif'
	var imgmediagif   = 'spacer_blue.gif'
	var imaxvalue = 0;        
	var iminvalue = 0;
	var bookmarkmin = 0
	var bookmarkmax = 0
	// find max value and min value
	
//...max
for (i=0;i<=an.length-1;i++) 
{
   if (imaxvalue < an[i]*1)  
   {imaxvalue = an[i];
    bookmarkmax = i;}
}

//...min

//iminvalue = an[0]  //oggi 15/1/2000
for (i=0;i<=an.length-1;i++) 
   {
	if (iminvalue >= an[i]*1)  
	   {iminvalue = an[i];bookmarkmin = i;}
   }


if (imaxvalue > itablewidth)
{parte = itablewidth / imaxvalue}
else
{parte = itablewidth / imaxvalue} 

var w_h_img =15 //larghezza/altezza img


document.write("<center>" + title+"</center>")
document.write("<TABLE CELLSPACING =1 CELLPADDING=0 border=0 align=center>")

if (tipo == 'V'){document.write('<tr>')}

for (i=0;i<=an.length-2;i++)  
{
	 //  if (an[i] == imaxvalue) 
	   if (i == bookmarkmax) 
		  {img_cell = maxgif;}
	   else{
		  //  if (an[i] == iminvalue) 
			if (i == bookmarkmin) 
			   {img_cell = mingif;}
			else {img_cell = img_default;}
	   } 

	   if (tipo == 'V')  
		  {document.write("<TD  valign = bottom align=middle><IMG SRC='" + img_cell + "' BORDER=0  WIDTH='" + w_h_img + "' HEIGHT='" + an[i]*parte + "' ALT='" + aPeriodo[i] + "'></TD>")}

	   else
		  {document.write("<tr>" + "<TD height='10'><font size=1 face='Courier New, Courier, mono'>" + an[i] + "</font></TD><TD height='" +w_h_img+ "' ALIGN=left><IMG SRC='" + img_cell + "' BORDER=1 WIDTH='" + an[i]*parte + "' HEIGHT='" + w_h_img + "' ALT='" + aPeriodo[i]+ " '></TD></TR>")}
}


document.write("<TD  valign = bottom align=middle><IMG SRC='" + imgmediagif + "' BORDER=0  WIDTH='" + w_h_img + "' HEIGHT='" + an[12]*parte + "' ALT='" + aPeriodo[12] + "'></TD>")

if (tipo == 'V'){document.write('</tr>')}

// print label for vertical chart
 if (tipo == "V")
		{
	   document.write("<tr>");                 
	   for (i=0;i<=an.length-1;i++) 
		   {
			document.write("<TD valign ='bottom' bgcolor='#00be00' align='middle'><font size='1' >" +  an[i] + "</font></TD>")
		   }
		   document.write("</tr>");                
		}
	document.write("</TABLE><br>");
                               
}




function drawchartSTR(an, tipo, width, title)
//torna una stringa con la tabella riportante il grafico
{
	var strGrafico
	var itablewidth =width
	var parte = 0
	var i=0
	var imaxvalue=0
	var table_border=0 
    var labelcolor, img_cell, img_default
	
	title=title+" "
	
	labelcolor   = "#CCCCFF"
	
	img_cell    = 'img/spacer_red.gif'
	img_default = 'img/spacer_red.gif'
	maxgif      = 'img/spacer_black.gif'
	mingif      = 'img/spacer_blue.gif'
	var imaxvalue = 0;        var iminvalue = 0;
	// find max value

        for (i=0;i<=an.length-1;i++) 
           {
		if (imaxvalue < an[i]*1)  
                   {imaxvalue = an[i];}
           }

        //...min

        iminvalue = an[0]
        for (i=0;i<=an.length-1;i++) 
           {
		if (iminvalue > an[i]*1)  
                   {iminvalue = an[i];}
           }


        if (imaxvalue > itablewidth)
	   {parte = itablewidth / imaxvalue}
		else
	   {parte = itablewidth / imaxvalue} 

		var w_h_img =15 //larghezza/altezza img
		strGrafico=""
        strGrafico +="<div align='center'><H5>" + title + "</H5></div>"
        strGrafico +="<TABLE CELLSPACING =1 CELLPADDING=0 border=0 align=center>"
		
        if (tipo == 'V'){ strGrafico +="<tr>"}

        for (i=0;i<=an.length-1;i++)  
        {
               if (an[i] == imaxvalue) 
                  {img_cell = maxgif;}
               else{
                    if (an[i] == iminvalue) 
                       {img_cell = mingif;}
                    else {img_cell = img_default;}
               } 

               if (tipo == 'V')  
                  { strGrafico +="<TD  valign = bottom align=middle><IMG SRC='" + img_cell + "' BORDER=0  WIDTH='" + w_h_img + "' HEIGHT='" + an[i]*parte + "' ALT='" + aPeriodo[i] + "'></TD>"}
                  
               else
                  { strGrafico +="<tr>" + "<TD bgcolor=#00be00 height='10'><font size=1 face='Courier New, Courier, mono'>" + an[i] + "</font></TD><TD height='" +w_h_img+ "' ALIGN=left><IMG SRC='" + img_cell + "' BORDER=1 WIDTH='" + an[i]*parte + "' HEIGHT='" + w_h_img + "' ALT='" + aPeriodo[i]+ " '></TD></TR>"}
        }

        if (tipo == 'V'){ strGrafico +="</tr>"}

        // print label for vertival chart
	     if (tipo == "V")
                {
                strGrafico +="<tr>";                 
               for (i=0;i<=an.length-1;i++) 
                   {
                    strGrafico +="<TD valign ='bottom' bgcolor='#00be00' align='middle'><font size='1' >" +  an[i] + "</font></TD>"
                   }
                    strGrafico +="</tr>";                
                }
        	 strGrafico +="</TABLE>";
return strGrafico                               
							   
}



//************************
function ultimomese()
{

for (i=1;i<13;i++)
{
if(matricedati[ultimarigadati][i]==0){return i-1}
}
return i-1
}


//************************
function ultimomeseAnno(anno)
{

for (i=1;i<13;i++)
{
if(matricedati[(anno-primo_anno)+1][i]==0){return i-1}
}
return i-1
}


/***********************************************
 Sottrae mesi (m) o anni(y) alla data in arrivo
 nella forma(mm/yyyy)

 autore:Daniele Marrama
 9/11/99
*************************************************/
function sotDate(data,n,tipo)
{

var p= new periodo(data)

var m;
var a;
var g=p.giorno()





if(tipo=='y')
  {
   m=p.mese(); 
   a=p.anno()-n*1;

  }
else
{
     var numanni      = parseInt(n*1/12)
     if (isNaN(numanni)){numanni = 0;} // è stata aggiunta perchè a volte tornava NaN vedi Help parseInt
     var restodeimesi = (n*1-(numanni*12));	 
     var meseret      = parseInt(p.mese())-restodeimesi;

     if (meseret<0)
        {m=(12+meseret);a=(p.anno()-(numanni+1));}
     else 
        {if(meseret == 0)
           {m="12";a=p.anno()-(numanni+1)}
         else 
           {m=meseret;a=(p.anno()-numanni);}
     }      
} 

var dataret = p.giorno()+"/"+m+"/"+a;

return dataret ;

}



function addDate(data,n,tipo){


/*
Accetta una data nel formato gg/mm/aaaa
aggiunge n (giorni/mesi/anni) alla data inviata
a secondo del tipo inviato  che può essere "d" oppure "m" oppure "y"
*/
var p_base  = new periodo(data)
var onedate = new Date(p_base.anno(),(p_base.mese()*1-1),p_base.giorno());

//alert("La data vera è:" +onedate)

var giorno = onedate.getDate();
var mese= onedate.getMonth();
var anno= onedate.getFullYear();

//alert("il Mese che arriva è:" +mese + " l'anno è" + anno + " il giorno " + giorno)

if(anno<1899){anno=anno+1900}

if (tipo=="d") {giorno = giorno*1+n*1;onedate.setDate(giorno);}
if (tipo=="m") {mese= (mese*1)+(n*1);onedate.setMonth(mese);}
if (tipo=="y") {anno= anno*1+n*1;onedate.setYear(anno);}



giorno = onedate.getDate();
mese= onedate.getMonth()+1;
anno= onedate.getFullYear()


return (giorno+"/"+mese+"/"+anno) 
}








function calcola(p1,p2)
{
	//p1<p2
	// p1=mm/aaaa
	// p2=mm/aaaa
	   tab_indici="nic" //variabile pubblica dichiarata in variabili.js
 	   p_dal   = new periodo("1/"+p1);
	   p_al    = new periodo("1/"+p2);
	   
	   if(p_dal.indice()>0 && p_al.indice()>0)
	   {
  	   var vraccordo    = raccordoP(p_dal,p_al);
	   var vpercentuale = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1);
	   var coef = format(p_al.indice()*vraccordo/p_dal.indice(),4);
	   vpercentuale = vpercentuale+"%";
	   alert(vpercentuale + " "+coef);
	   }
	   else    {  	  alert("Errore! Periodi errati");   }
	   
	   
}	   




/********************************************
  inflazionebackAnno
conta indietro di n_mesi 

 visualizza la tabella se flagt=true
 visualizza il grafico se flagc=true
Calcola l'nflazione Media per l'anno inviato tramite la funzione
********************************************/
function inflazionebackAnno(anno,flagc,flagt)
{
var v_anno=anno
var sloganAdsenseAlto="<div align=center><iframe src='http://www.rivalutazionemonetaria.it/f_g/f_g_top_468x60.htm' width=470 height=70 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"
var sloganAdsenseSx_Dx="<div align=center><iframe src='http://www.rivalutazionemonetaria.it/f_g/f_g_top_336x280.htm' width=340 height=300 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"

var sloganrivaluta =sloganAdsenseAlto
var sloganrivaluta = sloganrivaluta + "<div align='center'><font face='verdana' size=3 color=#000000><b>Elaborazione a cura di RIVALUTA.it</b></font></div>"
var titolo   = "L'Inflazione media in Italia nell'anno:"+v_anno

var font     = "";
var endfont  = "";

var styleTD = " <style>td {font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 11px;	color: #000000;}</style>"



var tab      =sloganrivaluta+ "<TABLE bgcolor='#000000' border=0 cellPadding=0 cellSpacing=2 width='400' align='center'>"
var endtab   = "</table>"
var tdGoogle = "<td rowspan='14' valign='top'>"+sloganAdsenseSx_Dx+"</td>"
var rt= "<tr bgcolor='#ffffff'>"+tdGoogle+"<td>&nbsp;</td><td>"+font+"Dal"+endfont+"</td><td>"+font+"Al"+endfont+"</td><td>"+font+"Indice " + (v_anno-1)+endfont+"</td><td>"+font+"Indice "+v_anno+endfont+"</td><td>"+font+"Indice "+v_anno+ "\n raccordato"+endfont+"<td>"+font+"Raccordo"+endfont+"</td><td bgcolor='#ff0000'>"+font+"<b>Var%</b>"+endfont+"</td></tr>"

var sindicidal= 0;
var sindicial = 0;


var aPercentuali = null;
aPercentuali = new Array();

//*********************************************************************************************

var divisoreDal=0
var divisoreAl=0

var stilecelladati = "<td bgcolor='#ffffff'>"

for (var i=1; i< 13; i++) 
	{
	   p_dal   = new periodo("1/"+i+"/"+(v_anno-1))
	   p_al    = new periodo("1/"+i+"/"+v_anno)
	   
	   if(p_dal.indice()>0 && p_al.indice()>0)
	   {
  	   var vraccordo    = raccordoP(p_dal,p_al);
	   aPercentuali[i-1] = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*1
	   vpercentuale = aPercentuali[i-1]+"%"

	   } 
	   else
	   {
		aPercentuali[i-1] = "---";
	    vpercentuale = aPercentuali[i-1];
	   }
	  
	  if(p_al.indice()>0 ){ sindicial    += p_al.indice()*vraccordo;divisoreAl=divisoreAl+1;sindicidal   += p_dal.indice();divisoreDal=divisoreDal+1} 
	 // if(p_dal.indice()>0 ){ sindicidal   += p_dal.indice();divisoreDal=divisoreDal+1}
	  
	   
	   aPeriodo[i-1] = monthshort(p_dal.mese())+"/"+p_dal.anno() + "  " + monthshort(p_al.mese())+"/"+p_al.anno()
	   
	  // rt += "<tr><td bgcolor='#ffffff'>"+font+i+endfont+"</td>"+stilecelladati+font+ monthshort(p_dal.mese())+"-"+p_dal.anno() + endfont+"</td>"+stilecelladati+font+monthshort(p_al.mese())+"-"+p_al.anno()+endfont+"</td>"+stilecelladati+font+p_dal.indice()+endfont+"</td>"+stilecelladati+font+p_al.indice()+endfont+"</td>"+stilecelladati+font+format(p_al.indice()*vraccordo,1)+endfont+"</td>"+stilecelladati+font+vraccordo+endfont+"</td>"+"<td bgcolor='#ff0000'>"+font+"<b>"+vpercentuale+"</b>"+endfont+"</td></tr>"
 		   rt += "<tr><td bgcolor='#ffffff'>"+i+"</td>"+stilecelladati+ monthshort(p_dal.mese())+"-"+p_dal.anno() + "</td>"+stilecelladati+monthshort(p_al.mese())+"-"+p_al.anno()+"</td>"+stilecelladati+p_dal.indice()+"</td>"+stilecelladati+p_al.indice()+"</td>"+stilecelladati+format(p_al.indice()*vraccordo,1)+"</td>"+stilecelladati+vraccordo+"</td>"+"<td bgcolor='#ff0000'>"+"<b>"+vpercentuale+"</b>"+"</td></tr>"
   
	}


var pmi = posmin(aPercentuali,0,aPercentuali.length-1) 
var pma = posmax(aPercentuali,0,aPercentuali.length-1) 


var mediasindicidal=sindicidal/divisoreAl
var mediasindicial=sindicial/divisoreAl

vpercentuale = format(varperc(mediasindicidal,mediasindicial),1)+"%";    

font     = "<font face='Verdana' size=1 color=#ffffff><b>";
endfont  = "</b></font>";
rt += "<tr bgcolor='#ff0000'>"
rt += "<td align='left' colspan=3>"+font+"MEDIE"+endfont+"</td>"
rt += "<td bgcolor='#ff0000'>"+font+format(mediasindicidal,3)+endfont+"</td>"
rt += "<td>"+font+"&nbsp;"+endfont+"</td>"
rt += "<td bgcolor='#ff0000'>"+font+format(mediasindicial,3)+endfont+"</td>"
rt += "<td align='center'>"+font+"&nbsp;"+endfont+"</td>"
rt += "<td bgcolor='#ff0000'>"+font+vpercentuale+endfont+"</td>"
rt +="</tr>"


tab += rt
var strminmaxmed = "<div align='center'><font face='verdana' size=2 color=#000000>I dati nell'anno "+ v_anno
strminmaxmed += "<br><b>Min:"+aPercentuali[pmi] +"%" +" Max:"+aPercentuali[pma] +"%"
strminmaxmed +=" Media:" + vpercentuale +"</b></font></div>"
var sloganrivaluta = "<br><div align='center'><font face='verdana' size=3 color=#000000><b>Elaborazione a cura di RIVALUTA.it</b></font></div>"
tab +=endtab + sloganAdsenseAlto+strminmaxmed+sloganrivaluta
tab +=drawchartSTR(aPercentuali,'V',120,'')

if (flagt){WindowRun_J(styleTD+tab+sloganAdsenseAlto,titolo,'#ffffff',800,900)}



return; 


}


/********************************************
  inflazioneback
conta indietro di n_mesi 
(mesi o anni a seconda del parametro tipo_c)

 visualizza la tabella se flagt=true
 visualizza il grafico se flagc=true

********************************************/
function inflazioneback(n_mesi,tipo_c,flagc,flagt)
{
var adSenseGoogle = "<div align='center'><iframe src='http://rivalutazionemonetaria.it/f_g/f_g_top.htm' width=728 height=100 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"
var sloganAdsenseSx_Dx="<div align=center><iframe src='http://rivalutazionemonetaria.it/f_g/f_g_dx.htm' width=122 height=620 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"

var sloganrivaluta = "<div align='center'><font face='verdana' size=3 color=#000000><b>Elaborazione a cura di RIVALUTA.it</b></font></div>"
sloganrivaluta = "<div align='center'>" + sloganrivaluta + adSenseGoogle + "</div>"
var titolo   = "L'Inflazione in Italia negli ultimi " + n_mesi


if(tipo_c=="m"){titolo+=" mesi"; var mesedal   = ultimo_mese; }else{titolo+=" anni";var mesedal  = "0";}

var font     = "";
var endfont  = "";
var tabContenitore=sloganrivaluta+ "<table align='center'><tr><td width='125'><div align='right'>" + sloganAdsenseSx_Dx + "</div></td>"
var tab      ="<TABLE align='center' bgcolor='#000000' border=0 cellPadding=0 cellSpacing=2 width='350' align='center'>"
var endtab   = "</table>"

//var rt= "<tr bgcolor='#ffffff'>"+font+"<td>&nbsp;</td><td>"+font+"Dal"+endfont+"</td><td>"+font+"Al"+endfont+"</td><td>"+font+"Indice Dal"+endfont+"</td><td>"+font+"Indice Al"+endfont+"</td><td>"+font+"Raccordo"+endfont+"</td><td>"+font+"Var %"+endfont+"</td></tr>"
var rt= "<tr bgcolor='#ffffff'><td>&nbsp;</td><td>Dal</td><td>Al</td><td>Var% rispetto allo stesso mese dell'anno precedente</td><td>Var% rispetto al mese precedente</td></tr>"
var sindicidal= 0;
var sindicial = 0;

var	   sindicidal_mensile =0;
var    sindicial_mensile  =0;


//var mesedal   = ultimo_mese 
var anniback  = parseInt(n_mesi)

var aPercentuali = null;
aPercentuali = new Array();
aPeriodo = null; aPeriodo = new Array();

aPercentuali_mensili = null;
aPercentuali_mensili = new Array();


//*********************************************************************************************

if(tipo_c=="m"){
var p_al     = new periodo(addDate(sotDate("01/"+mesedal +"/" + ultimo_anno,anniback,"m"),1,"m"))
var moltiplicatore = 1
}else{
	
var p_al     = new periodo(addDate(sotDate("01/"+mesedal +"/" + ultimo_anno,anniback*1,"y"),1,"m"))

var moltiplicatore = 12
}

var p_dal     = new periodo(sotDate(p_al.value,1,"y")) 

var p_fine    = new periodo("01/"+ultimo_mese+"/"+ultimo_anno)


var titoloPeriodo= desmonth_i(p_dal.mese())+"-" + p_dal.anno() + " " + desmonth_i(p_fine.mese())+"-" +p_fine.anno()
var vpercentuale;
var vpercentuale_mensile;
DifferenzaPeriodi = diffPeriodi(p_fine,p_dal)

var i=1
//https://www.google.com/chart?e8e8%2C0%2C36.0%2C1.0%7CV%2Ce8e8e8%2C0%2C48.0%2C1.0%7Cb%2Cc8e3f688%2C0%2C1.0%2C0.0&chxt=x%2Cy&chxr=0%2C0.0%2C1.0%7C1%2C0.0%2C1.0&chxl=0%3A%7C++29%2F11%2F07%7C11%2F12%2F07%7C23%2F12%2F07%7C04%2F01%2F08%7C16%2F01%2F08%7C28%2F01%2F08++%7C1%3A%7C5%2C4%25%7C2%2C7%25%7C0%2C0%25&chxp=0%2C0.03%2C0.2%2C0.4%2C0.6%2C0.8%2C0.96%7C1%2C1.0%2C0.5%2C0.0&chxs=0%2C0379cd%2C11.0%2C0.0%7C1%2C808080%2C11.0%2C1.0
var chartdati = ""
var charturlgoogle = "http://chart.apis.google.com/chart?"
var chartdimchart = "chs=450x320" //larghezza x altezza
var chartype = "cht=lc" //is the chart's type-ok
var charttitle= "chtt=Inflazione ITALIA - " + titoloPeriodo

var charassi = "chxt=x,t,x" // indicates both x-axis and y-axis labels are required.
var chartGrid = "chg=20,20,0"
var charlabelassi="chxl=1:|Valori|2:|Periodi|0:|" //"chxl=0:||Periodi|1:||Valori" //are the x-axis and y-axis labels. 

var chartlinethickness="chls=3" //grandezza linea grafico
var chartmarker = "chm=V,ff0000"
var urlgGrafico=""



var stilecelladati = "<td bgcolor='#ffffff'>"
var virgola=""
var contatore=0
var parkAnno=""
var labelvaloriassex = ""
	while (DifferenzaPeriodi >= 0)
	{
  	   var vraccordo    = raccordoP(p_dal,p_al);		
	   aPercentuali[i-1] = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*1
	  
	   p_dal_mensile = new periodo(sotDate(p_al.value,1,"m")) 
	   p_al_mensile = p_al;
	   var vraccordo_mensile    = raccordoP(p_dal_mensile,p_al_mensile);
	   chartdati=chartdati + virgola + aPercentuali[i-1]*10
	   virgola=","
	   //chartdati=chartdati + aPercentuali[i-1]*10
	   aPercentuali_mensili[i-1] = format(varperc(p_dal_mensile.indice(),p_al_mensile.indice()*vraccordo_mensile),1)*1
	   vpercentuale = aPercentuali[i-1];
	   vpercentuale_mensile = aPercentuali_mensili[i-1]
	   aPeriodo[i-1] = p_dal.value + "  "+ p_al.value
	   
	   if (parkAnno==p_al.anno()){labelvaloriassex = labelvaloriassex +"" + "|"}else{labelvaloriassex = labelvaloriassex + p_al.anno() + "|"}
	   
	   parkAnno = p_al.anno()
	   sindicidal   += p_dal.indice()
	   sindicial    += p_al.indice()*vraccordo
	   contatore = contatore+1
	   sindicidal_mensile   += p_dal_mensile.indice()
	   sindicial_mensile    += p_al_mensile.indice()*vraccordo_mensile
	   
	   //rt += "<tr><td bgcolor='#ffffff'>"+font+i+endfont+"</td>"+stilecelladati+font+ monthshort(p_dal.mese())+"-"+p_dal.anno() + endfont+"</td>"+stilecelladati+font+monthshort(p_al.mese())+"-"+p_al.anno()+endfont+"</td>"+stilecelladati+font+p_dal.indice()+endfont+"</td>"+stilecelladati+font+p_al.indice()+endfont+"</td>"+stilecelladati+font+vraccordo+endfont+"</td>"+stilecelladati+font+vpercentuale+"%"+endfont+"</td></tr>"
 	   rt += "<tr><td bgcolor='#ffffff'>"+i+"</td>"+stilecelladati+ monthshort(p_dal.mese())+"-"+p_dal.anno() + "</td>"+stilecelladati+monthshort(p_al.mese())+"-"+p_al.anno()+"</td>"+stilecelladati+vpercentuale+stilecelladati + ""+vpercentuale_mensile+"%" + "</td></tr>"	
		if(tipo_c=="m"){
			var p_dal  = new periodo(addDate(p_dal.value,1,'m'))
			var p_al   = new periodo(addDate(p_dal.value,1,'y'));
			}
		else{     
			var p_dal = new periodo(addDate(p_dal.value,1,'m'))
			var p_al  = new periodo(addDate(p_dal.value,1,'y'));
		}	
		
         DifferenzaPeriodi = diffPeriodi(p_fine,p_al);
		 i+=1
         
	}

var pmi = posmin(aPercentuali,0,aPercentuali.length-1) 
var pma = posmax(aPercentuali,0,aPercentuali.length-1) 

if(n_mesi<=0) {n_mesi=1}else {}

var iterazioni=parseInt(n_mesi)*moltiplicatore
var mediasindicidal=sindicidal/iterazioni
var mediasindicial=sindicial/iterazioni
var mediasindicidal_mensile=sindicidal_mensile/iterazioni
var mediasindicial_mensile=sindicial_mensile/iterazioni

vpercentuale = format(varperc(mediasindicidal,mediasindicial),1)+"%";    
vpercentualemediamensile = format(varperc(mediasindicidal_mensile,mediasindicial_mensile),1)+"%";    

font     = "<font color=#ffffff><b>";
endfont  = "</b></font>";
//rt += "<tr bgcolor='000000'><td colspan='3' bgcolor='000000'><b>Medie</b></td><td bgcolor='#000000'><b>" +format(sindicidal/iterazioni,1)+ "</b></td><td bgcolor='#000000'><b>"+format(sindicial/iterazioni,1)+ "</b></td><td bgcolor='#000000'>&nbsp;</td><td bgcolor='#000000'><b>"+vpercentuale+ "</b></td></tr>"
rt += "<tr bgcolor='#000000'><td bgcolor='#ff0000' colspan='3' align='center'>"+font+"INFLAZIONE MEDIA NEL PERIODO "+ endfont+"</td>"+font+"&nbsp;"+endfont+"</td><td>"+font+vpercentuale+endfont+"</td><td>"+font+vpercentualemediamensile+endfont+"</td> </tr>"

tab += rt
var strminmax =  "<br><div align='center'><font face='verdana' size=1 color=#000000><b>Min="+aPercentuali[pmi] +"%" +" nel periodo "+ aPeriodo[pmi]+"<br><br>Max="+aPercentuali[pma] +"%"+" nel periodo "+ aPeriodo[pma]+"</b></font></div>"
var sloganrivaluta = "<br><div align='center'><font face='verdana' size=3 color=#000000><b>Elaborazione a cura di RIVALUTA.it</b></font></div>"
tab +=endtab + strminmax+sloganrivaluta
tab +="<img src='http://www.rivaluta.it/visite.asp?REFER=inflazioneback' width=1 height=1 border=0>"
tabContenitore=tabContenitore +"<td><div align=center>" + tab+"</div></td><td width='125'><div align='left'>" + sloganAdsenseSx_Dx + "</div></td></tr></table>"
if (flagc)
{
	//drawchart(aPercentuali,'V',120,'');
   //tabContenitore=tabContenitore +drawchartSTR(aPercentuali,'V',120,'')
   chartdati="chd=t:"+chartdati
	charlabelassi = charlabelassi + labelvaloriassex
	urlgGrafico=charturlgoogle +"&"+chartdimchart+"&"+chartdati+"&"+chartype+"&"+charttitle+"&"+charassi+"&"+charlabelassi+"&"+chartlinethickness+"&"+chartGrid
	tagIMG = "<div align='center'><img src='"+urlgGrafico+"'></div>"
	tabContenitore=tabContenitore + tagIMG
}

tabContenitore=tabContenitore+"<div align='center'>" +adSenseGoogle + "</div>"


if (flagt){

   WindowRun_J(tabContenitore,titolo,'#ffffff',800,600)
}

//<link href="../css/stili.css" rel="stylesheet" title="foglio di stile rivalutazione monetaria e calcolo interessi legali" type="text/css">

return; 


}









/**************

2

**************/
function inflazioneback2(n_mesi,tipo_c)
{

var aPercentuali = null;
aPercentuali = new Array();

aPeriodo = null; 
aPeriodo = new Array();
var sindicidal= 0;
var sindicial = 0;

var mesedal   = ultimo_mese 
var anniback  = parseInt(n_mesi)

if(tipo_c=="m"){
     var p_dal  = new periodo(sotDate("01/"+mesedal +"/" + ultimo_anno,anniback,"m"))
     var p_al   = new periodo(addDate(p_dal.value,1,'m'))
     var iterazioni = anniback 
}
else{     
    var p_dal  = new periodo(addDate(sotDate("01/"+ mesedal +"/" + ultimo_anno,anniback+1,"y"),1,'m'))
    var p_al   = new periodo(addDate(p_dal.value,1,'y'))
    var iterazioni = (12*anniback)
 }   

for(i=1;i<= iterazioni;i++)
{
  
   var vraccordo    = raccordoP(p_dal,p_al);
   aPercentuali[i-1] = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*1
   aPeriodo[i-1] = p_dal.value + " (<b>" + p_dal.indice()+ "</b>) " + p_al.value + " (<b>" + p_al.indice()*vraccordo+"</b>)"
   sindicidal   += p_dal.indice()
   sindicial    += p_al.indice()*vraccordo

 if(tipo_c=="m"){
     var p_dal  = new periodo(addDate(p_dal.value,1,'m'))
     var p_al   = new periodo(addDate(p_dal.value,1,'m'))}
 else{     
     var p_dal = new periodo(addDate(p_dal.value,1,'m'))
     var p_al  = new periodo(addDate(p_dal.value,1,'y'));
 }   

}//for end
    

var mediasindicidal=format(sindicidal/iterazioni,1)
var mediasindicial=format(sindicial/iterazioni,1)
vpercentuale = format(varperc(mediasindicidal,mediasindicial),1);    

aPercentuali[iterazioni*1] = vpercentuale
aPeriodo[iterazioni*1] = "Var% media nel periodo"

return false;

}







/********************************************


********************************************/
function tfr(annodipartenza,importo)
{


if(annodipartenza<=primo_anno) 
{
alert("L'anno non deve essere minore o uguale all'anno " + primo_anno )
return false
}
var aPercentuali = null;
aPercentuali = new Array();
i=0

//*********************************************************************************************


var annoprecedente 
var p_fine    = new periodo("01/"+ultimo_mese+"/"+ultimo_anno)

annoprecedente = annodipartenza
var v_tfr_quota_fissa=0.125

var adSenseGoogle = "<div align='center'><iframe src='http://rivalutazionemonetaria.it/f_g/f_g_top.htm' width=728 height=100 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"
var p_dal     = new periodo("31/12/"+(annoprecedente*1-1)) 
var p_al      = new periodo("1/1/"+annoprecedente)
var vraccordo    
var coefficiente 
var variazionepercentuale75
var variazionepercentuale100
var annoprecedente
var v_tfr
var cellaTR="<tr>"
var cellaTD="</td><td bgcolor='#ffffff' class='StileVerd11N'>"
var cellaTDinizio = "<td bgcolor='#ffffff' class='StileVerd11N'>"
var stringa
var bannerRivaluta = "<div align='center'><a href='http://www.rivaluta.it'><img src='http://www.rivaluta.it/img/banner790x90.gif' border=0 /></a></div>"
stringa="<html><title>TABELLA TFR</title><body>" + adSenseGoogle + bannerRivaluta + "<table  align='center' border=0 cellpadding=8 cellspacing=1 bgcolor='#CCCCCC'>"
stringa = stringa+"<tr>"+cellaTDinizio + "Dal" + cellaTD+"Al"+ cellaTD +"VAR%75"+cellaTD+"Var%100"+cellaTD+"Coefficiente ISTAT"+cellaTD+"Quota fissa "+ cellaTD+"Coefficiente TFR "+cellaTD+ "Importo TFR rivalutato"+"</td></tr>"

while (diffPeriodi(p_fine,p_al)>=0) //itera fino a quando p_fine è >=p_al

{                        
      vraccordo    = raccordoP(p_dal,p_al);
	  coefficiente = format((p_al.indice()*vraccordo/p_dal.indice())*1,4)
	  variazionepercentuale100=format(varperc(p_dal.indice(),p_al.indice()*vraccordo),6)
	  variazionepercentuale75=format(varperc75(p_dal.indice(),p_al.indice()*vraccordo),6)
	  v_tfr_motiplicatore=p_al.mese()*1
      v_tfr_quota=v_tfr_quota_fissa*v_tfr_motiplicatore

	  v_tfr = format(variazionepercentuale75*1+v_tfr_quota,6)
	  importotfr=format((importo*v_tfr),3)
	  importotfr=v_tfr
	  stringa = stringa+"<tr>" +cellaTDinizio+ p_dal.value + cellaTD + p_al.value + cellaTD+"<b>"+variazionepercentuale75+"</b>"+cellaTD+variazionepercentuale100+cellaTD+coefficiente+ cellaTD+ "<b>"+v_tfr_quota+"</b>"+cellaTD+"<b>"+v_tfr+"</b>"+cellaTD+importotfr+"</td></tr>"
	  var p_al  = new periodo(addDate(p_al.value,1,'m'))
      annoprecedente = p_al.anno()-1
	  var p_dal = new periodo("31/12/"+annoprecedente)
}


stringa=stringa+"</table>"+adSenseGoogle + bannerRivaluta+"</body>"+ "</html>"

fin = window.open('','','toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=850,height=600')
fin.document.write (stringa)
//fin.status=vC;
fin.document.close();
return false;

}

/********************************************


********************************************/
function coefficientetfr()
{



var annoprecedente 

annoprecedente = ultimo_anno*1-1

var v_tfr_quota_fissa=0.125

var p_dal     = new periodo("31/12/"+(annoprecedente*1)) 
var p_al      = new periodo("01/"+ultimo_mese+"/"+ultimo_anno)
var vraccordo    
var coefficiente 
var variazionepercentuale75
var variazionepercentuale100
var annoprecedente
var v_tfr

vraccordo    = raccordoP(p_dal,p_al);
coefficiente = format((p_al.indice()*vraccordo/p_dal.indice())*1,4)
variazionepercentuale75=format(varperc75(p_dal.indice(),p_al.indice()*vraccordo),5)
v_tfr_motiplicatore=p_al.mese()*1
v_tfr_quota=v_tfr_quota_fissa*v_tfr_motiplicatore
v_tfr = format(variazionepercentuale75*1+v_tfr_quota,6)

return (v_tfr)

}

/********************************************
Calcola l'indice medio annuo

********************************************/
function IndiceMedioAnno(v_anno)
{

var count=0
var sommaIndici=0
var mediaIndici=0

if(v_anno<primo_anno) 
{
return mediaIndici
}



var p     = new periodo("1/1/"+v_anno) 
for (var i=1; i< 13; i++) 
{      
	  
	  p = new periodo("1/" + i + "/" +v_anno)

	  if(p.indice()>0)
	  {
	  count=count+1
	  sommaIndici=sommaIndici+p.indice()
	  //alert(sommaIndici + ":" + count+":"+i)
	  }
}
mediaIndici=sommaIndici/count
//alert(mediaIndici)
return mediaIndici;

}

function StrIndiceMedioAnno(v_anno)
{

var count=0
var sommaIndici=0
var mediaIndici=0
var strRET=""
if(v_anno<primo_anno) 
{
return strRET
}

var p_dal   = new periodo("1/1/"+v_anno-1) 
var p_al    = new periodo("1/1/"+v_anno) 

for (var i=1; i< 13; i++)
{      
	  p_dal= new periodo("1/" + i + "/" +v_anno-1)
	  p_al = new periodo("1/" + i + "/" +v_anno)
	    
      var vraccordo    = raccordoP(p_dal,p_al);
	
      var variazionepercentuale100=format(varperc(p_dal.indice(),p_al.indice()*vraccordo),5)
	
	  
      strRET=monthshort(i) + "/" +v_anno-1 + "   " + monthshort(i) + "/" +v_anno+"   "+p_dal.indice() + "     "+ p_al.indice() + "   "+variazionepercentuale100
	  //alert(strRET)	
	  if(p_al.indice()>0)
	  {
	  count=count+1
	  sommaIndici=sommaIndici+p.indice()
	  //alert(sommaIndici + ":" + count+":"+i)
	  }
}

mediaIndici=format(sommaIndici/count,1)
//alert(mediaIndici)
return true 

}

/********************************************
Calcola l'indice medio annuo

********************************************/
function InflazioneMediaAnno(v_anno)
{

var annodal = v_anno-1
var annoal=v_anno
var infmedia

infmedia = format(varperc(IndiceMedioAnno(annodal),IndiceMedioAnno(annoal)),1)+"%"

return infmedia

}

/***********************************
Disegna il grafico relativo 
alla tabella creata nella funzione 
precedente
**Daniele Marrama 13/12/99 *********/

function disegnaGrafico(arrayvalori)

{
var widthGrafico = 20*i;

var g   = new Graph(widthGrafico,200);
g.scale = 40;

for (i=1;i<=arrayvalori.length;i++) 
{ g.addRow(arrayvalori[i])}

g.xLabel = "Mesi";
g.yLabel = "Valori";

g.build();

}




/******************************************************
  ritorno il raccordo tra gli oggetti "periodi" inviati
******************************************************/
function raccordoP(periodo_min, periodo_max)
{

p_min = periodo_min;
p_max = periodo_max;


raccordo_mese_min   = p_min.raccordo();
raccordo_mese_max   = p_max.raccordo();
raccordo_raccordo   = 1;

rigamatrice         = p_max.riga()*1;
park_raccordo       = p_max.raccordo()*1;

while (raccordo_mese_min != 1*matricedati[rigamatrice][colbase]){

      while (park_raccordo == matricedati[rigamatrice][colbase]){
            rigamatrice -= 1
      }

    raccordo_raccordo = raccordo_raccordo * matricedati[rigamatrice][colbase]
    park_raccordo     = matricedati[rigamatrice][colbase]
}
    
 
raccordo_tab    = (p_max.tabacchi()/p_min.tabacchi())
rc              = raccordo_raccordo * raccordo_tab

return rc
}

/******************************************************	
   Calcolo la var% tra i valori: 
   tra i_al/i_dal 
**************************************/
function varperc(i_dal,i_al){


v = parseFloat((i_al*100/i_dal)-100)

return v
}

/******************************************************	
   Calcolo la var% tra i valori: 
   tra i_al/i_dal 
**************************************/
function varperc75(i_dal,i_al){

v100 = parseFloat((i_al*100/i_dal)-100)
v75  = v100*0.75
return v75
}




/***************************


***************************/
function posmin(aV,startP,endP){

var i;
var posminimo = startP;
var minimo = aV[startP];

for(i=startP;i<=endP;i++)
{
if(minimo > aV[i]){minimo = aV[i];posminimo = i;}
}

return (posminimo)

}


/***************************


***************************/
function posmax(aV,startP,endP){

var i;
var posmassimo = startP;
var massimo = aV[startP];

for(i=startP;i<=endP;i++)
{
if(massimo < aV[i]){massimo = aV[i];posmassimo=i;}
}


return (posmassimo)


}


function chartInfAnnua(titolo)
{
var s_styleTit = "<FONT face='Verdana, Arial, Helvetica, sans-serif' size=1 color=#ffffff><b>"
inflazioneback2(1,"y")

drawchartonload(aPercentuali,'V',120,s_styleTit+titolo+"</b><br></font>");  // Il grafico verrà aggiunto nella finestra winf

}

function chartInfmensile(titolo)
{
var s_styleTit = "<FONT face='Verdana, Arial, Helvetica, sans-serif' size=1 color=#ffffff><b>"

inflazioneback2(12,"m");

drawchartonload(aPercentuali,'V',120,s_styleTit+titolo+"</b><br></font>");  // Il grafico verrà aggiunto nella finestra winf


}

/*************************************************************
Questa funzione provvede ad inviare il messaggio
relativo al minimo ed al massimo valore registrato 
andando indietro negli anni indicati nella variabile "anni"
**************************************************************/

function datiminmax(anni, versione)
{
var s_styleTit1 = "<FONT face='Verdana, Arial, Helvetica, sans-serif' size=1 color=#000000>"
var s_styleTit2 = "<FONT face='Verdana, Arial, Helvetica, sans-serif' size=2 color=#000000>"

inflazioneback2(anni,"y")
var mi = posmin(aPercentuali,0,12*anni)
var ma = posmax(aPercentuali,0,12*anni)
document.write("<table>")
 if(versione=="I")
 {
  document.write("<tr><td bgcolor=#ffffff align=center>"+s_styleTit2+ "L'Inflazione negli ultimi "+anni+" anni in Italia"+"</font></td></tr>")
  document.write("<tr><td bgcolor=#ffffff>"+s_styleTit1+ "var% minima "+ aPercentuali[mi] +" nel periodo "+aPeriodo[mi]+"</font></td></tr>")
  document.write("<tr><td bgcolor=#ffffff>"+s_styleTit1+ "var% massima "+ aPercentuali[ma] +" nel periodo "+aPeriodo[ma]+"</font></td></tr>")
 }
 else
 {
  document.write("<center>"+s_styleTit+ "The lastest "+anni+" years in Italy"+"<br>")
  document.write("var% min "+ aPercentuali[mi] +" period "+aPeriodo[mi]+"<br>")
  document.write("var% max "+ aPercentuali[ma] +" period "+aPeriodo[ma]+"<br></font></center>")
 }

document.write("</table>")


}

/*****************************************
funzione che visualizza una finestra con 
le previsione tenedo conto delle variazioni registrate 
negli ultimi n mesi
******************************************/

function ultimimesi(mesi)
{
  var p_al   = new periodo(vultimo_periodo_da_01)
  var ultimo_indice_in_archivio=p_al.indice()
  var periodo_ipotesi = new periodo(addDate(p_al.value,1,"m"))

  
  inflazioneback2(mesi,"m")

  var adSenseGoogle = "<iframe src='http://rivalutazionemonetaria.it/f_g/f_g_top.htm' width=728 height=100 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe>"
  var mesedal   = ultimo_mese 
  var periodo_annoprecedente = new periodo("1/"+periodo_ipotesi.mese()+"/"+(periodo_ipotesi.anno()-1)+"")
  
  var stringa= ""
  stringa+=adSenseGoogle + "<br>"
  if (linguatabella=="I" ||linguatabella=="" ) 
   {	stringa+="<div align='center'><h2>"+ stringa_ultimo_dato("I") + "</h2></div>"}
  else
   {  stringa+="<div align='center'><h2>"+ stringa_ultimo_dato("E") + "</h2></div>" }

  stringa+="<table align='center' width=550 border=0 cellpadding=0 cellspacing=1>"
  stringa+= "<tr><td bgcolor=#cecfff><font color=#000000 face='Verdana' size=2>"
  stringa+=  "<b>Previsioni empiriche per il mese di :"
  stringa+=  periodo_ipotesi.mese()+"/"+ periodo_ipotesi.anno() +  " rispetto a " + periodo_annoprecedente.mese()+"/"+ (periodo_annoprecedente.anno()) + " ipotizzando aumenti uguali a quelli registrati negli ultimi " + mesi + " mesi</b><br>"
  stringa+=  "</font></td><td bgcolor=#cecfff><font color=#000000 face='Verdana' size=2><b>Periodo</b></font></td></tr>"
  var s_font_v = "<font color=#000000 face='Verdana' size=2>"; var e_font_v = "</font>"
  var s_font_t = "<font color=#000000 face='Verdana' size=2>"; var e_font_t = "</font>"
  //str_ultimo_dato("I")


  var vraccordo  = raccordoP(periodo_annoprecedente,p_al);

  for(i=0;i<=aPercentuali.length-1;i++)
  {
   var percNow = varperc(periodo_annoprecedente.indice(),ultimo_indice_in_archivio+1*aPercentuali[i]*1*vraccordo*1)
   
//   var v    = "<b>" + format(percNow +(1*aPercentuali[i]*1),1)+ "%" + "</b>"
   var v    = "<b>" + format(percNow,1)+ "%" + "</b>"
   
   if (i==0 || i==aPercentuali.length-1) 
     {stringa += "<tr><td bgcolor=#cecfff>"+ s_font_v+ v + " con un aumento dello " + aPercentuali[i]+"% "+  e_font_v+ "</td><td  bgcolor=#cecfff><font size=2 face='Verdana'>"+aPeriodo[i] + "</font></td></tr>"   }      
   else
     {stringa += "<tr><td bgcolor=#cecfff>"+ s_font_v+ v + e_font_v + s_font_t+ " con un aumento dello " + e_font_t+ s_font_v+aPercentuali[i]+"% "+ e_font_v+ "</td><td  bgcolor=#cecfff><font size=2 face='Verdana'>"+aPeriodo[i] + "</font></td></tr>"}
  }

  stringa+="</font></table><br><div align=center><img src='../img/rivalutait.gif' border=0></div>" 
  stringa+=adSenseGoogle

  stringa+= "<img src='http://www.rivaluta.it/visite.asp?REFER=previsioni' width=1 height=1 border=0>"
  WindowRun_J(stringa,"Previsioni per il periodo:"+periodo_annoprecedente.mese()+"/"+periodo_annoprecedente.anno()+" - "+periodo_ipotesi.mese()+"/"+periodo_ipotesi.anno(),'#ffffff',760,760)

}


function compareNumbers(a,b){
 return (a-b)
}


function creatabella(annoobj,imp,dec,tipotabella)
//crea la tabella dei coefficienti
{

var maxT=3;


if(parseCookie('email') > " ")
{}
else
{alert('Per usufruire del servizo devi essere iscritto!\nSe sei iscritto devi inserire i  dati relativi al tuo ACCOUNT');return false}


var decimali = dec.value

//i = annoobj.selectedIndex;
//annodal = annoobj.options[i].text

var annodal = annoobj.value;
var importoBase=imp.value;

if(!_CF_checkinteger(decimali)){decimali=4}else{decimali=decimali*1}



if(_CF_checkinteger(annodal))
{
  if(annodal<primo_anno || annodal>ultimo_anno){
    alert("L'anno non deve essere minore di "+primo_anno+ " e non deve essere maggiore di " + ultimo_anno);	
    return false;}
}
else
{alert("L'anno non è in una forma corretta");return false;}



if(_CF_checkinteger(importoBase) && importoBase*1 >0){
var paginat   = "<html><title>Tabella</title>"
paginat+="<BODY  text='#000000' link='#9999FF' vlink='#FFFFFF' alink='#9999FF'>"
paginat+="<center>" 
var tab       = "<TABLE border=1 cellPadding=0 cellSpacing=0 bordercolor='#000000'>"
var nometabellaFOI = "INDICI NAZIONALI DEI PREZZI AL CONSUMO PER LE FAMIGLIE DI OPERAI E IMPIEGATI (FOI)<br>" 
var nometabellacoef ="COEFFICIENTI PER TRADURRE VALORI MONETARI DEI PERIODI SOTTOINDICATI  IN VALUTA DEL PERIODO:"+ monthshort(ultimo_mese)+" "+ultimo_anno 
var nometabellavar ="VARIAZIONI PERCENTUALI (FOI) dei mesi indicati rispetto all'ultimo mese disponibile:"+ monthshort(ultimo_mese)+" "+ultimo_anno 


if(tipotabella=="v"){nometabella=nometabellavar ;}else {nometabella=nometabellacoef ;}
var titolotab = "<font face='Verdana' size=2 color=#000000>" + nometabellaFOI + "</font><font face='Verdana' size=1 color=#000000><b>" + nometabella+"</b></font><br><br>"
var fontcella = "<font face='Verdana' size=1 color=#000000>"

rigaint  = "<tr>"+"<td>Anno&nbsp;</td><td>Gen</td><td>Feb</td><td>Mar</td><td>Apr</td><td>Mag</td><td>Giu</td><td>Lug</td><td>Ago</td><td>Set</td><td>Ott</td><td>Nov</td><td>Dic</td></tr>"
paginat  = paginat +titolotab+tab
paginat += rigaint 

p_dal      = new periodo("01/01/"+annodal)
indicebase = p_dal.indice()

stringa = "01/"+ultimo_mese+"/"+ultimo_anno
p_al    = new periodo(stringa)
annoal     = matricedati[ultimarigadati][0]*1;
var countAnno 
for (countAnno=p_dal.anno()*1;countAnno<annoal+1;countAnno++)
{
  rigat="<tr><td bgcolor='#FFffff'>"+fontcella +countAnno+"</font></td>"
  for (i=1;i<13;i++)
  { 
    p_dal   = new periodo("01/" +mesi[i] +"/"+countAnno)
    rac =raccordoP(p_dal,p_al)
    indiceraccordato =(p_al.indice()*rac/p_dal.indice())*1;
	

    vperc     = format(varperc(p_dal.indice(),p_al.indice()*rac),1) 
	
    valore  = format(format(indiceraccordato,4) * importoBase,decimali)
	if(isNaN(vperc)){vperc="--------";}
	if(isNaN(valore)){valore="--------";}
	if(tipotabella=="v"){valore=vperc;}
//  vcolonna = "<td bgcolor=#ffFFFF>" +fontcella+ valore + " " +p_dal.mese()+"-"+p_dal.anno()+"/"+p_al.mese()+"-"+p_al.anno()+"</font></td>"
    vcolonna = "<td bgcolor=#ffFFFF>" +fontcella+valore + " " +"</font></td>"
rigat = rigat+vcolonna
  }
  rigat=rigat+"</tr>"
  paginat  +=rigat
}

if(tipotabella=="c"){

mes_istruzione = "<table align='center' width='60%' bgcolor='#000000' cellspacing=1><tr><td bgcolor='#ffffff'><font face='verdana' size=1>Per effettuare una  rivalutazione monetaria è necessario moltiplicare il valore originario dell\'importo per il coefficiente di rivalutazione cui la somma stessa si riferisce</font></td></tr></table>"
}
else
{
mes_istruzione = ""
}
bunner=""
bunner=bunner+ "<table align='center'><tr><td bgcolor=#990000><img src='../img/rivalutait.gif' border=0></TD></TR></TABLE>"
bunner=bunner+ "<script src='../js/gescookie.js'></script>"


paginat  +="</table><br>" + bunner + mes_istruzione +"</body>"+"</html>"


fin = window.open('','','toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=700,height=400')
fin.document.write (paginat)
//fin.status=vC;
fin.document.close();
return false;

}else{alert('Il dato introdotto deve essere  maggiore di 0')}


}// end function
     

function buildList() {
     for(i=primo_anno;i<=ultimo_anno;i++){
         addNew(i,i,i-primo_anno);}
}


function addNew(text, value, indice) {

// Add a new option. 

var el = new Option

el.text = text;
el.value = value;
document.demo.annoobj.options[indice] = el
}

function addbookmark(){
var bookmarkurl="http://www.rivaluta.it"
var bookmarktitle="Rivalutazione monetaria"
if (document.all)
window.external.AddFavorite(bookmarkurl,bookmarktitle)
}




function addhomepage() 
{  
if(document.all)
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage('http://www.rivaluta.it');
}

/****************************************
 Controlla se il client utilizza il 
   browser contenuto in NomeBrowser.
   Se e True invia IL MESSAGGIO in  msg  
*****************************************/
function SeBrowser(NomeBrowser,msg)

{ 
  var v_appname = window.navigator.appName;
  if (v_appname == NomeBrowser)
     { 
      alert(msg);
     } 
}




/********************************************
   Crea una nuova finestra a runtime e vi
   inserisce il contenuto html   in strHtml

*********************************************/
function WindowRun_J(strHtml,strTitleWindow,colorWindow,larga,alta)
{ 

var file_stili_css = "<link href='../css/stili.css'>"

if (strHtml=="") {  strHtml = ""; }
if (strTitleWindow=="") {  strTitleWindow = ""; }

strHtml = "<html><TITLE>" +  strTitleWindow +"</TITLE>"+file_stili_css+"<body bgcolor =" +colorWindow +">" + strHtml+"</body>";
// this var help me when i open many window (look the name's window!Alwais different)
var d = new Date(); 
var wtab = d.getTime();      
var parWindow = "scrollbars=yes,menubar=yes,resizable=yes,width="+larga+",height="+alta;
wdwName = window.open('',wtab,parWindow);
wdwName.document.write(strHtml+"</html>");

return      
}

function chkPeriodoInRange(data)
{
    var ret = true;
	//alert("primo " + primo_anno + " ultimo_anno " + ultimo_anno)
	//	alert("controllo se " +data.anno() +" > "+ultimo_anno);
	if(data.anno()*1 > ultimo_anno*1) 
	{return false}
	
	 
	if(data.anno()<primo_anno)  
	   {return false}	  
	
	if(data.anno()>=primo_anno && data.anno()<ultimo_anno)
	   {return true;}
		

	if(data.anno()==ultimo_anno && data.mese()*1<= ultimo_mese*1)
	   {return true;}   
	   else
	   {return false;}   
	
}
/******************************************************
 Tronca il valore n al numero dei 
 decimali inviati in decimali
**************************************/
function tronca(n,decimali)
{
    nstr = ""+n
    startpunto = nstr.indexOf(".")+1
    d = startpunto+decimali
    valore = nstr.substr(0,d)

    return (valore)

}







/*********************************************
 controlla se il valore inviato contenuto in 
 testvalue  è  numerico
*********************************************/ 
function isNumber(testvalue) 
{       oneDecimal = false;
        var inputVal = testvalue;
        inputStr = "" + inputVal;
        for (var i=0; i< inputStr.length; i++) {
            var oneChar = inputStr.charAt(i);
                if (i == 0 && oneChar == "-")
 {                        continue                }   
             if (oneChar == "." && !oneDecimal) {  
                      oneDecimal = true  
                      continue                }  
              if (oneChar < "0" || oneChar > "9") {  
                      return false   
             }   
     }     
   return true
}

/*********************************************
 controlla se il valore inviato contenuto in 
 testvalue  è  numerico
*********************************************/ 
function isNumberItalia(testvalue) 
{       oneDecimal = false;
        var inputVal = testvalue;
        inputStr = "" + inputVal;
        for (var i=0; i< inputStr.length; i++) {
            var oneChar = inputStr.charAt(i);
                if (i == 0 && oneChar == "-")
 {                        continue                }   
             if (oneChar == "," && !oneDecimal) {  
                      oneDecimal = true  
                      continue                }  
              if (oneChar < "0" || oneChar > "9") {  
                      return false   
             }   
     }     
   return true
}

function trasformaNum_US_IT (v){
	//trasforma da decimale con il punto a decimale con la virgola
stringa = ""+v	
return 		stringa.replace(",", ".")

}

function trasformaNum_IT_US (v){
		//trasforma da decimale con la virgola a decimale con il punto
stringa = ""+v	
return 		stringa.replace(".", ",")

}
/*********************************************
 arrotonda ai decimali contenuti in decplaces

//from the Danny Goodman bookvar 
*********************************************/ 
function format(expr, decplaces) {	
var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces))	
while (str.length <= decplaces) {
str = "0"+ str	
}	
var decpoint = str.length - decplaces	

return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length)
}



/*********************************************
 Visualizza un messaggio

29/10/1999 Daniele Marrama
*********************************************/ 

function messaggio(n)
{
if (n==1){msg="L'importo non è un valore numerico";}
else if (n==2) {msg='Ricontrollare i periodi introdotti';}
else if (n==3) {msg='Il periodo introdotto non è in archivio';}
else if (n==4) {msg='Anomalia nei dati numerici introdotti.';}

alert(msg);

return ;
}

function calcola_ultimodato(importo,stringaTipo)
		{
		var stili="<link href='../css/stili.css' rel='stylesheet' type='text/css'>"

		var p_dal  = new periodo(vpenultimo_periodo)
		var p_al   = new periodo(vultimo_periodo)
		var raccordo = raccordoP(p_dal,p_al)
		var ultima_vp = format(varperc(p_dal.indice(),p_al.indice()*raccordo),1)+"%";    
		ultima_vp=ultima_vp.replace(".", ","); 
		var coefficiente = format((p_al.indice()*raccordo/p_dal.indice())*1,4)
		importo=""+importo.replace(",", "."); 
		var importorivalutato = format(coefficiente*importo,2)
		
		var variazionepercentuale75=format(format(varperc(p_dal.indice(),p_al.indice()*raccordo),1)*0.75,3)
		var coefficiente75 = variazionepercentuale75/100+1
		coefficiente75 = format(coefficiente75,3)
		var importorivalutato75 = format(coefficiente75*importo,2)
		importorivalutato75=""+importorivalutato75.replace(".",",")
		variazionepercentuale75=""+variazionepercentuale75.replace(".",",")
		importorivalutato= importorivalutato+" ";
		importorivalutato=importorivalutato.replace(".", ","); 
		var valoridiritorno=stili
		var ref = "calcolo_non_iscritto"
	if(parseCookie('email') > " ")
	{
		importo=importo.replace(",", ".");
        ref = "calcolo_assegno_di_mantenimento" 
		valoridiritorno= valoridiritorno+"<div align='center' class='window'><div>La variazione percentuale <br>dal " + monthshort(ultimo_mese)+"-"+penultimo_anno +" al " + monthshort(ultimo_mese)+"-"+ultimo_anno +"<br>è risultata pari a " + ultima_vp + "<br>"
		valoridiritorno= valoridiritorno + " L'importo rivalutato è uguale a " + importorivalutato + "</div>"
		if(stringaTipo.indexOf("canone")>=0)
		{
			ref="calcolo_equocanone"; 
			valoridiritorno= valoridiritorno + "<div align='center'>La variazione ISTAT al 75% è " + variazionepercentuale75 +"%" + "<br>L'importo rivalutato al 75% è " + importorivalutato75 + "</div>";
		}
		
		valoridiritorno= valoridiritorno + "</div>"
		valoridiritorno= valoridiritorno + "<div align='center' id='nota'>La rivalutazione è effettuata tenendo conto <a href='../help/help-indici-istat.htm' target='_blank'>dell'indice FOI</a></div>"
		valoridiritorno= valoridiritorno + "<br><div>Per i calcoli avanzati <a href='../index.html' target='_blank'>usa il calcolatore di RIVALUTA.it</a></div>"
	}	
	else
	{
		valoridiritorno = valoridiritorno + "<div align='center'><div class='window'><b>Il servizio è gratuito</b><br>Per operare devi effettuare l'iscrizione.<br>Se sei già iscritto devi inserire i dati relativi al tuo ACCOUNT<br>Se non sei iscritto puoi farlo <b><a href='../log/registrati.asp' target='_blank'>qui</a></b></div></div>"
	}
	
	var img_count = "<img src='http://www.rivaluta.it/visite.asp?REFER="+ref+"' width=1 height=1 border=0>"
	var adSenseGoogle = "<iframe src='http://rivalutazionemonetaria.it/f_g/f_g_top.htm' width=728 height=100 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe>"
	valoridiritorno = adSenseGoogle + valoridiritorno + "<br><br>" + adSenseGoogle
	valoridiritorno = valoridiritorno + img_count
	WindowRun_J(valoridiritorno,"Rivalutazione " + stringaTipo,'#ffffff',750,500)

		return 
		}
		
		


function annoperiodomeno(valore,tipo){
//questa funzione va indietro di mesi o anni e ritorna l'anno	
//valore = quantità dei periodi (mesi o anni) da sottrarre all'ultimo anno in archivio (il più recente)
//tipo = m:mese oppure y:anno

var periodo_al    = new periodo(vultimo_periodo)
var periodo_dal   = new periodo(sotDate(periodo_al.value,valore,tipo));

if(periodo_dal.anno()<=primo_anno)

{alert('Non puoi andare indietro oltre il primo dato in archivio ('+ vprimo_periodo +')');return false;}//document.frm2.txtanni.value = np;
return (periodo_dal.anno())
}



function chknumanni(valore,tipo){

var periodo_al    = new periodo(vultimo_periodo)
var periodo_dal   = new periodo(sotDate(periodo_al.value,valore,tipo));


var np = ultimo_anno-primo_anno;//numeri dei massimi periodi

np=np-1


if(periodo_dal.anno()<=primo_anno)
{alert('Non puoi andare indietro oltre il primo dato in archivio ('+ vprimo_periodo +')');return false;}//document.frm2.txtanni.value = np;
return true
}


function inflazioneMediaAnno(anno)
{
var v_anno=anno
var sindicidal= 0;
var sindicial = 0;


var aPercentuali = null;
aPercentuali = new Array();

//*********************************************************************************************

var divisoreDal=0
var divisoreAl=0

for (var i=1; i< 13; i++) 
	{
	   p_dal   = new periodo("1/"+i+"/"+(v_anno-1))
	   p_al    = new periodo("1/"+i+"/"+v_anno)
	   
	   if(p_dal.indice()>0 && p_al.indice()>0)
	   {
  	   var vraccordo    = raccordoP(p_dal,p_al);
	   aPercentuali[i-1] = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*1
	   vpercentuale = aPercentuali[i-1]+"%"

	   } 
	   else
	   {
		aPercentuali[i-1] = "---";
	    vpercentuale = aPercentuali[i-1];
	   }
	  
	  if(p_al.indice()>0 ){ sindicial    += p_al.indice()*vraccordo;divisoreAl=divisoreAl+1;sindicidal   += p_dal.indice();divisoreDal=divisoreDal+1} 
	 // if(p_dal.indice()>0 ){ sindicidal   += p_dal.indice();divisoreDal=divisoreDal+1}
	  
	   aPeriodo[i-1] = monthshort(p_dal.mese())+"/"+p_dal.anno() + "  " + monthshort(p_al.mese())+"/"+p_al.anno()
	   
	}


var pmi = posmin(aPercentuali,0,aPercentuali.length-1) 
var pma = posmax(aPercentuali,0,aPercentuali.length-1) 


var mediasindicidal=sindicidal/divisoreAl
var mediasindicial=sindicial/divisoreAl

vpercentuale = format(varperc(mediasindicidal,mediasindicial),1)+"%";    

return vpercentuale; 

}


function inflazioneDalAl(dal,al,flagSponsor,nlbreak)
{

var adSenseGoogle = ""
var sloganAdsenseSx_Dx=""

if(flagSponsor){
var adSenseGoogle = "<div align='center'><iframe src='http://rivalutazionemonetaria.it/f_g/f_g_top.htm' width=728 height=100 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"
var sloganAdsenseSx_Dx="<div align=center><iframe src='http://rivalutazionemonetaria.it/f_g/f_g_dx.htm' width=122 height=620 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe></div>"
}

var sloganrivaluta = "" 
sloganrivaluta = "<div align='center'>" + sloganrivaluta + adSenseGoogle + "</div>"

var font     = "";
var endfont  = "";
var tabContenitore=sloganrivaluta+ "<table align='center'><tr><td width='125'><div align='right'>" + sloganAdsenseSx_Dx + "</div></td>"
var tab      ="<TABLE align='center' bgcolor='#000000' border=0 cellPadding=0 cellSpacing=2 width='350' align='center'>"
var endtab   = "</table>"

var rt= "<tr bgcolor='#ffffff'><td>&nbsp;</td><td><b>Dal</b></td><td><b>Al</b></td><td><b>Var %</b></td></tr>"
var sindicidal= 0;
var sindicial = 0;
var sindicidal_parz   = 0;
var sindicial_parz    = 0;

var pmi = null
var pma = null

var  pmi_parz = null;
var  pma_parz = null;

var strmin_parz =  null;
var strmax_parz =  null;


var aPercentuali = null;
aPercentuali = new Array();


var moltiplicatore = 12;
var p_dal     = dal;
var p_inizio = p_dal;
var p_al  = new periodo(addDate(p_dal.value,1,'y'));
var p_fine    = al;

var v_nlbreak=0;

DifferenzaPeriodi = diffPeriodi(p_fine,p_dal)

var i=1
var stilecelladati = "<td bgcolor='#ffffff'>"
	while (DifferenzaPeriodi >= 0)
	{
  	   var vraccordo    = raccordoP(p_dal,p_al);

	   aPercentuali[i-1] = format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*1

	   vpercentuale = aPercentuali[i-1]
	   aPeriodo[i-1] = p_dal.value + "  "+ p_al.value
	   aPeriodo[i-1] = monthshort(p_dal.mese())+"-"+p_dal.anno() + "  "+  monthshort(p_al.mese())+"-"+p_al.anno()

	   sindicidal   += p_dal.indice()
	   sindicial    += p_al.indice()*vraccordo
   
	   if(v_nlbreak>=nlbreak*1)
	   {
		   pmi = posmin(aPercentuali,nlbreak,aPercentuali.length) 
		   pma = posmax(aPercentuali,nlbreak,aPercentuali.length) 
		   strmin_parz =  aPercentuali[pmi]+"%"
		   strmax_parz =  aPercentuali[pma]+"%"
   
			//rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"Min "+aPeriodo[pmi]+"</td>"+"<td bgcolor='#cccccc'>"+strmin_parz+"</td></tr>"
			rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"VAR% media "+"</td>"+"<td bgcolor='#cccccc'>"+format(varperc(sindicidal_parz,sindicial_parz),1)+"%" +"</td></tr>"
			//rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"Max "+aPeriodo[pma]+"</td>"+"<td bgcolor='#cccccc'>"+strmax_parz+"</td></tr>"

			v_nlbreak=0;	
			sindicidal_parz=0;
			sindicial_parz=0;
		}
		sindicidal_parz   += p_dal.indice()
	    sindicial_parz    += p_al.indice()*vraccordo
		v_nlbreak=v_nlbreak+1;
	 	rt += "<tr><td bgcolor='#ffffff' align='left'>"+v_nlbreak+"("+i+")"+"</td>"+stilecelladati+ monthshort(p_dal.mese())+"-"+p_dal.anno() +"("+p_al.indice() +")"+"</td>"+stilecelladati+font+monthshort(p_al.mese())+"-"+p_al.anno()+"("+p_dal.indice() +")"+"</td>"+stilecelladati+vpercentuale+"%"+"</td></tr>";
   	   	
		var p_dal = new periodo(addDate(p_dal.value,1,'m'))
		var p_al  = new periodo(addDate(p_dal.value,1,'y'));

         DifferenzaPeriodi = diffPeriodi(p_fine,p_al);
		 i+=1
	}
			//rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"Min "+aPeriodo[pmi]+"</td>"+"<td bgcolor='#cccccc'>"+strmin_parz+"</td></tr>"
			rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"VAR% media "+"</td>"+"<td bgcolor='#cccccc'>"+format(varperc(sindicidal_parz,sindicial_parz),1)+"%" +"</td></tr>"
			//rt += "<tr bgcolor='#000000'><td bgcolor='#cccccc' colspan='3' >"+"Max "+aPeriodo[pma]+"</td>"+"<td bgcolor='#cccccc'>"+strmax_parz+"</td></tr>"



pmi = posmin(aPercentuali,0,aPercentuali.length-1) 
pma = posmax(aPercentuali,0,aPercentuali.length-1) 


var iterazioni=moltiplicatore
var mediasindicidal=sindicidal/iterazioni
var mediasindicial=sindicial/iterazioni

vpercentuale = format(varperc(mediasindicidal,mediasindicial),1)+"%";    
var strmin =  "<b>Min</b> "+" "+ aPeriodo[pmi]
var strmax =  "<b>Max</b> "+" "+ aPeriodo[pma]
var strmed =  "<b>Media</b> "+" "+ (p_inizio.anno()*1+1) + " "+ p_fine.anno()
rt += "<tr bgcolor='#000000' align='left'><td bgcolor='#FFB3B3' colspan='3'>"+strmin+"</td>"+"<td bgcolor='#FFB3B3' align='center'><b>"+aPercentuali[pmi] +"%"+"</b></td></tr>"
rt += "<tr bgcolor='#000000' align='left'><td bgcolor='#FFB3B3' colspan='3' >"+strmed+ "</td>"+"<td bgcolor='#FFB3B3' align='center'><b>"+vpercentuale+"</b></td></tr>"
rt += "<tr bgcolor='#000000' align='left'><td bgcolor='#FFB3B3' colspan='3'>"+strmax+"</td>"+"<td bgcolor='#FFB3B3' align='center'><b>"+aPercentuali[pma] +"%" +"</b></td></tr>"

tab += rt
var sloganDona ="<br><div align='center'><b>Se questo strumento è stato utile al tuo lavoro</b><br>"+"<a href='../ricaricapp.asp?r=100'><img src='../img/dona2euro.gif' border=0></a>"+"</div>"

var sloganrivaluta = "<div class='contenitorelinkrivaluta3'>"
var sloganrivaluta =sloganrivaluta +"<div align='center'>|<a href='../utility/feedback.asp'>Inviaci un tuo commento</a>|</div>"
var sloganrivaluta =sloganrivaluta + "</div>"

tab +=endtab + lineafontedati +sloganDona+sloganrivaluta
tab +="<img src='http://www.rivaluta.it/visite.asp?REFER=inflazioneDalAl' width=1 height=1 border=0>"
tabContenitore=tabContenitore +"<td><div align=center>" + tab+"</div></td><td width='125'><div align='left'>" + sloganAdsenseSx_Dx + "</div></td></tr></table>"

// tabContenitore=tabContenitore +drawchartSTR(aPercentuali,'V',120,'')

tabContenitore=tabContenitore+"<div align='center'>" +adSenseGoogle + "</div>"


return (tabContenitore); 

}

function ret_inflazioneDalAl(dal,al,tipo,moltiplicatore)
{


var aPercentuali = null;
aPercentuali = new Array();


var moltiplicatore = 12;
var p_dal     = dal;
var p_inizio = p_dal;
if (tipo=="y"){var p_al  = new periodo(addDate(p_dal.value,1,'y'));}else{var p_al  = new periodo(addDate(p_dal.value,1,'m'));}

var p_fine    = al;


DifferenzaPeriodi = diffPeriodi(p_fine,p_dal)

var i=1

	while (DifferenzaPeriodi >= 0)
	{
	var vraccordo    = raccordoP(p_dal,p_al);
	aPercentuali[i-1] = format(format(varperc(p_dal.indice(),p_al.indice()*vraccordo),1)*moltiplicatore,1)*1

	vpercentuale = aPercentuali[i-1]
	//aPeriodo[i-1] = p_dal.value + "  "+ p_al.value
	//aPeriodo[i-1] = monthshort(p_dal.mese())+"-"+p_dal.anno() + "  "+  monthshort(p_al.mese())+"-"+p_al.anno()
	var p_dal = new periodo(addDate(p_dal.value,1,'m'))

	

if (tipo=="y"){var p_al  = new periodo(addDate(p_dal.value,1,'y'));}else{var p_al  = new periodo(addDate(p_dal.value,1,'m'));}

	DifferenzaPeriodi = diffPeriodi(p_fine,p_al);
	i+=1
	}

//alert( posmin(aPercentuali,0,aPercentuali.length-1) )
//alert( posmax(aPercentuali,0,aPercentuali.length-1) )

return (aPercentuali); 

}



/********************************************
  inflazioneback
conta indietro di n_mesi 
(mesi o anni a seconda del parametro tipo_c)

 visualizza la tabella se flagt=true
 visualizza il grafico se flagc=true

********************************************/
function ret_tag_img_googlechart(seriedati,labelseriedatiassex,larghezza,altezza,titolo)
{
var chartdati = ""
var charturlgoogle = "http://chart.apis.google.com/chart?"
var chartdimchart = "chs="+larghezza +"x"+altezza //larghezza x altezza
var chartype = "cht=lc" //is the chart's type-ok
var charttitle= "chtt=" + titolo
var charttitle_color_size= "chts=000000,10" 
var charassi = "chxt=x,t,x" // indicates both x-axis and y-axis labels are required.
var chartGrid = "chg=20,20,0"
var charlabelassi="chxl=1:|Valori|2:|Periodi|0:|" //"chxl=0:||Periodi|1:||Valori" //are the x-axis and y-axis labels. 

var chartlinethickness="chls=3" //grandezza linea grafico
var chartmarker = "chm=V,ff0000"
var urlgGrafico=""
var labelvaloriassex = ""

chartdati="chd=t:"+seriedati
charlabelassi = charlabelassi + labelseriedatiassex
urlgGrafico=charturlgoogle +"&"+chartdimchart+"&"+chartdati+"&"+chartype+"&"+charttitle+"&"+charttitle_color_size+"&"+charassi+"&"+charlabelassi+"&"+chartlinethickness+"&"+chartGrid
tagIMG = "<img src='"+urlgGrafico+"'>"
tabContenitore=tagIMG


return (tabContenitore); 


}


