var Fatturato = 1232876
var PercentualeMargineCommerciale = 27
var FatturatoAlCosto = 900000
var ValoreMagazzino = 260000
var IndiceRotazione = 3.5
var IndiceRotazione2 = 3.5
var Copertura = 105
var Copertura2 = 105
var ObiettivoMiglioramentoIR = 1
var IndiceRotazioneDopo = 4.5
var IndiceRotazioneDopo2 = 4.5
var CoperturaDopo = 78
var CoperturaDopo2 = 78
var ValoreMagazzinoDopo = 204132
var MaggioreLiquidita = 55867
var InteresseBancario = 6
var InteressiPassiviPrima = 15600
var InteressiPassiviDopo = 12247
var MinoriInteressi = 3353
var TassoObsolescenza = 1.5
var ObsolescenzaPrima = 3900
var ObsolescenzaDopo = 3062
var MinoreObsolescenza = 838
var TassoMagazzino = 3
var CostoMagazzinoPrima = 10400
var CostoMagazzinoDopo = 8165
var MinoreCostoMagazzino = 2235
var MinoriCosti = 23475
var BeneficioTotale = 62292
var BeneficioSuFatturato = 5
var LeadTimeCliente = 14
var LeadTimeFornitore = 21
var GiorniScortaSicurezza = 7
var CoperturaTarget = 42
var IndiceRotazioneTarget = 8.7

function CalcFatturatoAlCosto(__Form) {			
	if ( DatiBase.PercentualeMargineCommerciale.value > 0 ) {
		DatiBase.FatturatoAlCosto.value = parseInt(DatiBase.Fatturato.value * (1 - DatiBase.PercentualeMargineCommerciale.value / 100))
	} else {
		DatiBase.FatturatoAlCosto.value = parseInt(DatiBase.Fatturato.value)
	}
					
	CalcIndiceRotazione (__Form)
}

