<!--
	
function Reset_fields(nome_form){
	nome_form = "document."+nome_form;		
	//alert("nome_form.length:"+eval(nome_form+".length"));	
	for (i=0;i< eval(nome_form+".length");i++){
		var fild_name=eval(nome_form).elements[i].name;		
		var field_type=eval(nome_form).elements[i].type;
		//alert("Campo:"+nome_form);
		//alert("nome_form:"+fild_name+"\nTipo-->"+field_type);
		/* --- TEXT FIELD --- */
		if (field_type=="text"){
			var campo=eval(nome_form).elements[i].name;
			eval(nome_form+"."+campo+".value=\"\"");
		}
		/* --- SELECT --- */
		if (field_type=="select-one"){
			var campo=eval(nome_form).elements[i].name;
			eval(nome_form+"."+campo+".selectedIndex=0");
		}		
		/* --- CHECKBOX --- */
		if (field_type=="checkbox"){
			var campo=eval(nome_form).elements[i].name;
			eval(nome_form+"."+campo+".checked=0");
		}
		/* --- RADIO FIELD --- */
		if (field_type=="radio"){ 
			var campo=eval(nome_form).elements[i].name;
			campo_radio_lung = nome_form + "." + campo + ".length";
			
			/* -------------------------------------------------------------
			   Verifico se il campo radio button è composto da un solo campo 
			   oppure da diversi radio (con lo stesso nome)
			   ------------------------------------------------------------- */ 
			if (eval(campo_radio_lung) > 1) {
				for (j=0;j< eval(campo_radio_lung);j++){
					eval(nome_form + "." + campo + "[j].checked=0");
				}	
			} else {
				eval(nome_form + "." + campo + ".checked=0");
			}
		}
		/* --- TEXTAREA --- */
		if (field_type =="textarea"){
			var campo=eval(nome_form).elements[i].name;
			eval(nome_form+"."+campo+".value=\"\"");
		}
	}
}

