window.addEventListener('load', function() { function replInpt(n){ let t=getTemplate("input-template") let x=t.firstElementChild; x.id=n.id; x.classList=n.classList n.hasAttribute("optional") ? x.min=0 : x.required=true t.lastElementChild.innerHTML=n.getAttribute("sign") n.parentNode.replaceChild(t,n) } let x=document.getElementsByTagName("NUM") for(var i=x.length-1;i>=0;i--) replInpt(x[i]) readGET() toggleOptions() soliChanged() $_id("rent").focus() }) function $_id(t){return document.getElementById(t)} function leaveInput(n){n.value=Math.abs(Number(n.value)); update()} function nextInput(e){ if(e.key==="Enter"&&(e.target.value||!e.target.required)){ if(e.target.classList.contains("add-person")) addPerson(e.target) else focusNextInput(e.target) } } function focusNextInput(n){ if(n.id!=="qm"){ let x=document.getElementsByTagName("INPUT") for(var i=0;i2?v-1:1); update() } function addRoom(n,sz=null,ct=1,cli=false){ let x=getTemplate("room-template"), y=x.querySelector("input") y.value=sz; x.querySelector(".residents>i").innerHTML=ct n.parentNode.insertBefore(x,n) if(!cli){ update(); y.focus() } } function delRoom(n){n.parentNode.parentNode.removeChild(n.parentNode); update()} function soliChanged(){ $_id("soli-val").innerHTML=$_id("soli").value update() } function toggleOptions(n) { let x=$_id("options"), ul=x.previousElementSibling x.className=x.className ? "" : "close" x.style=x.className ? "display:none" : "" ul.style="list-style-type:disclosure-"+(x.className ? "closed" : "open") } function getTemplate(t){return $_id(t).firstElementChild.cloneNode(true)} function setError(t){let x=$_id("error"); x.innerHTML=t; x.hidden=!t} function update() { setError("") writeGET() let r=$_id("rooms"), cl=r.querySelectorAll(".residents>span") for(var i=0;ia+b,0), c=lr.reduce((a,b)=>a+b,0) if(s>qm) return setError("Die Zimmer sind größer als die gesamte Wohnung") let z=(shared+rent*(1-s/qm))/c let avg=(shared+rent)/c for(var i=0;i0?t+"="+x+"&":"")} let x=$_id("rooms").querySelectorAll(".room") var qr=[] for(var i=0;ii").innerHTML) qr.push(c>1 ? s+":"+c : s) } let qq=q("rent")+q("shared")+q("qm")+q("soli")+"r="+qr.join("-") let link=$_id("shortlink") link.href=location.pathname+"?"+qq link.innerHTML="?"+qq // history.replaceState(null,"", "?"+qq) }