var aH = new Array(); //conterrà le intestazioni della tabella
var titolo   = "<html><script>window.moveTo(0,0);window.resizeTo(window.screen.availWidth-10,window.screen.availHeight-10);</script><title>" + "Tabella riepilogativa" +"</title>";
var font     = "<font face='Verdana'>";
var endfont  = "</font>";
//**formattazione celle intestazione tabella ***
var tdhi     = "<TD height='10' bgcolor=#ffffff align=center valign=top>"+font+"<FONT size='1'>"; //contiene la formattazione della cella di Intestazione
var tdhf     = "</FONT></FONT></TD>";
var tdti     = "<TD height='15' ><FONT size='1'>"+font; //contiene la formattazione della cella (riga pari)
var tdtf     = "</FONT></FONT></TD>";
var p_tab   //conterrà i valori da inviare a domain

//fine *****************************************

var coloreCellaPari="#DEDFDE"
var coloreCellaDispari="#A5B2CE"

var tab    = titolo+"<body bgcolor=#ffffff body link=#FFFFFF vlink=#FFFFFF alink=#FFFFFF>"
tab=tab+"<br>"
tab =tab +font+"<TABLE ALIGN='CENTER' border=0 cellPadding=1 cellSpacing=1 bgcolor='#000000' width='70%' >"
var pagina =  new String(window.location)

var email = ""


//if(pagina.search('rivaluta.htm')!=-1) //vedo se la versione è italiana o inglese


aH[0] = "Dal";
aH[1] = "Al";
aH[2] = "Giorni";
aH[3] = "Var%";
aH[4] = "Coeff."; 
aH[5] = "Importo<br>Dal";
aH[6] = "Importo<br>Al";
aH[7] = "Importo Dal<br><b>-</b><br>Importo Al";
aH[8] = "Int.%";
aH[9] = "Interessi";
aH[10] = "Totale";
aH[11] = "Indice<br>Dal";
aH[12] = "Indice<br>Al";
aH[13] = "Raccordo";
aH[14] = "Var.75%<br>(equo canone)";
aH[15] = "Coef.75%<br>(equo canone)";
aH[16] = "Importo Al(75%)";
aH[17] = "Coef. Deflazione";
aH[18] = "Importo deflazionato";



var Headertab= "<tr>"

for(i=0;i<=18;i++)

{Headertab=Headertab+tdhi+"<b>"+aH[i]+"</b>"+tdhf}
Headertab +="</tr>"
var endtab   = "</table></font><br>"

//if(pagina.search('rivaluta.htm')!=-1)

var messaggiofinale = ""

endtab   += "<div><table width=50% align=center>"+"<tr><td align=center>"
endtab   += "<A href='help-i.htm' onclick=\"window.open('','w2','resizable=no,width=300 height=510')\" target='w2'>"
endtab   += "</td></tr></table></div>"
endtab   += "<div><table width=50%><tr><td align=center>"+messaggiofinale+"</td></tr></table></div>"


var totalepieno = 0;
var intTotali = 0;var intTotaliTab = 0;
var aTabella  = new Array(); //conterrà le righe della tabella contenente lo sviluppo
var altratab  = tab+Headertab ;




