function value_check(obj, lowval, hival) {
for (var i=0; i < obj.value.length; i++) {
 var ch = obj.value.substring(i, i+1)
 if (ch < "0" || ch > "9") {
   alert("Falsches Eingabeformat. Bitte eine Zahl eingeben.")
   obj.value = ""
   obj.focus()
  }
 else {
   if ((obj.value < lowval) || (obj.value > hival)){
    alert("Bitte eine Zahl zwischen " + lowval + " und " + hival + " eingeben!")
    obj.value = ""
    obj.focus()
   }
}}}
function summe_dwz(obj) {
var sum = 0
var z   = 0
for (var i=2; i < 31; i+=2) {
  if (obj.elements[i].value != "") {
    sum = sum + parseInt(obj.elements[i].value,10)
    z++ }}
if (z > 0) {
  obj.summe.value = Math.round(sum / z)}
}
function reset_dwz(obj) {
obj.elements[1].value  = ""
obj.elements[32].value = ""
obj.elements[33].value = ""
obj.elements[34].value = ""
obj.elements[35].value = ""
obj.elements[36].value = ""
for (var i=2; i < 31; i+=2) {
  obj.elements[i].value = ""
  obj.elements[i+1].selectedIndex = 0 }
}
function compute_dwz(obj) {
var E        = 0
var We       = 0
var W        = 0
var n        = 0
var sum      = 0
var z        = 0
var DWZnew   = 0
var DWZold   = 0
var steigung = 0
var wechsel  = 0

if (obj.dwz_alt.value == "") {
  alert("Geben Sie ihre aktuelle DWZ ein!")
  obj.dwz_alt.focus()
  return }
var DWZalt = parseInt(obj.dwz_alt.value,10)
E = (DWZalt / 1000 )
E = Math.pow(E,4)
E = Math.round(E + ((obj.elements[0].selectedIndex + 1) * 5))
if (E < 5) { E = 5}
if (E > 30) { E = 30}
for (var i=2; i < 31; i+=2) {
  if (obj.elements[i].value != "") {
   n ++
   We += (1 / (1 + Math.pow(10,((parseInt(obj.elements[i].value,10)-DWZalt)/400))))
   W += obj.elements[i+1].selectedIndex * .5
   }}
 var DWZneu = DWZalt + Math.round(( 800 * (W - We) / (E + n)))
 obj.dwz.value             = DWZneu
 obj.veraenderung.value    = DWZneu - DWZalt
 obj.gewinnerwartung.value = Math.round(We * 100) / 100
 obj.hzahl.value           = DWZalt + 800 * ((W - We) / n)

W  = 0
We = 0

for (var i=2; i < 31; i+=2) {
  if (obj.elements[i].value != "") {
    sum = sum + parseInt(obj.elements[i].value,10)
    W += obj.elements[i+1].selectedIndex * .5
    z ++}}
if (z > 0) {
  DWZnew = Math.round(sum / z)
while (DWZold != DWZnew && wechsel == 0 && W != 0 && W != z) {
DWZold = DWZnew
for (var i=2; i < 31; i+=2) {
  if (obj.elements[i].value != "") {
   We += (1 / (1 + Math.pow(10,((parseInt(obj.elements[i].value,10)-DWZold)/400))))
   }}
 DWZnew = DWZold + Math.round(( 800 * (W - We) / z))
 if (DWZold - DWZnew == steigung)
   wechsel = 1
 if (DWZnew < DWZold)
   steigung = -1
 else
   steigung =  1
 We = 0
}
 if (W == 0) {
  DWZnew = Math.round(sum / z) - 677}
 if (W == z) {
  DWZnew = Math.round(sum / z) + 677}
 obj.performance.value = DWZnew
}}

