/* STEP 1: inizio a raccogliere i dati dal modulo */ 
function accontoesaldo (form) {
	//VerificaCategoria(form);
	var detrazione;
	categoria=(form.categoria.value);
	valorecatastale=(form.valorecatastale.value);
	valorecatastale= valorecatastale.replace(',' ,'.' );
	valorecatastale=eval(valorecatastale);	
    aliquota=eval(form.aliquota.value);
    detrazione=(form.detrazionecomplessiva.value);
	proprietariresidenti=eval(form.proprietariresidenti.value);
    mesi=eval(form.mesi.value);
    percentuale=eval(form.percentuale.value);

    
/* STEP 2: calcolo la rendita rivalutata */
	switch(categoria) {
    case 'A10':
		rivalutazione=50;
		break;
	case 'C1':
		rivalutazione=34;
		break;	
	case 'B1' || 'B7':
		rivalutazione=140;
		break;
	default:
   		rivalutazione=100;
}
	rivalutazione=rivalutazione * 1.05;
	
/* STEP 3: calcolo la quota di detrazione in base ai residenti */
    detrazioneinbaseresidenti=(detrazione/proprietariresidenti)

/* STEP 4: calcolo la detrazione spettante in funzione dei mesi di utilizzo */
    detrazionemesi=(detrazioneinbaseresidenti/12*mesi)

/* STEP 5 controllo che tutti i campi siano completi */

if(form.valorecatastale.value=="") {
window.alert("ATTENZIONE: inserire la rendita catastale") 
           form.valorecatastale.focus()               
           form.valorecatastale.select() 
           return             
}
                             
/*if(form.aliquota.value==""||form.aliquota.value<4||form.aliquota.value>7) {
window.alert("ATTENZIONE: inserire un valore coerente per l'aliquota") 
           form.aliquota.focus()            
           form.aliquota.select() 
           return
}*/
                     
if(form.detrazionecomplessiva.value=="") {
window.alert("ATTENZIONE: inserire la detrazione; se non si ha diritto alla detrazione indicare 0") 
           form.detrazionecomplessiva.focus()            
           form.detrazionecomplessiva.select()
           return 
}


if(form.percentuale.value==""||form.percentuale.value<1||form.percentuale.value>100){
window.alert("ATTENZIONE: valore errato in quota di possesso! Inserire la percentuale corretta") 
           form.percentuale.focus()            
           form.percentuale.select() 
           return
}

if(form.percentuale.value==100&&form.proprietariresidenti.value>1){
window.alert("ATTENZIONE: la quota di possesso è incongruente con il numero dei prorietari residenti")
           form.percentuale.focus()            
           form.percentuale.select()
           return
}

/* STEP 6: calcolo l' ICI da versare ed eseguo l'approx ai centesimi */

icidov=(valorecatastale*rivalutazione*aliquota/1000*mesi/12*percentuale/100-detrazionemesi)

icidovuta=Math.round(icidov*100)/100

/* STEP 7: evito che vengano mostrati valori negativi */
if(icidovuta<=0)
form.icidovuta.value=0

/* STEP 8: nel caso non ci sia nulla da pagare suggerisco di ricontrollare i dati */
if(icidovuta<=0)
window.alert("ATTENZIONE: non c'è nulla da versare, Vi suggeriamo comunque di ricontrollare tutti i dati inseriti ")

if(icidovuta>0)
form.icidovuta.value = icidovuta.toFixed(0);

/* =====================================================
questi step non sono necessari, li ho lasciati comunque! 
========================================================*/

/* STEP 9: evito che vengano mostrati valori incoerenti */

/*if(icidovuta>0&&form.aliquota.value<4||form.aliquota.value>7)
form.icidovuta.value=""
form.giugno.value=""*/

if(icidovuta>0&&form.percentuale.value==100&&form.proprietariresidenti.value>1)
form.icidovuta.value=""
form.giugno.value=""

if(icidovuta>0&&form.percentuale.value==""||form.percentuale.value<1||form.percentuale.value>100)
form.icidovuta.value=""
form.giugno.value=""
}

/* STEP ONE: inizio a raccogliere i dati dal modulo per calcolare le rate */

function acconto (form) {
accontoesaldo(form); //ricalcolo
	
giugno=eval(form.icidovuta.value)
mesi=eval(form.mesi.value)

/* STEP TWO: verifico che il calcolo della rata sia possibile */
if(mesi!=12)
window.alert
("ATTENZIONE: non è possibile calcolare le rate se non si è considerato l'intero anno!")

/* STEP THREE: calcolo le rate ed eseguo l'approx ai centesimi */
if(mesi=12)
icigiu=(giugno/2)
icigiugno=Math.round(icigiu*100)/100
form.giugno.value=icigiugno.toFixed(0)

/* STEP FOUR: evito che vengano mostrati valori incoerenti */

if(icigiugno>0&&form.mesi.value!=12)
form.giugno.value=""

}
function VerificaCategoria(form) {
	abprinc = form.abprinc[0].checked;
	categoria=form.categoria.value;
	var esatto;
	esatto=false;
	switch(categoria) {
    case 'A1':
		esatto = true;
		break;
	case 'A8':
		esatto = true;
		break;
	case 'A9':
		esatto = true;
		break;
	case 'C2':
		esatto = true;
		break;
	case 'C6':
		esatto = true;
		break;
	default:
		esatto = false;
	}
	if (!esatto && abprinc){
		alert('ATTENZIONE: E\' STATA SELEZIONATA UNA CATEGORIA CHE LA FINANZIARIA 2008 HA ESCLUSO DALL\'IMPOSTA');
		form.abprinc[1].checked = true;
	}
	if (esatto && abprinc) {
		form.detrazionecomplessiva.value = "103.29";
		document.getElementById('detrazione').innerHTML = "103.29 €"
	}
	else{
		form.detrazionecomplessiva.value = "0.00";
		document.getElementById('detrazione').innerHTML = "0.00 €"
	}
}

function CambiaAliquota(form) {
	var radioLength = form.aliq.length;
	for(var i = 0; i < radioLength; i++) {
		if (form.aliq[i].checked) {
			form.aliquota.value = form.aliq[i].value;
		}
	}
}
