function eurolira(s)
	{
	s=Math.round(s*1936.27);
	return(s+"");
	}

function liraeuro(s)
	{
	s=round2(s/1936.27);
	return(s);
	}

function scaglioni (reddi,sca1,ali1,sca2,ali2,sca3,ali3,sca4,ali4,sca5,ali5)
	{
	impsca=0; i=3
	while (reddi>arguments[i]&&i<arguments.length)
		{
		impsca=impsca+(arguments[i]-arguments[i-2])*arguments[i-1];
		i=i+2;
		}
	impsca=impsca+(reddi-arguments[i-2])*arguments[i-1];
	if ((tondo)&&(!lire))  impsca=Math.round(impsca); 
	return(impsca);
	}

function scaglionianf (reddi,ass,sca1,ali1,sca2,ali2,sca3,ali3,sca4,ali4,sca5,ali5)
	{
	i=4;
	while (reddi>arguments[i]&&i<arguments.length)
		{
		ass=minus(ass,(arguments[i]-arguments[i-2])*arguments[i-1]);
		i=i+2;
		}
	ass=minus(ass,(Math.ceil(reddi/100)*100-arguments[i-2])*arguments[i-1]);
	if ((tondo)&&(!lire))  ass=Math.round(ass); 
	return(ass);
	}


function notax03(redlor,cat,gio)
	{

	ded=new Array(5);
		
	ded[0]=ded[1]=3000+4500*gio/365; ded[2]=4500; ded[3]=3000+4000*gio/365; ded[4]=3000+4000*gio/365; ded[5]=3000;
	
	var quandedu=tronca4((26000+ded[cat]-redlor)/26000); 
	if (quandedu<0) quandedu=0; else if (quandedu>1) quandedu=1;
	dedu=ded[cat]*quandedu;
	if (tondo) dedu=Math.round(dedu);
	return(dedu);
	}

function family05 (redlor,con,fig,pic,dis,prc)
	{
	dedufamteor=3200*con+(2900*fig+550*minus(pic,dis)+800*dis)*prc;
	quandedufam=tronca4((78000+dedufamteor-redlor)/78000); 
	if (quandedufam<0) quandedufam=0; else if (quandedufam>1) quandedufam=1; 
	dedufam=dedufamteor*quandedufam;
	if (tondo) dedufam=Math.round(dedufam);
	return(dedufam);
	}


