// ---------------------------- Zahlen-Bibliothek ---------------------------


// 'Ermittle Nachkommaanteil 131203'
function getFrac(num) { num=""+num; return parseFloat("0."+num.substring(num.length-((num.indexOf(".")>=0)?num.length-num.indexOf(".")-1:0),num.length)); }
// 'Zahlenumwandlung 131203' (benoetigt getFrac())
function stringInt(num,base,size) { var i, q, sign, result="", baseTable="0123456789ABCDEF"; num=parseInt(num); sign=(num<0)?"-":""; base=parseInt(base); size=(size)?size:0; if(!base || base<=1 || base>baseTable.length) { base=10; } while(true) { q=num/base; result=baseTable.charAt(parseInt(getFrac(q)*base))+result; num=parseInt(q); if(num==0) { break; } } q=""; size-=result.length; for(i=0;i<size;i++) { q+="0"; } return sign+q+result; }
// 'Runde Zahl 131203'
function dezRound(num,pos) { if(pos<0) { pos=Math.pow(10,Math.abs(pos)); return Math.round(num/pos)*pos; } else if(pos>0) { pos=Math.pow(10,pos); return Math.round(num*pos)/pos; } else { return Math.round(num); } }
// 'Formatierte Zahlenausgabe 021203'
 // Formatierung des Integerbereichs
 function dezInt(num,size,prefix) { prefix=(prefix)?prefix:"0"; var minus=(num<0)?"-":"", result=(prefix=="0")?minus:""; num=Math.abs(parseInt(num,10)); size-=(""+num).length; for(var i=1;i<=size;i++) { result+=""+prefix; } result+=((prefix!="0")?minus:"")+num; return result; }
 // Formatierung des Fliesskommabereichs (benoetigt getFrac())
 function dezFrac(num,size,postfix) { postfix=(postfix)?postfix:"0"; var i, result=getFrac(Math.abs(num)); result=(result)?""+result:""; if(result) { result=result.substring(2,result.length); } size-=result.length; for(i=1;i<=size;i++) { result+=postfix; } return result; }
 // Formatierung realer Zahlen (benoetigt dezInt() & dezFrac())
 function dez(num,presize,postsize,prefix,postfix,fracSign) { fracSign=(fracSign)?fracSign:"."; var result=dezInt(num,presize,prefix)+fracSign+dezFrac(num,postsize,postfix); result=(result.substring(result.length-1,result.length)==fracSign)?result.substring(0,result.length-1):result; return result; }
// 'Natuerliche Zufallszahl 130703' (1<=Zahl<=max)
function rnd(max) { if(Math.random) { return Math.ceil(Math.max(1,max)*Math.random()); } else { return max; } }
// 'Ganze Zufallszahl 060104' (min<=Zahl<=max)
function rand(min,max) { var range=max-min+1; if(range>0) { if(Math.random) { return Math.ceil(range*Math.random())+min-1; } else { return max; } } else { return "undefined"; } }

// --------------------------------------------------------------------------


function addiere() {

  var versandgebuehren_wert, sauna_tageskarte_wert, sauna_10er_wert, sauna_21er_wert, teilmassage_wert, vollmassage_wert, honigmassage_wert, massagebetrag_wert, kachelofenbetrag_wert, saunabetrag_wert, gesamtbetrag;
  
  versandgebuehren_wert = document.getElementById("uid61").value;
  versandgebuehren_wert = versandgebuehren_wert.replace(",",".");
  
  sauna_tageskarte_wert = document.getElementById("uid48").value;
  sauna_tageskarte_wert = sauna_tageskarte_wert.replace(",",".");
  
  sauna_10er_wert = document.getElementById("uid52").value;
  sauna_10er_wert = sauna_10er_wert.replace(",",".");

  sauna_21er_wert = document.getElementById("uid56").value;
  sauna_21er_wert = sauna_21er_wert.replace(",",".");
  
  teilmassage_wert = document.getElementById("uid86").value;
  teilmassage_wert = teilmassage_wert.replace(",",".");
  
  vollmassage_wert = document.getElementById("uid91").value;
  vollmassage_wert = vollmassage_wert.replace(",",".");
  
  honigmassage_wert = document.getElementById("uid97").value;
  honigmassage_wert = honigmassage_wert.replace(",",".");
/*  
  sauna_verwoehntag_wert = document.getElementById("uid60").value;
  sauna_verwoehntag_wert = sauna_verwoehntag_wert.replace(",",".");
*/  
  massagebetrag_wert = document.getElementById("uid99").value;
  massagebetrag_wert = massagebetrag_wert.replace(",",".");
  if(massagebetrag_wert == "") {
    massagebetrag_wert = 0;
  }
  document.getElementById("uid99").value=dez(massagebetrag_wert,0,2,"","0",","); 
        
  kachelofenbetrag_wert = document.getElementById("uid41").value;
  kachelofenbetrag_wert = kachelofenbetrag_wert.replace(",",".");
  if(kachelofenbetrag_wert == "") {
    kachelofenbetrag_wert = 0;
  }
  document.getElementById("uid41").value=dez(kachelofenbetrag_wert,0,2,"","0",",");
  
  saunabetrag_wert = document.getElementById("uid57").value;
  saunabetrag_wert = saunabetrag_wert.replace(",",".");
  if(saunabetrag_wert == "") {
    saunabetrag_wert = 0;
  }               
  document.getElementById("uid57").value=dez(saunabetrag_wert,0,2,"","0",",");
  
  gesamtbetrag = eval(versandgebuehren_wert)+eval(sauna_tageskarte_wert)+eval(sauna_10er_wert)+eval(sauna_21er_wert)+eval(teilmassage_wert)+eval(vollmassage_wert)+eval(honigmassage_wert)+eval(saunabetrag_wert)+eval(massagebetrag_wert)+eval(kachelofenbetrag_wert);
  document.getElementById("uid62").value=dez(gesamtbetrag,0,2,"","0",",");
}