function chkvaloriform(frm){
	
		var mess="";
		var ret=1
        var messaggioperiodi = '- I periodi introdotti devono essere compresi tra '+vprimo_periodo+ " e "+vultimo_periodo+" (ultimo indice ISTAT)\n"
	
/*************************************************
  funzione chiamata dal click sul pulsante CALCOLA
  (cattura i valori del form per poi spedirli a sviluppa(...) 
  che esegue lo sviluppo della tabella
**Daniele Marrama novembre 1999*******************/


var errormess = ''
var ret=1

frm.pdal.value  =   (frm.gDal.value)+"/"+(frm.mDal.value)+"/"+(frm.aDal.value); //  periodo dal  inserito
frm.pal.value  =   (frm.gAl.value) +"/"+ (frm.mAl.value) +"/"+(frm.aAl.value);//  periodo  al  inserito


if(frm.txtimporto.value==""){frm.txtimporto.value=0;var importo= 0} else {var importo=frm.txtimporto.value}
var mesi   = 0
var inter  = 0


var p_dal =  new periodo(frm.pdal.value)
var p_al =  new periodo(frm.pdal.value)
if(chkPeriodoInRange(p_dal)){}else{mess=mess+messaggioperiodi;ret=ret*0}
if(chkPeriodoInRange(p_al)){}else{mess=mess+messaggioperiodi;ret=ret*0}
if(_CF_checkeurodate(frm.pdal.value)){ret=ret*1}else{mess=mess+'- Errore nel campo data del PERIODO Dal\n';ret=ret*0}
if(_CF_checkeurodate(frm.pal.value)){ret=ret*1}else{mess=mess+'- Errore nel campo data del PERIODO Al\n';ret=ret*0}
if(_CF_checknumber(frm.txtimporto.value)){ret=ret*1}else{mess=mess+'- Errore nel campo IMPORTO. Inserire solo caratteri numerici, separando i decimali con la virgola\n';ret=ret*0}


if(ret>0*1){}else{alert(mess);return false}

if (_CF_checkeurodate(frm.pdal.value) && _CF_checkeurodate(frm.pal.value)){ret=ret*1;}else{ret=ret*0;errormess=errormess+"- I periodi introdotti non sono corretti.\n"}

var bDalconst = false //document.frm.chkDalconst.checked // se preferisce pdal costante
var bSaveTot  = false //document.frm.chkSaveTot.checked // se preferisce salvare il totale
var bRiv = true //document.frm.chkRiv.checked // se preferisce calcolare la rivalutazione (in rigat)
var bIntsuAl = false //document.frm.chkIntsuAl.checked // se preferisce calcolare gli interessi sull'importo rivalutato
var bIntCap  = false //document.frm.chkIntCap.checked // se preferisce capitalizzare gli interessi 

//var bintAuto = obj.chkAutoInt.value
p_tab  = "|"+Alltrim(frm.pdal.value)+"|"+Alltrim(frm.pal.value)+"|"+mesi+"|"

if(ret>0)


{ sviluppa(frm.pdal.value ,frm.pal.value ,importo,mesi,inter,bDalconst,bSaveTot,bRiv,bIntsuAl,bIntCap,true)}
else
{alert(errormess)}



return false
}
/***************************************************************************************

***************************************************************************************/