function CalcIndiceRotazione (__Form) {
	if ( parseInt(DatiBase.ValoreMagazzino.value) > 0) {
		DatiBase.IndiceRotazione.value = parseFloat(parseInt(DatiBase.FatturatoAlCosto.value) / parseInt(DatiBase.ValoreMagazzino.value))	
		DatiBase.IndiceRotazione.value = parseFloat(parseInt(DatiBase.IndiceRotazione.value * 10) / 10)
		DatiBase.Copertura.value = parseInt( 365 / DatiBase.IndiceRotazione.value)
		DatiBase.IndiceRotazioneDopo.value = parseFloat(DatiBase.IndiceRotazione.value) + parseFloat(DatiBase.ObiettivoMiglioramentoIR.value)
		DatiBase.IndiceRotazioneDopo.value = parseFloat(parseInt(DatiBase.IndiceRotazioneDopo.value * 10) / 10)
		DatiBase.CoperturaDopo.value = parseInt( 365 / DatiBase.IndiceRotazioneDopo.value)
		DatiBase.ValoreMagazzinoDopo.value = parseInt(DatiBase.FatturatoAlCosto.value / DatiBase.IndiceRotazioneDopo.value) 
		DatiBase.MaggioreLiquidita.value = parseInt(DatiBase.ValoreMagazzino.value - DatiBase.ValoreMagazzinoDopo.value)
		
		if (DatiBase.InteresseBancario.value > 0) {
			DatiBase.InteressiPassiviPrima.value = parseInt(DatiBase.ValoreMagazzino.value * (DatiBase.InteresseBancario.value / 100 ))
			DatiBase.InteressiPassiviDopo.value = parseInt(DatiBase.ValoreMagazzinoDopo.value * (DatiBase.InteresseBancario.value / 100))
			DatiBase.MinoriInteressi.value = parseInt (DatiBase.InteressiPassiviPrima.value - DatiBase.InteressiPassiviDopo.value)
		} else { 
			DatiBase.InteressiPassiviPrima.value = 0
			DatiBase.InteressiPassiviDopo.value = 0
			DatiBase.MinoriInteressi.value = 0
		}
		
		if (parseFloat(DatiBase.TassoObsolescenza.value) > 0) {
			DatiBase.ObsolescenzaPrima.value = parseInt(DatiBase.ValoreMagazzino.value * (parseFloat(DatiBase.TassoObsolescenza.value) / 100 ))
			DatiBase.ObsolescenzaDopo.value = parseInt(DatiBase.ValoreMagazzinoDopo.value * (parseFloat(DatiBase.TassoObsolescenza.value) / 100))
			DatiBase.MinoreObsolescenza.value = parseInt (DatiBase.ObsolescenzaPrima.value - DatiBase.ObsolescenzaDopo.value)
		} else { 
			DatiBase.ObsolescenzaPrima.value = 0
			DatiBase.ObsolescenzaDopo.value = 0
			DatiBase.MinoreObsolescenza.value = 0
		}
		
		if (parseFloat(DatiBase.TassoMagazzino.value) > 0) {
			DatiBase.CostoMagazzinoPrima.value = parseInt(DatiBase.ValoreMagazzino.value * (parseFloat(DatiBase.TassoMagazzino.value) / 100 ))
			DatiBase.CostoMagazzinoDopo.value = parseInt(DatiBase.ValoreMagazzinoDopo.value * (parseFloat(DatiBase.TassoMagazzino.value) / 100))
			DatiBase.MinoreCostoMagazzino.value = parseInt (DatiBase.CostoMagazzinoPrima.value - DatiBase.CostoMagazzinoDopo.value)
		} else { 
			DatiBase.CostoMagazzinoPrima.value = 0
			DatiBase.CostoMagazzinoDopo.value = 0
			DatiBase.MinoreCostoMagazzino.value = 0
		}
		
		DatiBase.MinoriCosti.value = parseInt(DatiBase.MinoriInteressi.value) + parseInt(DatiBase.MinoreObsolescenza.value)
		DatiBase.MinoriCosti.value = parseInt(DatiBase.MinoriCosti.value) + parseInt(DatiBase.MinoreCostoMagazzino.value)
		DatiBase.BeneficioTotale.value = parseInt(DatiBase.MaggioreLiquidita.value) + parseInt(DatiBase.MinoriCosti.value)
		DatiBase.BeneficioSuFatturato.value = parseFloat(DatiBase.BeneficioTotale.value / DatiBase.Fatturato.value * 100)
		DatiBase.BeneficioSuFatturato.value = parseFloat(parseInt(DatiBase.BeneficioSuFatturato.value*10)/10)
		DatiBase.Copertura2.value = DatiBase.Copertura.value
		DatiBase.CoperturaDopo2.value = DatiBase.CoperturaDopo.value
		DatiBase.CoperturaTarget.value = parseInt(DatiBase.LeadTimeCliente.value) + parseInt(DatiBase.LeadTimeFornitore.value)
		DatiBase.CoperturaTarget.value = parseInt(DatiBase.CoperturaTarget.value) + parseInt(DatiBase.GiorniScortaSicurezza.value)
		
		if (parseFloat(DatiBase.CoperturaTarget.value) > 0) {
			DatiBase.IndiceRotazioneTarget.value = parseFloat(365 / DatiBase.CoperturaTarget.value * 10 )
			DatiBase.IndiceRotazioneTarget.value = parseFloat(parseInt(DatiBase.IndiceRotazioneTarget.value) / 10)
			DatiBase.IndiceRotazione2.value = DatiBase.IndiceRotazione.value
			DatiBase.IndiceRotazioneDopo2.value = DatiBase.IndiceRotazioneDopo.value
		} else { 
			DatiBase.IndiceRotazioneTarget.value = 0
		}
		
	} else {
		DatiBase.IndiceRotazione.value = 0
		DatiBase.IndiceRotazione2.value = 0
		DatiBase.Copertura.value = 0
		DatiBase.Copertura2.value = 0
		DatiBase.IndiceRotazioneDopo.value = 0
		DatiBase.IndiceRotazioneDopo2.value = 0
		DatiBase.CoperturaDopo.value = 0
		DatiBase.CoperturaDopo2.value = 0
		DatiBase.ValoreMagazzinoDopo.value = 0
		DatiBase.MaggioreLiquidita.value = 0
		DatiBase.InteressiPassiviPrima.value = 0
		DatiBase.InteressiPassiviDopo.value = 0
		DatiBase.MinoriInteressi.value = 0
		DatiBase.ObsolescenzaPrima.value = 0
		DatiBase.ObsolescenzaDopo.value = 0
		DatiBase.MinoreObsolescenza.value = 0
		DatiBase.CostoMagazzinoPrima.value = 0
		DatiBase.CostoMagazzinoDopo.value = 0
		DatiBase.MinoreCostoMagazzino.value = 0
		DatiBase.BeneficioTotale.value = 0
		DatiBase.BeneficioSuFatturato.value = 0
		DatiBase.CoperturaTarget.value = 0 
		DatiBase.IndiceRotazioneTarget.value = 0
	}
 }

 function DivRefresh(__Form) {
	document.getElementById('var1').innerHTML = DatiBase.ObiettivoMiglioramentoIR.value
	document.getElementById('var2').innerHTML = DatiBase.MaggioreLiquidita.value
	document.getElementById('var3').innerHTML = DatiBase.MinoriCosti.value
	document.getElementById('var4').innerHTML = DatiBase.BeneficioSuFatturato.value
	document.getElementById('var5').innerHTML = DatiBase.IndiceRotazioneDopo2.value
	document.getElementById('var6').innerHTML = DatiBase.IndiceRotazioneTarget.value
}