//-->

	function Effl_Colt (){

		
		
		var LimSceltaUFPiano_let; //limite scelta e UF piano
		var LimUFEffDaPiano_let; //limite UF eff da piano
		var LimDisp_let; //Limite disponibilità
		var Lim170Let_let; //limite 170 letame
		var DispEffl_let; //in caso di disponibilità effluente scelto < necessità
		var SceltaSenzaLim_let; //Scelta senza limite di somma di effluenti > 170N/Ha 
		var CalcLetLiq_let;  //Calcolo N/Ha distribuito con letame + liquame senza limite somma N effluenti 170
		var LimSup170_let; //Limite se somma supera 170 e scelta letame
		var LimSup170ScLiq_let; //Limite se somma supera 170 e scelta liquame
		///
		var LimSceltaUFPiano_lq; //limite scelta e UF piano
		var LimUFEffDaPiano_lq; //limite UF eff da piano
		var LimDisp_lq; //Limite disponibilità
		var Lim170Let_lq; //limite 170 letame
		var DispEffl_lq; //in caso di disponibilità effluente scelto < necessità
		var SceltaSenzaLim_lq; //Scelta senza limite di somma di effluenti > 170N/Ha 
		var CalcLetLiq_lq;  //Calcolo N/Ha distribuito con letame + liquame senza limite somma N effluenti 170
		var LimSup170_lq; //Limite se somma supera 170 e scelta letame
		var LimSup170ScLiq_lq; //Limite se somma supera 170 e scelta liquame
		//INPUT...
		var UFN_Rep = new String(window.document.effl_colt.frmUFN.value);
		var UFN = Number(UFN_Rep.replace(",","."));
		//var UFN = Number(window.document.effl_colt.frmUFN.value);
		//
		var PercAzLet_form_Rep = new String(window.document.effl_colt.frmPercAzLet.value);
		var PercAzLet_form = Number(PercAzLet_form_Rep.replace(",","."));
		var PercAzLet = ((Number(PercAzLet_form) / 100));
		//var PercAzLet_form = Number(window.document.effl_colt.frmPercAzLet.value);
		//
		var PercAzLiq_Rep = new String(window.document.effl_colt.frmPercAzLiq.value);
		var PercAzLiq = Number(PercAzLiq_Rep.replace(",","."));
		PercAzLiq = PercAzLiq / 100;
		//patch 25/07/08 per evitare divisioni per zero....: INIZIO
		if (PercAzLiq == 0){
			PercAzLiq = 0.01;
		}	
		//patch 25/07/08 per evitare divisioni per zero....: FINE		
		//var PercAzLiq = Number(window.document.effl_colt.frmPercAzLiq.value);
		//
		var EffLiq_Rep = new String(window.document.effl_colt.frmEffLiq.value);
		var EffLiq = Number(EffLiq_Rep.replace(",","."));
		//var EffLiq = Number(window.document.effl_colt.frmEffLiq.value);
		//
		var AzotoEffl_Rep = new String(window.document.effl_colt.frmAzotoEffl.value);
		var AzotoEffl = Number(AzotoEffl_Rep.replace(",","."));
		//var AzotoEffl = Number(window.document.effl_colt.frmAzotoEffl.value);
		//
		var EttColt_Rep = new String(window.document.effl_colt.frmEttColt.value);
		var EttColt = Number(EttColt_Rep.replace(",","."));
		//var EttColt = Number(window.document.effl_colt.frmEttColt.value);
		//
		var Let_Rep = new String(window.document.effl_colt.frmLet.value);
		var Let = Number(Let_Rep.replace(",","."));
		//var Let = Number(window.document.effl_colt.frmLet.value);
		//
		var Liq_Rep = new String(window.document.effl_colt.frmLiq.value);
		var Liq = Number(Liq_Rep.replace(",","."));
		//var Liq = Number(window.document.effl_colt.frmLiq.value);
		//
		var TipoEffl = window.document.effl_colt.frmTipoEffl.value;
		//FINE INPUT...
		
		if (Let == 0) {
			window.document.effl_colt.frmPercAzLet.disabled = true;
		}
		else{
			window.document.effl_colt.frmPercAzLet.disabled = false;
		}
		
		if (Liq == 0) {
			window.document.effl_colt.frmPercAzLiq.disabled = true;
			window.document.effl_colt.frmEffLiq.disabled = true;
		}
		else{
			window.document.effl_colt.frmPercAzLiq.disabled = false;
			window.document.effl_colt.frmEffLiq.disabled = false;
		}
		

		

		//
		//limite scelta e UF piano
		LimSceltaUFPiano_let = UFN / PercAzLet / 100 / 0.4; 
		LimSceltaUFPiano_lq = UFN / PercAzLiq / 1000 / EffLiq;
		//
		//limite UF eff da piano
		LimUFEffDaPiano_let = UFN / PercAzLet / 100 / 0.4;
		LimUFEffDaPiano_lq = UFN / PercAzLiq / 1000 / EffLiq;
		//
		//Limite disponibilità
		LimDisp_let = Let;
		LimDisp_lq = Liq;
		//
		//limite 170 letame
		Lim170Let_let = (170 - AzotoEffl) * EttColt / PercAzLet / 100;
		Lim170Let_lq = (170 - AzotoEffl) * EttColt / PercAzLiq / 1000;
		////
		//in caso di disponibilità effluente scelto < necessità
		if ((Math.min(LimUFEffDaPiano_lq,Lim170Let_lq)>Liq) && (TipoEffl == '2'))
		{
			DispEffl_let = ((UFN - (Liq * PercAzLiq * EffLiq  * 1000)) / PercAzLet / 0.4 / 100);
		}
		else
		{
			DispEffl_let = 0;
		}
		
		if ((Math.min(LimUFEffDaPiano_let,Lim170Let_let)>Let) && (TipoEffl == '1'))
		{
			DispEffl_lq = ((UFN - (Let * PercAzLet * 0.4  * 100)) / PercAzLiq / EffLiq / 1000);
		}
		else
		{
			DispEffl_lq = 0;
		}
		////
		//Scelta senza limite di somma di effluenti > 170N/Ha 
		
	
		if (TipoEffl == '2'){ //ho scelto liquame....
			SceltaSenzaLim_let = Math.min(LimUFEffDaPiano_let,LimDisp_let,Lim170Let_let,DispEffl_let);
		}
		else{
			SceltaSenzaLim_let = Math.min(LimUFEffDaPiano_let,LimDisp_let,Lim170Let_let);
		}
		
		if (TipoEffl == '1'){ //letame
			SceltaSenzaLim_lq = Math.min(LimUFEffDaPiano_lq,LimDisp_lq,Lim170Let_lq,DispEffl_lq);
		}
		else{
			SceltaSenzaLim_lq = Math.min(LimUFEffDaPiano_lq,LimDisp_lq,Lim170Let_lq);
		}

		///
		//Calcolo N/Ha distribuito con letame + liquame senza limite somma N effluenti 170
		CalcLetLiq_let = ((SceltaSenzaLim_let * PercAzLet * 100 + SceltaSenzaLim_lq * PercAzLiq * 1000) / EttColt );
		CalcLetLiq_let = CalcLetLiq_let + Number(AzotoEffl);
		CalcLetLiq_lq = 0;
		///
		
		//Limite se somma supera 170 e scelta liquame
		LimSup170ScLiq_let = (((170 - AzotoEffl) - (SceltaSenzaLim_lq * PercAzLiq * 1000 / EttColt)) / (PercAzLet * 100)) * EttColt;
		LimSup170ScLiq_lq = SceltaSenzaLim_lq;
		
		///
		//Limite se somma supera 170 e scelta letame
		if ((CalcLetLiq_let > (170 - AzotoEffl)) && (TipoEffl == '1')){
			LimSup170_let = SceltaSenzaLim_let;
		}
		else{
			LimSup170_let = LimSup170ScLiq_let;
		}
		if ((CalcLetLiq_let > (170 - AzotoEffl)) && (TipoEffl == '1')){
			LimSup170_lq = (((170 - AzotoEffl) - (SceltaSenzaLim_let * PercAzLet * 100 / EttColt)) / PercAzLiq / 1000) * EttColt
		}
		else{
			LimSup170_lq = LimSup170ScLiq_lq;
		}
		
		
		
	
		///
		///
		///
		///
		
		//output intermedi
		
		////
		
		/*
		window.document.effl_colt.LimSceltaUFPiano_let.value = LimSceltaUFPiano_let //limite scelta e UF piano
		window.document.effl_colt.LimUFEffDaPiano_let.value = LimUFEffDaPiano_let //limite UF eff da piano
		window.document.effl_colt.LimDisp_let.value = LimDisp_let //Limite disponibilità
		window.document.effl_colt.Lim170Let_let.value = Lim170Let_let //limite 170 letame
		window.document.effl_colt.DispEffl_let.value = DispEffl_let //in caso di disponibilità effluente scelto < necessità
		window.document.effl_colt.SceltaSenzaLim_let.value = SceltaSenzaLim_let //Scelta senza limite di somma di effluenti > 170N/Ha 
		window.document.effl_colt.CalcLetLiq_let.value = CalcLetLiq_let //Calcolo N/Ha distribuito con letame + liquame senza limite somma N effluenti 170
		window.document.effl_colt.LimSup170_let.value = LimSup170_let //Limite se somma supera 170 e scelta letame
		window.document.effl_colt.LimSup170ScLiq_let.value = LimSup170ScLiq_let //Limite se somma supera 170 e scelta liquame
		////
		window.document.effl_colt.LimSceltaUFPiano_lq.value = LimSceltaUFPiano_lq //limite scelta e UF piano
		window.document.effl_colt.LimUFEffDaPiano_lq.value = LimUFEffDaPiano_lq //limite UF eff da piano
		window.document.effl_colt.LimDisp_lq.value = LimDisp_lq //Limite disponibilità
		window.document.effl_colt.Lim170Let_lq.value = Lim170Let_lq //limite 170 letame
		window.document.effl_colt.DispEffl_lq.value = DispEffl_lq //in caso di disponibilità effluente scelto < necessità
		window.document.effl_colt.SceltaSenzaLim_lq.value = SceltaSenzaLim_lq //Scelta senza limite di somma di effluenti > 170N/Ha 
		window.document.effl_colt.CalcLetLiq_lq.value = CalcLetLiq_lq //Calcolo N/Ha distribuito con letame + liquame senza limite somma N effluenti 170
		window.document.effl_colt.LimSup170_lq.value = LimSup170_lq //Limite se somma supera 170 e scelta letame
		window.document.effl_colt.LimSup170ScLiq_lq.value = LimSup170ScLiq_lq //Limite se somma supera 170 e scelta liquame
		*/
		
		
		///
		
		//OUTPUT
		window.document.effl_colt.frm_o_LetSup.value = Math.round(Math.min(SceltaSenzaLim_let,LimSup170_let));
		frm_o_LetSup = window.document.effl_colt.frm_o_LetSup.value;
		//
		//controllo se frm_o_LetSup è un numero...
		/*
		var numero
		numero = (parseInt(frm_o_LetSup))
		if ((numero)||EttColt==""){ 
		//do nothing
		}
		else { 
		alert('Anomalia di calcolo: verificare che i dati inseriti siano valori numerici e riprovare!');
		}
		*/
		//
		window.document.effl_colt.frm_o_LiqSup.value = Math.round(Math.min(SceltaSenzaLim_lq,LimSup170_lq)*10)/10;
		frm_o_LiqSup = window.document.effl_colt.frm_o_LiqSup.value;
		//
		window.document.effl_colt.frm_o_AzEff.value = Math.round((frm_o_LetSup*PercAzLet*0.4*100)+(frm_o_LiqSup*PercAzLiq*EffLiq*1000));
		frm_o_AzEff = window.document.effl_colt.frm_o_AzEff.value;
		//
		window.document.effl_colt.frm_o_AzEffEtt.value = Math.round((frm_o_AzEff / EttColt));
		frm_o_AzEffEtt = window.document.effl_colt.frm_o_AzEffEtt.value;
		//
		window.document.effl_colt.frm_o_AzTot.value =Math.round((((frm_o_LetSup*PercAzLet*100+frm_o_LiqSup*PercAzLiq*1000)/EttColt)+AzotoEffl));
		frm_o_AzTot = window.document.effl_colt.frm_o_AzTot.value;
		//
		window.document.effl_colt.frm_o_AzNotEffl.value = Math.round((UFN - frm_o_AzEff));
		frm_o_AzNotEffl = window.document.effl_colt.frm_o_AzNotEffl.value;
		//
		window.document.effl_colt.frm_o_AzNotEfflEtt.value = Math.round((frm_o_AzNotEffl / EttColt));
		frm_o_AzNotEfflEtt = window.document.effl_colt.frm_o_AzNotEfflEtt.value;
		//
		window.document.effl_colt.frm_o_LetRim.value = Math.round((Let - frm_o_LetSup));
		frm_o_LetRim = window.document.effl_colt.frm_o_LetRim.value;
		//
		window.document.effl_colt.frm_o_LiqRim.value = Math.round((Liq - frm_o_LiqSup));
		frm_o_LiqRim = window.document.effl_colt.frm_o_LiqRim.value;
		
		
		
	
	}
	
	
