var kohlenhydrate = 0;
var fett = 0;
var eiweiss = 0;
var defizit = 25;
var verbrauch = 0;
var lean = 0;
var g_kfa = 0;
var LOWFAT=1;
var LOWCARB=2;
var KETO=3;
var AUFBAU=4;

//Löscht das Ergebnis
function ND_formClear() {
  // Alten Wert löschen
  document.EB.ergebnis.value = "";
  document.EB.details.value = "";
}

//Prüft ob schwanger, wenn M dann false
function ND_formCorrector(x){
  if(x==1){
    if(document.EB.schwanger.checked)document.EB.schwanger.checked=false;
	if(document.EB.stillend.checked)document.EB.stillend.checked=false;
  }
  if(x==2){
	if((document.EB.schwanger.checked)||(document.EB.stillend.checked))
	{
		document.EB.geschlecht[1].checked=true;
	}
  }
}

//Prüft die Zeitangaben - Summe = 1440min, 24h
function ND_timeCheck(data) {
    // Löschen der bisherigen Werte
    ND_formClear();
    // Werte der Eingaben überprüfen und die Diff. zum gesamten Tag ausgeben
    time1 = data.z1.value.replace(/,/,".");
    if(isNaN(time1) == true) { time1 = 0; data.z1.value = "0"; } 
    if(data.e1[0].checked) time1 = time1*60;
    
    time2 = data.z2.value.replace(/,/,".");
    if(isNaN(time2) == true) { time2 = 0; data.z2.value = "0"; } 
    if(data.e2[0].checked) time2 = time2*60;
    
    time3 = data.z3.value.replace(/,/,".");
    if(isNaN(time3) == true) { time3 = 0; data.z3.value = "0"; } 
    if(data.e3[0].checked) time3 = time3*60;
    
    time4 = data.z4.value.replace(/,/,".");
    if(isNaN(time4) == true) { time4 = 0; data.z4.value = "0"; } 
    if(data.e4[0].checked) time4 = time4*60;
    
    time5 = data.z5.value.replace(/,/,".");
    if(isNaN(time5) == true) { time5 = 0; data.z5.value = "0"; } 
    if(data.e5[0].checked) time5 = time5*60;
    
    time6 = data.z6.value.replace(/,/,".");
    if(isNaN(time6) == true) { time6 = 0; data.z6.value = "0"; } 
    if(data.e6[0].checked) time6 = time6*60;
    
    time7 = data.z7.value.replace(/,/,".");
    if(isNaN(time7) == true) { time7 = 0; data.z7.value = "0"; } 
    if(data.e7[0].checked) time7 = time7*60;
    
    time8 = data.z8.value.replace(/,/,".");
    if(isNaN(time8) == true) { time8 = 0; data.z8.value = "0"; } 
    if(data.e8[0].checked) time8 = time8*60;
    
    delta = 1440-time1-time2-time3-time4-time5-time6-time7-time8;
    
    data.delta.value = delta;    
}