function sviluppa(pfrom,pto,importo,mesi,inter,bDalconst,bSaveTot,bRiv,bIntsuAl,bIntCap,btab)
{
var urlutente = new String(window.location)
if(urlutente.search('http')!=1) 
{
var obj  = document.frm
var parwindow =""
totalepieno = 0
var hwind   = 0;
var contenutoriga = "";
var nRighe  = 0;// andrà a contenere il numero delle righe+1 create nella tabella dello sviluppo
intTotaliTab= 0;
tabella     = tab;

if(isEmpty(importo))
  {totaledal = 0;}
else
  {totaledal = importo;}

if (inter > 0)
   {intpercento=parseFloat(inter);}
else 
   {intpercento=0;
} 
var p_base    = new periodo(pfrom) //  utilizzato se l'utente preferisce pdal costante
var p_dal     = new periodo(pfrom) //  periodo dal  inserito
var p_al      = new periodo(pto)  //   periodo  al  inserito
var p_fine    = new periodo(pto)  //   periodo  al  inserito
var dma = new Date(p_dal.anno(),p_dal.mese()-1,p_dal.giorno())   //  trasformo in data il periodo
var dmi = new Date(p_fine.anno(),p_fine.mese()-1,p_fine.giorno()) //  trasformo in data il periodo

if(p_fine.anno()<=ultimo_anno && p_dal.anno()>=primo_anno )
{

   if (p_dal.indice()*1>0 && p_fine.indice()*1>0)
   { 
     
     if (dmi>=dma){

      inc     = parseInt(mesi)
      if (inc > 0) { 
          p_al.value = addDate(p_dal.value,inc,"m")
      }else{ 
         p_al= p_fine
      }  
      
      DifferenzaPeriodi = diffPeriodi(p_fine,p_al)

      tabella +=Headertab

	while (DifferenzaPeriodi > 0)
	{
         if (bDalconst) // se preferisce pdal costante
           {contenutoriga = rigat(p_base,p_al,nRighe,bRiv,bIntsuAl,bIntCap);
           }else{contenutoriga = rigat(p_dal,p_al,nRighe,bRiv,bIntsuAl,bIntCap);
         }
		 
         tabella  += contenutoriga;
         altratab += contenutoriga;
//		if(document.frm.chkDalIncAnno.checked){		 
		if(1==1){
		  var p_dal = new periodo(addDate(p_dal.value,inc,"m")); 
		  var p_al  = new periodo(addDate(p_dal.value,1,"y"));
		 }
		else
		{var p_dal = new periodo(p_al.value); var p_al  = new periodo(addDate(p_dal.value,inc,"m"));}
         
 

         DifferenzaPeriodi = diffPeriodi(p_fine,p_al);
         nRighe  += 1;
		 
	}
     
         if (bDalconst) // se preferisce pdal costante
            {contenutoriga  = rigat(p_base,p_fine,nRighe,bRiv,bIntsuAl,bIntCap);} 
         else
            {contenutoriga = rigat(p_dal,p_fine,nRighe,bRiv,bIntsuAl,bIntCap);}

         tabella  += contenutoriga;
         altratab += contenutoriga;
         
         nRighe  +=1;

         tabella += '<tr>'+tdhi+'&nbsp;'

         for(i=0;i<=7;i++){
            tabella += tdhf+tdhi+"&nbsp;"
        }

        tabella += tdhf+tdhi+Alltrim(format(intTotaliTab,1))

        for(i=9;i<=17;i++){
           tabella += tdhf+tdhi+"&nbsp;"
        }

        tabella += "</tr>";

//      un contatore delle tabelle 
        tabella += endtab;
        //tabella += creafrmxls(pfrom,pto,importo,mesi,inter,bRiv,bIntCap,bIntsuAl,bDalconst,bSaveTot)
        //tabella += contatoretabelle(); 
        
        tabella += email    
        tabella += "</body><html>"

         if (bSaveTot) // se preferisce salvare il totale
     	   {
    	    clearForm();
			
   	     //document.frm.txtimporto.value = totalepieno;
           }

        if (btab){    	       
            hWind   = nRighe*250;              
            if (hWind >600){hWind   = 600;}
            // this var help me when i open many window (look the name's window!Alwais different)
            var d = new Date(); var wtab = d.getTime();      
           parWindow = "toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=600,height=700"


            wsvi = window.open('',wtab,parWindow)
            wsvi.document.write(tabella);
			wsvi.document.close();//chiude il flusso 
    }    

   }else
     {alert("Il periodo Al non può essere minore del periodo Dal")  } 
	
  }else 
     {alert("Uno dei due periodi non è in archivio.\nPuoi introdurre periodi dal:"+monthshort(1)+"/"+primo_anno+" al:"+monthshort(ultimomese())+"/"+ultimo_anno )  }
}
else
     {alert("Uno dei due periodi non è in archivio.\nPuoi introdurre periodi dal:"+monthshort(1)+"/"+primo_anno+" al:"+monthshort(ultimomese())+"/"+ultimo_anno)   }
}

return ;

}



/*******************************************

  Crea la riga da aggiungere alla tabella

**Daniele Marrama novembre 1999*************/