function fnValidazione_EFFLCOLT (){
//validazione form....
	var strExit = 0;
	var strExitPerLiq;
	var blnReturn;

	if (window.document.effl_colt.frm_o_LetSup.value == ""){strExit = "1";}
	if (window.document.effl_colt.frm_o_LetSup.value == "NaN"){strExit = "1";}
	if (window.document.effl_colt.frmTipoEffl.value == "OFF"){strExit = "1";}
	if (window.document.effl_colt.frmTipoColtura.value == "OFF"){strExit = "1";}
	if (window.document.effl_colt.frmAzotoEffl.value == ""){strExit = "1";}
	if (window.document.effl_colt.frmLet.value == ""){strExit = "1";}
	if (window.document.effl_colt.frmLiq.value == ""){strExit = "1";}
	if (window.document.effl_colt.frmEffLiq.value == ""){strExit = "1";}
	if (window.document.effl_colt.frmEttColt.value == ""){strExit = "1";}
	if (window.document.effl_colt.frmUFN.value == ""){strExit = "1";}
	
	//if (window.document.effl_colt.frmPercAzLiq.value == ""){strExitPerLiq = "100";}
	//if (window.document.effl_colt.frmEffLiq.value == ""){strExitPerLiq = "100";}
	
	//alert (strExitPerLiq);
	
		if (strExit == "1"){
			alert ("Si è verificato un problema nell'esecuzione dei calcoli. Tutti i campi di input sono obbligatori. Accertarsi inoltre di aver inserito dati numerici nei campi liberi.");	
			blnReturn = false;
		}
		else{
			blnReturn = true;
		}
	return blnReturn;
		
}
	
	

