idgen=0;

function addkw() {
 idgen++;
 var k=document.getElementById('kampfwert');
 if (k.value=='') {
  alert('Es muss eine Zahl eingegeben werden.');
  k.focus();
  return false;
 } else {
  x=k.value.replace(/[0-9]/g,"");
  if (x != "") {
   alert('Es knnen nur Zahlen eingegeben werden.');
   k.value="";
   k.focus();
   return false;
  }
 }
 var tbody=document.getElementById('kampfwerte').getElementsByTagName("TBODY")[0];
 var row = document.createElement("TR")
 row.setAttribute('id',idgen,0);
 var td1 = document.createElement("TD")
 td1.appendChild(document.createTextNode("Kampfwert:"))
 var td2 = document.createElement("TD");
 var kwin = document.createElement("input");
 kwin.setAttribute('style','width:20px;',0);
 kwin.setAttribute('value',k.value,0);
 kwin.setAttribute('name','kw',0);
 kwin.setAttribute('onclick','this.select();',0);
 td2.appendChild (kwin)
 var td3=document.createElement("TD");
 var delbtn=document.createElement("input");
 delbtn.setAttribute('class','button',0);
 delbtn.setAttribute('type','button',0);
 delbtn.setAttribute('value','Enfernen',0);
 delbtn.setAttribute('style','width:100px;',0);
 delbtn.setAttribute('onclick','delkw("'+idgen+'")',0);
 td3.appendChild(delbtn);
 row.appendChild(td1);
 row.appendChild(td2);
 row.appendChild(td3);
 tbody.appendChild(row);
 k.value='';
 k.focus();
}

function delkw(x) {
 tbl=document.getElementById('kampfwerte');
 for (i=0;i<tbl.rows.length;i++) {
  if (tbl.rows[i].id == x) {
   tbl.deleteRow(i);
   return;
  }
 }
}

function clrkw() {
 tbl=document.getElementById('kampfwerte');
 while (tbl.rows.length > 2) {
  tbl.deleteRow(tbl.rows.length-1);
 }
 tbl=document.getElementById('mooks');
 while (tbl.rows.length > 2) {
  tbl.deleteRow(tbl.rows.length-1);
 }
 document.getElementById('nrmooks').value='';
}

function genmooks() {
 x=document.getElementById('nrmooks').value.replace(/[0-9]/g,"");
 if (x != '') {
  alert("Es muss eine Zahl angegeben werden.");
  document.getElementById('nrmooks').focus();
  return false;
 }
 if (document.getElementById('nrmooks').value == '') {
  alert("Die Anzahl der Mooks muss angegeben werden.");
  document.getElementById('nrmooks').focus();
  return false;
 }
 tbl=document.getElementById('mooks');
 while (tbl.rows.length > 2) {
  tbl.deleteRow(tbl.rows.length-1);
 }
 kws=document.getElementsByName('kw');
 nr=kws.length;
 sum=0;
 for (i=0;i<nr;i++) {
  sum+=parseInt(kws[i].value);
 }
 if (sum == 0) {
  alert('Es müssen vorher die Kampfwerte der Helden eingetragen werden.');
  return false;
 }
 wert=Math.floor((sum / nr) / 2);
 var werte=new Array();
  
 for (i=0;i<parseInt(document.getElementById('nrmooks').value);i++) {
  w=wert+Math.floor(Math.random()*wert)+1;
  if (werte[w] == null) { werte[w]=1; }
  else { werte[w]+=1; }
 }
 var werte2=sortAssoc(werte);
 for (var i in werte2) {
  if (parseInt(i) > '0') { 
   var tbody=document.getElementById('mooks').getElementsByTagName("TBODY")[0];
   var row = document.createElement("TR")
   row.setAttribute('id',idgen,0);
   var td1 = document.createElement("TD")
   td1.appendChild(document.createTextNode(werte2[i]+"x Kampfwert:"))
   var td2 = document.createElement("TD");
   var kwin = document.createElement("input");
   kwin.setAttribute('style','width:20px;',0);
   kwin.setAttribute('name','mw',0);
   kwin.setAttribute('value',i,0);
   kwin.setAttribute('onclick','this.select();',0);
   td2.appendChild (kwin)
   row.appendChild(td1);
   row.appendChild(td2);
   tbody.appendChild(row);  
  }
 }
}
 
function sortAssoc(aInput) {
 var aTemp = [];
 for (var sKey in aInput)
 aTemp.push([sKey, aInput[sKey]]);
 aTemp.sort(function () {return arguments[0][1] < arguments[1][1]});
 var aOutput = [];
 for (var nIndex = aTemp.length-1; nIndex >=0; nIndex--)
 aOutput[aTemp[nIndex][0]] = aTemp[nIndex][1];
 return aOutput;
}