function detra01dip (redlor,gio)
	{
	var detr=0;
	if (redlor<=6197.48) detr=1146.53;
	else if ((redlor>6197.48)&&(redlor<=6352.42)) detr=1084.56;
	else if ((redlor>6352.42)&&(redlor<=6507.36)) detr=1032.91;
	else if ((redlor>6507.36)&&(redlor<=7746.85)) detr=981.27;
	else if ((redlor>7746.85)&&(redlor<=7901.79)) detr=903.80;
	else if ((redlor>7901.79)&&(redlor<=8056.73)) detr=826.33;
	else if ((redlor>8056.73)&&(redlor<=8211.66)) detr=748.86;
	else if ((redlor>8211.66)&&(redlor<=8263.31)) detr=686.89; 
	else if ((redlor>8263.31)&&(redlor<=8779.77)) detr=650.74;
	else if ((redlor>8779.77)&&(redlor<=9296.22)) detr=614.58;
	else if ((redlor>9296.22)&&(redlor<=9812.68)) detr=578.43; 
	else if ((redlor>9812.68 )&&(redlor<=15493.71)) detr=542.28;
	else if ((redlor>15493.71)&&(redlor<=20658.28)) detr=490.63;
	else if ((redlor>20658.28)&&(redlor<=25822.84)) detr=438.99;
	else if ((redlor>25822.84)&&(redlor<=30987.41)) detr=387.34;
	else if ((redlor>30987.41)&&(redlor<=31142.35)) detr=335.70; 
	else if ((redlor>31142.35)&&(redlor<=36151.98)) detr=284.05;
	else if ((redlor>36151.98)&&(redlor<=41316.55)) detr=232.41;
	else if ((redlor>41316.55)&&(redlor<=46481.12)) detr=180.76;
	else if ((redlor<=46481.12)&&(redlor>46687.70)) detr=129.11;
	else if ((redlor>46687.70)&&(redlor<=51645.69)) detr=77.47; 
	else if (redlor>51645.69) detr=51.65;
	detr=detr*gio/365;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detra01aut (redlor)
	{
	var detr=0;
	if (redlor<=4699.76) detr=568.10;
	else if ((redlor>4699.76)&&(redlor<=4803.05)) detr=516.45;
	else if ((redlor>4803.05)&&(redlor<=4957.99)) detr=464.81;
	else if ((redlor>4957.99)&&(redlor<=5112.92)) detr=413.17; 
	else if ((redlor>5112.92)&&(redlor<=7746.85)) detr=361.52; 
	else if ((redlor>7746.85)&&(redlor<=7901.79)) detr=309.87;
	else if ((redlor>7901.79)&&(redlor<=8263.31)) detr=247.90;
	else if ((redlor>8263.31)&&(redlor<=8779.77)) detr=211.75;
	else if ((redlor>8779.77)&&(redlor<=9296.22)) detr=175.60;
	else if ((redlor>9296.22)&&(redlor<=9812.68)) detr=139.44;
	else if ((redlor>9812.68)&&(redlor<=15493.71)) detr=103.29; 
	else if ((redlor>15493.71)&&( redlor<=30987.41)) detr=51.65
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detra01pen (redlor,gio)
	{
	var detr=0;
	if (redlor<=4854.69) detr=98.13;
	else if ((redlor>4854.69)&&(redlor<=9296.22)) detr=61.97; 
	detr=detr*gio/365;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detra01pen75 (redlor,gio)
	{
	var detr=0;
	if (redlor<=4854.69) detr=222.08;
	else if ((redlor>4854.69)&&(redlor<=9296.22)) detr=185.92;
	else if ((redlor>9296.22)&&(redlor<=9554.45)) detr=92.96;
	else if ((redlor>9554.45)&&(redlor<=9812.68)) detr=46.48;
	detr=detr*gio/365;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
	}

function detra01diptemdet (redlor,gio)
	{
	var detr=0;
	if (redlor<=4699.76) detr=206.58;
	else if ((redlor>4699.76)&&(redlor<=5164.57)) detr=154.94;
	else if ((redlor>5164.57)&&(redlor<=5681.03)) detr=103.29;
	else if ((redlor>5681.03)&&(redlor<=6197.48)) detr=51.65;
	if ((tondo)&&(!lire))  detr=Math.round(detr); 
	return (detr);
	}

function detra01diptemind (redlor,gio)
	{
	var detr=0;
	if (redlor<=4699.76) detr=154.94;
	else if ((redlor>4699.76)&&(redlor<=4803.05)) detr=103.29;
	else if ((redlor>4803.05)&&(redlor<=4957.99)) detr=51.65;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
	}

function detra03dip (redlor,gio)
	{
	var detr=0;
	if ((redlor>27000)&&(redlor<=29500)) detr=130; 
	else if ((redlor>29500)&&(redlor<=36500)) detr=235; 
	else if ((redlor>36500)&&(redlor<=41500)) detr=180; 
	else if ((redlor>41500)&&(redlor<=46700)) detr=130; 
	else if ((redlor>46700)&&(redlor<=52000)) detr=25; 
	detr=detr*gio/365; 	
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detra03aut (redlor)
	{
	var detr=0;
	if ((redlor>25500)&&(redlor<=29400)) detr=80; 
	else if ((redlor>29400)&&(redlor<=31000)) detr=126; 
	else if ((redlor>31000)&&(redlor<=32000)) detr=80;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
	}

function detra03pen (redlor,gio)
	{
	var detr=0;
	if ((redlor>24500)&&(redlor<=27000)) detr=70;
	else if ((redlor>27000)&&(redlor<=29000)) detr=170; 
	else if ((redlor>29000)&&(redlor<=31000)) detr=290; 
	else if ((redlor>36500)&&(redlor<=31000)) detr=230; 
	else if ((redlor>36500)&&(redlor<=41500)) detr=180; 
	else if ((redlor>41500)&&(redlor<=46700)) detr=130; 
	else if ((redlor>46700)&&(redlor<=52000)) detr=25;
	detr=detr*gio/365;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
	}

function detracon01 (redlor)
	{
	var detr=0;
	if (redlor<=15493.71) detr=detr+546.18;
		else if ((redlor>15493.71)&&(redlor<=30987.41)) detr=detr+496.60
			else if ((redlor>30987.41)&&(redlor<=51645.69)) detr=detr+459.42
				else if (redlor>51645.69) detr=detr+422.23;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detrafig01 (redlor,totfig,fig,pic,prc)
	{
	var detr=0;
	if (redlor>51645.69)	
		detr=detr+(266.49*fig+123.95*pic)*prc;
	else
		detr=detr+((285.08*minus(totfig,(totfig-1))+318.14*minus(totfig,1))*(fig/totfig)+123.95*pic)*prc;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);
	}

function detrafig02 (redlor,totfig,fig,pic,dis,prc)
	{
	var detr=0;
	detr=detr+774.69*dis;
	fig=fig-dis;
	if (fig>0)
	if ((redlor>51645.69)&&(totfig<4)) detr=detr+(285.08*fig+123.95*pic)*prc;
		else
			if ((redlor<36151.98)||((redlor<41316.55)&&(totfig==2))||((redlor<46481.12)&&(totfig==3))||(totfig>=4))
				detr=detr+516.46*fig*prc;		
			else	{
				totfig=totfig-dis;
				detr=detr+((303.68*minus(totfig,(totfig-1))+336.73*minus(totfig,1))*(fig/totfig)+123.95*pic)*prc;
				}
	if ((tondo)&&(!lire))  detr=Math.round(detr); 
	return (detr);
	}

function irpef01(redlor,cat,con,totfig,fig,pic,dis,prc,gio)
	{
	imp=0;
	detr=0;
	imp=scaglioni(redlor,0,0.18,10329.14,0.24,15493.71,0.32,30987.41,0.39,69721.68,0.45);
	switch (cat) 
		{
		case "0": 	{
				if (gio<365) detr=detra01dip(redlor,gio)+detra01diptemind(redlor,gio);
				else detr=detra01dip(redlor,gio); 
				break;
				}
		case "1": 	{
				if (gio<365) detr=detra01dip(redlor,gio)+detra01diptemdet(redlor,gio);
				else detr=detra01dip(redlor,gio); 
				break;
				}
		case "2": detr=detra01aut(redlor); break;
		case "3": detr=detra01dip(redlor,gio)+detra01pen(redlor,gio); break;
		case "4": detr=detra01dip(redlor,gio)+detra01pen75(redlor,gio); break;	
		case "5": break;
		}
	
	if (con==1) detr=detr+detracon01(redlor); 
	if (totfig>0) detr=detr+detrafig01(redlor,totfig,fig,pic,prc);
	
	imp=minus(imp, detr);
	return(imp);
	}

function irpef02 (redlor,cat,con,totfig,fig,pic,dis,prc,gio)
	{
	imp=0;
	detr=0;
	imp=scaglioni(redlor,0,0.18,10329.14,0.24,15493.71,0.32,30987.41,0.39,69721.68,0.45);
	switch (cat) 
		{
		case "0": 	{
				if (gio<365) detr=detra01dip(redlor,gio)+detra01diptemind(redlor,gio);
				else detr=detra01dip(redlor,gio); 
				break;
				}
		case "1": 	{
				if (gio<365) detr=detra01dip(redlor,gio)+detra01diptemdet(redlor,gio);
				else detr=detra01dip(redlor,gio); 
				break;
				}
		case "2": detr=detra01aut(redlor); break;
		case "3": detr=detra01dip(redlor,gio)+detra01pen(redlor,gio); break;
		case "4": detr=detra01dip(redlor,gio)+detra01pen75(redlor,gio); break;	
		case "5": break;
		}
	if (con==1) detr=detr+detracon01(redlor); 
	if (totfig>0) detr=detr+detrafig02(redlor,totfig,fig,pic,dis,prc);
	imp=minus(imp, detr);
	return(imp);				
	}		


function irpef03(redlor,cat,con,totfig,fig,pic,dis,prc,gio)
	{
	imp=0;
	detr=0;
	rednet=minus(redlor,notax03(redlor,cat,gio));
	imp=scaglioni(rednet,0,0.23,15000,0.29,29000,0.31,32600,0.39,70000,0.45);
	if ((tondo)&&(!lire))  imp=Math.round(imp); 
	
	switch (cat) {
		case "0": detr=detra03dip(redlor,gio); break;
		case "1": detr=detra03dip(redlor,gio); break;
		case "2": detr=detra03aut(redlor); break;
		case "3": detr=detra03pen(redlor,gio); break;
		case "4": detr=detra03pen(redlor,gio); break;
		case "5": break;
			}
	
	if (con==1) detr=detr+detracon01(redlor); 
	if (totfig>0) detr=detr+detrafig02(redlor,totfig,fig,pic,dis,prc);
	imp=minus(imp, detr);

	if ((cat==3||cat==4)&&(redlor<=7800)) imp=Math.min(imp, minus(redlor,7500));
	return(imp);		
	}


function irpef05(redlor,cat,con,fig,pic,dis,prc,gio)
{
	imp=0;
	detr=0;
	rednet=minus(redlor, notax03(redlor,cat,gio));
	rednet=minus(rednet, family05(redlor,con,fig,pic,dis,prc));
	imp=scaglioni(rednet,0,0.23,26000,0.33,33500,0.39,100000,0.43);

	if ((cat==3||cat==4)&&(redlor<=7800)) imp=Math.min(imp, minus(redlor,7500)); 
	return(imp);
}

function detra07dip (redlor,gio)
{	
	if (redlor<=8000) detr=1840;
	else if (redlor<=15000) detr=1338+502*tronca4((15000-redlor)/7000);
	else if (redlor<=55000) detr=1338*tronca4((55000-redlor)/40000);
	detr=detr*gio/365; 
	if (redlor>23000&&redlor<=24000) detr=detr+10;
	else if (redlor>24000&&redlor<=25000) detr=detr+20;
	else if (redlor>25000&&redlor<=26000) detr=detr+30;
	else if (redlor>26000&&redlor<=27700) detr=detr+40;
	else if (redlor>27700&&redlor<=28000) detr=detr+25;
	if (redlor<=8000&&detr<690) detr=690;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
}

function detra07diptemdet (redlor,gio)
{	
	detr=detra07dip(redlor,gio);
	if (redlor<=8000&&detr<1380) detr=1380;
	return (detr);
}


function detra07pen (redlor,gio)
{	
	if (redlor<=7500) detr=1725;
	else if (redlor<=15000) detr=1255+470*tronca4((15000-redlor)/7500);
	else if (redlor<=55000) detr=1255*tronca4((55000-redlor)/40000);
	detr=detr*gio/365; 
	if (redlor<=7500&&detr<690) detr=690;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);	
}

function detra07pen75 (redlor,gio)
{	
	if (redlor<=7750) detr=1783;
	else if (redlor<=15000) detr=1297+486*tronca4((15000-redlor)/7250);
	else if (redlor<=55000) detr=1297*tronca4((55000-redlor)/40000);
	detr=detr*gio/365; 
	if (redlor<=7750&&detr<713) detr=713;
	if ((tondo)&&(!lire)) detr=Math.round(detr);
	return (detr);	
}


function detra07aut (redlor)
{	
	if (redlor<=4800) detr=1104;
	else if (redlor<=55000) detr=1104*tronca4((55000-redlor)/50200);
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
}

function detra07fig (redlor,totfig,fig,pic,dis,prc)
{	
	tetto=95000+(totfig-1)*15000;
	if (totfig>3) num=1; else num=0;
	detr=(800*fig+100*pic+220*dis+200*num*fig)*prc*tronca4((tetto-redlor)/tetto);
	if (detr<0) detr=0;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
}

function detra07con (redlor)
{	
	if (redlor<=15000) detr=800-110*tronca4(redlor/15000);
	else if (redlor<=40000) detr=690;
	else if (redlor<=80000) detr=690*tronca4((80000-redlor)/40000);
	if (redlor>29000&&redlor<=29200) detr=detr+10;
	else if (redlor>29200&&redlor<=34700) detr=detr+20;
	else if (redlor>34700&&redlor<=35000) detr=detr+30;
	else if (redlor>35000&&redlor<=35100) detr=detr+20;
	else if (redlor>35100&&redlor<=35200) detr=detr+10;
	if (detr<0) detr=0;
	if ((tondo)&&(!lire)) detr=Math.round(detr); 
	return (detr);
}


function irpef07 (redlor,cat,con,totfig,fig,pic,dis,prc,gio)
	{
	imp=0;
	detr=0;
	imp=scaglioni(redlor,0,0.23,15000,0.27,28000,0.38,55000,0.41,75000,0.43);
	switch (cat) 
		{
		case "0": 	{
				detr=detra07dip(redlor,gio); 
				break;
				}
		case "1": 	{
				detr=detra07diptemdet(redlor,gio); 
				break;
				}
		case "2": detr=detra07aut(redlor); break;
		case "3": detr=detra07pen(redlor,gio); break;
		case "4": detr=detra07pen75(redlor,gio); break;	
		case "5": break;
		}
	if (con==1) detr=detr+detra07con(redlor); 
	detr=detr+detra07fig(redlor,totfig,fig,pic,dis,prc);
	imp=minus(imp, detr);
	if ((cat==3||cat==4)&&redlor<=7500&&gio==365) imp=0;
	return(imp);				
	}	

function addireg(redlor,cat,con,fig,pic,dis,prc,reg,ann)
{
	if (ann>2004&&ann<2007) rednet=redlor-family05(redlor,con,fig,pic,dis,prc);
	else rednet=redlor;
	switch (reg)
		{
		case "0": if (ann<2006) add=rednet*0.009; else add=rednet*0.014; break;
		case "1": add=rednet*0.009; break; 
		case "2": if (ann<2003) add=rednet*0.009; else add=rednet*0.014; break;
		case "3": if (ann<2006) add=rednet*0.009; else add=rednet*0.014; break;
		case "4": if (ann<2007) add=rednet*0.009; 
				else if (rednet<=15000) add=rednet*0.011; 
 					else if (rednet<=20000) add=rednet*0.012;
						else if (rednet<=25000) add=rednet*0.013;
							else add=rednet*0.014; break;
		case "5": add=rednet*0.009; break;
		case "6": if (ann<2006) add=rednet*0.009; else add=rednet*0.014; break;
		case "7": if (ann<2006) add=rednet*0.009; 
				else if (rednet<=13000) add=rednet*0.009; 
 					else if (rednet<=20000) add=rednet*0.0125; 
						else add=rednet*0.014; break;
		case "8": if ((cat==3||cat==4)&&(rednet<=10329.14)) add=rednet*0.009; 
				else add=scaglioni(rednet,0,0.012,15493.71,0.013,30987.41,0.014); break;
		case "9": switch (ann) 
					{
					case "2007": add=scaglioni(rednet,0,0.009,15500,0.012,31000,0.014); break;
					case "2006": add=scaglioni(rednet,0,0.009,15500,0.012,31000,0.014); break;
					case "2005": add=scaglioni(rednet,0,0.009,15500,0.012,31000,0.014); break;
					case "2004": add=scaglioni(rednet,0,0.009,15493.71,0.014,30987.41,0.036,69721.68,0.04); break; 
					case "2003": add=scaglioni(rednet,0,0.009,15493.71,0.0191,30987.41,0.036,69721.68,0.04); break;
					case "2002": add=scaglioni(rednet,0,0.009,15493.71,0.0191,30987.41,0.036,69721.68,0.04); break;
					default: add=rednet*0.009
					}
				break;
		case "10": if (ann<2005) add=rednet*0.009; 
					else if (ann==2005)add=rednet*0.012; 
						else add=rednet*0.014; break;
		case "11": switch (ann)
					{
					case "2007": if (rednet<=11071.35) add=rednet*0.009; else add=rednet*0.014; break;
					case "2006": if (rednet<=10854.26) add=rednet*0.009; else add=rednet*0.014; break;
					case "2005": if (rednet<=10672.82) add=rednet*0.009; else add=rednet*0.014; break;
					case "2004": if (rednet<=10504.74) add=rednet*0.009; else add=rednet*0.014; break;
					case "2003": if (rednet<=10329.14) add=rednet*0.009; else add=rednet*0.014; break;
					case "2002": if (rednet<=10329.14) add=rednet*0.009; else add=rednet*0.014; break;
					default: add=rednet*0.009
					}
					break;
		case "12": switch (ann)
					{
					case "2004": add=rednet*0.011; break;
					case "2003": add=rednet*0.012; break;
					case "2002": add=rednet*0.014; break;
					default: add=rednet*0.009
					}
					break;
		case "13": add=rednet*0.009; break;
		case "14": if (ann<2006) add=rednet*0.009; else add=rednet*0.014; break;
		case "15": add=rednet*0.009; break;
		case "16": add=rednet*0.009; break;
		case "17": switch (ann)
					{
					case "2007": if (rednet<=26000) add=rednet*0.009; else add=rednet*0.011; break;
					case "2006": if (rednet<=26000) add=rednet*0.009; else add=rednet*0.011; break;
					case "2005": if (rednet<=26000) add=rednet*0.009; else add=rednet*0.011; break;
					case "2004": if (rednet<=15000) add=rednet*0.009; else add=rednet*0.011; break;
					case "2003": if (rednet<=15000) add=rednet*0.009; else add=rednet*0.011; break;
					case "2002": if (rednet<=10329.14) add=rednet*0.009; else add=rednet*0.011; break;
					default: add=rednet*0.009
					}
					break;
		case "18": add=rednet*0.009; break;
		case "19": switch (ann)
					{
					case "2007":{
							if (rednet<=29000||(dis>0&&rednet<=32600)||(fig>2&&rednet<=(20000+fig*10000))) 
								add=rednet*0.009; 
							else add=rednet*0.014;
							if ((rednet>29000)&&(rednet<=29147)) add=add-0.986*(29147-rednet);
							break;
							}
					case "2006":{
							if (rednet<=29000||(dis>0&&rednet<=32600)||(fig>2&&rednet<=(20000+fig*10000))) 
								add=rednet*0.009; 
							else add=rednet*0.014;
							if ((rednet>29000)&&(rednet<=29147)) add=add-0.986*(29147-rednet);
							break;
							}
					case "2005":{
							if (rednet<=29000||(dis>0&&rednet<=32600)) 
								add=rednet*0.009; 
							else add=rednet*0.014;
							if ((rednet>29000)&&(rednet<=29147)) add=add-0.986*(29147-rednet);
							break;
							}
					case "2004":{
							if (((cat==3||cat==4)&&rednet<=15000)||rednet<=14500||(dis>0&&rednet<=32600)) 
								add=rednet*0.009
							else add=scaglioni(rednet,0,0.012,15000,0.013,29000,0.014);
							break;
							}
					
 					case "2003":{
							if (rednet<=10400||(dis>0&&rednet<=32600)) add=rednet*0.009
							else add=scaglioni(rednet,0,0.012,15000,0.013,29000,0.014);
							break;
							}
					case "2002":{
							if (dis>0&&rednet<=30987.41) add=rednet*0.009
							else add=scaglioni(rednet,0,0.012,10329.14,0.013,15493.71,0.014,69721.68,0.019);
							break;
							}
					default: add=rednet*0.009
				break;
					}
		}
return(add);
}

function calcola()
{
geoal=true;
document.forms[0].diff.style.color="#000099"
lire=document.forms[0].lire[1].checked;
tondo=document.forms[0].tondo[0].checked;
anno=document.forms[0].anno.value;
anno1=document.forms[0].anno1.value;
regio=document.forms[0].regio.value;
comune=document.forms[0].comune.value;
mensi=document.forms[0].mensi.value;
giorni=document.forms[0].giorni.value;
figli=Math.round(document.forms[0].figli.value); 
piccoli=Math.round(document.forms[0].piccoli.value); 
disab=Math.round(document.forms[0].disab.value);
if (document.forms[0].coniu[0].checked) 
	{
	coniu=1; 
	document.forms[0].perc.value=100;
	}
else coniu=0;
if (comune==1&&regio!=9||comune==2&&regio!=12||comune==3&&regio!=4||comune==4&&regio!=15||comune==5&&regio!=7||comune==6&&regio!=8||comune==7&&regio!=3||comune==8&&regio!=19||comune==9&&regio!=14||comune==10&&regio!=17||comune==11&&regio!=0||comune==12&&regio!=6||comune==13&&regio!=11||comune==14&&regio!=5)
geoal=confirm('Comune e Regione scelti non concordano\nPremere "OK" per procedere nel calcolo\no "Annulla" per ripartire da zero');

mesifig=new Array(4);
for (k=0; k<4; k++)
if (document.forms[0].mesifig[k].value>0&&document.forms[0].mesifig[k].value<12)
	mesifig[k]=document.forms[0].mesifig[k].value;
else 
	document.forms[0].mesifig[k].value=mesifig[k]=0;

perc=document.forms[0].perc.value;
lav=document.forms[0].lav.value;
contri=document.forms[0].contri[0].checked;
if (anno==2007) alicontri=0.0949; else alicontri=0.0919;
alicontri1=0.0919;
if (contri) 
	{
	decontri=1-alicontri; 
	decontri1=1-alicontri1;
	decontri2=0.9051;
	}
else 
	decontri=decontri1=decontri2=1;
red=parse(document.forms[0].red.value);

if (geoal&&red&&isNumor0(figli)&&isNumor0(piccoli)&&isNumor0(disab)&&isNum(giorni)&&isNumor0(perc)) 
	{
	if (tondo)
		if (lire) red=roundmig(red); 
	else red=Math.round(red);
	
	document.forms[0].red.value=punt(virg(red+""));
	if(lire)
			red=liraeuro(red);
	
	if (piccoli>figli)
	{
	piccoli=figli;
	document.forms[0].piccoli.value=piccoli;
	}
	if (disab>figli)
	{
	disab=figli;
	document.forms[0].disab.value=disab;
	}
	if (giorni>365)
	{
	giorni=365;
	document.forms[0].giorni.value=giorni;
	}	
	if (perc>100)
	{
	perc=100;
	document.forms[0].perc.value=perc;
	}
	if (anno>2006) 
		if (perc<100)
		{
		perc=50;
		document.forms[0].perc.value=perc;
		}

	perc=perc/100;
	totfigli=figli;
	if (mesifig[0]!=0)
		{
		totfigli=totfigli+1;
		figli=figli+mesifig[0]/12; 
		if (document.forms[0].figfra1[0].checked) piccoli=piccoli+mesifig[0]/12;
			else if (document.forms[0].figfra1[1].checked) disab=disab+mesifig[0]/12;
		}		
	if (mesifig[1]!=0)
		{
		totfigli=totfigli+1;
		figli=figli+mesifig[1]/12;
		if (document.forms[0].figfra2[0].checked) piccoli=piccoli+mesifig[1]/12;
			else if (document.forms[0].figfra2[1].checked) disab=disab+mesifig[1]/12;
		}		
	if (mesifig[2]!=0)
		{
		totfigli=totfigli+1;
		figli=figli+mesifig[2]/12;
		if (document.forms[0].figfra3[0].checked) piccoli=piccoli+mesifig[2]/12;
			else if (document.forms[0].figfra3[1].checked) disab=disab+mesifig[2]/12;
		}
	if (mesifig[3]!=0)
		{
		totfigli=totfigli+1;
		figli=figli+mesifig[3]/12;
		if (document.forms[0].figfra4[0].checked) piccoli=piccoli+mesifig[3]/12;
			else if (document.forms[0].figfra4[1].checked) disab=disab+mesifig[3]/12;
		}
	switch (anno)
		{
		case "2001":{
				impo=irpef01(red*decontri,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni); 
				impomarg=irpef01((red*decontri)+1000,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2002":{
				impo=irpef02(red*decontri,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				impomarg=irpef02((red*decontri)+1000,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2003":{
				impo=irpef03(red*decontri,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				impomarg=irpef03((red*decontri)+1000,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2004":{
				impo=irpef03(red*decontri,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				impomarg=irpef03((red*decontri)+1000,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2005":{
				impo=irpef05(red*decontri,lav,coniu,figli,piccoli,disab,perc,giorni);
				impomarg=irpef05((red*decontri)+1000,lav,coniu,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2006":{
				impo=irpef05(red*decontri,lav,coniu,figli,piccoli,disab,perc,giorni);
				impomarg=irpef05((red*decontri)+1000,lav,coniu,figli,piccoli,disab,perc,giorni);
				break;
				}
		case "2007":{
				impo=irpef07(red*decontri,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				impomarg=irpef07((red*decontri)+1000,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni);
				break;
				}

		}

	if (anno1!=anno)
			switch (anno1)
				{
				case "2001":{
						impo1=irpef01(red*decontri1,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni); 
						break;
						}
				case "2002":{
						impo1=irpef02(red*decontri1,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni); 
						break;
						}
				case "2003":{
						impo1=irpef03(red*decontri1,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni); 
						break;
						}
				case "2004":{
						impo1=irpef03(red*decontri1,lav,coniu,totfigli,figli,piccoli,disab,perc,giorni); 
						break;
						}
				case "2005":{
						impo1=irpef05(red*decontri1,lav,coniu,figli,piccoli,disab,perc,giorni); 
						break;
						}
				case "2006":{
						impo1=irpef05(red*decontri1,lav,coniu,figli,piccoli,disab,perc,giorni); 
						break;
						}
				}
		
	else impo1=impo;
	if (impo>0)
		{
		addi=addireg(red*decontri,lav,coniu,figli,piccoli,disab,perc,regio,anno);
		addico=addicom(red*decontri,comune,coniu,figli,piccoli,disab,perc,anno);
		}
	else 
		addi=addico=0;
	
	impo=round2(impo); 
	impo1=round2(impo1); 
	addi=round2(addi);
	addico=round2(addico);
       if (red==0) ali="0"; 
		else ali=round2(impo/(red*decontri)*100);
	marg=round2((impomarg-impo)/10);
	netimp=eval(round2(red*decontri-impo-addi-addico));   
	
	mese=round2(netimp/mensi);
	if(lire) 
		{
		impo=eurolira(impo);
		impo1=eurolira(impo1);
		addi=eurolira(addi);
		addico=eurolira(addico);
		mese=eurolira(mese);
		if (tondo)
			{
			impo=roundmig(impo);
			impo1=roundmig(impo1);
			addi=roundmig(addi);
			addico=roundmig(addico);
			mese=roundmig(mese);
			}
		}
	else if (tondo) 
			{
			impo=Math.round(impo)+"";
			impo1=Math.round(impo1)+"";
			addi=Math.round(addi)+"";
			addico=Math.round(addico)+"";
			mese=Math.round(mese)+"";
			}
	diff=round2(impo-impo1);
	
	document.forms[0].imp.value=punt(virg(impo));
	document.forms[0].media.value=virg(ali);
	document.forms[0].margi.value=virg(marg);
	document.forms[0].addi.value=punt(virg(round2(addi)));
	document.forms[0].addico.value=punt(virg(round2(addico)));
	if (diff==0) document.forms[0].diff.value=0;
		else if (diff>0){
			document.forms[0].diff.style.color="red"; 
			document.forms[0].diff.value="+"+punt(virg(diff)); }
			else
				document.forms[0].diff.value="-"+punt(virg(Math.abs(diff)+""));
	document.forms[0].mese.value=punt(virg(mese));
	
	}
else 
	{
	if(geoal)
	alert("È presente un valore non numerico o scorretto\noppure c'è un errore nei separatori delle migliaia\nPremere OK per ricominciare");
	document.forms[0].reset();
	}
}