function rigat(p1,p2,nriga,bRiv,bIntsuAl,bIntCap)
{
      
   var d1intera = new Date(p1.anno(),p1.mese(),p1.giorno()); var d2intera  = new Date(p2.anno(),p2.mese(),p2.giorno());
   var divisione = 0;
   var park = 0;var vpercentuale   = 0
   var coef75=1;var vpercentuale75=0
   var   totalerivalutato = 0
   var   totale75         = 0
   var diff_al_dal =0
   var coefdefl = 0
   var totimpdefl = 0

   if (bRiv) // se preferisce calcolare la rivalutazione
   {
      vraccordo      = raccordoP(p1,p2);
      vpercentuale   = format(varperc(p1.indice(),p2.indice()*vraccordo),1)
//    vpercentuale75 = format(varperc75(p1.indice(),p2.indice()*vraccordo),2)
      vpercentuale75 = format((vpercentuale*(75/100)),2)
      coef           = format(p2.indice()*vraccordo/p1.indice(),4)
      coefdefl      =format(p1.indice()/(p2.indice()*vraccordo),4)

      varperc75(p1.indice(),p2.indice()*vraccordo)

      coef75          = format((varperc75(p1.indice(),p2.indice()*vraccordo) + 100)/100,4)

      aPercentuali[nriga] =  vpercentuale;        //salva nell'array pubblico le percentuali
      aPeriodo[nriga] = p1.value + " "+p2.value; //salva nell'array pubblico i periodi

      vpercentuale   += "%";       vpercentuale75 += "%"
      totalerivalutato = totaledal*coef;
      totale75         = format(totaledal*coef75,1) 
      totimpdefl      =  format(coefdefl* totaledal,1)

   }
   else 
      {vraccordo = "0";vpercentuale = "0";coef=1;
       totale75  = 0 

   }  
      totalerivalutato = totaledal*coef;
      
      giorni           = diffDate(d2intera,d1intera);
      diff_al_dal = format((totalerivalutato -totaledal),1)
   

   if (bIntsuAl) // se preferisce calcolare gli interessi sull'importo rivalutato
      {intperiodo = format((totalerivalutato*giorni*intpercento/36500),1)}
   else
      {intperiodo = format((totaledal*giorni*intpercento/36500),1)
   } 

   intTotaliTab = intTotaliTab*1 + 1*intperiodo; 
   intTotali    = intTotali*1 + 1*intperiodo; 

   if (bIntCap) // se preferisce capitalizzare gli interessi 
      {totalepieno = format((totalerivalutato*1)+1*intperiodo,1)}
   else
      {totalepieno = format(totalerivalutato*1,1)}


      divisione = nriga/2

      park = tronca(divisione*1+2,0)*2;
      park = nriga-park 

      if (park == nriga)
         { tdti     = "<TD bgcolor="+coloreCellaPari +" height='15' ><FONT size='1'>"+font;} //contiene la formattazione della cella (riga pari)
      else{ tdti    = "<TD bgcolor="+coloreCellaDispari+" heght='15' ><FONT size='1'>"+font;} //contiene la formattazione della cella (riga dispari

      r = "<tr>"+tdti+p1.value+tdtf+tdti+p2.value + tdtf+ tdti + giorni+ tdtf+ tdti+vpercentuale + tdtf+tdti + Alltrim(coef) + tdtf
      r += tdti +  Alltrim(totaledal) + tdtf+tdti + format(totalerivalutato,1) +  tdtf + tdti + diff_al_dal+tdtf+tdti+ Alltrim(intpercento)+"%" + tdtf + tdti+  Alltrim(intperiodo) + tdtf + tdti+ Alltrim(totalepieno)+ tdtf + tdti+ p1.indice()+ tdtf + tdti+ p2.indice()+ tdtf + tdti+ format(vraccordo,4) + tdtf + tdti+ vpercentuale75 + tdtf + tdti + Alltrim(coef75)+tdtf+ tdti+totale75 + tdtf+ tdti+coefdefl +  tdtf+ tdti+ totimpdefl +  "</tr>" 

     totaledal  = totalepieno

   return (r);
}


