
function leistung(speed,dichte,roll,cwa,masse,steigung){
 var leistung = Math.round(( 0.5 * dichte * cwa * Math.pow(speed / 3.6,3) + masse *9.81 *(speed/3.6)*((steigung/100)+1*roll)))
 return leistung
}
function geschwindigkeit(power,dichte,roll,cwa,masse,steigung){
 var a = 0.5*dichte*cwa
 var b = masse*9.81*( (Math.abs(steigung/100))+1*roll )
 var wurzel=Math.sqrt( Math.pow(b/(3*a),3) + Math.pow(power/(2*a),2) )
 var kubikwurzel1= Math.pow( (power/(2*a)+1*wurzel),1/3)
 var kubikwurzel2= b/(3*a*kubikwurzel1)
 var geschwindigkeit =0.1*Math.round(10* 3.6*(1*kubikwurzel1 - 1*kubikwurzel2))
 return geschwindigkeit
}

function limitcheck(){
if ( (1*document.getElementsByName("dateneingabe")[0].rekom_u.value > 1*document.getElementsByName("dateneingabe")[0].ga1_u.value)  ||
     (1*document.getElementsByName("dateneingabe")[0].ga1_u.value > 1*document.getElementsByName("dateneingabe")[0].ga2_u.value)  ||
     (1*document.getElementsByName("dateneingabe")[0].ga2_u.value > 1*document.getElementsByName("dateneingabe")[0].entw_u.value) ||
     (1*document.getElementsByName("dateneingabe")[0].entw_u.value > 1*document.getElementsByName("dateneingabe")[0].spitze_u.value) )
      alert ('Bitte beachten: Rekom < Ga1 < Ga2 < Entwicklung < Spitze !')
}

function absolut(object){

object.value=Math.abs(1*object.value.replace(/,/,"."))

}

function formatieren(zahlenwert){
 var formatiertezahl

 var linksrechts=(zahlenwert+"").split(".")
 var links =linksrechts[0]
 var rechts=linksrechts[1]

       if ((links.length < 4) && (rechts)) formatiertezahl = links + "." + rechts.substr(0,1)
       else formatiertezahl = links + ".0"

       if (links.length >= 4) formatiertezahl = links

 return formatiertezahl
 }

function ausrechnen(f){
 var dichte=f.dichte.value
 var masse=f.masse.value
 var roll=f.roll.value
 var speedvorgabe=f.speed.value
 var steigung=f.steigung.value
 var powervorgabe=f.power.value
 var cwa=f.cwa.value
 var vmin=f.vmin.value
 var vmax=f.vmax.value
 var pmin=f.pmin.value
 var pmax=f.pmax.value

 var felda
 var feldb
 var feldc
 var feldd
 var feldx
 var feldy
 var vintervall=(1*vmax-1*vmin)/20
 var pintervall=(1*pmax-1*pmin)/20

 limitcheck()

    f.prozent1.value=steigung+"%"
    f.prozent2.value=steigung+"%"


 for (var i=1; i<23; i++)
 {  speed = 0.1*Math.round(10*(1*vmin*1+vintervall*(i-1)))
    power = Math.round(1*pmin+pintervall*(i-1))
    felda = i + "a"
    feldb = i + "b"
    feldc = i + "c"
    feldd = i + "d"
    feldx = i + "x"
    feldy = i + "y"

    f[feldx].value=formatieren(speed)
    f[feldy].value=formatieren(power)

    if (i == 22) speed = f.speed.value
    if (i == 22) power = f.power.value




    f[felda].value=formatieren(leistung(speed,dichte,roll,cwa,masse,0))


    f[felda].style.background="lightblue"
    f[feldx].style.background="lightblue"
    if (i == 22) f[feldx].value=formatieren(f.speed.value)
    if (i == 22) f[feldy].value=formatieren(f.power.value)


    if ((1*f[felda].value  > 1*f.rekom_u.value) && (1*f[felda].value <= 1*f.ga1_u.value))
       {f[felda].style.background="antiquewhite";f[feldx].style.background="antiquewhite"}
    if ((1*f[felda].value  > 1*f.ga1_u.value) && (1*f[felda].value <= 1*f.ga2_u.value))
       {f[felda].style.background="lightgreen";f[feldx].style.background="lightgreen"}
    if ((1*f[felda].value  > 1*f.ga2_u.value )&& (1*f[felda].value <= 1*f.entw_u.value))
       {f[felda].style.background="yellow";f[feldx].style.background="yellow"}
    if ((1*f[felda].value  > 1*f.entw_u.value )&& (1*f[felda].value <= 1*f.spitze_u.value))
       {f[felda].style.background="orange";f[feldx].style.background="orange"}
    if (1*f[felda].value  > 1*f.spitze_u.value ) {f[felda].style.background="red";f[feldx].style.background="red"}


    f[feldb].value=formatieren(leistung(speed,dichte,roll,cwa,masse,steigung))
    f[feldb].style.background="lightblue"
    if ((1*f[feldb].value  > 1*f.rekom_u.value) && (1*f[feldb].value <= 1*f.ga1_u.value)) {f[feldb].style.background="antiquewhite"}
    if ((1*f[feldb].value  > 1*f.ga1_u.value) && (1*f[feldb].value <= 1*f.ga2_u.value)) {f[feldb].style.background="lightgreen"}
    if ((1*f[feldb].value  > 1*f.ga2_u.value )&& (1*f[feldb].value <= 1*f.entw_u.value)) {f[feldb].style.background="yellow"}
    if ((1*f[feldb].value  > 1*f.entw_u.value )&& (1*f[feldb].value <= 1*f.spitze_u.value)) {f[feldb].style.background="orange"}
    if (1*f[feldb].value  > 1*f.spitze_u.value ) {f[feldb].style.background="red"}

    f[feldy].style.background="lightblue"
    f[feldc].style.background="lightblue"
    f[feldd].style.background="lightblue"

    if ((1*f[feldy].value  > 1*f.rekom_u.value) && (1*f[feldy].value <= 1*f.ga1_u.value))
       {f[feldy].style.background="antiquewhite";f[feldc].style.background="lightgreen";f[feldd].style.background="antiquewhite"}
    if ((1*f[feldy].value  > 1*f.ga1_u.value) && (1*f[feldy].value <= 1*f.ga2_u.value))
       {f[feldy].style.background="lightgreen";f[feldc].style.background="green";f[feldd].style.background="lightgreen"}
    if ((1*f[feldy].value  > 1*f.ga2_u.value )&& (1*f[feldy].value <= 1*f.entw_u.value))
       {f[feldy].style.background="yellow";f[feldc].style.background="yellow";f[feldd].style.background="yellow"}
    if ((1*f[feldy].value  > 1*f.entw_u.value )&& (1*f[feldy].value <= 1*f.spitze_u.value))
       {f[feldy].style.background="orange";f[feldc].style.background="orange";f[feldd].style.background="orange"}
    if (1*f[feldy].value  > 1*f.spitze_u.value ) {f[feldy].style.background="red";f[feldc].style.background="red";f[feldd].style.background="red"}

    f[feldc].value=formatieren(geschwindigkeit(power,dichte,roll,cwa,masse,0))
    f[feldd].value=formatieren(geschwindigkeit(power,dichte,roll,cwa,masse,steigung))



 }
}

         
