function pwf() {
   window.open("PromilleWatsonFormula.html","pwf","width=420,height=565");
}
function Berechnen(c) {
   if(document.Formular.groesse.value == "") {
      alert("<Ihre Größe> fehlt !");
      document.Formular.groesse.focus();
      return;
   }
   if(!checkInt(document.Formular.groesse.value)) {
      alert("<Ihre Größe> nicht nummerisch !");
      document.Formular.groesse.focus();
      return;
   }

   if(document.Formular.gewicht.value == "") {
      alert("<Ihr Gewicht> fehlt !");
      document.Formular.gewicht.focus();
      return;
   }
   if(!checkInt(document.Formular.gewicht.value)) {
      alert("<Ihr Gewicht> nicht nummerisch !");
      document.Formular.gewicht.focus();
      return;
   }

   if(document.Formular.alter.value == "") {
      alert("<Ihr Alter> fehlt !");
      document.Formular.alter.focus();
      return;
   }
   if(!checkInt(document.Formular.alter.value)) {
      alert("<Ihr Alter> nicht nummerisch !");
      document.Formular.alter.focus();
      return;
   }

   if(document.Formular.prozent.value == "") {
      alert("<Alkoholgehalt des Getränks> fehlt !");
      document.Formular.prozent.focus();
      return;
   }
   if (!checkFloat(document.Formular.prozent.value)) {
      alert("<Alkoholgehalt des Getränks> nicht nummerisch oder zu viele Kommata !");
      document.Formular.prozent.focus();
      return;
   }

   if(c==1 && document.Formular.menge.value == "") {
      alert("<Menge des Getränks> fehlt !");
      document.Formular.menge.focus();
      return;
   }
   if(c==1 && !checkInt(document.Formular.menge.value)) {
      alert("<Menge des Getränks> nicht nummerisch !");
      document.Formular.menge.focus();
      return;
   }

   if(c==2 && document.Formular.promille.value == "") {
      alert("<Promille-Wert> fehlt !");
      document.Formular.promille.focus();
      return;
   }
   if (c==2 && !checkFloat(document.Formular.promille.value)) {
      alert("<Promille-Wert> nicht nummerisch oder zu viele Kommata !");
      document.Formular.promille.focus();
      return;
   }

   if(document.Formular.anfang.value != "" && document.Formular.ende.value == ""  ) {
      alert("<Letztes Getränk> um fehlt !");
      document.Formular.ende.focus();
      return;
   }
   if (document.Formular.ende.value != "" && !checkInt(document.Formular.ende.value)) {
      alert("<Letztes Getränk um> nicht nummerisch !");
      document.Formular.ende.focus();
      return;
   }

   if(document.Formular.anfang.value == "" && document.Formular.ende.value != ""  ) {
      alert("<Erstes Getränk um> fehlt !");
      document.Formular.anfang.focus();
      return;
   }
   if (document.Formular.anfang.value != "" && !checkInt(document.Formular.anfang.value)) {
      alert("<Erstes Getränk um> nicht nummerisch !");
      document.Formular.anfang.focus();
      return;
   }

   var ahh,ami,ehh,emi,d=0;

   if (document.Formular.anfang.value != "" && document.Formular.ende.value != ""  ) {
      ahh = Math.floor(document.Formular.anfang.value)
      if (ahh >=0 && ahh <= 23 && document.Formular.anfang.value.length <= 2)
         document.Formular.anfang.value = ahh * 100;
      ehh = Math.floor(document.Formular.ende.value);
      if (ehh >=0 && ehh <= 23 && document.Formular.ende.value.length <= 2)
         document.Formular.ende.value = ehh * 100;

      ahh = Math.floor(document.Formular.anfang.value/100);
      ami = document.Formular.anfang.value - ahh * 100;
      ehh = Math.floor(document.Formular.ende.value/100);
      emi = document.Formular.ende.value - ehh * 100;

      if (ahh<0||ahh>23) {
         alert("<Stunde> von <Erstes Getränk um> ungültig");
         document.Formular.anfang.focus();
         return;
      }
      if (ehh<0||ehh>23) {
         alert("<Stunde> von <Letztes Getränk um> ungültig");
         document.Formular.ende.focus();
         return;
      }
      if (ami<0||ami>59) {
         alert("<Minute> von <Erstes Getränk um> ungültig");
         document.Formular.anfang.focus();
         return;
      }
      if (emi<0||emi>59) {
         alert("<Minute> von <Letztes Getränk um> ungültig");
         document.Formular.ende.focus();
         return;
      }
      d = ehh + emi / 60 - ahh + ami / 60;
      if (d<0)
         d+=24;
   }

   var gw = document.Formular.gewicht.value;
   var gr = document.Formular.groesse.value;
   var al = document.Formular.alter.value;
   var sx = document.Formular.sex.options[document.Formular.sex.selectedIndex].value
   var pr = parseFloat(document.Formular.prozent.value);
   var me = document.Formular.menge.value;
   var pm = parseFloat(ktp(document.Formular.promille.value));
   var mz = parseFloat(document.Formular.essen.options[document.Formular.essen.selectedIndex].value);

   if (sx==0) {
      tbw=2.447-0.0952*al+0.1074*gr+0.3362*gw;
   } else {
      tbw=0.203-0.07*al+0.1069*gr+0.2466*gw;
   }
   if (c == 1) {
      var x=(0.8/tbw*(me*pr/100)-(mz+d)*0.1);
      pm = Math.round(x*100)/100;

      if (pm<0)
         document.Formular.promille.value = "0";
      else
         document.Formular.promille.value = pm;
   }
   else {
      me = Math.round((pm+(mz+d)*0.1)*(tbw*100)/(0.8*pr)) ;
      document.Formular.menge.value = me;
   }
   document.Formular.prozent.value  = ptk(document.Formular.prozent.value);
   document.Formular.promille.value = ptk(document.Formular.promille.value);
}

function ktp(str) {
   return str.replace(/\,/g,".");
}

function ptk(str) {
   return str.replace(/\./g,",");
}

function trycalc() {
   if(document.Formular.menge.value != "")
      Berechnen(1);
   else
      if(document.Formular.promille.value != "")
         Berechnen(2);
}

function fillProz() {
   var val = document.Formular.prozentSel[document.Formular.prozentSel.selectedIndex].value;
   if (val==-1)
      document.Formular.prozent.value="";
   else
      document.Formular.prozent.value=val;
}
function checkFloat(obj) {
   ap = 0;
   chkZ = 1;
   document.Formular.prozent.value = ktp(document.Formular.prozent.value);
   for (i=0;i<document.Formular.prozent.value.length;++i) {
      if (document.Formular.prozent.value.charAt(i) == ".") {
         ap++;
      }
      if ((document.Formular.prozent.value.charAt(i) < "0" ||
           document.Formular.prozent.value.charAt(i) > "9"  ) &&
           document.Formular.prozent.value.charAt(i) != "."    ) {
         chkZ = -1;
      }
   }
   return chkZ==1 && ap<=1;
}
function checkInt(obj) {
   chkZ = 1;
   for(i=0;i<obj.length;++i) {
      if(obj.charAt(i) < "0" || obj.charAt(i) > "9") {
         chkZ = -1;
      }
   }
   return chkZ==1;
}
function Leeren(x) {
   if (x==1||x==3) {
      document.Formular.menge.value = "";
   }
   if (x==2||x==3) {
      document.Formular.promille.value = "";
   }
   return;
}

