	var NumAlimenti = 10

	function azzera() {
	//azzera tutti i controlli
		for (var i = 1; i <= NumAlimenti; i++) {
		document.getElementById("ing"+i).selectedIndex = ""
		document.getElementById("quantita"+i).value = "0"
		document.getElementById("ServAl"+i).value = "0"
		document.getElementById("P"+i).value = 0
		document.getElementById("C"+i).value = 0
		document.getElementById("G"+i).value = 0
		document.getElementById("Pe"+i).innerHTML = 0
		document.getElementById("Ce"+i).innerHTML = 0
		document.getElementById("Ge"+i).innerHTML = 0
		document.getElementById("fav"+i).innerHTML = '<img src="images/AlimentoFav0.gif"><input type="hidden" id="favT'+i+'" value="0">'
		}
		
		document.getElementById("PT").innerHTML = 0
		document.getElementById("CT").innerHTML = 0
		document.getElementById("GT").innerHTML = 0
		document.getElementById("PercP").innerHTML = 0
		document.getElementById("PercC").innerHTML = 0
		document.getElementById("PercG").innerHTML = 0
		document.getElementById("rapp").innerHTML = "- - - "
		document.getElementById("help").innerHTML = ""
		document.getElementById("HlpGrassi").innerHTML = ""
		document.getElementById("CellaServ").innerHTML = ""
		document.getElementById("BtnStampa").style.display = 'none'
		document.getElementById("BtnSalva").style.display = 'none'
		document.getElementById("salvapubblica").style.display = 'none'
		document.getElementById("ServTot").value = "0"
		document.getElementById("ServPerc").value = "0"
		document.getElementById("ServFav").value = "0"
		document.getElementById("Title").value = ""
		document.getElementById("TpoPst").checked = false
		document.getElementById("TpoSpu").checked = false
		document.getElementById("TpoCol").checked = false
		document.getElementById("TempoPrep").selectedIndex = 0
		document.getElementById("TempoCott").selectedIndex = 0
		document.getElementById("Prep").value = ""
		
		//Fav
		document.getElementById("FP").innerHTML = '<img src="images/AlimentoFav0.gif">'
		document.getElementById("FC").innerHTML = '<img src="images/AlimentoFav0.gif">'
		document.getElementById("FG").innerHTML = '<img src="images/AlimentoFav0.gif">'
		document.getElementById("FT").innerHTML = '<img src="images/AlimentoFav0.gif">'
		
		//grafico
		document.getElementById("GP").height = 0
		document.getElementById("GC").height = 0
		document.getElementById("GG").height = 0
	}
	
	
	
	function modifica(controllo){
		var StringaServizio = document.getElementById("ing"+controllo).value
		if (StringaServizio == 0) {
			//alimento eliminato, azzera i campi
			document.getElementById("Pe"+controllo).innerHTML = 0
			document.getElementById("Ce"+controllo).innerHTML = 0
			document.getElementById("Ge"+controllo).innerHTML = 0
			document.getElementById("P"+controllo).value = 0
			document.getElementById("C"+controllo).value = 0
			document.getElementById("G"+controllo).value = 0
			document.getElementById("ServAl"+controllo).value = 0
			document.getElementById("fav"+controllo).innerHTML = '<img src="images/AlimentoFav0.gif"><input type="hidden" id="favT'+controllo+'" value="0">'
			
		}
		else {
			var s = StringaServizio.split("|")
			sId = s[0]
			sProt = parseFloat(s[1].replace(/,/,"."))
			sCarb = parseFloat(s[2].replace(/,/,"."))
			sGra = parseFloat(s[3].replace(/,/,"."))
			sMacr = s[4]
			sFav = s[5]
			sQp = parseFloat(s[6].replace(/,/,".")); if (isNaN(sQp)) {sQp = 0}
			sQc = parseFloat(s[7].replace(/,/,".")); if (isNaN(sQc)) {sQc = 0}
			sQg = parseFloat(s[8].replace(/,/,".")); if (isNaN(sQg)) {sQg = 0}
			
			//riempie le celle di scrittura val nutrizionali
			document.getElementById("P"+controllo).value = sProt
			document.getElementById("C"+controllo).value = sCarb
			document.getElementById("G"+controllo).value = sGra
			
			//favorevolit&agrave;
			document.getElementById("fav"+controllo).innerHTML = '<img src="images/AlimentoFav'+sFav+'.gif"><input type="hidden" id="favT'+controllo+'" value="'+sFav+'">'
			document.getElementById("favT"+controllo).value = sFav
			
			//riempie le celle effettive
			var Qta = parseFloat(document.getElementById("quantita"+controllo).value)
			document.getElementById("Pe"+controllo).innerHTML = Math.round(sQp * (sProt / 100 * Qta / 7) * 10) / 10
			document.getElementById("Ce"+controllo).innerHTML = Math.round(sQc * (sCarb / 100 * Qta / 9) * 10) / 10
			document.getElementById("Ge"+controllo).innerHTML = Math.round(sQg * (sGra / 100 * Qta / 3) * 10) / 10
			
			//Riempie la casella di servizio
			var Indice = document.getElementById("ing"+controllo).selectedIndex
			var Valore = document.getElementById("ing"+controllo).value
			var Testo1 = document.getElementById("ing"+controllo).options[Indice].text
			var Testo2 = document.getElementById("quantita"+controllo).value
			var Testo3 = document.getElementById("Pe"+controllo).innerHTML
			var Testo4 = document.getElementById("Ce"+controllo).innerHTML
			var Testo5 = document.getElementById("Ge"+controllo).innerHTML
			var Testo = Testo1 + "|" +  Testo2 + "|" + Valore + "|" +  Testo3 + "|" + Testo4 + "|" + Testo5 

			document.getElementById("ServAl"+controllo).value = Testo
		}
			
			
		//richiama funzioni finali
		totali()
	}
	
	function totali() {
		//crea i totali per colonne
		var PTot
		var CTot
		var GTot
		var PTotF
		var CTotF
		var GTotF
		
		for (var i = 1; i <= NumAlimenti; i++) {
		PCorr = parseFloat(document.getElementById("Pe"+i).innerHTML); if (isNaN(PCorr)) {PCorr = 0}
		CCorr = parseFloat(document.getElementById("Ce"+i).innerHTML); if (isNaN(CCorr)) {CCorr = 0}
		GCorr = parseFloat(document.getElementById("Ge"+i).innerHTML); if (isNaN(GCorr)) {GCorr = 0}
		
		if (isNaN(PTot)) {PTot = 0}
		if (isNaN(CTot)) {CTot = 0}
		if (isNaN(GTot)) {GTot = 0}
		PTot = Math.round((PTot + PCorr)*10) / 10
		CTot = Math.round((CTot + CCorr)*10) / 10
		GTot = Math.round((GTot + GCorr)*10) / 10
		
		//Favorevolità;
		PCorrF = PCorr * parseFloat(document.getElementById("favT"+i).value); if (isNaN(PCorrF)) {PCorrF = 0}
		CCorrF = CCorr * parseFloat(document.getElementById("favT"+i).value); if (isNaN(CCorrF)) {CCorrF = 0}
		GCorrF = GCorr * parseFloat(document.getElementById("favT"+i).value); if (isNaN(GCorrF)) {GCorrF = 0}
		
		if (isNaN(PTotF)) {PTotF = 0}
		if (isNaN(CTotF)) {CTotF = 0}
		if (isNaN(GTotF)) {GTotF = 0}
		
		PTotF = Math.round((PTotF + PCorrF)*10) / 10
		CTotF = Math.round((CTotF + CCorrF)*10) / 10
		GTotF = Math.round((GTotF + GCorrF)*10) / 10
		}

		//scrive i risultati
		document.getElementById("PT").innerHTML = PTot
		document.getElementById("CT").innerHTML = CTot
		document.getElementById("GT").innerHTML = GTot
		
		if (CTot == 0) {
			document.getElementById("rapp").innerHTML = "- - -"
			document.getElementById("help").innerHTML = ""
			document.getElementById("PercP").innerHTML = ""
			document.getElementById("PercC").innerHTML = ""
			document.getElementById("PercG").innerHTML = ""
			}
		else {
			var rapporto = Math.round(((parseFloat(PTot) * 7) / (parseFloat(CTot) * 9)) * 100) / 100
			document.getElementById("rapp").innerHTML = rapporto
			if (parseFloat(rapporto) > 1) {
				document.getElementById("help").innerHTML = "Aumenta carboidrati"
				document.getElementById("help").style.backgroundColor = "#ff0000"
				document.getElementById("CellaServ").innerHTML = "&nbsp;"
				document.getElementById("BtnStampa").style.display = 'none'
			}
			else if (parseFloat(rapporto) < 0.6) {
				document.getElementById("help").innerHTML = "Diminuisci carboidrati"
				document.getElementById("help").style.backgroundColor = "#ff0000"
				document.getElementById("CellaServ").innerHTML = "&nbsp;"
				document.getElementById("BtnStampa").style.display = 'none'
			}
			else {
				document.getElementById("help").innerHTML = "<strong>In Zona!</strong>"
				document.getElementById("help").style.backgroundColor = "#00ff00"
				document.getElementById("BtnStampa").style.display = ''
				
				//cella servizio
				NumBlocchi = parseFloat(document.getElementById("PT").innerHTML)
				var BlocchiMinus = Math.round(NumBlocchi - 1)
				var BlocchiPlus = Math.round(NumBlocchi + 1)
				document.getElementById("CellaServ").innerHTML = '<a href="javascript: VariaTutto('+BlocchiMinus+')">Porta a '+BlocchiMinus+'</a><br> <a href="javascript: VariaTutto('+BlocchiPlus+')">Porta a '+BlocchiPlus+'</a>'	
			}
			
			var CalTot = ((parseFloat(PTot) * 7) * 4.1) + ((parseFloat(CTot) * 9) * 4.1)  + ((parseFloat(GTot) * 3) * 9.1)
			
			document.getElementById("PercP").innerHTML = Math.round((((parseFloat(PTot) * 7) * 4.1) / CalTot) * 100) + "%"
			document.getElementById("PercC").innerHTML = Math.round((((parseFloat(CTot) * 9) * 4.1) / CalTot) * 100) + "%"
			document.getElementById("PercG").innerHTML = Math.round((((parseFloat(GTot) * 3) * 9.1) / CalTot) * 100) + "%"
			
			//aggiunta per il suggerimento dei grassi
			var GrassiTotali = Math.round((((parseFloat(GTot) * 3) * 9.1) / CalTot) * 100)
			if (GrassiTotali < 25) {
				document.getElementById("HlpGrassi").innerHTML = "Aumenta grassi"
				document.getElementById("HlpGrassi").style.backgroundColor = "#ff0000"
			}
			else if (GrassiTotali > 35) {
				document.getElementById("HlpGrassi").innerHTML = "Diminuisci grassi"
				document.getElementById("HlpGrassi").style.backgroundColor = "#ff0000"
			}
			else {
				document.getElementById("HlpGrassi").innerHTML = "Grassi OK!"
				document.getElementById("HlpGrassi").style.backgroundColor = "#00ff00"
			}
			
			//varia il grafico
			var PHeigh = Math.round((((parseFloat(PTot) * 7) * 4.1) / CalTot) * 100)
			var CHeigh = Math.round((((parseFloat(CTot) * 9) * 4.1) / CalTot) * 100)
			var GHeigh = Math.round((((parseFloat(GTot) * 3) * 9.1) / CalTot) * 100)
			
			if (PHeigh>100) {PHeigh = 100}
			if (CHeigh>100) {CHeigh = 100}
			if (GHeigh>100) {GHeigh = 100}
			
			document.getElementById("GP").height = PHeigh
			document.getElementById("GC").height = CHeigh
			document.getElementById("GG").height = GHeigh
			
			//Varia la favorevolità
			var TfavP
			var TfavC
			var TfavG
			var TfavTOT
			
			TfavP = Math.round(PTotF / PTot); if (isNaN(TfavP)) {TfavP = 0}
			TfavC = Math.round(CTotF / CTot); if (isNaN(TfavC)) {TfavC = 0}
			TfavG = Math.round(GTotF / GTot); if (isNaN(TfavG)) {TfavG = 0}
			
			document.getElementById("FP").innerHTML = '<img src="images/AlimentoFav'+TfavP+'.gif">'
			document.getElementById("FC").innerHTML = '<img src="images/AlimentoFav'+TfavC+'.gif">'
			document.getElementById("FG").innerHTML = '<img src="images/AlimentoFav'+TfavG+'.gif">'
			
			TfavTOT = Math.round((((parseFloat(PTotF) * 7) * 4.1) + ((parseFloat(CTotF) * 9) * 4.1) + ((parseFloat(GTotF) * 3) * 9.1)) / CalTot)
			document.getElementById("FT").innerHTML = '<img src="images/AlimentoFav'+TfavTOT+'.gif">'
			
			//celle di servizio
			document.getElementById("ServTot").value = document.getElementById("PT").innerHTML + "|" + document.getElementById("CT").innerHTML + "|" + document.getElementById("GT").innerHTML + "|" + document.getElementById("rapp").innerHTML
			document.getElementById("ServPerc").value = document.getElementById("PercP").innerHTML + "|" + document.getElementById("PercC").innerHTML + "|" + document.getElementById("PercG").innerHTML
			document.getElementById("ServFav").value = TfavP + "|" + TfavC + "|" + TfavG + "|" + TfavTOT
			
			checkSalva()
		}
	}
		
	function varia(idelemento, sgn, qta) {
		//aggiunge o toglie un quantitativo dal text corrispondente
		if (document.getElementById("ing"+idelemento).selectedIndex == 0) {
			//fai nulla perch&egrave; non c'&egrave; alimento
			}
		else {
				if (sgn == '+') {
					//aumenta
					var iniziale = parseFloat(document.getElementById("quantita" + idelemento).value)
					var nuovo = iniziale + parseFloat(qta)
					document.getElementById("quantita" + idelemento).value = nuovo
				}
				else {
					//diminuisce
					var iniziale = parseFloat(document.getElementById("quantita" + idelemento).value)
					var nuovo = iniziale - parseFloat(qta)
					if (nuovo<0) {
						nuovo = 0
					}
					document.getElementById("quantita" + idelemento).value = nuovo
				}
			}
			//aggiorna i dati
			modifica(idelemento)
	}
	
	function mess (messaggio) {
		//modifica la voce nella barra di stato
		alert (messaggio);
	}
	
	function VariaTutto (Valore) {
		//riproporziona tutto a valore
		var ValOrig = document.getElementById("PT").innerHTML
		var Rapp = Valore / ValOrig
		
		for (var i = 1; i < NumAlimenti; i++) {
			Qta = parseFloat(document.getElementById("quantita" + i).value)
			document.getElementById("quantita" + i).value = Math.round(Qta * Rapp)
		}
		RicalcolaTutto ()
	}
	
	function RicalcolaTutto() {
		//ricalcola tutto il pasto
		for (var i = 1; i < NumAlimenti; i++) {
			modifica(i)
		}
	}
	
	function checkSalva() {
		// controlla se è da attivare il tasto di salvataggio
		var check = true
		var checkPub = true
		if (document.getElementById("Title").value == "") {check = false}
		if ((document.getElementById("TpoPst").checked == false) && (document.getElementById("TpoSpu").checked == false) && (document.getElementById("TpoCol").checked == false)) {check = false}
		if ((document.getElementById("Diff1").checked == false) && (document.getElementById("Diff2").checked == false) && (document.getElementById("Diff3").checked == false)) {check = false}
		if (document.getElementById("TempoPrep").selectedIndex == 0) {check = false}
		if (document.getElementById("TempoCott").selectedIndex == 0) {check = false}
		if (document.getElementById("Prep").value == "" ) {check = false}
		if (document.getElementById("BtnStampa").style.display == 'none') {check = false}
		if (document.getElementById("HlpGrassi").innerHTML != 'Grassi OK!') {checkPub = false}
		
		if (check == false) {
			document.getElementById("BtnSalva").style.display = 'none'
			document.getElementById("salvapubblica").style.display = 'none'
			}
		else {
			document.getElementById("BtnSalva").style.display = ''
			if (checkPub == false) { 
				document.getElementById("salvapubblica").style.display = 'none'
				}
			else {
				document.getElementById("salvapubblica").style.display = ''
				}
			}
	}
	
	