//brechnet den Umsatz
function ND_calcValue(data) {
    ND_timeCheck(data);
    //Check aller notwendigen Angaben
   if(data.delta.value < 0) {
        alert("Der Tag hat nur 24 Stunden!\nSie haben "+Math.abs(data.delta.value)+" min zuviel aufgeteilt.");
		data.delta.focus();
    }
    else if(data.delta.value > 0) {
        alert("Sie haben "+Math.abs(data.delta.value)+" min noch nicht aufgeteilt.");
		data.delta.focus();
    } else {
        alter = data.alter.value.replace(/,/,".");
        if((alter == "") || (isNaN(alter)==true) || (alter < 0) || (alter > 140)) {
            alert("Überprüfen Sie bitte die Altersangabe.");
			data.alter.focus();
        } else {
            gewicht = data.gewicht.value.replace(/,/,".");
            if((gewicht == "") || (isNaN(gewicht)==true) || (gewicht < 0)) {
                alert("Überprüfen Sie bitte die Gewichtsangabe.");
				data.gewicht.focus();
            } else {
                groesse = data.groesse.value.replace(/,/,".");
                if((groesse == "") || (isNaN(groesse)==true) || (groesse < 0)) {
                    alert("Überprüfen Sie bitte die Angabe der Körpergröße.");
					data.groesse.focus();
                } else {
                    if(groesse > 4) {
                        // Die Groesse wurde in cm angegeben, der Fehler wird hier korregiert
                        groesse /= 100;
                        data.groesse.value = groesse;
                    }	
					g_kfa = data.kfa.value;
					if(g_kfa=="" || isNaN(g_kfa))data.kfa.value=0;
					lean=(data.gewicht.value * (100-g_kfa))/100;
					g_kfa = data.kfa.value;
					//data.kfa.value=0;                
                    if(data.geschlecht[0].checked == true) {
                        // Männer sind ausgewählt
						gu=297.9*Math.pow(lean,3/4) * (1+(30-data.alter.value.replace(/,/,"."))/250+10/1000 * (data.groesse.value.replace(/,/,".") * 100/Math.pow(lean,1/3)-43.4));
                    } else {
                        // Frauen
                        gu=275.3*Math.pow(lean,3/4) * (1+(30-data.alter.value.replace(/,/,"."))/250+18/1000  * (data.groesse.value.replace(/,/,".") * 100/Math.pow(lean,1/3)-42.1));
                    }
                    // GU in Kalorien umrechnen
                    gu = Math.round(gu/4.186);
                    //Verdauungsverlust
                    gu = Math.round(gu);
					                    
                    time1 = data.z1.value.replace(/,/,".");
                    if(data.e1[0].checked) time1 = time1*60;

                    time2 = data.z2.value.replace(/,/,".");
                    if(data.e2[0].checked) time2 = time2*60;
    
                    time3 = data.z3.value.replace(/,/,".");
                    if(data.e3[0].checked) time3 = time3*60;
  
                    time4 = data.z4.value.replace(/,/,".");
                    if(data.e4[0].checked) time4 = time4*60;
    
                    time5 = data.z5.value.replace(/,/,".");
                    if(data.e5[0].checked) time5 = time5*60;

                    time6 = data.z6.value.replace(/,/,".");
                    if(data.e6[0].checked) time6 = time6*60;

                    time7 = data.z7.value.replace(/,/,".");
                    if(data.e7[0].checked) time7 = time7*60;
                    
                    time8 = data.z8.value.replace(/,/,".");
                    if(data.e8[0].checked) time8 = time8*60;
                        
                    PAL1 = 0.9;
                    PAL2 = 1.2;
                    if(data.t3[0].checked == true) PAL3 = 1.4;
                    else if(data.t3[1].checked == true) PAL3 = 1.45;
                    else PAL3 = 1.5;
                    if(data.t4[0].checked == true) PAL4 = 1.6;
                    else if(data.t4[1].checked == true) PAL4 = 1.65;
                    else PAL4 = 1.7;
                    if(data.t5[0].checked == true) PAL5 = 1.8;
                    else if(data.t5[1].checked == true) PAL5 = 1.85;
                    else PAL5 = 1.9;
                    if(data.t6[0].checked == true) PAL6 = 2.0;
                    else if(data.t6[1].checked == true) PAL6 = 2.1;
                    else PAL6 = 2.2;
                    if(data.t7[0].checked == true) PAL7 = 2.3;
                    else if(data.t7[1].checked == true) PAL7 = 2.35;
                    else PAL7 = 2.4;
                    if(data.t8[0].checked == true) PAL8 = Math.round(gu*0.002);
                    else if(data.t8[1].checked == true) PAL8 = Math.round(gu*0.003);
                    else PAL8 = Math.round(gu*0.004);
  
                    PAL = (PAL1*time1+PAL2*time2+PAL3*time3+PAL4*time4+PAL5 *time5+PAL6* time6+PAL7*time7+PAL8*time8)/1440;
					energie = gu*PAL;
					
					//schwanger oder nicht?
					if(data.schwanger.checked==true) energie+=305;
					if(data.stillend.checked==true) energie+=685;
					verbrauch=energie;
					if(document.EB.reduktion.checked)energie -= (energie*defizit/100);
					
					
					data.ergebnis.value = Math.round(energie);
					data.ergebnis.focus();
                    PAL *= 100;
                    PALplus = Math.round(PAL);
                    PALplus /= 100;
       		data.details.value = Math.round(gu)+ "\n" +PALplus+ "\n" +Math.round(verbrauch-gu)+ "\n" +Math.round(verbrauch);

					
//***********Ernährungsform berechnen ***********************
					//gewicht = gewicht - gewicht*g_kfa/100;
					//LowFat
                    if(document.EB.eform[LOWFAT].checked){
						eiweiss=energie*0.3/4.1;
					if(document.EB.reduktion.checked){
						eiweiss+=lean;
					}
                    	fett=energie*0.2/9.3;
						if(fett<30)fett=30;
    	                energie = energie - (fett*9.3 + eiweiss*4.1);
        	            kohlenhydrate = energie / 4.1;
					//LowCarb
					}else if(document.EB.eform[LOWCARB].checked){
						eiweiss=energie*0.3/4.1;
						kohlenhydrate = 125;
						if(document.EB.reduktion.checked){
						eiweiss+=lean*0.5;
						kohlenhydrate = 100;
					}
    	                energie = energie - (kohlenhydrate*4.1 + eiweiss*4.1);
        	            fett=energie/9.3;
					//Keto
					}else if(document.EB.eform[KETO].checked){
						eiweiss=energie*0.3/4.1;
						if(document.EB.reduktion.checked){
						eiweiss+=lean*0.5;
					}
						kohlenhydrate = 20;
            	        energie = energie - (kohlenhydrate*4.1 + eiweiss*4.1);
                	    fett=energie/9.3;
               	    //Aufbau
										
					//Mischkost
					}else{
     	               	eiweiss=energie*0.3/4.1;
						if(document.EB.reduktion.checked){
						eiweiss+=lean*0,5;
					}
        	            fett=energie*0.3/9.3;
            	        energie = energie - (fett*9.3 + eiweiss*4.1);
                	    kohlenhydrate = energie / 4.1;
					}
                    data.naehrstoffe.value = Math.round(kohlenhydrate)+"\n" +Math.round(fett)+ "\n"+Math.round(eiweiss);
                }
            }
        }
    }
}