function resetaTabella()
{
altratab = tab+Headertab ;
intTotali = 0
}


function Riepilogo()
{

var i=0;
var parWindow = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=450,height=450"

//altratab +="<tr>"+tdhi+"  "+tdhf+tdhi+"   "+tdhf+tdhi+"        "+tdhf+tdhi+"   "+tdhf+tdhi+"  "+tdhf+tdhi+"  "+tdhf+tdhf+tdhi+"  "+tdhf+tdhi+Alltrim(format(intTotali,1))+tdhf+tdhi+" "+tdhf+"</tr>"
altratab +="<tr>"+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+Alltrim(format(intTotali,1))+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhf+tdhi+"&nbsp;"+tdhi+"&nbsp;"+"</tr>"
altratab += endtab;

finRiepilogo = window.open('','2',parWindow);
finRiepilogo.document.write(altratab);
resetaTabella();

}


function clearForm()
{
//document.frm.pdal.value="";
//document.frm.pal.value="";
//document.frm.txtInteresse.value=0;
//document.frm.txtimporto.value=0;


return 
}

function creafrmxls(v_dal, v_al, v_imp, v_inc, v_int, v_flagriv, v_flagintcap,v_flagintsul,v_flagDalconst,v_flagintAuto){
                   
//questa funzione va aggiunta all'interno del file htm. Servirà per spedire i dati alla pagina asp

var strfrm ="<div align=center><font size=2 face='verdana'>"
var script ='http://www25.brinkster.com/riv/rivaluta2.asp'
strfrm+= "<form action='"+script+"' method='get' >"
strfrm+= "<input type='hidden' name='pdal' value='" + v_dal +"'>"
strfrm+= "<input type='hidden' name='pal' value='" + v_al +"'>"
strfrm+= "<input type='hidden' name='txtimporto' value='" + v_imp +"'>"
strfrm+= "<input type='hidden' name='selectinc' value='" + v_inc+"'>"
strfrm+= "<input type='hidden' name='txtinteresse' value='" + v_int +"'>"
strfrm+= "<input type='hidden' name='chkRiv' value='" + v_flagriv +"'>"
strfrm+= "<input type='hidden' name='chkIntCap' value='" + v_flagintcap +"'>"
strfrm+= "<input type='hidden' name='chkIntsuAl' value='" + v_flagintsul +"'>"
strfrm+= "<input type='hidden' name='chkDalconst' value='" + v_flagDalconst +"'>"
strfrm+= "<input type='hidden' name='flagchkAutoInt' value='" + v_flagintAuto +"'>"
strfrm+= "<input type='hidden' name='chkTabVis' value='1'>"

strfrm+= "<input type='submit' value='Crea file Excel'>"

strfrm+= "</form></font></div><br>"
var urlStr
urlStr = "pdal="+v_dal+"&pal="+v_al+"&txtimporto="+v_imp+"&selectinc="+v_inc+"&txtinteresse="+v_int+"&chkRiv="+v_flagriv+"&chkIntCap="+v_flagintcap+"&chkIntsuAl="+v_flagintsul+"&chkDalconst="+v_flagDalconst+"&flagchkAutoInt="+v_flagintAuto
alert(urlStr)
//window.location = script + urlStr
//"<a href="
return urlStr
}
function contatoretabelle(){
today = new Date();
  var v_href="";
  var nomefile = today.getYear()+""+(today.getMonth()+1)+""+today.getDate()+".txt" ;
  var url_rif ="http:"+"/"+"/"+ "www25.brinkster.com"+"/"+"riv"+"/"+"db"+"/"+"tripod"+"/"+nomefile ;
  v_href = v_href + "<div align=center><font size=1 face=Verdana size=1>";
  v_href = v_href + "<a href=\"javascript:var win=window.open('"+url_rif+ "','visite','width=50,height=50')\">" + "Oggi sono state visualizzate un numero di tabelle pari a...</a></font></div>"
    
  return (v_href);

}


