function calcolafam()

{
figli=document.forms[0].figli.value; 
piccoli=document.forms[0].piccoli.value;
disab=document.forms[0].disab.value;
anno=document.forms[0].anno.value;
tondo=1; lire=0;
lav1=document.forms[0].lav1.value;
lav2=document.forms[0].lav2.value;
redcon1=parse(document.forms[0].redcon1.value);
redcon2=parse(document.forms[0].redcon2.value);

	
if (redcon1&&redcon2&&isNumor0(figli)&&isNumor0(piccoli)&&isNumor0(disab)) 
	{
	document.forms[0].redcon1.value=punt(Math.round(redcon1)+"");
	document.forms[0].redcon2.value=punt(Math.round(redcon2)+"");
	if (figli==0)
		alert("Inserire il numero dei figli");
	if (piccoli>figli)
	{
	piccoli=figli;
	document.forms[0].piccoli.value=piccoli;
	}
	if (disab>figli)
	{
	disab=figli;
	document.forms[0].disab.value=disab;
	}
	
	
	perc1=max=0;
	
	if (anno>2006) 
		{
		if (eval(redcon1)>eval(redcon2))
			{
			sgra1000=irpef07(redcon1,lav1,0,0,0,0,0,0,365)-irpef07(redcon1,lav1,0,figli,figli,piccoli,disab,1,365);
			sgra0100=-1
			perc1=100;
			}
		else
			{
			sgra0100=irpef07(redcon2,lav2,0,0,0,0,0,0,365)-irpef07(redcon2,lav2,0,figli,figli,piccoli,disab,1,365);
			sgra1000=-1; 
			perc1=0;
			}

		sgra1=irpef07(redcon1,lav1,0,0,0,0,0,0,365)-irpef07(redcon1,lav1,0,figli,figli,piccoli,disab,0.5,365);
		sgra2=irpef07(redcon2,lav2,0,0,0,0,0,0,365)-irpef07(redcon2,lav2,0,figli,figli,piccoli,disab,0.5,365);
		sgra=sgra1+sgra2;
		sgra5050=sgra;
		max=Math.max(sgra5050,sgra1000,sgra0100);
		if (max==sgra5050) perc1=50;
		}

	else for (h=0; h<101; h=h+1)
			{
			pc=h/100;
			sgra1=irpef05(redcon1,lav1,0,0,0,0,0,365)-irpef05(redcon1,lav1,0,figli,piccoli,disab,pc,365);
			sgra2=irpef05(redcon2,lav2,0,0,0,0,0,365)-irpef05(redcon2,lav2,0,figli,piccoli,disab,1-pc,365);
			sgra=sgra1+sgra2;
			if (h==0) sgra0100=sgra;
			if (h==50) sgra5050=sgra;
			if (h==100) sgra1000=sgra;
			if(sgra>max) {max=sgra; perc1=h;}
			}

	document.forms[0].percon1max.value=Math.round(perc1);
	document.forms[0].percon2max.value=Math.round(100-perc1);
	if (sgra0100==-1) document.forms[0].sgra0100.value="non ammesso";
		else document.forms[0].sgra0100.value=punt(sgra0100+"");
	if (sgra1000==-1) document.forms[0].sgra1000.value="non ammesso";
		else document.forms[0].sgra1000.value=punt(sgra1000+"");
	document.forms[0].sgra5050.value=punt(sgra5050+"");
	document.forms[0].sgramax.value=punt(max+"");

	}
else 
	{
	alert("È presente un valore non numerico o scorretto\noppure c'è un errore nei separatori delle migliaia\nPremere OK per ricominciare");
	document.forms[0].reset();
	}
}