function multipliziereSaunaTageskarte() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid47").value;
  if(document.getElementById('uid47').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("sauna_tageskarte").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid48").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid48").value = anzahl_wert;
    addiere();
  }
}

function multipliziereSauna10erKarte() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid51").value;
  if(document.getElementById('uid51').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("sauna_10er").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid52").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid52").value = anzahl_wert;
    addiere();
  }
}

function multipliziereSauna21erKarte() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid55").value;
  if(document.getElementById('uid55').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("sauna_21er").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid56").value = dez(anzahl_wert,0,2,"","0",",");
    addiere(); 
  } else {
    anzahl_wert = 0;
    document.getElementById("uid56").value = anzahl_wert;
    addiere();
  }                                       
}

function multipliziereTeilmassage() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid85").value;
  if(document.getElementById('uid85').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("teilmassage").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid86").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid86").value = anzahl_wert;
    addiere();
  }
}

function multipliziereVollmassage() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid90").value;
  if(document.getElementById('uid90').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("vollmassage").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid91").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid91").value = anzahl_wert;
    addiere();
  }
}

function multipliziereHonigmassage() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid96").value;
  if(document.getElementById('uid96').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("honigmassage").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid97").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid97").value = anzahl_wert;
    addiere();
  }
}

/*
function multipliziereSaunaVerwoehntag() {
  var anzahl, wert, anzahl_wert;
  anzahl = document.getElementById("uid59").value;
  if(document.getElementById('uid59').value.search(/^[0-9\s]+$/) == 0) {
    wert = document.getElementById("sauna_verwoehntag").innerHTML;
    wert = wert.replace(",",".");
    anzahl_wert = anzahl * wert;
    document.getElementById("uid60").value = dez(anzahl_wert,0,2,"","0",",");
    addiere();
  } else {
    anzahl_wert = 0;
    document.getElementById("uid60").value = anzahl_wert;
    addiere();
  }  
}
*/

if(document.getElementById("uid47")) {
  saunatageskarte_anzahl = document.getElementById("uid47");
  saunatageskarte_anzahl.onblur = multipliziereSaunaTageskarte;
  
  sauna10erKarte_anzahl = document.getElementById("uid51");
  sauna10erKarte_anzahl.onblur = multipliziereSauna10erKarte;
  
  sauna21erKarte_anzahl = document.getElementById("uid55");
  sauna21erKarte_anzahl.onblur = multipliziereSauna21erKarte;
  
  teilmassage_anzahl = document.getElementById("uid85");
  teilmassage_anzahl.onblur = multipliziereTeilmassage;
  
  vollmassage_anzahl = document.getElementById("uid90");
  vollmassage_anzahl.onblur = multipliziereVollmassage;
  
  honigmassage_anzahl = document.getElementById("uid96");
  honigmassage_anzahl.onblur = multipliziereHonigmassage;  
  
  /*saunaVerwoehntagKarte_anzahl = document.getElementById("uid59");
  saunaVerwoehntagKarte_anzahl.onblur = multipliziereSaunaVerwoehntag;*/
  
  saunabetrag_wert = document.getElementById("uid57");
  saunabetrag_wert.onblur = addiere;
  
  kachelofenbetrag_wert = document.getElementById("uid41");
  kachelofenbetrag_wert.onblur = addiere;
  
  massagebetrag_wert = document.getElementById("uid99");
  massagebetrag_wert.onblur = addiere; 
}  
