var element=document.getElementById('placeholder');
element.innerHTML='<script id="fabLocaleVariable1777530692276"> var fabLocaleData={ locale:\'de\', decimalseparator:\',\' }; </script> <script id="fabGlobalJsVariable1777530692277"> var fabUmschlingBasisText=\'Umschlingungs- Winkel\'; </script> <script id="fabGlobalJsVariable1777530692278"> var fabFmrMaxZ1=\'FM\'; </script> <script id="fabGlobalJsVariable1777530692279"> var fabFmrMaxZ2=\'max\'; </script> <script id="fabGlobalJsVariable1777530692280"> var fabFmrMinZ1=\'FM\'; </script> <script id="fabGlobalJsVariable1777530692281"> var fabFmrMinZ2=\'min\'; </script> <script id="fabGlobalJsVariable1777530692282"> var fabFgrZ1=\'FGM\'; </script> <script id="fabGlobalJsVariable1777530692283"> var fabFgrZ2=\'\'; </script> <script id="fabGlobalJsVariable1777530692284"> var fabFBKurz=\'FB\'; </script> <script id="fabGlobalJsVariable1777530692285"> var fabW1Kurz=\'W1\'; </script> <script id="fabGlobalJsVariable1777530692286"> var fabW2Kurz=\'W2\'; </script> <script id="fabGlobalJsVariable1777530692287"> var fabMrKurz=\'FM\'; </script> <script id="fabGlobalJsVariable1777530692288"> var fabFmKurz=\'FW\'; </script> <script id="fabGlobalJsVariable1777530692289"> var fabFgKurz=\'FG\'; </script> <script id="fabGlobalJsVariable1777530692290"> var fabW1Lang=\'Winkel 1\'; </script> <script id="fabGlobalJsVariable1777530692291"> var fabW2Lang=\'Winkel 2\'; </script> <script id="fabGlobalJsVariable1777530692292"> var fabMrLang=\'Messrichtung\'; </script> <script id="fabGlobalJsVariable1777530692293"> var fabFmLang=\'Winkelhalbierende\'; </script> <script id="fabGlobalJsVariable1777530692294"> var fabFgLang=\'Walzengewicht\'; </script> <script>document.fabAfterTabChange = () => {if (window.resizeWinkelzeichner===undefined){}else{window.resizeWinkelzeichner();}}; </script> <form class="produktauswahl"> <div style="display:flex;flex-direction:row;justify-content:space-between;"> <div><a href="https://haehne.de" style="border-style:none;"><img src="img/logo.png" style="max-width:200px" /></a> <h1>Configurator</h1> </div> <div style="margin-top:1em;"> <script> async function getInputElementNameValueForUrl1(inputElementId){ try{ let element=document.getElementById(inputElementId); if(element!=null){ if(typeof element.GetTechnicalUrlValue===\'function\'){let namevalue=element.name; if(namevalue===undefined){let nameAtt=element.attributes["name"];if(nameAtt!=null){namevalue=nameAtt.value;}}if(namevalue===undefined){namevalue=element.id;}let techurlval=element.GetTechnicalUrlValue(); if(techurlval==null || techurlval==\'\'){return "";} return namevalue+"="+encodeURIComponent(techurlval)+"&"; }else if(element.type==\'file\'){ const toBase64 = file => new Promise((resolve, reject) => { const reader = new FileReader(); if(file!=null){ reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; } else { resolve(null); } }); let base64=await toBase64(element.files[0]); console.log(encodeURIComponent(base64)); return element.name+"="+encodeURIComponent(base64)+"&"; }else if(element.multiple){ let options=element.options; let optionsurl=""; for(let i=0;i<options.length;i++){ if(options[i].selected){ optionsurl+=element.name+"="+encodeURIComponent(options[i].value)+"&"; } } return optionsurl; }else if(element.tagName==\'CANVAS\'){ let dataurl=await element.toDataURL("image/png");return element.id+"="+encodeURIComponent(dataurl)+"&"; }else if(element.type==\'checkbox\'){if(element.checked){return element.name+"="+encodeURIComponent(element.checked)+"&";}else{return "";} }else if(element.type==\'radio\'){if(element.checked){return element.name+"="+encodeURIComponent(element.value)+"&";}else{return "";} }else if(element.tagName==\'SELECT\'){ console.log(element.id+\': \'+element.value); if(element.value==null || element.value==\'\'){return "";}else{return element.name+"="+encodeURIComponent(element.value)+"&";} }else{ return element.name+"="+encodeURIComponent(element.value)+"&"; } } else{return "";} }catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } function isInputValueValid1(inputElementId){ let element=document.getElementById(inputElementId); if(element!=null && element.tagName==\'INPUT\'){ console.log(element); element.classList.remove(\'faberror\'); element.setCustomValidity(""); let valid=element.reportValidity(); if(valid==false){ if(inputElementId==\'datenschutzok\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'telefon\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'email\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'stueckzahl\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} element.classList.add(\'faberror\'); element.scrollIntoView({behavior:"smooth",block:"center"}); element.focus(); console.log(\'Nicht valide: \'+inputElementId); } return valid; }else{ return true; } } function isFormValid1(){ console.log(\'Checking validity...\'); return true; } function getUrlParameterNameValueForUrl1(urlParameterName){ const searchParams = new URLSearchParams(window.location.search); if(searchParams.has(urlParameterName)){ return urlParameterName+\'=\'+searchParams.get(urlParameterName)+\'&\'; }else{ return ""; } } async function fabInputFieldSubmitBlst1795077999GetWdw(baseUrl){ try{ let btnFabInputField1777530692295=null;try{btnFabInputField1777530692295=document.getElementById(\'fabInputField1777530692295\');if(btnFabInputField1777530692295!=null){if(btnFabInputField1777530692295.classList.contains(\'fab-button-processing\')){return;}btnFabInputField1777530692295.classList.add(\'fab-button-processing\');}let query="messageelementid=nachricht&"; console.log(\'Adding URL param for locale\');if(!isInputValueValid1("locale")){return;} query+=await getInputElementNameValueForUrl1("locale"); console.log(\'Adding URL param for beratung\');if(!isInputValueValid1("beratung")){return;} query+=await getInputElementNameValueForUrl1("beratung"); console.log(\'Adding URL param for katalog\');if(!isInputValueValid1("katalog")){return;} query+=await getInputElementNameValueForUrl1("katalog"); console.log(\'Adding URL param for angebot\');if(!isInputValueValid1("angebot")){return;} query+=await getInputElementNameValueForUrl1("angebot"); console.log(\'Adding URL param for stueckzahl\');if(!isInputValueValid1("stueckzahl")){return;} query+=await getInputElementNameValueForUrl1("stueckzahl"); console.log(\'Adding URL param for firma\');if(!isInputValueValid1("firma")){return;} query+=await getInputElementNameValueForUrl1("firma"); console.log(\'Adding URL param for strasse\');if(!isInputValueValid1("strasse")){return;} query+=await getInputElementNameValueForUrl1("strasse"); console.log(\'Adding URL param for plz\');if(!isInputValueValid1("plz")){return;} query+=await getInputElementNameValueForUrl1("plz"); console.log(\'Adding URL param for ort\');if(!isInputValueValid1("ort")){return;} query+=await getInputElementNameValueForUrl1("ort"); console.log(\'Adding URL param for name\');if(!isInputValueValid1("name")){return;} query+=await getInputElementNameValueForUrl1("name"); console.log(\'Adding URL param for telefon\');if(!isInputValueValid1("telefon")){return;} query+=await getInputElementNameValueForUrl1("telefon"); console.log(\'Adding URL param for email\');if(!isInputValueValid1("email")){return;} query+=await getInputElementNameValueForUrl1("email"); console.log(\'Adding URL param for datum\');if(!isInputValueValid1("datum")){return;} query+=await getInputElementNameValueForUrl1("datum"); console.log(\'Adding URL param for datenschutzok\');if(!isInputValueValid1("datenschutzok")){return;} query+=await getInputElementNameValueForUrl1("datenschutzok"); console.log(\'Adding URL param for bandzugoderbreite_bandzug\');if(!isInputValueValid1("bandzugoderbreite_bandzug")){return;} query+=await getInputElementNameValueForUrl1("bandzugoderbreite_bandzug"); console.log(\'Adding URL param for bandzug\');if(!isInputValueValid1("bandzug")){return;} query+=await getInputElementNameValueForUrl1("bandzug"); console.log(\'Adding URL param for bandzugoderbreite_breite\');if(!isInputValueValid1("bandzugoderbreite_breite")){return;} query+=await getInputElementNameValueForUrl1("bandzugoderbreite_breite"); console.log(\'Adding URL param for zugn_pro_breitemm\');if(!isInputValueValid1("zugn_pro_breitemm")){return;} query+=await getInputElementNameValueForUrl1("zugn_pro_breitemm"); console.log(\'Adding URL param for bahnbreitemm\');if(!isInputValueValid1("bahnbreitemm")){return;} query+=await getInputElementNameValueForUrl1("bahnbreitemm"); console.log(\'Adding URL param for bandzugoderbreite_min_bandzug\');if(!isInputValueValid1("bandzugoderbreite_min_bandzug")){return;} query+=await getInputElementNameValueForUrl1("bandzugoderbreite_min_bandzug"); console.log(\'Adding URL param for bandzugmin\');if(!isInputValueValid1("bandzugmin")){return;} query+=await getInputElementNameValueForUrl1("bandzugmin"); console.log(\'Adding URL param for bandzugoderbreite_min_breite\');if(!isInputValueValid1("bandzugoderbreite_min_breite")){return;} query+=await getInputElementNameValueForUrl1("bandzugoderbreite_min_breite"); console.log(\'Adding URL param for zugn_pro_breitemm_min\');if(!isInputValueValid1("zugn_pro_breitemm_min")){return;} query+=await getInputElementNameValueForUrl1("zugn_pro_breitemm_min"); console.log(\'Adding URL param for bahnbreitemm_min\');if(!isInputValueValid1("bahnbreitemm_min")){return;} query+=await getInputElementNameValueForUrl1("bahnbreitemm_min"); console.log(\'Adding URL param for walzengewicht\');if(!isInputValueValid1("walzengewicht")){return;} query+=await getInputElementNameValueForUrl1("walzengewicht"); console.log(\'Adding URL param for walzengewicht_einheit\');if(!isInputValueValid1("walzengewicht_einheit")){return;} query+=await getInputElementNameValueForUrl1("walzengewicht_einheit"); console.log(\'Adding URL param for winkel1\');if(!isInputValueValid1("winkel1")){return;} query+=await getInputElementNameValueForUrl1("winkel1"); console.log(\'Adding URL param for winkel2\');if(!isInputValueValid1("winkel2")){return;} query+=await getInputElementNameValueForUrl1("winkel2"); console.log(\'Adding URL param for winkel1alternativ\');if(!isInputValueValid1("winkel1alternativ")){return;} query+=await getInputElementNameValueForUrl1("winkel1alternativ"); console.log(\'Adding URL param for winkel2alternativ\');if(!isInputValueValid1("winkel2alternativ")){return;} query+=await getInputElementNameValueForUrl1("winkel2alternativ"); console.log(\'Adding URL param for bandzuganteil_n\');if(!isInputValueValid1("bandzuganteil_n")){return;} query+=await getInputElementNameValueForUrl1("bandzuganteil_n"); console.log(\'Adding URL param for bandzuganteilmin_n\');if(!isInputValueValid1("bandzuganteilmin_n")){return;} query+=await getInputElementNameValueForUrl1("bandzuganteilmin_n"); console.log(\'Adding URL param for gesamtkraft_n\');if(!isInputValueValid1("gesamtkraft_n")){return;} query+=await getInputElementNameValueForUrl1("gesamtkraft_n"); console.log(\'Adding URL param for gesamtkraftmin_n\');if(!isInputValueValid1("gesamtkraftmin_n")){return;} query+=await getInputElementNameValueForUrl1("gesamtkraftmin_n"); console.log(\'Adding URL param for walzengewichtanteil_n\');if(!isInputValueValid1("walzengewichtanteil_n")){return;} query+=await getInputElementNameValueForUrl1("walzengewichtanteil_n"); console.log(\'Adding URL param for typ\');if(!isInputValueValid1("typ")){return;} query+=await getInputElementNameValueForUrl1("typ"); console.log(\'Adding URL param for typ2\');if(!isInputValueValid1("typ2")){return;} query+=await getInputElementNameValueForUrl1("typ2"); console.log(\'Adding URL param for lagerung\');if(!isInputValueValid1("lagerung")){return;} query+=await getInputElementNameValueForUrl1("lagerung"); console.log(\'Adding URL param for wellenzapfendurchmesser_mm\');if(!isInputValueValid1("wellenzapfendurchmesser_mm")){return;} query+=await getInputElementNameValueForUrl1("wellenzapfendurchmesser_mm"); console.log(\'Adding URL param for typ_lang\');if(!isInputValueValid1("typ_lang")){return;} query+=await getInputElementNameValueForUrl1("typ_lang"); console.log(\'Adding URL param for baugroesse\');if(!isInputValueValid1("baugroesse")){return;} query+=await getInputElementNameValueForUrl1("baugroesse"); console.log(\'Adding URL param for messrichtung\');if(!isInputValueValid1("messrichtung")){return;} query+=await getInputElementNameValueForUrl1("messrichtung"); console.log(\'Adding URL param for bauform\');if(!isInputValueValid1("bauform")){return;} query+=await getInputElementNameValueForUrl1("bauform"); console.log(\'Adding URL param for ballenlaenge\');if(!isInputValueValid1("ballenlaenge")){return;} query+=await getInputElementNameValueForUrl1("ballenlaenge"); console.log(\'Adding URL param for nennkraefte_n\');if(!isInputValueValid1("nennkraefte_n")){return;} query+=await getInputElementNameValueForUrl1("nennkraefte_n"); console.log(\'Adding URL param for option_k\');if(!isInputValueValid1("option_k")){return;} query+=await getInputElementNameValueForUrl1("option_k"); console.log(\'Adding URL param for stdleitung_art\');if(!isInputValueValid1("stdleitung_art")){return;} query+=await getInputElementNameValueForUrl1("stdleitung_art"); console.log(\'Adding URL param for stdleitung_m\');if(!isInputValueValid1("stdleitung_m")){return;} query+=await getInputElementNameValueForUrl1("stdleitung_m"); console.log(\'Adding URL param for stdanschluss\');if(!isInputValueValid1("stdanschluss")){return;} query+=await getInputElementNameValueForUrl1("stdanschluss"); console.log(\'Adding URL param for anschlussvariante\');if(!isInputValueValid1("anschlussvariante")){return;} query+=await getInputElementNameValueForUrl1("anschlussvariante"); console.log(\'Adding URL param for option_r\');if(!isInputValueValid1("option_r")){return;} query+=await getInputElementNameValueForUrl1("option_r"); console.log(\'Adding URL param for option_y\');if(!isInputValueValid1("option_y")){return;} query+=await getInputElementNameValueForUrl1("option_y"); console.log(\'Adding URL param for option_u\');if(!isInputValueValid1("option_u")){return;} query+=await getInputElementNameValueForUrl1("option_u"); console.log(\'Adding URL param for option_w\');if(!isInputValueValid1("option_w")){return;} query+=await getInputElementNameValueForUrl1("option_w"); console.log(\'Adding URL param for option_d\');if(!isInputValueValid1("option_d")){return;} query+=await getInputElementNameValueForUrl1("option_d"); console.log(\'Adding URL param for option_e\');if(!isInputValueValid1("option_e")){return;} query+=await getInputElementNameValueForUrl1("option_e"); console.log(\'Adding URL param for option_g\');if(!isInputValueValid1("option_g")){return;} query+=await getInputElementNameValueForUrl1("option_g"); console.log(\'Adding URL param for option_h\');if(!isInputValueValid1("option_h")){return;} query+=await getInputElementNameValueForUrl1("option_h"); console.log(\'Adding URL param for option_j\');if(!isInputValueValid1("option_j")){return;} query+=await getInputElementNameValueForUrl1("option_j"); console.log(\'Adding URL param for option_l\');if(!isInputValueValid1("option_l")){return;} query+=await getInputElementNameValueForUrl1("option_l"); console.log(\'Adding URL param for option_m\');if(!isInputValueValid1("option_m")){return;} query+=await getInputElementNameValueForUrl1("option_m"); console.log(\'Adding URL param for option_p\');if(!isInputValueValid1("option_p")){return;} query+=await getInputElementNameValueForUrl1("option_p"); console.log(\'Adding URL param for option_q\');if(!isInputValueValid1("option_q")){return;} query+=await getInputElementNameValueForUrl1("option_q"); console.log(\'Adding URL param for option_v\');if(!isInputValueValid1("option_v")){return;} query+=await getInputElementNameValueForUrl1("option_v"); console.log(\'Adding URL param for option_f\');if(!isInputValueValid1("option_f")){return;} query+=await getInputElementNameValueForUrl1("option_f"); console.log(\'Adding URL param for option_x\');if(!isInputValueValid1("option_x")){return;} query+=await getInputElementNameValueForUrl1("option_x"); console.log(\'Adding URL param for option_uc\');if(!isInputValueValid1("option_uc")){return;} query+=await getInputElementNameValueForUrl1("option_uc"); console.log(\'Adding URL param for option_z\');if(!isInputValueValid1("option_z")){return;} query+=await getInputElementNameValueForUrl1("option_z"); console.log(\'Adding URL param for zusatz1\');if(!isInputValueValid1("zusatz1")){return;} query+=await getInputElementNameValueForUrl1("zusatz1"); console.log(\'Adding URL param for zusatz2\');if(!isInputValueValid1("zusatz2")){return;} query+=await getInputElementNameValueForUrl1("zusatz2"); console.log(\'Adding URL param for zusatz3\');if(!isInputValueValid1("zusatz3")){return;} query+=await getInputElementNameValueForUrl1("zusatz3"); console.log(\'Adding URL param for zusatz4\');if(!isInputValueValid1("zusatz4")){return;} query+=await getInputElementNameValueForUrl1("zusatz4"); console.log(\'Adding URL param for zusatz5\');if(!isInputValueValid1("zusatz5")){return;} query+=await getInputElementNameValueForUrl1("zusatz5"); console.log(\'Adding URL param for zusatz6\');if(!isInputValueValid1("zusatz6")){return;} query+=await getInputElementNameValueForUrl1("zusatz6"); console.log(\'Adding URL param for zusatz7\');if(!isInputValueValid1("zusatz7")){return;} query+=await getInputElementNameValueForUrl1("zusatz7"); console.log(\'Adding URL param for zusatz8\');if(!isInputValueValid1("zusatz8")){return;} query+=await getInputElementNameValueForUrl1("zusatz8"); console.log(\'Adding URL param for zusatz9\');if(!isInputValueValid1("zusatz9")){return;} query+=await getInputElementNameValueForUrl1("zusatz9"); console.log(\'Adding URL param for zusatz10\');if(!isInputValueValid1("zusatz10")){return;} query+=await getInputElementNameValueForUrl1("zusatz10"); console.log(\'Adding URL param for zusatz11\');if(!isInputValueValid1("zusatz11")){return;} query+=await getInputElementNameValueForUrl1("zusatz11"); console.log(\'Adding URL param for zusatz12\');if(!isInputValueValid1("zusatz12")){return;} query+=await getInputElementNameValueForUrl1("zusatz12"); console.log(\'Adding URL param for zusatz13\');if(!isInputValueValid1("zusatz13")){return;} query+=await getInputElementNameValueForUrl1("zusatz13"); console.log(\'Adding URL param for zusatz14\');if(!isInputValueValid1("zusatz14")){return;} query+=await getInputElementNameValueForUrl1("zusatz14"); console.log(\'Adding URL param for zusatz15\');if(!isInputValueValid1("zusatz15")){return;} query+=await getInputElementNameValueForUrl1("zusatz15"); console.log(\'Adding URL param for zusatz16\');if(!isInputValueValid1("zusatz16")){return;} query+=await getInputElementNameValueForUrl1("zusatz16"); console.log(\'Adding URL param for zusatz17\');if(!isInputValueValid1("zusatz17")){return;} query+=await getInputElementNameValueForUrl1("zusatz17"); console.log(\'Adding URL param for zusatz18\');if(!isInputValueValid1("zusatz18")){return;} query+=await getInputElementNameValueForUrl1("zusatz18"); console.log(\'Adding URL param for zusatz19\');if(!isInputValueValid1("zusatz19")){return;} query+=await getInputElementNameValueForUrl1("zusatz19"); console.log(\'Adding URL param for zusatz20\');if(!isInputValueValid1("zusatz20")){return;} query+=await getInputElementNameValueForUrl1("zusatz20"); console.log(\'Adding URL param for blockausrichtung\');if(!isInputValueValid1("blockausrichtung")){return;} query+=await getInputElementNameValueForUrl1("blockausrichtung"); console.log(\'Adding URL param for blockposition\');if(!isInputValueValid1("blockposition")){return;} query+=await getInputElementNameValueForUrl1("blockposition"); console.log(\'Adding URL param for blockwinkel\');if(!isInputValueValid1("blockwinkel")){return;} query+=await getInputElementNameValueForUrl1("blockwinkel"); console.log(\'Adding URL param for expertenmodus\');if(!isInputValueValid1("expertenmodus")){return;} query+=await getInputElementNameValueForUrl1("expertenmodus"); console.log(\'Adding URL param for sondernennkraft\');if(!isInputValueValid1("sondernennkraft")){return;} query+=await getInputElementNameValueForUrl1("sondernennkraft"); console.log(\'Adding URL param for sensorattributecsv\');if(!isInputValueValid1("sensorattributecsv")){return;} query+=await getInputElementNameValueForUrl1("sensorattributecsv"); console.log(\'Adding URL param for bemerkung\');if(!isInputValueValid1("bemerkung")){return;} query+=await getInputElementNameValueForUrl1("bemerkung"); console.log(\'Adding URL param for projektname\');if(!isInputValueValid1("projektname")){return;} query+=await getInputElementNameValueForUrl1("projektname"); console.log(\'Adding URL param for messstelle\');if(!isInputValueValid1("messstelle")){return;} query+=await getInputElementNameValueForUrl1("messstelle"); console.log(\'Adding URL param for typbezeichner\');if(!isInputValueValid1("typbezeichner")){return;} query+=await getInputElementNameValueForUrl1("typbezeichner"); console.log(\'Adding URL param for alternativeswinkelsystem\');if(!isInputValueValid1("alternativeswinkelsystem")){return;} query+=await getInputElementNameValueForUrl1("alternativeswinkelsystem"); console.log(\'Adding URL param for winkel1cnvs\');if(!isInputValueValid1("winkel1cnvs")){return;} query+=await getInputElementNameValueForUrl1("winkel1cnvs"); console.log(\'Adding URL param for winkel2cnvs\');if(!isInputValueValid1("winkel2cnvs")){return;} query+=await getInputElementNameValueForUrl1("winkel2cnvs"); console.log(\'Adding URL param for winkel1alternativcnvs\');if(!isInputValueValid1("winkel1alternativcnvs")){return;} query+=await getInputElementNameValueForUrl1("winkel1alternativcnvs"); console.log(\'Adding URL param for winkel2alternativcnvs\');if(!isInputValueValid1("winkel2alternativcnvs")){return;} query+=await getInputElementNameValueForUrl1("winkel2alternativcnvs"); console.log(\'Adding URL param for winkel4cnvs\');if(!isInputValueValid1("winkel4cnvs")){return;} query+=await getInputElementNameValueForUrl1("winkel4cnvs"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__li\');if(!isInputValueValid1("auslegung__winkel3messrichtung__li")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__li"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__re\');if(!isInputValueValid1("auslegung__winkel3messrichtung__re")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__re"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__ob\');if(!isInputValueValid1("auslegung__winkel3messrichtung__ob")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__ob"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__un\');if(!isInputValueValid1("auslegung__winkel3messrichtung__un")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__un"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__wiha\');if(!isInputValueValid1("auslegung__winkel3messrichtung__wiha")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__wiha"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__frei\');if(!isInputValueValid1("auslegung__winkel3messrichtung__frei")){return;} query+=await getInputElementNameValueForUrl1("auslegung__winkel3messrichtung__frei"); console.log(\'Adding URL param for messrichtung_winkel\');if(!isInputValueValid1("messrichtung_winkel")){return;} query+=await getInputElementNameValueForUrl1("messrichtung_winkel"); window.location=baseUrl+\'?\'+query; }finally{if(btnFabInputField1777530692295!=null){btnFabInputField1777530692295.classList.remove(\'fab-button-processing\');}}}catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } </script><a class="localebutton" href="#" id="fabInputField1777530692295" title="Deutsch" type="button" onclick="fabInputFieldSubmitBlst1795077999GetWdw(\'index.html\');"><img src="img/de.svg" /></a> <script> </script><a class="localebutton" href="#" id="fabInputField1777530692296" title="Englisch" type="button" onclick="fabInputFieldSubmitBlst1795077999GetWdw(\'index_en.html\');"><img src="img/en.svg" /></a> </div> </div> <style> .produktauswahl {font-family:"sans-serif",Verdana,sans-serif;font-size: 0.9rem;font-weight: 400;line-height: 1.5;color: #2b2b2b;text-align: left;background-color: #ffffff;} .produktauswahl * {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding:0;margin:0;} .produktauswahl .sichtbar{} .produktauswahl .unsichtbar{display:none;} .produktauswahl a {color:#046aaf;text-decoration:none;} .produktauswahl a:hover {color:#023d64;text-decoration:underline;} .produktauswahl input[type="radio"]{margin-right:0.5em;} .produktauswahl input[type="radio"]{accent-color:#046aaf;} .produktauswahl input.faberror{background-color:#ffdddd;} .produktauswahl input[type="checkbox"].faberror{outline:4px solid #ffdddd;} .produktauswahl select{padding:0.25em;min-width:10em;} .produktauswahl #typ2bild {min-width:10em;width:10em;max-width:100%;} .produktauswahl #typlinkCntnr{display:inline-block;vertical-align:middle;} .produktauswahl #typlinkCntnr #typlink{display:inline-block;height:100%;} .produktauswahl textarea{padding:0.25em;font-family:"sans-serif",Verdana,sans-serif;} .produktauswahl #bemerkung{height:3em;} .produktauswahl .paar-label,.produktauswahl .bild-label{color:#555555;font-weight:bold;} .produktauswahl input:disabled{background-color:#f5f5f5;color:#888888;opacity: 1;} .produktauswahl .requiredflag{color:#fa0b0b;margin-left:0.5em;} .produktauswahl .fabdynoptempty, .produktauswahl .fabdynoptempty .paar-label,.produktauswahl .fabdynoptempty .bild-label{color:#aaaaaa;} .produktauswahl .optionheadline{font-size:1.2em;color:#046aaf;margin-top:1em;padding-bottom:0px;} .produktauswahl .blockcontainer {display:flex;flex-direction: row;gap:2rem;} .produktauswahl .block1 {width:400px;max-width:400px;flex-basis: 400px;flex-shrink: 1;flex-grow: 0;min-width:400px;} .produktauswahl .block2 {flex-grow:1;flex-shrink:1;flex-basis:700px;} @media (max-width: 1220px) { .produktauswahl .blockcontainer{flex-direction:column;} .produktauswahl .block1 {max-width:100%;flex-basis: unset;} } .produktauswahl .kraftzelle{display:table-cell;white-space: nowrap;} .produktauswahl .kraftzelle .einheit{margin-right:1.5em;} .produktauswahl .kraftzelle label{margin-right:1em;} .produktauswahl .kraftzelle input{width:100%;} .produktauswahl .kurzbezeichner.kraftzelle {padding-left:0.5em;} .produktauswahl .labelinputpaar {width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;gap:0.5em;justify-content:space-between;} .produktauswahl .labelinputpaar.unsichtbar{display:none;} .produktauswahl .paar-label {flex-basis:calc(50% - 1em);} .produktauswahl .input-container {flex-basis:calc(50%);} .produktauswahl #tab-kraft .input-container {flex-basis:calc(50% - 3em);} .produktauswahl .labelinputpaar .input-container input[type=\'text\'],.produktauswahl .labelinputpaar .input-container input[type=\'email\'],.produktauswahl .labelinputpaar .input-container input[type=\'date\'] {width:100%;} .produktauswahl .labelinputpaar label img, .produktauswahl .messrichtungwinkelblock label img {height:1em;margin-right:0.5em;vertical-align:sub;} .produktauswahl .labelinputpaar {margin-top:0.125em;margin-bottom:0.25em;} .produktauswahl .kurzbezeichner {flex-basis:4em;flex-grow:0;flex-shrink:0;} .produktauswahl .kurzbezeichner sub {font-size:70%;} .produktauswahl #sichtbarCntnr .labelinputpaar,.produktauswahl #sichtbarCntnr2 .labelinputpaar,.produktauswahl #sichtbarCntnrRead .labelinputpaar, .produktauswahl .labelinputpaar.typ2 {flex-direction: column;gap:0;} .produktauswahl #sichtbarCntnr .labelinputpaar .input-container,.produktauswahl #sichtbarCntnr2 .labelinputpaar .input-container,.produktauswahl #sichtbarCntnrRead .labelinputpaar .input-container, .produktauswahl .labelinputpaar.typ2 .input-container {width:100%;} .produktauswahl input[type="text"],.produktauswahl input[type="email"],.produktauswahl input[type="date"],.produktauswahl select{padding-top:1px;padding-bottom:1px;padding-left:2px;line-height:1.5em;} .produktauswahl .eingabefeld{max-width:280px;} .produktauswahl #typ2.eingabefeld, .produktauswahl #sichtbarCntnr .eingabefeld,.produktauswahl #sichtbarCntnr2 .eingabefeld{width:100%;max-width:calc(280px - 1.5em);} .produktauswahl .ausgabefeld{} .produktauswahl .ausgabefeld.fabhidden{display:none;} .produktauswahl .ausgabefeld.aufcanvas{background-color:#ffffff55;} .produktauswahl .text_xl{height:7em; width:100%;} .produktauswahl #sichtbarCntnr2 #lagerungCntnr {flex-direction: row;gap:0;} .produktauswahl #sichtbarCntnr2 #lagerungCntnr .paar-label {flex-basis:unset;} .produktauswahl #sichtbarCntnr2 #lagerungCntnr .input-container{flex-basis:unset;margin-left:1rem;} .produktauswahl #sichtbarCntnr2 #lagerungCntnr .eingabefeld{width:unset;} .produktauswahl #sichtbarCntnr2 #lagerungCntnr #lagerung .radiobtnrow{white-space: nowrap;} .produktauswahl .radiobtncontainer{flex-basis:50%;} .produktauswahl .radiobtnrow{display:block;} .produktauswahl .radiobtnrow-inline{display:inline-block;margin-right:1em;} .produktauswahl .localebutton{height:2em; padding:0; margin-right:0.5em; text-decoration:none; display:inline-block; border-width:1px;border-style:solid;border-color:#bbbbbb;} .produktauswahl .localebutton img{height:100%;} .produktauswahl #sensortypliste-cntnr{height:calc(100vh - 300px);min-height:500px;padding:4px;} .produktauswahl .sensortypradiocontainer{display:flex;flex-wrap:wrap;gap:1rem;} .produktauswahl .sensortyp-card{flex-basis:200px;box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);transition: 0.3s;margin-top:0.25rem;margin-bottom:0.25rem;} .produktauswahl .sensortyp-card:hover{box-shadow: 0 8px 16px 0 rgba(0,0,0,0.5);} .produktauswahl .sensortyp-card-img-cntnr{height:100px;width:100%;text-align:center;} .produktauswahl .sensortyp-card-img{max-height:100%;max-width:100%;} .produktauswahl .sensortyp-card .text{padding: 0.25rem;width:100%;text-align:center;} .produktauswahl .sensortyp-card .text h2{padding:0;margin:0;} .produktauswahl .sensortyp-modal-cntnr{display:none;position: fixed;z-index:2000;padding-top:100px;left: 0;top: 0;width: 100%;height: 100%;overflow: auto;background-color:rgb(0,0,0);background-color: rgba(0,0,0,0.4);} .produktauswahl .sensortyp-modal-cntnr.modal-sichtbar{display:block;} .produktauswahl .sensortyp-modal-content{background-color: #ffffff;margin: auto;padding: 20px;border: 1px solid #888;width: 80%;max-width:800px;border-radius:2rem;} .produktauswahl .sensortyp-modal-content .close {color: #aaaaaa;float: right;font-size: 3rem;font-weight: bold;cursor:pointer;} .produktauswahl .sensortyp-card-auswahl-btn{width:100%;border-radius:0;margin-bottom:0;} .produktauswahl .sensortypradiocontainer{width:100%;} .produktauswahl .sensortypradiorow{} .produktauswahl .sensortyp-link {display:block;margin-top:1em;} .produktauswahl .sensortyp-auswahl-btn{margin-top:1em;} .produktauswahl .sensortyp-technischedaten{border-spacing:0.25em;} .produktauswahl .sensortyp-detail{text-align:left; font-size:smaller;font-weight:normal; background-color:#eeeeee; padding-top:0.25em; padding-bottom:0.25em; padding-left:0.75em; padding-right:0.75em;} .produktauswahl .sensortyp-detailname{} .produktauswahl .sensortyp-detailwert{} .produktauswahl #saeulendiagramm{height:calc(100vh - 250px);min-height:500px;} .produktauswahl .dynopt-suffix{padding-left:0.5em;} .produktauswahl .einheit{margin-left:-1.5em;} .produktauswahl .einheit-l{margin-left:-3.5em;} .produktauswahl .feldmiteinheit{padding-right:2em;} .produktauswahl .feldmiteinheit-l{padding-right:4em;} .produktauswahl .zahlenfeld{text-align:right} .produktauswahl .zahlenfeld{width:9em;text-align:right} .produktauswahl #messrichtung_winkel{width:7em;} .produktauswahl #projektname, #messstelle{width:100%;text-align:center} .produktauswahl .gaineinheit{margin-left:-3em;} .produktauswahl .gainfeldmiteinheit{padding-right:4em;} .produktauswahl .gainzahlenfeld{width:9em;text-align:right} .produktauswahl .gainerror{color:red;} .produktauswahl .textfeld{width:100%;} .produktauswahl select{background-color:#f5f5f5;color:#000000;} .produktauswahl .tab-bar{width:100%;display:flex;flex-wrap:nowrap;gap:1px;justify-content:space-between;} .produktauswahl .tab-button-weiter{display:inline-block;} .produktauswahl .tab-button, .produktauswahl .tab-button-weiter{flex-basis:50%;cursor: pointer;padding:1em;background-color:#555555;;color:#ffffff;text-align:center;transition:0.3s;} .produktauswahl .tab-button:hover, .produktauswahl .tab-button-weiter:hover {background-color:#000000;} .produktauswahl .tab-button.tab-button-active{background-color:#066aaf;color:#ffffff;} .produktauswahl .tab-button.tab-button-active:hover {background-color:#066aaf;} .produktauswahl .tab-sheet{width:100%;padding-top:0.5em;} .produktauswahl .sensortyp-onetype{width:100%;margin-top:1em;} .produktauswahl .sensortyp-blockwrapper{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;} .produktauswahl .sensortyp-block1{display:inline-block;flex-basis:calc(50% - 30px);margin-right:20px;} .produktauswahl .sensortyp-block2{display:inline-block;flex-basis:calc(50% - 10px);} .produktauswahl .sensortyp-block1 img{width:100%;} @media (max-width: 768px) { .produktauswahl .sensortyp-blockwrapper{flex-direction:column;gap:0;} .produktauswahl .sensortyp-block1{display:block;margin-right:0px;} .produktauswahl .sensortyp-block2{display:block;} } .produktauswahl .vorzurueckzeile{display:flex;flex-direction:row;justify-content:space-between;gap:1em;margin-top:1em;} .produktauswahl .vorzurueckzeile .tab-button-weiter{border-radius:0.5em;} .produktauswahl hr.trenner{border-style:none;background-color:#dddddd;height:2px;border-radius:50%;} .produktauswahl .button{-webkit-appearance: button;-moz-appearance: button;appearance: button;display:inline-block;} .produktauswahl button,.produktauswahl input[type=\'file\']::file-selector-button,.produktauswahl .button{background-color:#066aaf;color:white;cursor:pointer;padding:1em;text-align:center;transition:0.3s;border-radius:0.5em;border-width:0;border-style:none;font-size:1em;line-height: 1.5em;margin-bottom:0.5rem;} .produktauswahl button:hover,.produktauswahl input[type=\'file\']::file-selector-button:hover,.produktauswahl .button:hover{background-color:#004a8f;text-decoration:none;color:white;cursor:pointer;} .produktauswahl hr{margin-bottom:1em;margin-top:1em;} .produktauswahl .umgebbed-table{display:table;width:100%;} .produktauswahl .umgebbed-row{display:table-row;} .produktauswahl .umgebbed-cell-name{display:table-cell;padding-right:1em;padding-bottom:0.8em;} .produktauswahl .umgebbed-cell-opt1, .produktauswahl .umgebbed-cell-opt2{display:table-cell;padding-right:1em;padding-bottom:0.8em;} .produktauswahl .umgebbed-cell-text{display:table-cell;padding-bottom:0.8em;} .produktauswahl h2 {padding-top:0.8em;padding-bottom:0.4em;} .produktauswahl h3 {padding-top:0.8em;padding-bottom:0.4em;} .produktauswahl .uploadblock{transition:1s;max-height:0px;overflow:hidden;} .produktauswahl .uploadblock.uploadsichtbar{display:block;margin-top:1em;margin-bottom:2em;max-height:500px;} .produktauswahl .uploadblock h2{margin-bottom:0.5em;} .produktauswahl .block2{max-width:1200px;} .produktauswahl #winkel1cnvs-cntnr,.produktauswahl #winkel2cnvs-cntnr,.produktauswahl #winkel1alternativcnvs-cntnr,.produktauswahl #winkel2alternativcnvs-cntnr,.produktauswahl #winkel4cnvs-cntnr{position:absolute;left:0px;top:0px;z-index:1000;} .produktauswahl #messrichtung-cntnr{position:absolute;left:0px;bottom:0px;z-index:1000;} .produktauswahl #messrichtung-cntnr{border-top-width:1px;border-top-style:solid;border-top-color:#dddddd;border-right-width:1px;border-right-style:solid;border-right-color:#dddddd;padding:0.5em;background-color:#ffffff;} .produktauswahl .cnvs-einheit{margin-left:-0.8em;} .produktauswahl #winkel1cnvs,.produktauswahl #winkel2cnvs,.produktauswahl #winkel1alternativcnvs,.produktauswahl #winkel2alternativcnvs,.produktauswahl #winkel4cnvs{width:5em;padding-right:1em;background-color:#ffffffaa;text-align:right;} .produktauswahl .button-processing{cursor: wait;animation: button-processing-animation 3s infinite;pointer-events: none;} @keyframes button-processing-animation {   0%, 100% {background-color: #066aaf;}   50% {background-color: #099aff;} } .produktauswahl .meldung{transition:1s;max-height:0px;overflow:hidden;max-width:20em;} .produktauswahl .meldung.warnung{color:#d9a200;display:block;margin-top:0.5em;max-height:500px;} .produktauswahl .meldung.fehler{color:#ef0a0b;display:block;margin-top:0.5em;max-height:500px;} .produktauswahl .eingabefeld.warnung{border-color:#fabb00;background-color:#ffecb3;} </style> <input type="hidden" name="locale" id="locale" value="de"></input><script> let localeF=document.getElementById(\'locale\'); </script> <div class="tab-bar" id="tab-bar"> <span class="tab-button tab-button-active" id="tab-btn-kraft" onclick="fabTabLayoutnullOpenTabSheets([\'tab-kraft\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Kräfte</span> <span class="tab-button" id="tab-btn-sensortyp" onclick="fabTabLayoutnullOpenTabSheets([\'tab-sensortyp\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Sensor-Typ</span> <span class="tab-button" id="tab-btn-optionen" onclick="fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Optionen</span> <span class="tab-button" id="tab-btn-projekt" onclick="fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Projekt</span> </div> <div class="blockcontainer"> <div class="block1 tab-sheet tab-sheet-inactive" id="tab-projekt"> <div class="" style="width:100%;"> <span>Ich wünsche</span> <span style="display:flex;justify-content:space-between;flex-wrap:wrap;"> <span> <span class="input-container"><input type="checkbox" name="beratung" class="eingabefeld" id="beratung"></input><script> let beratungF=document.getElementById(\'beratung\'); </script></span> <label for="beratung">Beratung</label> </span> <span> <span class="input-container"><input type="checkbox" name="katalog" class="eingabefeld" id="katalog"></input><script> let katalogF=document.getElementById(\'katalog\'); </script></span> <label for="katalog">Katalog</label> </span> <span> <span class="input-container"><input type="checkbox" name="angebot" class="eingabefeld" id="angebot"></input><script> let angebotF=document.getElementById(\'angebot\'); </script></span> <label for="angebot">Angebot</label> </span> <span> <span class="input-container"><script> function stueckzahlFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabstueckzahllastNumValue", event.currentTarget.value); } function stueckzahlFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabstueckzahlFocusMouseDown",true); } } function stueckzahlSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabstueckzahlFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabstueckzahlFocusMouseDown",false); } function stueckzahlFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (0==0) && (originalInputValue.length>=0)) { stueckzahlSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabstueckzahllastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabstueckzahlHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabstueckzahlHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>9) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabstueckzahllastNumValue"); stueckzahlSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(0, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(0, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabstueckzahlHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (0 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabstueckzahllastNumValue\', newNumericValue); stueckzahlSelectAtFocus(isFocusEvent,event); } </script><input name="stueckzahl" class="eingabefeld" id="stueckzahl" size="2" type="text"></input><script> let stueckzahlF=document.getElementById(\'stueckzahl\'); console.log("registriere"); stueckzahlF.addEventListener(\'mousedown\',stueckzahlFabMousedownNumericValue);stueckzahlF.addEventListener(\'input\',stueckzahlFabPrettyPrintNumericValue);stueckzahlF.addEventListener(\'change\',stueckzahlFabNormalizeNumericValue);stueckzahlF.addEventListener(\'focus\',stueckzahlFabNormalizeNumericValue);stueckzahlF.addEventListener(\'focus\',stueckzahlFabPrettyPrintNumericValue);stueckzahlF.addEventListener(\'blur\',stueckzahlFabPrettyPrintNumericValue,false);;;</script></span> <label for="stueckzahl">Stückzahl</label> </span> </span> </div> <div class="labelinputpaar"> <label for="firma" class="paar-label">Firma</label> <span class="input-container"><input type="text" name="firma" class="eingabefeld" id="firma" maxlength="204"></input><script> let firmaF=document.getElementById(\'firma\'); </script></span> </div> <div class="labelinputpaar"> <label for="strasse" class="paar-label">Straße</label> <span class="input-container"><input type="text" name="strasse" class="eingabefeld" id="strasse" maxlength="204"></input><script> let strasseF=document.getElementById(\'strasse\'); </script></span> </div> <div class="labelinputpaar"> <label for="plz" class="paar-label">Postleitzahl</label> <span class="input-container"><input type="text" name="plz" class="eingabefeld" id="plz" maxlength="204"></input><script> let plzF=document.getElementById(\'plz\'); </script></span> </div> <div class="labelinputpaar"> <label for="ort" class="paar-label">Ort</label> <span class="input-container"><input type="text" name="ort" class="eingabefeld" id="ort" maxlength="204"></input><script> let ortF=document.getElementById(\'ort\'); </script></span> </div> <div class="labelinputpaar"> <label for="name" class="paar-label">Name</label> <span class="input-container"><input type="text" name="name" class="eingabefeld" id="name" maxlength="204"></input><script> let nameF=document.getElementById(\'name\'); </script></span> </div> <div class="labelinputpaar"> <label for="telefon" class="paar-label">Telefon</label> <span class="input-container"><input type="text" name="telefon" class="eingabefeld" id="telefon" maxlength="204"></input><script> let telefonF=document.getElementById(\'telefon\'); </script></span> </div> <div class="labelinputpaar"> <label for="email" class="paar-label">E-Mail</label> <span class="input-container"><input type="email" name="email" class="eingabefeld" id="email" maxlength="204"></input><script> let emailF=document.getElementById(\'email\'); </script></span> </div> <div class="labelinputpaar"> <label for="datum" class="paar-label">Datum</label> <span class="input-container"><input type="date" name="datum" class="eingabefeld" id="datum" value="2026-05-06"></input></span> </div> <div class="labelinputpaar"> <label for="datenschutzok" class="paar-label">Datenschutzerklärung</label> <span class="input-container" style="display:flex;flex-direction:row;align-items: baseline;"><input type="checkbox" name="datenschutzok" class="eingabefeld" id="datenschutzok"></input><script> let datenschutzokF=document.getElementById(\'datenschutzok\'); </script> <label for="datenschutzok" style="margin-left:1.5em;">Ich habe die <a href="https://haehne.de/unternehmen/datenschutzerklaerung/" target="_blank">Datenschutzerklärung der Firma HAEHNE</a> gelesen und bin einverstanden</label></span> </div> <div class="vorzurueckzeile"> <span class="tab-button-weiter" id="fabTabLayout1777530692297" onclick="fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Zurück zu Optionen</span> </div> </div> <div class="block1 tab-sheet tab-sheet-active" id="tab-kraft"> <script type="module" src="https://haehne-configurator.de/script/kraftrechner.js"> </script> <script type="module" src="https://haehne-configurator.de/script/bandzugbahnumrechner.js"> </script> <div class="labelinputpaar"> <label for="bandzugoderbreite_bandzug" class="paar-label"> <input type="radio" name="bandzugoderbreite" id="bandzugoderbreite_bandzug" class="eingabefeld" value="bandzug" onchange="window.activateBandzugOderBreite(this.value,this.id,true);window.recalcValues(this.value,this.id,null);" checked="checked" /> Bandzug (Max.)<span class="requiredflag">*</span></label> <span class="input-container"><script> function bandzugFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbandzuglastNumValue", event.currentTarget.value); } function bandzugFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbandzugFocusMouseDown",true); } } function bandzugSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbandzugFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbandzugFocusMouseDown",false); } function bandzugFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bandzugSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbandzuglastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbandzugHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbandzugHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbandzuglastNumValue"); bandzugSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbandzugHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbandzuglastNumValue\', newNumericValue); bandzugSelectAtFocus(isFocusEvent,event); } </script><input name="bandzug" class="eingabefeld feldmiteinheit-l zahlenfeld" id="bandzug" value="0" type="text"></input><script> let bandzugF=document.getElementById(\'bandzug\'); console.log("registriere"); bandzugF.addEventListener(\'mousedown\',bandzugFabMousedownNumericValue);bandzugF.addEventListener(\'input\',bandzugFabPrettyPrintNumericValue);bandzugF.addEventListener(\'change\',bandzugFabNormalizeNumericValue);bandzugF.addEventListener(\'focus\',bandzugFabNormalizeNumericValue);bandzugF.addEventListener(\'focus\',bandzugFabPrettyPrintNumericValue);bandzugF.addEventListener(\'blur\',bandzugFabPrettyPrintNumericValue,false);;bandzugF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bandzugF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function bandzugForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=bandzugF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bandzugF.id,event); } bandzugF.addEventListener(\'change\',bandzugForwardChange);</script><span class="einheit-l">N</span> <span class="meldung" id="bandzug_meldung"></span></span> <span class="kurzbezeichner">FB<sub>Max</sub></span> </div> <div class="labelinputpaar"> <label for="bandzugoderbreite_breite" class="paar-label"> <input type="radio" name="bandzugoderbreite" id="bandzugoderbreite_breite" class="eingabefeld" value="breite" onchange="window.activateBandzugOderBreite(this.value,this.id,true);window.recalcValues(this.value,this.id,null);" /> Zug/Breite (Max.)</label> <span class="input-container"><script> function zugn_pro_breitemmFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabzugn_pro_breitemmlastNumValue", event.currentTarget.value); } function zugn_pro_breitemmFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabzugn_pro_breitemmFocusMouseDown",true); } } function zugn_pro_breitemmSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabzugn_pro_breitemmFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabzugn_pro_breitemmFocusMouseDown",false); } function zugn_pro_breitemmFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { zugn_pro_breitemmSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabzugn_pro_breitemmlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabzugn_pro_breitemmHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabzugn_pro_breitemmHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabzugn_pro_breitemmlastNumValue"); zugn_pro_breitemmSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabzugn_pro_breitemmHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabzugn_pro_breitemmlastNumValue\', newNumericValue); zugn_pro_breitemmSelectAtFocus(isFocusEvent,event); } </script><input name="zugn_pro_breitemm" class="eingabefeld feldmiteinheit-l zahlenfeld" id="zugn_pro_breitemm" value="0" type="text"></input><script> let zugn_pro_breitemmF=document.getElementById(\'zugn_pro_breitemm\'); console.log("registriere"); zugn_pro_breitemmF.addEventListener(\'mousedown\',zugn_pro_breitemmFabMousedownNumericValue);zugn_pro_breitemmF.addEventListener(\'input\',zugn_pro_breitemmFabPrettyPrintNumericValue);zugn_pro_breitemmF.addEventListener(\'change\',zugn_pro_breitemmFabNormalizeNumericValue);zugn_pro_breitemmF.addEventListener(\'focus\',zugn_pro_breitemmFabNormalizeNumericValue);zugn_pro_breitemmF.addEventListener(\'focus\',zugn_pro_breitemmFabPrettyPrintNumericValue);zugn_pro_breitemmF.addEventListener(\'blur\',zugn_pro_breitemmFabPrettyPrintNumericValue,false);;zugn_pro_breitemmF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=zugn_pro_breitemmF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function zugn_pro_breitemmForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=zugn_pro_breitemmF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,zugn_pro_breitemmF.id,event); } zugn_pro_breitemmF.addEventListener(\'change\',zugn_pro_breitemmForwardChange);function zugn_pro_breitemmForwardPartialChange(){ console.log("Funktion bei partieller Änderung: window.calcBandzugFuerBreite"); let newvalue=zugn_pro_breitemmF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,zugn_pro_breitemmF.id,event); } zugn_pro_breitemmF.addEventListener(\'input\',zugn_pro_breitemmForwardPartialChange);</script><span class="einheit-l">N/mm</span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <div class="labelinputpaar"> <label for="bahnbreitemm" class="paar-label"> <input type="radio" style="visibility: hidden;" /> Bahnbreite (Max.)</label> <span class="input-container"><script> function bahnbreitemmFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbahnbreitemmlastNumValue", event.currentTarget.value); } function bahnbreitemmFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbahnbreitemmFocusMouseDown",true); } } function bahnbreitemmSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbahnbreitemmFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbahnbreitemmFocusMouseDown",false); } function bahnbreitemmFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bahnbreitemmSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbahnbreitemmlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbahnbreitemmHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbahnbreitemmHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbahnbreitemmlastNumValue"); bahnbreitemmSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbahnbreitemmHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbahnbreitemmlastNumValue\', newNumericValue); bahnbreitemmSelectAtFocus(isFocusEvent,event); } </script><input name="bahnbreitemm" class="eingabefeld feldmiteinheit-l zahlenfeld" id="bahnbreitemm" value="10" type="text"></input><script> let bahnbreitemmF=document.getElementById(\'bahnbreitemm\'); console.log("registriere"); bahnbreitemmF.addEventListener(\'mousedown\',bahnbreitemmFabMousedownNumericValue);bahnbreitemmF.addEventListener(\'input\',bahnbreitemmFabPrettyPrintNumericValue);bahnbreitemmF.addEventListener(\'change\',bahnbreitemmFabNormalizeNumericValue);bahnbreitemmF.addEventListener(\'focus\',bahnbreitemmFabNormalizeNumericValue);bahnbreitemmF.addEventListener(\'focus\',bahnbreitemmFabPrettyPrintNumericValue);bahnbreitemmF.addEventListener(\'blur\',bahnbreitemmFabPrettyPrintNumericValue,false);;bahnbreitemmF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bahnbreitemmF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function bahnbreitemmForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=bahnbreitemmF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bahnbreitemmF.id,event); } bahnbreitemmF.addEventListener(\'change\',bahnbreitemmForwardChange);function bahnbreitemmForwardPartialChange(){ console.log("Funktion bei partieller Änderung: window.calcBandzugFuerBreite"); let newvalue=bahnbreitemmF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bahnbreitemmF.id,event); } bahnbreitemmF.addEventListener(\'input\',bahnbreitemmForwardPartialChange);</script><span class="einheit-l">mm</span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <hr class="trenner" /> <div class="labelinputpaar"> <label for="bandzugoderbreite_min_bandzug" class="paar-label"> <input type="radio" name="bandzugoderbreite_min" id="bandzugoderbreite_min_bandzug" class="eingabefeld" value="bandzug" onchange="window.activateBandzugOderBreite(this.value,this.id,true);window.recalcValues(this.value,this.id,null);" checked="checked" /> Bandzug (Min.)</label> <span class="input-container"><script> function bandzugminFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbandzugminlastNumValue", event.currentTarget.value); } function bandzugminFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbandzugminFocusMouseDown",true); } } function bandzugminSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbandzugminFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbandzugminFocusMouseDown",false); } function bandzugminFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bandzugminSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbandzugminlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbandzugminHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbandzugminHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbandzugminlastNumValue"); bandzugminSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbandzugminHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbandzugminlastNumValue\', newNumericValue); bandzugminSelectAtFocus(isFocusEvent,event); } </script><input name="bandzugmin" class="eingabefeld feldmiteinheit-l zahlenfeld" id="bandzugmin" value="0" type="text"></input><script> let bandzugminF=document.getElementById(\'bandzugmin\'); console.log("registriere"); bandzugminF.addEventListener(\'mousedown\',bandzugminFabMousedownNumericValue);bandzugminF.addEventListener(\'input\',bandzugminFabPrettyPrintNumericValue);bandzugminF.addEventListener(\'change\',bandzugminFabNormalizeNumericValue);bandzugminF.addEventListener(\'focus\',bandzugminFabNormalizeNumericValue);bandzugminF.addEventListener(\'focus\',bandzugminFabPrettyPrintNumericValue);bandzugminF.addEventListener(\'blur\',bandzugminFabPrettyPrintNumericValue,false);;bandzugminF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bandzugminF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function bandzugminForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=bandzugminF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bandzugminF.id,event); } bandzugminF.addEventListener(\'change\',bandzugminForwardChange);</script><span class="einheit-l">N</span> <span class="meldung" id="bandzugmin_meldung"></span></span> <span class="kurzbezeichner">FB<sub>Min</sub></span> </div> <div class="labelinputpaar"> <label for="bandzugoderbreite_min_breite" class="paar-label"> <input type="radio" name="bandzugoderbreite_min" id="bandzugoderbreite_min_breite" class="eingabefeld" value="breite" onchange="window.activateBandzugOderBreite(this.value,this.id,true);window.recalcValues(this.value,this.id,null);" /> Zug/Breite (Min.)</label> <span class="input-container"><script> function zugn_pro_breitemm_minFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabzugn_pro_breitemm_minlastNumValue", event.currentTarget.value); } function zugn_pro_breitemm_minFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabzugn_pro_breitemm_minFocusMouseDown",true); } } function zugn_pro_breitemm_minSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabzugn_pro_breitemm_minFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabzugn_pro_breitemm_minFocusMouseDown",false); } function zugn_pro_breitemm_minFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { zugn_pro_breitemm_minSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabzugn_pro_breitemm_minlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabzugn_pro_breitemm_minHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabzugn_pro_breitemm_minHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabzugn_pro_breitemm_minlastNumValue"); zugn_pro_breitemm_minSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabzugn_pro_breitemm_minHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabzugn_pro_breitemm_minlastNumValue\', newNumericValue); zugn_pro_breitemm_minSelectAtFocus(isFocusEvent,event); } </script><input name="zugn_pro_breitemm_min" class="eingabefeld feldmiteinheit-l zahlenfeld" id="zugn_pro_breitemm_min" value="0" type="text"></input><script> let zugn_pro_breitemm_minF=document.getElementById(\'zugn_pro_breitemm_min\'); console.log("registriere"); zugn_pro_breitemm_minF.addEventListener(\'mousedown\',zugn_pro_breitemm_minFabMousedownNumericValue);zugn_pro_breitemm_minF.addEventListener(\'input\',zugn_pro_breitemm_minFabPrettyPrintNumericValue);zugn_pro_breitemm_minF.addEventListener(\'change\',zugn_pro_breitemm_minFabNormalizeNumericValue);zugn_pro_breitemm_minF.addEventListener(\'focus\',zugn_pro_breitemm_minFabNormalizeNumericValue);zugn_pro_breitemm_minF.addEventListener(\'focus\',zugn_pro_breitemm_minFabPrettyPrintNumericValue);zugn_pro_breitemm_minF.addEventListener(\'blur\',zugn_pro_breitemm_minFabPrettyPrintNumericValue,false);;zugn_pro_breitemm_minF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=zugn_pro_breitemm_minF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function zugn_pro_breitemm_minForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=zugn_pro_breitemm_minF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,zugn_pro_breitemm_minF.id,event); } zugn_pro_breitemm_minF.addEventListener(\'change\',zugn_pro_breitemm_minForwardChange);function zugn_pro_breitemm_minForwardPartialChange(){ console.log("Funktion bei partieller Änderung: window.calcBandzugFuerBreite"); let newvalue=zugn_pro_breitemm_minF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,zugn_pro_breitemm_minF.id,event); } zugn_pro_breitemm_minF.addEventListener(\'input\',zugn_pro_breitemm_minForwardPartialChange);</script><span class="einheit-l">N/mm</span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <div class="labelinputpaar"> <label for="bahnbreitemm_min" class="paar-label"> <input type="radio" style="visibility: hidden;" /> Bahnbreite (Min.)</label> <span class="input-container"><script> function bahnbreitemm_minFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbahnbreitemm_minlastNumValue", event.currentTarget.value); } function bahnbreitemm_minFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbahnbreitemm_minFocusMouseDown",true); } } function bahnbreitemm_minSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbahnbreitemm_minFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbahnbreitemm_minFocusMouseDown",false); } function bahnbreitemm_minFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bahnbreitemm_minSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbahnbreitemm_minlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbahnbreitemm_minHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbahnbreitemm_minHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbahnbreitemm_minlastNumValue"); bahnbreitemm_minSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbahnbreitemm_minHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbahnbreitemm_minlastNumValue\', newNumericValue); bahnbreitemm_minSelectAtFocus(isFocusEvent,event); } </script><input name="bahnbreitemm_min" class="eingabefeld feldmiteinheit-l zahlenfeld" id="bahnbreitemm_min" value="10" type="text"></input><script> let bahnbreitemm_minF=document.getElementById(\'bahnbreitemm_min\'); console.log("registriere"); bahnbreitemm_minF.addEventListener(\'mousedown\',bahnbreitemm_minFabMousedownNumericValue);bahnbreitemm_minF.addEventListener(\'input\',bahnbreitemm_minFabPrettyPrintNumericValue);bahnbreitemm_minF.addEventListener(\'change\',bahnbreitemm_minFabNormalizeNumericValue);bahnbreitemm_minF.addEventListener(\'focus\',bahnbreitemm_minFabNormalizeNumericValue);bahnbreitemm_minF.addEventListener(\'focus\',bahnbreitemm_minFabPrettyPrintNumericValue);bahnbreitemm_minF.addEventListener(\'blur\',bahnbreitemm_minFabPrettyPrintNumericValue,false);;bahnbreitemm_minF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bahnbreitemm_minF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function bahnbreitemm_minForwardChange(event){ console.log("Funktion bei Änderung: window.calcBandzugFuerBreite"); let newvalue=bahnbreitemm_minF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bahnbreitemm_minF.id,event); } bahnbreitemm_minF.addEventListener(\'change\',bahnbreitemm_minForwardChange);function bahnbreitemm_minForwardPartialChange(){ console.log("Funktion bei partieller Änderung: window.calcBandzugFuerBreite"); let newvalue=bahnbreitemm_minF.GetTechnicalUrlValue(); window.calcBandzugFuerBreite(newvalue,bahnbreitemm_minF.id,event); } bahnbreitemm_minF.addEventListener(\'input\',bahnbreitemm_minForwardPartialChange);</script><span class="einheit-l">mm</span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <hr class="trenner" /> <div class="labelinputpaar"> <label for="walzengewicht" class="paar-label">Walzengewicht<span class="requiredflag">*</span></label> <span class="input-container"><script> function walzengewichtFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwalzengewichtlastNumValue", event.currentTarget.value); } function walzengewichtFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwalzengewichtFocusMouseDown",true); } } function walzengewichtSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwalzengewichtFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwalzengewichtFocusMouseDown",false); } function walzengewichtFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (4==4) && (originalInputValue.length>=0)) { walzengewichtSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwalzengewichtlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwalzengewichtHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwalzengewichtHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwalzengewichtlastNumValue"); walzengewichtSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(4, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(4, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwalzengewichtHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (4 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwalzengewichtlastNumValue\', newNumericValue); walzengewichtSelectAtFocus(isFocusEvent,event); } </script><input name="walzengewicht" class="eingabefeld feldmiteinheit-l zahlenfeld" id="walzengewicht" value="0" type="text"></input><script> let walzengewichtF=document.getElementById(\'walzengewicht\'); console.log("registriere"); walzengewichtF.addEventListener(\'mousedown\',walzengewichtFabMousedownNumericValue);walzengewichtF.addEventListener(\'input\',walzengewichtFabPrettyPrintNumericValue);walzengewichtF.addEventListener(\'change\',walzengewichtFabNormalizeNumericValue);walzengewichtF.addEventListener(\'focus\',walzengewichtFabNormalizeNumericValue);walzengewichtF.addEventListener(\'focus\',walzengewichtFabPrettyPrintNumericValue);walzengewichtF.addEventListener(\'blur\',walzengewichtFabPrettyPrintNumericValue,false);;walzengewichtF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=walzengewichtF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function walzengewichtForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=walzengewichtF.GetTechnicalUrlValue(); window.recalcValues(newvalue,walzengewichtF.id,event); } walzengewichtF.addEventListener(\'change\',walzengewichtForwardChange);</script><span class="einheit-l" id="walzengewicht_suffix"></span> <span class="meldung" id="walzengewicht_meldung"></span></span> <span class="kurzbezeichner">FG<sub></sub></span> </div> <div class="labelinputpaar"> <label class="paar-label">Walzengewicht Einheit</label> <span class="input-container"><span class="radiobtncontainer" id="walzengewicht_einheit" name="walzengewicht_einheit"><span class="radiobtnrow-inline"><input class="eingabefeld" checked="" type="radio" value="kg" name="walzengewicht_einheit" id="auslegung__walzengewicht_einheit__kg"></input><label for="auslegung__walzengewicht_einheit__kg"><html><head></head><body>kg</body></html></label></span><span class="radiobtnrow-inline"><input class="eingabefeld" type="radio" value="lb" name="walzengewicht_einheit" id="auslegung__walzengewicht_einheit__lb"></input><label for="auslegung__walzengewicht_einheit__lb"><html><head></head><body>lb</body></html></label></span><span class="radiobtnrow-inline"><input class="eingabefeld" type="radio" value="n" name="walzengewicht_einheit" id="auslegung__walzengewicht_einheit__n"></input><label for="auslegung__walzengewicht_einheit__n"><html><head></head><body>N</body></html></label></span></span><script> document.getElementById(\'walzengewicht_einheit\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; walzengewicht_einheit"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__walzengewicht_einheit__kg\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__walzengewicht_einheit__lb\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__walzengewicht_einheit__n\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; } ;let elmtAuslegung__walzengewicht_einheit__kg=document.getElementById(\'auslegung__walzengewicht_einheit__kg\'); if(elmtAuslegung__walzengewicht_einheit__kg!=null){elmtAuslegung__walzengewicht_einheit__kg.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__walzengewicht_einheit__lb=document.getElementById(\'auslegung__walzengewicht_einheit__lb\'); if(elmtAuslegung__walzengewicht_einheit__lb!=null){elmtAuslegung__walzengewicht_einheit__lb.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__walzengewicht_einheit__n=document.getElementById(\'auslegung__walzengewicht_einheit__n\'); if(elmtAuslegung__walzengewicht_einheit__n!=null){elmtAuslegung__walzengewicht_einheit__n.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}</script> <span class="meldung" id="walzengewicht_einheit_meldung"></span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <hr class="trenner" /> <div class="labelinputpaar"> <label for="winkel1" class="paar-label">Winkel 1</label> <span class="input-container"><script> function winkel1FabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel1lastNumValue", event.currentTarget.value); } function winkel1FabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel1FocusMouseDown",true); } } function winkel1SelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel1FocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel1FocusMouseDown",false); } function winkel1FabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel1SelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel1lastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel1HiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel1HiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel1lastNumValue"); winkel1SelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel1SelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1lastNumValue"); winkel1SelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel1SelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1lastNumValue"); winkel1SelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel1HiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel1lastNumValue\', newNumericValue); winkel1SelectAtFocus(isFocusEvent,event); } </script><input name="winkel1" class="eingabefeld feldmiteinheit zahlenfeld" id="winkel1" value="0" type="text"></input><script> let winkel1F=document.getElementById(\'winkel1\'); console.log("registriere"); winkel1F.addEventListener(\'mousedown\',winkel1FabMousedownNumericValue);winkel1F.addEventListener(\'input\',winkel1FabPrettyPrintNumericValue);winkel1F.addEventListener(\'change\',winkel1FabNormalizeNumericValue);winkel1F.addEventListener(\'focus\',winkel1FabNormalizeNumericValue);winkel1F.addEventListener(\'focus\',winkel1FabPrettyPrintNumericValue);winkel1F.addEventListener(\'blur\',winkel1FabPrettyPrintNumericValue,false);;winkel1F.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel1F.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel1ForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=winkel1F.GetTechnicalUrlValue(); window.recalcValues(newvalue,winkel1F.id,event); } winkel1F.addEventListener(\'change\',winkel1ForwardChange);</script><span class="einheit">°</span> <span class="meldung" id="winkel1_meldung"></span></span> <span class="kurzbezeichner">W1<sub></sub></span> </div> <div class="labelinputpaar"> <label for="winkel2" class="paar-label">Winkel 2</label> <span class="input-container"><script> function winkel2FabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel2lastNumValue", event.currentTarget.value); } function winkel2FabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel2FocusMouseDown",true); } } function winkel2SelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel2FocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel2FocusMouseDown",false); } function winkel2FabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel2SelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel2lastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel2HiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel2HiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel2lastNumValue"); winkel2SelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel2SelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2lastNumValue"); winkel2SelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel2SelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2lastNumValue"); winkel2SelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel2HiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel2lastNumValue\', newNumericValue); winkel2SelectAtFocus(isFocusEvent,event); } </script><input name="winkel2" class="eingabefeld feldmiteinheit zahlenfeld" id="winkel2" value="-90" type="text"></input><script> let winkel2F=document.getElementById(\'winkel2\'); console.log("registriere"); winkel2F.addEventListener(\'mousedown\',winkel2FabMousedownNumericValue);winkel2F.addEventListener(\'input\',winkel2FabPrettyPrintNumericValue);winkel2F.addEventListener(\'change\',winkel2FabNormalizeNumericValue);winkel2F.addEventListener(\'focus\',winkel2FabNormalizeNumericValue);winkel2F.addEventListener(\'focus\',winkel2FabPrettyPrintNumericValue);winkel2F.addEventListener(\'blur\',winkel2FabPrettyPrintNumericValue,false);;winkel2F.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel2F.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel2ForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=winkel2F.GetTechnicalUrlValue(); window.recalcValues(newvalue,winkel2F.id,event); } winkel2F.addEventListener(\'change\',winkel2ForwardChange);</script><span class="einheit">°</span> <span class="meldung" id="winkel2_meldung"></span></span> <span class="kurzbezeichner">W2<sub></sub></span> </div> <div class="labelinputpaar" id="winkel1alternativcontainer"> <label for="winkel1alternativ" class="paar-label">Winkel 1 alternativ</label> <span class="input-container"><script> function winkel1alternativFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel1alternativlastNumValue", event.currentTarget.value); } function winkel1alternativFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel1alternativFocusMouseDown",true); } } function winkel1alternativSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel1alternativFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel1alternativFocusMouseDown",false); } function winkel1alternativFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel1alternativSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel1alternativlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel1alternativHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel1alternativHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativlastNumValue"); winkel1alternativSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel1alternativSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativlastNumValue"); winkel1alternativSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel1alternativSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativlastNumValue"); winkel1alternativSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel1alternativHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel1alternativlastNumValue\', newNumericValue); winkel1alternativSelectAtFocus(isFocusEvent,event); } </script><input name="winkel1alternativ" class="eingabefeld feldmiteinheit zahlenfeld" id="winkel1alternativ" value="90" type="text"></input><script> let winkel1alternativF=document.getElementById(\'winkel1alternativ\'); console.log("registriere"); winkel1alternativF.addEventListener(\'mousedown\',winkel1alternativFabMousedownNumericValue);winkel1alternativF.addEventListener(\'input\',winkel1alternativFabPrettyPrintNumericValue);winkel1alternativF.addEventListener(\'change\',winkel1alternativFabNormalizeNumericValue);winkel1alternativF.addEventListener(\'focus\',winkel1alternativFabNormalizeNumericValue);winkel1alternativF.addEventListener(\'focus\',winkel1alternativFabPrettyPrintNumericValue);winkel1alternativF.addEventListener(\'blur\',winkel1alternativFabPrettyPrintNumericValue,false);;winkel1alternativF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel1alternativF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel1alternativForwardChange(event){ console.log("Funktion bei Änderung: window.winkel1alternativcnvschanged"); let newvalue=winkel1alternativF.GetTechnicalUrlValue(); window.winkel1alternativcnvschanged(newvalue,winkel1alternativF.id,event); } winkel1alternativF.addEventListener(\'change\',winkel1alternativForwardChange);</script><span class="einheit">°</span> <span class="meldung" id="winkel1alternativ_meldung"></span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <div class="labelinputpaar" id="winkel2alternativcontainer"> <label for="winkel2alternativ" class="paar-label">Winkel 2 alternativ</label> <span class="input-container"><script> function winkel2alternativFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel2alternativlastNumValue", event.currentTarget.value); } function winkel2alternativFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel2alternativFocusMouseDown",true); } } function winkel2alternativSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel2alternativFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel2alternativFocusMouseDown",false); } function winkel2alternativFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel2alternativSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel2alternativlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel2alternativHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel2alternativHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativlastNumValue"); winkel2alternativSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel2alternativSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativlastNumValue"); winkel2alternativSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel2alternativSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativlastNumValue"); winkel2alternativSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel2alternativHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel2alternativlastNumValue\', newNumericValue); winkel2alternativSelectAtFocus(isFocusEvent,event); } </script><input name="winkel2alternativ" class="eingabefeld feldmiteinheit zahlenfeld" id="winkel2alternativ" value="180" type="text"></input><script> let winkel2alternativF=document.getElementById(\'winkel2alternativ\'); console.log("registriere"); winkel2alternativF.addEventListener(\'mousedown\',winkel2alternativFabMousedownNumericValue);winkel2alternativF.addEventListener(\'input\',winkel2alternativFabPrettyPrintNumericValue);winkel2alternativF.addEventListener(\'change\',winkel2alternativFabNormalizeNumericValue);winkel2alternativF.addEventListener(\'focus\',winkel2alternativFabNormalizeNumericValue);winkel2alternativF.addEventListener(\'focus\',winkel2alternativFabPrettyPrintNumericValue);winkel2alternativF.addEventListener(\'blur\',winkel2alternativFabPrettyPrintNumericValue,false);;winkel2alternativF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel2alternativF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel2alternativForwardChange(event){ console.log("Funktion bei Änderung: window.winkel2alternativcnvschanged"); let newvalue=winkel2alternativF.GetTechnicalUrlValue(); window.winkel2alternativcnvschanged(newvalue,winkel2alternativF.id,event); } winkel2alternativF.addEventListener(\'change\',winkel2alternativForwardChange);</script><span class="einheit">°</span> <span class="meldung" id="winkel2alternativ_meldung"></span></span> <span class="kurzbezeichner"><sub></sub></span> </div> <div class="vorzurueckzeile"> <span></span> <span class="tab-button-weiter" id="fabTabLayout1777530692298" onclick="fabTabLayoutnullOpenTabSheets([\'tab-sensortyp\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Weiter zu Sensor-Typ</span> </div> <label class="paar-label" id="lbl-ergebnis-pro-sensor-line1">Ergebnisse pro Sensor</label><br /> <label class="paar-label" id="lbl-ergebnis-pro-sensor-line2">bei zweiseitiger Lagerung</label> <div style="display:table;"> <div style="display:table-row;"> <div class="kraftzelle"><label for="bandzuganteil_n" class="paar-label">Bandzuganteil (Max.)</label></div> <div class="kraftzelle"><span class="input-container"><script> function bandzuganteil_nFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbandzuganteil_nlastNumValue", event.currentTarget.value); } function bandzuganteil_nFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbandzuganteil_nFocusMouseDown",true); } } function bandzuganteil_nSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbandzuganteil_nFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbandzuganteil_nFocusMouseDown",false); } function bandzuganteil_nFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bandzuganteil_nSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbandzuganteil_nlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbandzuganteil_nHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbandzuganteil_nHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbandzuganteil_nlastNumValue"); bandzuganteil_nSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbandzuganteil_nHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbandzuganteil_nlastNumValue\', newNumericValue); bandzuganteil_nSelectAtFocus(isFocusEvent,event); } </script><input name="bandzuganteil_n" class="ausgabefeld feldmiteinheit zahlenfeld" id="bandzuganteil_n" disabled="" readonly="" type="text"></input><script> let bandzuganteil_nF=document.getElementById(\'bandzuganteil_n\'); console.log("registriere"); bandzuganteil_nF.addEventListener(\'mousedown\',bandzuganteil_nFabMousedownNumericValue);bandzuganteil_nF.addEventListener(\'input\',bandzuganteil_nFabPrettyPrintNumericValue);bandzuganteil_nF.addEventListener(\'change\',bandzuganteil_nFabNormalizeNumericValue);bandzuganteil_nF.addEventListener(\'focus\',bandzuganteil_nFabNormalizeNumericValue);bandzuganteil_nF.addEventListener(\'focus\',bandzuganteil_nFabPrettyPrintNumericValue);bandzuganteil_nF.addEventListener(\'blur\',bandzuganteil_nFabPrettyPrintNumericValue,false);;bandzuganteil_nF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bandzuganteil_nF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;</script><span class="einheit">N</span></span></div> <div class="kurzbezeichner kraftzelle">FM<sub>Max</sub></div> </div> <div style="display:table-row;"> <div class="kraftzelle"><label for="bandzuganteilmin_n" class="paar-label">Bandzuganteil (Min.)</label></div> <div class="kraftzelle"><span class="input-container"><script> function bandzuganteilmin_nFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabbandzuganteilmin_nlastNumValue", event.currentTarget.value); } function bandzuganteilmin_nFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabbandzuganteilmin_nFocusMouseDown",true); } } function bandzuganteilmin_nSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabbandzuganteilmin_nFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabbandzuganteilmin_nFocusMouseDown",false); } function bandzuganteilmin_nFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { bandzuganteilmin_nSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabbandzuganteilmin_nlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabbandzuganteilmin_nHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabbandzuganteilmin_nHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabbandzuganteilmin_nlastNumValue"); bandzuganteilmin_nSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabbandzuganteilmin_nHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabbandzuganteilmin_nlastNumValue\', newNumericValue); bandzuganteilmin_nSelectAtFocus(isFocusEvent,event); } </script><input name="bandzuganteilmin_n" class="ausgabefeld feldmiteinheit zahlenfeld" id="bandzuganteilmin_n" disabled="" readonly="" type="text"></input><script> let bandzuganteilmin_nF=document.getElementById(\'bandzuganteilmin_n\'); console.log("registriere"); bandzuganteilmin_nF.addEventListener(\'mousedown\',bandzuganteilmin_nFabMousedownNumericValue);bandzuganteilmin_nF.addEventListener(\'input\',bandzuganteilmin_nFabPrettyPrintNumericValue);bandzuganteilmin_nF.addEventListener(\'change\',bandzuganteilmin_nFabNormalizeNumericValue);bandzuganteilmin_nF.addEventListener(\'focus\',bandzuganteilmin_nFabNormalizeNumericValue);bandzuganteilmin_nF.addEventListener(\'focus\',bandzuganteilmin_nFabPrettyPrintNumericValue);bandzuganteilmin_nF.addEventListener(\'blur\',bandzuganteilmin_nFabPrettyPrintNumericValue,false);;bandzuganteilmin_nF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=bandzuganteilmin_nF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;</script><span class="einheit">N</span></span></div> <div class="kurzbezeichner kraftzelle">FM<sub>Min</sub></div> </div> <div style="display:table-row;"> <div class="kraftzelle"><label for="gesamtkraft_n" class="paar-label">Gesamtkraft (Max.)</label></div> <div class="kraftzelle"><span class="input-container"><script> function gesamtkraft_nFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabgesamtkraft_nlastNumValue", event.currentTarget.value); } function gesamtkraft_nFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabgesamtkraft_nFocusMouseDown",true); } } function gesamtkraft_nSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabgesamtkraft_nFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabgesamtkraft_nFocusMouseDown",false); } function gesamtkraft_nFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { gesamtkraft_nSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabgesamtkraft_nlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabgesamtkraft_nHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabgesamtkraft_nHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabgesamtkraft_nlastNumValue"); gesamtkraft_nSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabgesamtkraft_nHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabgesamtkraft_nlastNumValue\', newNumericValue); gesamtkraft_nSelectAtFocus(isFocusEvent,event); } </script><input name="gesamtkraft_n" class="ausgabefeld feldmiteinheit zahlenfeld" id="gesamtkraft_n" disabled="" readonly="" type="text"></input><script> let gesamtkraft_nF=document.getElementById(\'gesamtkraft_n\'); console.log("registriere"); gesamtkraft_nF.addEventListener(\'mousedown\',gesamtkraft_nFabMousedownNumericValue);gesamtkraft_nF.addEventListener(\'input\',gesamtkraft_nFabPrettyPrintNumericValue);gesamtkraft_nF.addEventListener(\'change\',gesamtkraft_nFabNormalizeNumericValue);gesamtkraft_nF.addEventListener(\'focus\',gesamtkraft_nFabNormalizeNumericValue);gesamtkraft_nF.addEventListener(\'focus\',gesamtkraft_nFabPrettyPrintNumericValue);gesamtkraft_nF.addEventListener(\'blur\',gesamtkraft_nFabPrettyPrintNumericValue,false);;gesamtkraft_nF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=gesamtkraft_nF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;</script><span class="einheit">N</span></span></div> <div class="kurzbezeichner kraftzelle">FGM&#xa0;+&#xa0;FM<sub>Max</sub></div> </div> <div style="display:table-row;"> <div class="kraftzelle"><label for="gesamtkraftmin_n" class="paar-label">Gesamtkraft (Min.)</label></div> <div class="kraftzelle"><span class="input-container"><script> function gesamtkraftmin_nFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabgesamtkraftmin_nlastNumValue", event.currentTarget.value); } function gesamtkraftmin_nFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabgesamtkraftmin_nFocusMouseDown",true); } } function gesamtkraftmin_nSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabgesamtkraftmin_nFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabgesamtkraftmin_nFocusMouseDown",false); } function gesamtkraftmin_nFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { gesamtkraftmin_nSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabgesamtkraftmin_nlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabgesamtkraftmin_nHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabgesamtkraftmin_nHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabgesamtkraftmin_nlastNumValue"); gesamtkraftmin_nSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabgesamtkraftmin_nHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabgesamtkraftmin_nlastNumValue\', newNumericValue); gesamtkraftmin_nSelectAtFocus(isFocusEvent,event); } </script><input name="gesamtkraftmin_n" class="ausgabefeld feldmiteinheit zahlenfeld" id="gesamtkraftmin_n" disabled="" readonly="" type="text"></input><script> let gesamtkraftmin_nF=document.getElementById(\'gesamtkraftmin_n\'); console.log("registriere"); gesamtkraftmin_nF.addEventListener(\'mousedown\',gesamtkraftmin_nFabMousedownNumericValue);gesamtkraftmin_nF.addEventListener(\'input\',gesamtkraftmin_nFabPrettyPrintNumericValue);gesamtkraftmin_nF.addEventListener(\'change\',gesamtkraftmin_nFabNormalizeNumericValue);gesamtkraftmin_nF.addEventListener(\'focus\',gesamtkraftmin_nFabNormalizeNumericValue);gesamtkraftmin_nF.addEventListener(\'focus\',gesamtkraftmin_nFabPrettyPrintNumericValue);gesamtkraftmin_nF.addEventListener(\'blur\',gesamtkraftmin_nFabPrettyPrintNumericValue,false);;gesamtkraftmin_nF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=gesamtkraftmin_nF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;</script><span class="einheit">N</span></span></div> <div class="kurzbezeichner kraftzelle">FGM&#xa0;+&#xa0;FM<sub>Min</sub></div> </div> <div style="display:table-row;"> <div class="kraftzelle"><label for="walzengewichtanteil_n" class="paar-label">Walzengewichtsanteil</label></div> <div class="kraftzelle"><span class="input-container"><script> function walzengewichtanteil_nFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwalzengewichtanteil_nlastNumValue", event.currentTarget.value); } function walzengewichtanteil_nFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwalzengewichtanteil_nFocusMouseDown",true); } } function walzengewichtanteil_nSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwalzengewichtanteil_nFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwalzengewichtanteil_nFocusMouseDown",false); } function walzengewichtanteil_nFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (1==1) && (originalInputValue.length>=0)) { walzengewichtanteil_nSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwalzengewichtanteil_nlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwalzengewichtanteil_nHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwalzengewichtanteil_nHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwalzengewichtanteil_nlastNumValue"); walzengewichtanteil_nSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(1, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwalzengewichtanteil_nHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (1 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwalzengewichtanteil_nlastNumValue\', newNumericValue); walzengewichtanteil_nSelectAtFocus(isFocusEvent,event); } </script><input name="walzengewichtanteil_n" class="ausgabefeld feldmiteinheit zahlenfeld" id="walzengewichtanteil_n" disabled="" readonly="" type="text"></input><script> let walzengewichtanteil_nF=document.getElementById(\'walzengewichtanteil_n\'); console.log("registriere"); walzengewichtanteil_nF.addEventListener(\'mousedown\',walzengewichtanteil_nFabMousedownNumericValue);walzengewichtanteil_nF.addEventListener(\'input\',walzengewichtanteil_nFabPrettyPrintNumericValue);walzengewichtanteil_nF.addEventListener(\'change\',walzengewichtanteil_nFabNormalizeNumericValue);walzengewichtanteil_nF.addEventListener(\'focus\',walzengewichtanteil_nFabNormalizeNumericValue);walzengewichtanteil_nF.addEventListener(\'focus\',walzengewichtanteil_nFabPrettyPrintNumericValue);walzengewichtanteil_nF.addEventListener(\'blur\',walzengewichtanteil_nFabPrettyPrintNumericValue,false);;walzengewichtanteil_nF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=walzengewichtanteil_nF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;</script><span class="einheit">N</span></span></div> <div class="kurzbezeichner kraftzelle">FGM<sub></sub></div> </div> </div> </div> <div class="block1 tab-sheet tab-sheet-inactive" id="tab-sensortyp" style="flex-basis:660px;max-width:unset;"> <div class=""> <h2>Sensor-Typ</h2> </div> <div class="" style="overflow-y:scroll;scrollbar-gutter: stable;" id="sensortypliste-cntnr"> <script>function showModal(elmntId){console.log(\'showModal(\'+elmntId+\');\');document.getElementById(elmntId).classList.add(\'modal-sichtbar\');} function hideModal(elmntId){console.log(\'hideModal(\'+elmntId+\');\');document.getElementById(elmntId).classList.remove(\'modal-sichtbar\');} </script> <span class="input-container"><span class="sensortypradiocontainer" id="typ" name="typ"><html> <head></head><body> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZA_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/4/f/csm_bza_b9d528724e.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZA 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692299" onclick="document.getElementById(\'typ__sensortyp__bza\').checked=true; window.syncSensortyp(\'BZA\',\'typ__sensortyp__bza\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZA_modal" onclick="hideModal(\'sensortyp_BZA_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZA_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bza_pb_de.pdf">Kraftmesslager BZA</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/4/f/csm_bza_b9d528724e.jpg" /> 				</div> 				<p>Kraftmesslager aus aus hochfestem Aluminium</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">100 ... 5.000 N</td> 					</tr> 					<tr> 						<th class="sensortyp-detail sensortyp-detailname">Zapfendurchmesser</th> 						<td class="sensortyp-detail sensortyp-detailwert">15 … 60 mm</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bza_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692300" onclick="document.getElementById(\'typ__sensortyp__bza\').checked=true; window.syncSensortyp(\'BZA\',\'typ__sensortyp__bza\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bza" name="typ" value="BZA" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZU_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/8/0/csm_bzu-20241128_114944_e3fe6b9508.png" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZU 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692301" onclick="document.getElementById(\'typ__sensortyp__bzu\').checked=true; window.syncSensortyp(\'BZU\',\'typ__sensortyp__bzu\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZU_modal" onclick="hideModal(\'sensortyp_BZU_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZU_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzu_pb_de_01.pdf">Kraftmesslager BZU</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/8/0/csm_bzu-20241128_114944_e3fe6b9508.png" /> 				</div> 				<p>Die Kraftmesslager der BZU-Serie sind für die Messung von Bahnzugkräften, bei bahnförmigen Materialien ausgelegt.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">160 … 15.000 N</td> 					</tr> 					<tr> 						<th class="sensortyp-detail sensortyp-detailname">Zapfendurchmesser</th> 						<td class="sensortyp-detail sensortyp-detailwert">15 … 60 mm</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzu_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692302" onclick="document.getElementById(\'typ__sensortyp__bzu\').checked=true; window.syncSensortyp(\'BZU\',\'typ__sensortyp__bzu\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzu" name="typ" value="BZU" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_RCA_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/2/a/csm_rca-serie1_c47661391b.png" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					RCA 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692303" onclick="document.getElementById(\'typ__sensortyp__rca\').checked=true; window.syncSensortyp(\'RCA\',\'typ__sensortyp__rca\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_RCA_modal" onclick="hideModal(\'sensortyp_RCA_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_RCA_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/rca_pb_de_01.pdf">Kraftmesslager RCA</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/2/a/csm_rca-serie1_c47661391b.png" /> 				</div> 				<p>Kraftmesslager mit Adapter</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">50 … 2.000 N</td> 					</tr> 					<tr> 						<th class="sensortyp-detail sensortyp-detailname">Zapfendurchmesser</th> 						<td class="sensortyp-detail sensortyp-detailwert">17 … 40 mm</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/rca_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692304" onclick="document.getElementById(\'typ__sensortyp__rca\').checked=true; window.syncSensortyp(\'RCA\',\'typ__sensortyp__rca\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__rca" name="typ" value="RCA" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_RCZ_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/8/4/csm_rcz_1024x577_1eb6cf4e87.png" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					RCZ 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692305" onclick="document.getElementById(\'typ__sensortyp__rcz\').checked=true; window.syncSensortyp(\'RCZ\',\'typ__sensortyp__rcz\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_RCZ_modal" onclick="hideModal(\'sensortyp_RCZ_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_RCZ_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/rcz_pb_de_01.pdf">Kraftmesszapfen RCZ</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/8/4/csm_rcz_1024x577_1eb6cf4e87.png" /> 				</div> 				<p>Platzsparender Sensor für den Einsatz an Zapfenwalzen</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">50 … 2.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/rcz_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692306" onclick="document.getElementById(\'typ__sensortyp__rcz\').checked=true; window.syncSensortyp(\'RCZ\',\'typ__sensortyp__rcz\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__rcz" name="typ" value="RCZ" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_RCR_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/9/d/csm_rcr-1024x577_d96c523ca8.png" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					RCR 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692307" onclick="document.getElementById(\'typ__sensortyp__rcr\').checked=true; window.syncSensortyp(\'RCR\',\'typ__sensortyp__rcr\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_RCR_modal" onclick="hideModal(\'sensortyp_RCR_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_RCR_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/rcr_pb_de.pdf">Kraftmesssensor RCR</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/9/d/csm_rcr-1024x577_d96c523ca8.png" /> 				</div> 				<p>Kompakter Sensor für Messrollen</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">50 … 1.500 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/rcr_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692308" onclick="document.getElementById(\'typ__sensortyp__rcr\').checked=true; window.syncSensortyp(\'RCR\',\'typ__sensortyp__rcr\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__rcr" name="typ" value="RCR" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_RC_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/8/c/csm_rc-serie__1__2d6740f21b.png" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					RC 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692309" onclick="document.getElementById(\'typ__sensortyp__rc\').checked=true; window.syncSensortyp(\'RC\',\'typ__sensortyp__rc\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_RC_modal" onclick="hideModal(\'sensortyp_RC_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_RC_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/rc_pb_de.pdf">Kraftmesslager RC</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/8/c/csm_rc-serie__1__2d6740f21b.png" /> 				</div> 				<p>Kostengünstiger Sensor für viele Einsatzzwecke</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">50 … 1.500 N</td> 					</tr> 					<tr> 						<th class="sensortyp-detail sensortyp-detailname">Zapfendurchmesser</th> 						<td class="sensortyp-detail sensortyp-detailwert">17 mm</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/rc_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692310" onclick="document.getElementById(\'typ__sensortyp__rc\').checked=true; window.syncSensortyp(\'RC\',\'typ__sensortyp__rc\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__rc" name="typ" value="RC" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZLA_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/0/1/csm_bzl-a_8405477e0d.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZLA 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692311" onclick="document.getElementById(\'typ__sensortyp__bzla\').checked=true; window.syncSensortyp(\'BZLA\',\'typ__sensortyp__bzla\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZLA_modal" onclick="hideModal(\'sensortyp_BZLA_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZLA_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzl-a_pb_de.pdf">Kraftmesslager BZL-A</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/0/1/csm_bzl-a_8405477e0d.jpg" /> 				</div> 				<p>Kostengünstiges Messlager aus Aluminium für viele Einsatzfälle in der Radialkraftmessung</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">125 … 500 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzl-a_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692312" onclick="document.getElementById(\'typ__sensortyp__bzla\').checked=true; window.syncSensortyp(\'BZLA\',\'typ__sensortyp__bzla\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzla" name="typ" value="BZLA" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZR_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/e/b/csm_bzr5_8b5c623dcb.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZR5 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692313" onclick="document.getElementById(\'typ__sensortyp__bzr\').checked=true; window.syncSensortyp(\'BZR\',\'typ__sensortyp__bzr\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZR_modal" onclick="hideModal(\'sensortyp_BZR_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZR_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzr5_pb_de.pdf">Kraftmesslager für große Kräfte</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/e/b/csm_bzr5_8b5c623dcb.jpg" /> 				</div> 				<p>Je nach Anwendungsfall bieten wir Bahnzugsensoren für Wellenzapfendurchmesser bis 80 mm und einem Nennkraftbereich bis zu 25000 N</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">5 … 25 kN</td> 					</tr> 					<tr> 						<th class="sensortyp-detail sensortyp-detailname">Zapfendurchmesser</th> 						<td class="sensortyp-detail sensortyp-detailwert">65 … 80 mm</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzr5_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692314" onclick="document.getElementById(\'typ__sensortyp__bzr\').checked=true; window.syncSensortyp(\'BZR\',\'typ__sensortyp__bzr\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzr" name="typ" value="BZR" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_ZAD_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/5/4/csm_zad_1503d7545f.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					ZAD 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692315" onclick="document.getElementById(\'typ__sensortyp__zad\').checked=true; window.syncSensortyp(\'ZAD\',\'typ__sensortyp__zad\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_ZAD_modal" onclick="hideModal(\'sensortyp_ZAD_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_ZAD_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/zad_pb_de_01.pdf">Zugkraftsensor ZAD</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/5/4/csm_zad_1503d7545f.jpg" /> 				</div> 				<p>Zugkraftsensor mit Außengewinde und Befestigungsmuttern</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">10 … 1.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/zad_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692316" onclick="document.getElementById(\'typ__sensortyp__zad\').checked=true; window.syncSensortyp(\'ZAD\',\'typ__sensortyp__zad\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__zad" name="typ" value="ZAD" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_ZAK_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/4/9/csm_zak3__4593516006.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					ZAK 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692317" onclick="document.getElementById(\'typ__sensortyp__zak\').checked=true; window.syncSensortyp(\'ZAK\',\'typ__sensortyp__zak\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_ZAK_modal" onclick="hideModal(\'sensortyp_ZAK_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_ZAK_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/zak_pb_de.pdf">Zugkraftsensor ZAK</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/4/9/csm_zak3__4593516006.jpg" /> 				</div> 				<p>Universell einsetzbar in der Zugkraftmessung</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">10 … 2.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/zak_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692318" onclick="document.getElementById(\'typ__sensortyp__zak\').checked=true; window.syncSensortyp(\'ZAK\',\'typ__sensortyp__zak\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__zak" name="typ" value="ZAK" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_RMR3_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/3/4/csm_rmr3_1024x577_86383d35ff.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					RMR3 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692319" onclick="document.getElementById(\'typ__sensortyp__rmr3\').checked=true; window.syncSensortyp(\'RMR3\',\'typ__sensortyp__rmr3\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_RMR3_modal" onclick="hideModal(\'sensortyp_RMR3_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_RMR3_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/rmr3_pb_de.pdf">Kraftmessrolle RMR3-Serie</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/3/4/csm_rmr3_1024x577_86383d35ff.jpg" /> 				</div> 				<p>Der RMR3-Serie bieten kompakte Abmessungen und sind konzipiert für die Messung der Drahtspannung an laufenden und rotierenden Verseilmaschinen.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">20 … 1.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/rmr3_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692320" onclick="document.getElementById(\'typ__sensortyp__rmr3\').checked=true; window.syncSensortyp(\'RMR3\',\'typ__sensortyp__rmr3\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__rmr3" name="typ" value="RMR3" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_MWF_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/e/2/csm_mwf_6e31fd3cbd.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					MWF 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692321" onclick="document.getElementById(\'typ__sensortyp__mwf\').checked=true; window.syncSensortyp(\'MWF\',\'typ__sensortyp__mwf\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_MWF_modal" onclick="hideModal(\'sensortyp_MWF_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_MWF_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/mwf_pb_de.pdf">Kraftmessrolle MWF</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/e/2/csm_mwf_6e31fd3cbd.jpg" /> 				</div> 				<p>Fliegend gelagerte Messrolle</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">50 … 2.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/mwf_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692322" onclick="document.getElementById(\'typ__sensortyp__mwf\').checked=true; window.syncSensortyp(\'MWF\',\'typ__sensortyp__mwf\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__mwf" name="typ" value="MWF" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_MWFM90_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/b/c/csm_mwfm_7374c97a64.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					MWFM90 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692323" onclick="document.getElementById(\'typ__sensortyp__mwfm90\').checked=true; window.syncSensortyp(\'MWFM90\',\'typ__sensortyp__mwfm90\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_MWFM90_modal" onclick="hideModal(\'sensortyp_MWFM90_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_MWFM90_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/mwfm_pb_de_01.pdf">Kraftmessrolle MWFM</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/b/c/csm_mwfm_7374c97a64.jpg" /> 				</div> 				<p>Fliegend gelagerte Messrolle für anspruchsvolle Messaufgaben</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">100 … 1.000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/mwfm_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692324" onclick="document.getElementById(\'typ__sensortyp__mwfm90\').checked=true; window.syncSensortyp(\'MWFM90\',\'typ__sensortyp__mwfm90\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__mwfm90" name="typ" value="MWFM90" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_MWB_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/d/f/csm_mes_ab08db73a2.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					MWB 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692325" onclick="document.getElementById(\'typ__sensortyp__mwb\').checked=true; window.syncSensortyp(\'MWB\',\'typ__sensortyp__mwb\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_MWB_modal" onclick="hideModal(\'sensortyp_MWB_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_MWB_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/mwb_pb_de.pdf">Kraftmesswalze MWB</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/d/f/csm_mes_ab08db73a2.jpg" /> 				</div> 				<p>Eine komplette Messwalze mit integrierten Kraftsensoren</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">200 … 3000 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/mwb_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692326" onclick="document.getElementById(\'typ__sensortyp__mwb\').checked=true; window.syncSensortyp(\'MWB\',\'typ__sensortyp__mwb\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__mwb" name="typ" value="MWB" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZH_A_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZH-A 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692327" onclick="document.getElementById(\'typ__sensortyp__bzh_a\').checked=true; window.syncSensortyp(\'BZH_A\',\'typ__sensortyp__bzh_a\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZH_A_modal" onclick="hideModal(\'sensortyp_BZH_A_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZH_A_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzva_bzha_pb_de.pdf">Kraftmessblöcke aus hochfestem Aluminium</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" /> 				</div> 				<p>Kosteneffiziente Bandzugsensoren in kompakter Blockbauweise.</p> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzva_bzha_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692328" onclick="document.getElementById(\'typ__sensortyp__bzh_a\').checked=true; window.syncSensortyp(\'BZH_A\',\'typ__sensortyp__bzh_a\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzh_a" name="typ" value="BZH_A" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZH_A01_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZH-A01/02 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692329" onclick="document.getElementById(\'typ__sensortyp__bzh_a01\').checked=true; window.syncSensortyp(\'BZH_A01\',\'typ__sensortyp__bzh_a01\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZH_A01_modal" onclick="hideModal(\'sensortyp_BZH_A01_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZH_A01_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzh-a01_02_pb_de.pdf">Kraftmessblöcke aus hochfestem Aluminium</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" /> 				</div> 				<p>Kosteneffiziente Bandzugsensoren in kompakter Blockbauweise.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">5 … 25 kN</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzh-a01_02_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692330" onclick="document.getElementById(\'typ__sensortyp__bzh_a01\').checked=true; window.syncSensortyp(\'BZH_A01\',\'typ__sensortyp__bzh_a01\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzh_a01" name="typ" value="BZH_A01" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZV_A_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZV-A 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692331" onclick="document.getElementById(\'typ__sensortyp__bzv_a\').checked=true; window.syncSensortyp(\'BZV_A\',\'typ__sensortyp__bzv_a\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZV_A_modal" onclick="hideModal(\'sensortyp_BZV_A_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZV_A_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzva_bzha_pb_de.pdf">Kraftmessblöcke aus hochfestem Aluminium</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" /> 				</div> 				<p>Kosteneffiziente Bandzugsensoren in kompakter Blockbauweise.</p> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzva_bzha_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692332" onclick="document.getElementById(\'typ__sensortyp__bzv_a\').checked=true; window.syncSensortyp(\'BZV_A\',\'typ__sensortyp__bzv_a\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzv_a" name="typ" value="BZV_A" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZV_A01_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZV-A01/02 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692333" onclick="document.getElementById(\'typ__sensortyp__bzv_a01\').checked=true; window.syncSensortyp(\'BZV_A01\',\'typ__sensortyp__bzv_a01\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZV_A01_modal" onclick="hideModal(\'sensortyp_BZV_A01_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZV_A01_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzv-a01_02_pb_de.pdf">Kraftmessblöcke aus hochfestem Aluminium</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-a01_02.jpg" /> 				</div> 				<p>Kosteneffiziente Bandzugsensoren in kompakter Blockbauweise.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">5 … 25 kN</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzv-a01_02_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692334" onclick="document.getElementById(\'typ__sensortyp__bzv_a01\').checked=true; window.syncSensortyp(\'BZV_A01\',\'typ__sensortyp__bzv_a01\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzv_a01" name="typ" value="BZV_A01" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZH_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/5/f/csm_bzh_f76fd45eee.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZH 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692335" onclick="document.getElementById(\'typ__sensortyp__bzh\').checked=true; window.syncSensortyp(\'BZH\',\'typ__sensortyp__bzh\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZH_modal" onclick="hideModal(\'sensortyp_BZH_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZH_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzh_pb_de_01.pdf">Kraftmessblöcke aus Stahl</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/5/f/csm_bzh_f76fd45eee.jpg" /> 				</div> 				<p>Robuste Bandzugsensoren aus Stahl mit mechanischer Überlastsicherheit. Die Kraftmessblöcke sind mit 2 Montageplatten erhältlich, die für die Aufnahme von Stehlagern der Firmen INA, FAG, SKF und NSK ausgelegt sind.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">160 … 6.300 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzh_pb_de_01.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692336" onclick="document.getElementById(\'typ__sensortyp__bzh\').checked=true; window.syncSensortyp(\'BZH\',\'typ__sensortyp__bzh\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzh" name="typ" value="BZH" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZHB_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/_processed_/a/d/csm_bzhb0106_11fa4e2edc.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZHB 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692337" onclick="document.getElementById(\'typ__sensortyp__bzhb\').checked=true; window.syncSensortyp(\'BZHB\',\'typ__sensortyp__bzhb\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZHB_modal" onclick="hideModal(\'sensortyp_BZHB_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZHB_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzhb_pb_de.pdf">Kraftmessblöcke aus Stahl</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/_processed_/a/d/csm_bzhb0106_11fa4e2edc.jpg" /> 				</div> 				<p>Robuste Bandzugsensoren aus Stahl mit mechanischer Überlastsicherheit.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">160 … 6.300 N</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzhb_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692338" onclick="document.getElementById(\'typ__sensortyp__bzhb\').checked=true; window.syncSensortyp(\'BZHB\',\'typ__sensortyp__bzhb\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzhb" name="typ" value="BZHB" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZH-K_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-k01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZH-K 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692339" onclick="document.getElementById(\'typ__sensortyp__bzh_k\').checked=true; window.syncSensortyp(\'BZH-K\',\'typ__sensortyp__bzh_k\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZH-K_modal" onclick="hideModal(\'sensortyp_BZH-K_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZH-K_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzh-k01_02_pb_de.pdf">Kraftmessblöcke aus Edelstahl</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-k01_02.jpg" /> 				</div> 				<p>Die Kraftmessblöcke sind für eine starke Beanspruchung ausgelegt und werden bevorzugt in der Metallindustrie eingesetzt. Durch die mechanischen Anschläge weisen sie eine hohe Überlastsicherheit auf. Die Blocksensoren können an unterschiedliche Lagertypen leicht angepasst werden und sind schnell und einfach zwischen Stehlager und Maschinenanbaufläche zu montiert.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">1 … 200 kN</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzh-k01_02_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692340" onclick="document.getElementById(\'typ__sensortyp__bzh_k\').checked=true; window.syncSensortyp(\'BZH-K\',\'typ__sensortyp__bzh_k\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzh_k" name="typ" value="BZH-K" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZV-K_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-k01_02.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZV-K 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692341" onclick="document.getElementById(\'typ__sensortyp__bzv_k\').checked=true; window.syncSensortyp(\'BZV-K\',\'typ__sensortyp__bzv_k\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZV-K_modal" onclick="hideModal(\'sensortyp_BZV-K_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZV-K_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzv-k01_02_pb_de.pdf">Kraftmessblöcke aus Edelstahl</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzh-k01_02.jpg" /> 				</div> 				<p>Die Kraftmessblöcke sind für eine starke Beanspruchung ausgelegt und werden bevorzugt in der Metallindustrie eingesetzt. Durch die mechanischen Anschläge weisen sie eine hohe Überlastsicherheit auf. Die Blocksensoren können an unterschiedliche Lagertypen leicht angepasst werden und sind schnell und einfach zwischen Stehlager und Maschinenanbaufläche zu montiert.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">5 … 200 kN</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzv-k01_02_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692342" onclick="document.getElementById(\'typ__sensortyp__bzv_k\').checked=true; window.syncSensortyp(\'BZV-K\',\'typ__sensortyp__bzv_k\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzv_k" name="typ" value="BZV-K" /> 	</div> </body> </html><html> <head></head><body> 	<div class="sensortyp-card"> 		<div style="padding: 0; margin: 0; cursor: pointer;" onclick="showModal(\'sensortyp_BZH-PR_modal\');"> 			<div class="sensortyp-card-img-cntnr"> 				 <img class="sensortyp-card-img" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzhk__x8.jpg" title="Für Details bitte klicken" /> 			</div> 			<div class="text"> 				<h2> 					BZH-PR 9951 				</h2> 			</div> 		</div> 		<button type="button" class="sensortyp-card-auswahl-btn" id="fabTabLayout1777530692343" onclick="document.getElementById(\'typ__sensortyp__bzh_pr\').checked=true; window.syncSensortyp(\'BZH-PR\',\'typ__sensortyp__bzh_pr\');setTimeout(document.fabAfterTabChange,500);fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Auswählen</button> 		<div class="sensortyp-modal-cntnr" id="sensortyp_BZH-PR_modal" onclick="hideModal(\'sensortyp_BZH-PR_modal\');"> 			<div class="sensortyp-modal-content"> 				<span class="close" onclick="hideModal(\'sensortyp_BZH-PR_modal\');">×</span> 				<h2> 					<a target="_blank" href="https://haehne.de/fileadmin/dokumentation_de/bzh-pr9951_pb_de.pdf">Kraftmessblöcke aus Edelstahl</a> 				</h2> 				<div style="width: 100%; text-align: center;"> 					<img style="width: 100%; max-width: 500px;" src="https://haehne.de/fileadmin/produkte/kraftmessbloecke/bzhk__x8.jpg" /> 				</div> 				<p>Der Kraftmessblock BZH-PR9951 besteht aus Edelstahl, verfügt über eine hohe Überlastsicherung mit mechanischen Anschlägen und zeichnet sich durch Langlebigkeit, Genauigkeit und hoher Zuverlässigkeit aus. Die ideale Lösung für eine Vielzahl von industriellen Anwendungen speziell in der Papierindustrie.</p> 				<h3>Technische Daten</h3> 				<table class="sensortyp-technischedaten"> 					<tbody><tr> 						<th class="sensortyp-detail sensortyp-detailname">Nennkraftbereich</th> 						<td class="sensortyp-detail sensortyp-detailwert">1 … 10 kN</td> 					</tr> 				</tbody></table> 				<a target="_blank" class="sensortyp-link" href="https://haehne.de/fileadmin/dokumentation_de/bzh-pr9951_pb_de.pdf">Datenblatt (pdf)</a>  				<button type="button" class="sensortyp-auswahl-btn" id="fabTabLayout1777530692344" onclick="document.getElementById(\'typ__sensortyp__bzh_pr\').checked=true; window.syncSensortyp(\'BZH-PR\',\'typ__sensortyp__bzh_pr\');fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });">Sensor-Typ auswählen</button> 			</div> 		</div> 		<input type="radio" style="visibility: hidden; display: none;" id="typ__sensortyp__bzh_pr" name="typ" value="BZH-PR" /> 	</div> </body> </html></span><script> document.getElementById(\'typ\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; typ"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__typ__nothingselected\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bza\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzu\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__rca\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__rcz\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__rcr\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__rc\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzla\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzr\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__zad\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__zak\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__rmr3\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__mwf\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__mwfm90\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__mwb\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzh_a\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzh_a01\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzv_a\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzv_a01\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzh\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzhb\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzh_k\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzv_k\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'typ__sensortyp__bzh_pr\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; } ;let elmtAuslegung__typ__nothingselected=document.getElementById(\'auslegung__typ__nothingselected\'); if(elmtAuslegung__typ__nothingselected!=null){elmtAuslegung__typ__nothingselected.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bza=document.getElementById(\'typ__sensortyp__bza\'); if(elmtTyp__sensortyp__bza!=null){elmtTyp__sensortyp__bza.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzu=document.getElementById(\'typ__sensortyp__bzu\'); if(elmtTyp__sensortyp__bzu!=null){elmtTyp__sensortyp__bzu.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__rca=document.getElementById(\'typ__sensortyp__rca\'); if(elmtTyp__sensortyp__rca!=null){elmtTyp__sensortyp__rca.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__rcz=document.getElementById(\'typ__sensortyp__rcz\'); if(elmtTyp__sensortyp__rcz!=null){elmtTyp__sensortyp__rcz.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__rcr=document.getElementById(\'typ__sensortyp__rcr\'); if(elmtTyp__sensortyp__rcr!=null){elmtTyp__sensortyp__rcr.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__rc=document.getElementById(\'typ__sensortyp__rc\'); if(elmtTyp__sensortyp__rc!=null){elmtTyp__sensortyp__rc.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzla=document.getElementById(\'typ__sensortyp__bzla\'); if(elmtTyp__sensortyp__bzla!=null){elmtTyp__sensortyp__bzla.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzr=document.getElementById(\'typ__sensortyp__bzr\'); if(elmtTyp__sensortyp__bzr!=null){elmtTyp__sensortyp__bzr.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__zad=document.getElementById(\'typ__sensortyp__zad\'); if(elmtTyp__sensortyp__zad!=null){elmtTyp__sensortyp__zad.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__zak=document.getElementById(\'typ__sensortyp__zak\'); if(elmtTyp__sensortyp__zak!=null){elmtTyp__sensortyp__zak.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__rmr3=document.getElementById(\'typ__sensortyp__rmr3\'); if(elmtTyp__sensortyp__rmr3!=null){elmtTyp__sensortyp__rmr3.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__mwf=document.getElementById(\'typ__sensortyp__mwf\'); if(elmtTyp__sensortyp__mwf!=null){elmtTyp__sensortyp__mwf.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__mwfm90=document.getElementById(\'typ__sensortyp__mwfm90\'); if(elmtTyp__sensortyp__mwfm90!=null){elmtTyp__sensortyp__mwfm90.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__mwb=document.getElementById(\'typ__sensortyp__mwb\'); if(elmtTyp__sensortyp__mwb!=null){elmtTyp__sensortyp__mwb.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzh_a=document.getElementById(\'typ__sensortyp__bzh_a\'); if(elmtTyp__sensortyp__bzh_a!=null){elmtTyp__sensortyp__bzh_a.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzh_a01=document.getElementById(\'typ__sensortyp__bzh_a01\'); if(elmtTyp__sensortyp__bzh_a01!=null){elmtTyp__sensortyp__bzh_a01.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzv_a=document.getElementById(\'typ__sensortyp__bzv_a\'); if(elmtTyp__sensortyp__bzv_a!=null){elmtTyp__sensortyp__bzv_a.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzv_a01=document.getElementById(\'typ__sensortyp__bzv_a01\'); if(elmtTyp__sensortyp__bzv_a01!=null){elmtTyp__sensortyp__bzv_a01.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzh=document.getElementById(\'typ__sensortyp__bzh\'); if(elmtTyp__sensortyp__bzh!=null){elmtTyp__sensortyp__bzh.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzhb=document.getElementById(\'typ__sensortyp__bzhb\'); if(elmtTyp__sensortyp__bzhb!=null){elmtTyp__sensortyp__bzhb.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzh_k=document.getElementById(\'typ__sensortyp__bzh_k\'); if(elmtTyp__sensortyp__bzh_k!=null){elmtTyp__sensortyp__bzh_k.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzv_k=document.getElementById(\'typ__sensortyp__bzv_k\'); if(elmtTyp__sensortyp__bzv_k!=null){elmtTyp__sensortyp__bzv_k.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}let elmtTyp__sensortyp__bzh_pr=document.getElementById(\'typ__sensortyp__bzh_pr\'); if(elmtTyp__sensortyp__bzh_pr!=null){elmtTyp__sensortyp__bzh_pr.addEventListener(\'change\', function(){if(this.checked==true){null(this.value,this.id)}});}</script></span> </div> <div class="vorzurueckzeile"> <span class="tab-button-weiter tab-button-active" id="fabTabLayout1777530692345" onclick="fabTabLayoutnullOpenTabSheets([\'tab-kraft\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Zurück zu Kräfte</span> <span class="tab-button-weiter" id="fabTabLayout1777530692346" onclick="fabTabLayoutnullOpenTabSheets([\'tab-optionen\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Weiter zu Optionen</span> </div> </div> <script type="module" src="https://haehne-configurator.de/script/gainrechner.js"> </script> <div class="block1 tab-sheet tab-sheet-inactive" id="tab-optionen"> <div style="display:flex;flex-direction:row;margin-bottom:1rem;"> <div style="flex-basis:calc(100% - 100px);flex-grow: 0;flex-shrink: 1;"> <h2>Sensor</h2> <div class="labelinputpaar typ2"> <label for="typ2" class="paar-label">Sensor-Typ</label> <span class="input-container"><select name="typ2" class="eingabefeld" id="typ2" placeholder=""><option value=""></option><option value="BZA">BZA</option><option value="BZH">BZH</option><option value="BZH_A">BZH-A</option><option value="BZH_A01">BZH-A01/02</option><option value="BZH-K">BZH-K</option><option value="BZH-PR">BZH-PR 9951</option><option value="BZHB">BZHB</option><option value="BZLA">BZLA</option><option value="BZR">BZR5</option><option value="BZU">BZU</option><option value="BZV_A">BZV-A</option><option value="BZV_A01">BZV-A01/02</option><option value="BZV-K">BZV-K</option><option value="MWB">MWB</option><option value="MWF">MWF</option><option value="MWFM90">MWFM90</option><option value="RC">RC</option><option value="RCA">RCA</option><option value="RCR">RCR</option><option value="RCZ">RCZ</option><option value="RMR3">RMR3</option><option value="ZAD">ZAD</option><option value="ZAK">ZAK</option></select><script> let typ2F=document.getElementById(\'typ2\'); function typ2ForwardChange(event){ console.log("Funktion bei Änderung: window.syncSensortyp"); let newvalue=typ2F.value; window.syncSensortyp(newvalue,typ2F.id,event); } typ2F.addEventListener(\'change\',typ2ForwardChange);</script></span> </div> <div id="sichtbarCntnr" class="sichtbar"> </div> <div id="sichtbarCntnr2" class="sichtbar"> </div> <div id="sichtbarCntnrRead" class="sichtbar"> </div> <div id="unsichtbarCntnr" class="unsichtbar"> <button id="btnReset" type="button" onclick="document.resetDynOptionen();">Reset</button> <div class="labelinputpaar" id="lagerungCntnr"><label class="paar-label">Lagerung</label><span class="input-container"><span class="radiobtncontainer" id="lagerung" name="lagerung"><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="einstg" name="lagerung" id="auslegung__lagerung__einstg"></input><label for="auslegung__lagerung__einstg"><img src="https://haehne-configurator.de/img/einseitig.svg"></img><html><head></head><body>einseitig</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" checked="" type="radio" value="beidstg" name="lagerung" id="auslegung__lagerung__beidstg"></input><label for="auslegung__lagerung__beidstg"><img src="https://haehne-configurator.de/img/beidseitig.svg"></img><html><head></head><body>beidseitig</body></html></label></span></span><script> document.getElementById(\'lagerung\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; lagerung"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__lagerung__einstg\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__lagerung__beidstg\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; } ;let elmtAuslegung__lagerung__einstg=document.getElementById(\'auslegung__lagerung__einstg\'); if(elmtAuslegung__lagerung__einstg!=null){elmtAuslegung__lagerung__einstg.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__lagerung__beidstg=document.getElementById(\'auslegung__lagerung__beidstg\'); if(elmtAuslegung__lagerung__beidstg!=null){elmtAuslegung__lagerung__beidstg.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}</script></span></div> <div class="labelinputpaar" id="typ2bildCntnr"><label class="paar-label"></label> <span class="input-container"><img id="typ2bild" /><span class="dynopt-suffix"></span> <span id="typlinkCntnr" class="unsichtbar"><a id="typlink" target="_blank"></a></span></span></div> <div class="labelinputpaar" id="wellenzapfendurchmesser_mmCntnr">  <label for="wellenzapfendurchmesser_mm" class="paar-label">Wellenzapfendurchmesser</label> <span class="input-container"><select id="wellenzapfendurchmesser_mm" name="wellenzapfendurchmesser_mm" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="wellenzapfendurchmesser_mmSuffix" class="dynopt-suffix">mm</span> </span></div> <div class="labelinputpaar" id="typ_langCntnr"><label for="typ_lang" class="paar-label">Typ lang</label> <span class="input-container"><input type="text" id="typ_lang" name="typ_lang" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);" /><span id="typ_langSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="baugroesseCntnr">  <label for="baugroesse" class="paar-label">Baugröße</label> <span class="input-container"><select id="baugroesse" name="baugroesse" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="baugroesseSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="messrichtungCntnr">  <label for="messrichtung" class="paar-label">Messrichtung</label> <span class="input-container"><select id="messrichtung" name="messrichtung" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="messrichtungSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="bauformCntnr">  <label for="bauform" class="paar-label">Bauform</label> <span class="input-container"><select id="bauform" name="bauform" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="bauformSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="ballenlaengeCntnr">  <label for="ballenlaenge" class="paar-label">Ballenlänge</label> <span class="input-container"><select id="ballenlaenge" name="ballenlaenge" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="ballenlaengeSuffix" class="dynopt-suffix">mm</span> </span></div> <div class="labelinputpaar" id="nennkraefte_nCntnr">  <label for="nennkraefte_n" class="paar-label">Sensornennkraft</label> <span class="input-container"><select id="nennkraefte_n" name="nennkraefte_n" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="nennkraefte_nSuffix" class="dynopt-suffix">N</span><span class="meldung" id="nennkraefte_n_meldung"></span></span></div> <div class="labelinputpaar" id="option_kCntnr">  <label for="option_k" class="paar-label">Option K Geänderter Kraftbereich</label> <span class="input-container"><select id="option_k" name="option_k" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_kSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="stdleitung_artCntnr">  <label for="stdleitung_art" class="paar-label">Standard-Leitung Art</label> <span class="input-container"><select id="stdleitung_art" name="stdleitung_art" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="stdleitung_artSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="stdleitung_mCntnr">  <label for="stdleitung_m" class="paar-label">Standard Leitung in m</label> <span class="input-container"><select id="stdleitung_m" name="stdleitung_m" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="stdleitung_mSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="stdanschlussCntnr">  <label for="stdanschluss" class="paar-label">Standard-Anschluss</label> <span class="input-container"><select id="stdanschluss" name="stdanschluss" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="stdanschlussSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="anschlussvarianteCntnr">  <label for="anschlussvariante" class="paar-label">Anschlussvariante</label> <span class="input-container"><select id="anschlussvariante" name="anschlussvariante" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="anschlussvarianteSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_rCntnr">  <label for="option_r" class="paar-label">Option R Radialer Abgang</label> <span class="input-container"><select id="option_r" name="option_r" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_rSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_yCntnr">  <label for="option_y" class="paar-label">Option Y Geänderte Leitung</label> <span class="input-container"><select id="option_y" name="option_y" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_ySuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_uCntnr">  <label for="option_u" class="paar-label">Option U Metallschutzschlauch</label> <span class="input-container"><select id="option_u" name="option_u" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_uSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_wCntnr">  <label for="option_w" class="paar-label">Option W Geänderte Kabellänge</label> <span class="input-container"><select id="option_w" name="option_w" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_wSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_dCntnr">  <label for="option_d" class="paar-label">Option D Redundante Ausführung</label> <span class="input-container"><select id="option_d" name="option_d" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_dSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_eCntnr">  <label for="option_e" class="paar-label">Option E  für den Einsatz unter Planheitsmessrollen</label> <span class="input-container"><select id="option_e" name="option_e" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_eSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_gCntnr">  <label for="option_g" class="paar-label">Option G Erhöhte Genauigkeit</label> <span class="input-container"><select id="option_g" name="option_g" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_gSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_hCntnr">  <label for="option_h" class="paar-label">Option H Erhöhte Temperatur</label> <span class="input-container"><select id="option_h" name="option_h" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_hSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_jCntnr">  <label for="option_j" class="paar-label">Option J Silikon/Labsfrei</label> <span class="input-container"><select id="option_j" name="option_j" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_jSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_lCntnr">  <label for="option_l" class="paar-label">Option L Schmiernippel</label> <span class="input-container"><select id="option_l" name="option_l" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_lSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_mCntnr">  <label for="option_m" class="paar-label">Option M Minustemperatur auf Anfrage</label> <span class="input-container"><select id="option_m" name="option_m" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_mSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_pCntnr">  <label for="option_p" class="paar-label">Option P Verminderte Schutzart</label> <span class="input-container"><select id="option_p" name="option_p" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_pSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_qCntnr">  <label for="option_q" class="paar-label">Option Q Erhöhte Schutzart</label> <span class="input-container"><select id="option_q" name="option_q" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_qSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_vCntnr">  <label for="option_v" class="paar-label">Option V Einsatz im Vakuum</label> <span class="input-container"><select id="option_v" name="option_v" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_vSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_fCntnr">  <label for="option_f" class="paar-label">Option F Ex-Schutz</label> <span class="input-container"><select id="option_f" name="option_f" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_fSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_xCntnr">  <label for="option_x" class="paar-label">Option X Sonderabmessungen</label> <span class="input-container"><select id="option_x" name="option_x" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_xSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_ucCntnr">  <label for="option_uc" class="paar-label">Option UC</label> <span class="input-container"><select id="option_uc" name="option_uc" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_ucSuffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="option_zCntnr">  <label for="option_z" class="paar-label">Option Z Zubehör</label> <span class="input-container"><select id="option_z" name="option_z" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="option_zSuffix" class="dynopt-suffix"></span> </span></div> <h2 class="optionheadline" id="zusatz1Headline">Benötigen Sie einen passenden Messverstärker?</h2> <div class="labelinputpaar" id="zusatz1Cntnr">  <label for="zusatz1" class="paar-label">Signalausgang</label> <span class="input-container"><select id="zusatz1" name="zusatz1" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz1Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz2Cntnr">  <label for="zusatz2" class="paar-label">Gehäuse</label> <span class="input-container"><select id="zusatz2" name="zusatz2" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz2Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz3Cntnr">  <label for="zusatz3" class="paar-label">Bauform</label> <span class="input-container"><select id="zusatz3" name="zusatz3" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz3Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz4Cntnr">  <label for="zusatz4" class="paar-label">Stecker &amp; Messrichtung (vgl. Datenblatt)</label> <span class="input-container"><select id="zusatz4" name="zusatz4" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz4Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz5Cntnr">  <label for="zusatz5" class="paar-label">Befestigung</label> <span class="input-container"><select id="zusatz5" name="zusatz5" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz5Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz6Cntnr">  <label for="zusatz6" class="paar-label">Zusatz-Option 6</label> <span class="input-container"><select id="zusatz6" name="zusatz6" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz6Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz7Cntnr">  <label for="zusatz7" class="paar-label">Zusatz-Option 7</label> <span class="input-container"><select id="zusatz7" name="zusatz7" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz7Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz8Cntnr">  <label for="zusatz8" class="paar-label">Zusatz-Option 8</label> <span class="input-container"><select id="zusatz8" name="zusatz8" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz8Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz9Cntnr">  <label for="zusatz9" class="paar-label">Zusatz-Option 9</label> <span class="input-container"><select id="zusatz9" name="zusatz9" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz9Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz10Cntnr">  <label for="zusatz10" class="paar-label">Zusatz-Option 10</label> <span class="input-container"><select id="zusatz10" name="zusatz10" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz10Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz11Cntnr">  <label for="zusatz11" class="paar-label">Zusatz-Option 11</label> <span class="input-container"><select id="zusatz11" name="zusatz11" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz11Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz12Cntnr">  <label for="zusatz12" class="paar-label">Zusatz-Option 12</label> <span class="input-container"><select id="zusatz12" name="zusatz12" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz12Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz13Cntnr">  <label for="zusatz13" class="paar-label">Zusatz-Option 13</label> <span class="input-container"><select id="zusatz13" name="zusatz13" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz13Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz14Cntnr">  <label for="zusatz14" class="paar-label">Zusatz-Option 14</label> <span class="input-container"><select id="zusatz14" name="zusatz14" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz14Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz15Cntnr">  <label for="zusatz15" class="paar-label">Zusatz-Option 15</label> <span class="input-container"><select id="zusatz15" name="zusatz15" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz15Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz16Cntnr">  <label for="zusatz16" class="paar-label">Zusatz-Option 16</label> <span class="input-container"><select id="zusatz16" name="zusatz16" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz16Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz17Cntnr">  <label for="zusatz17" class="paar-label">Zusatz-Option 17</label> <span class="input-container"><select id="zusatz17" name="zusatz17" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz17Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz18Cntnr">  <label for="zusatz18" class="paar-label">Zusatz-Option 18</label> <span class="input-container"><select id="zusatz18" name="zusatz18" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz18Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz19Cntnr">  <label for="zusatz19" class="paar-label">Zusatz-Option 19</label> <span class="input-container"><select id="zusatz19" name="zusatz19" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz19Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="zusatz20Cntnr">  <label for="zusatz20" class="paar-label">Zusatz-Option 20</label> <span class="input-container"><select id="zusatz20" name="zusatz20" class="eingabefeld" onchange="window.syncSensordaten(this.value,this.id,null);"></select><span id="zusatz20Suffix" class="dynopt-suffix"></span> </span></div> <div class="labelinputpaar" id="blockausrichtung-cntnr"><label class="paar-label">Block Ausrichtung</label> <span class="input-container"><span class="radiobtncontainer" id="blockausrichtung" name="blockausrichtung"><span class="radiobtnrow" id="auslegung__blockausrichtung__ohne_container"><input class="eingabefeld-blockausrichtung" disabled="" readonly="" checked="" type="radio" value="ohne" name="blockausrichtung" id="auslegung__blockausrichtung__ohne"></input><label for="auslegung__blockausrichtung__ohne"><html><head></head><body>Ohne</body></html></label></span><span class="radiobtnrow" id="auslegung__blockausrichtung__un_container"><input class="eingabefeld-blockausrichtung" disabled="" readonly="" type="radio" value="un" name="blockausrichtung" id="auslegung__blockausrichtung__un"></input><label for="auslegung__blockausrichtung__un"><img src="https://haehne-configurator.de/img/unten.svg"></img><html><head></head><body>Unten</body></html></label></span><span class="radiobtnrow" id="auslegung__blockausrichtung__li_container"><input class="eingabefeld-blockausrichtung" disabled="" readonly="" type="radio" value="li" name="blockausrichtung" id="auslegung__blockausrichtung__li"></input><label for="auslegung__blockausrichtung__li"><img src="https://haehne-configurator.de/img/links.svg"></img><html><head></head><body>Links</body></html></label></span><span class="radiobtnrow" id="auslegung__blockausrichtung__ob_container"><input class="eingabefeld-blockausrichtung" disabled="" readonly="" type="radio" value="ob" name="blockausrichtung" id="auslegung__blockausrichtung__ob"></input><label for="auslegung__blockausrichtung__ob"><img src="https://haehne-configurator.de/img/oben.svg"></img><html><head></head><body>Oben</body></html></label></span><span class="radiobtnrow" id="auslegung__blockausrichtung__re_container"><input class="eingabefeld-blockausrichtung" disabled="" readonly="" type="radio" value="re" name="blockausrichtung" id="auslegung__blockausrichtung__re"></input><label for="auslegung__blockausrichtung__re"><img src="https://haehne-configurator.de/img/rechts.svg"></img><html><head></head><body>Rechts</body></html></label></span></span><script> document.getElementById(\'blockausrichtung\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; blockausrichtung"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__blockausrichtung__ohne\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockausrichtung__un\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockausrichtung__li\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockausrichtung__ob\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockausrichtung__re\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; } ;let elmtAuslegung__blockausrichtung__ohne=document.getElementById(\'auslegung__blockausrichtung__ohne\'); if(elmtAuslegung__blockausrichtung__ohne!=null){elmtAuslegung__blockausrichtung__ohne.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockausrichtung__un=document.getElementById(\'auslegung__blockausrichtung__un\'); if(elmtAuslegung__blockausrichtung__un!=null){elmtAuslegung__blockausrichtung__un.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockausrichtung__li=document.getElementById(\'auslegung__blockausrichtung__li\'); if(elmtAuslegung__blockausrichtung__li!=null){elmtAuslegung__blockausrichtung__li.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockausrichtung__ob=document.getElementById(\'auslegung__blockausrichtung__ob\'); if(elmtAuslegung__blockausrichtung__ob!=null){elmtAuslegung__blockausrichtung__ob.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockausrichtung__re=document.getElementById(\'auslegung__blockausrichtung__re\'); if(elmtAuslegung__blockausrichtung__re!=null){elmtAuslegung__blockausrichtung__re.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}</script></span> </div> <div class="labelinputpaar" id="blockposition-cntnr"> <label class="paar-label">Block Position</label> <span class="input-container"><span class="radiobtncontainer" id="blockposition" name="blockposition"><span class="radiobtnrow"><input class="eingabefeld" checked="" type="radio" value="ohne" name="blockposition" id="auslegung__blockposition__ohne"></input><label for="auslegung__blockposition__ohne"><html><head></head><body>Ohne</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="un" name="blockposition" id="auslegung__blockposition__un"></input><label for="auslegung__blockposition__un"><img src="https://haehne-configurator.de/img/unten.svg"></img><html><head></head><body>Unten</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="li" name="blockposition" id="auslegung__blockposition__li"></input><label for="auslegung__blockposition__li"><img src="https://haehne-configurator.de/img/links.svg"></img><html><head></head><body>Links</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="ob" name="blockposition" id="auslegung__blockposition__ob"></input><label for="auslegung__blockposition__ob"><img src="https://haehne-configurator.de/img/oben.svg"></img><html><head></head><body>Oben</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="re" name="blockposition" id="auslegung__blockposition__re"></input><label for="auslegung__blockposition__re"><img src="https://haehne-configurator.de/img/rechts.svg"></img><html><head></head><body>Rechts</body></html></label></span><span class="radiobtnrow"><input class="eingabefeld" type="radio" value="frei" name="blockposition" id="auslegung__blockposition__frei"></input><label for="auslegung__blockposition__frei"><html><head></head><body>Freie Winkeleingabe</body></html></label></span></span><script> document.getElementById(\'blockposition\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; blockposition"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__blockposition__ohne\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockposition__un\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockposition__li\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockposition__ob\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockposition__re\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__blockposition__frei\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; } ;let elmtAuslegung__blockposition__ohne=document.getElementById(\'auslegung__blockposition__ohne\'); if(elmtAuslegung__blockposition__ohne!=null){elmtAuslegung__blockposition__ohne.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockposition__un=document.getElementById(\'auslegung__blockposition__un\'); if(elmtAuslegung__blockposition__un!=null){elmtAuslegung__blockposition__un.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockposition__li=document.getElementById(\'auslegung__blockposition__li\'); if(elmtAuslegung__blockposition__li!=null){elmtAuslegung__blockposition__li.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockposition__ob=document.getElementById(\'auslegung__blockposition__ob\'); if(elmtAuslegung__blockposition__ob!=null){elmtAuslegung__blockposition__ob.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockposition__re=document.getElementById(\'auslegung__blockposition__re\'); if(elmtAuslegung__blockposition__re!=null){elmtAuslegung__blockposition__re.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}let elmtAuslegung__blockposition__frei=document.getElementById(\'auslegung__blockposition__frei\'); if(elmtAuslegung__blockposition__frei!=null){elmtAuslegung__blockposition__frei.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});}</script></span> </div> <div class="labelinputpaar" id="blockwinkel-cntnr"> <label class="paar-label">Block Winkel</label> <span class="input-container"><script> function blockwinkelFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabblockwinkellastNumValue", event.currentTarget.value); } function blockwinkelFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabblockwinkelFocusMouseDown",true); } } function blockwinkelSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabblockwinkelFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabblockwinkelFocusMouseDown",false); } function blockwinkelFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { blockwinkelSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabblockwinkellastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabblockwinkelHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabblockwinkelHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabblockwinkellastNumValue"); blockwinkelSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabblockwinkelHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabblockwinkellastNumValue\', newNumericValue); blockwinkelSelectAtFocus(isFocusEvent,event); } </script><input name="blockwinkel" class="eingabefeld feldmiteinheit zahlenfeld" id="blockwinkel" value="0" type="text"></input><script> let blockwinkelF=document.getElementById(\'blockwinkel\'); console.log("registriere"); blockwinkelF.addEventListener(\'mousedown\',blockwinkelFabMousedownNumericValue);blockwinkelF.addEventListener(\'input\',blockwinkelFabPrettyPrintNumericValue);blockwinkelF.addEventListener(\'change\',blockwinkelFabNormalizeNumericValue);blockwinkelF.addEventListener(\'focus\',blockwinkelFabNormalizeNumericValue);blockwinkelF.addEventListener(\'focus\',blockwinkelFabPrettyPrintNumericValue);blockwinkelF.addEventListener(\'blur\',blockwinkelFabPrettyPrintNumericValue,false);;blockwinkelF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=blockwinkelF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function blockwinkelForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=blockwinkelF.GetTechnicalUrlValue(); window.recalcValues(newvalue,blockwinkelF.id,event); } blockwinkelF.addEventListener(\'change\',blockwinkelForwardChange);</script><span class="einheit">°</span></span> </div> </div> <div class="labelinputpaar unsichtbar" id="expertenmodusCntnr"> <label for="expertenmodus" class="paar-label">Experten-Modus</label> <span class="input-container"><input type="checkbox" name="expertenmodus" class="eingabefeld" id="expertenmodus"></input><script> let expertenmodusF=document.getElementById(\'expertenmodus\'); function expertenmodusForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=expertenmodusF.value; window.recalcValues(newvalue,expertenmodusF.id,event); } expertenmodusF.addEventListener(\'change\',expertenmodusForwardChange);</script><span class="einheit"></span></span> </div> <script>{/*Expertenmodus ist nur für bestimmte URL sichtbar*/ let urlsearchparamsForExpertMode=new URLSearchParams(document.location.search); let expertenmodus=urlsearchparamsForExpertMode.get(\'expertenmodus\'); if(expertenmodus==\'true\'){document.getElementById(\'expertenmodusCntnr\').classList.remove(\'unsichtbar\');} } </script> <div class="labelinputpaar unsichtbar" id="sondernennkraftCntnr"> <label for="sondernennkraft" class="paar-label">Abweichende Sonder-Nennkraft</label> <span class="input-container"><script> function sondernennkraftFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabsondernennkraftlastNumValue", event.currentTarget.value); } function sondernennkraftFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabsondernennkraftFocusMouseDown",true); } } function sondernennkraftSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabsondernennkraftFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabsondernennkraftFocusMouseDown",false); } function sondernennkraftFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { sondernennkraftSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabsondernennkraftlastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabsondernennkraftHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabsondernennkraftHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabsondernennkraftlastNumValue"); sondernennkraftSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking 0.01 < \' + newInputAsNumber + \' < 9999999.99\');if(newInputAsNumber<0.01){ console.log(newInputAsNumber+\' is < 0.01\'); if (isBlurEvent) { inputElement.value = \'0,01\'; sondernennkraftSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } } if(newInputAsNumber>9999999.99){ console.log(newInputAsNumber+\' is > 9999999.99\'); if (isBlurEvent) { inputElement.value = \'9999999,99\'; sondernennkraftSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabsondernennkraftlastNumValue"); sondernennkraftSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabsondernennkraftHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + \'.\'; if (cursorPositionBeforeThousands>indexOfThousandsSeparator) { newCursorPosition++; } integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabsondernennkraftlastNumValue\', newNumericValue); sondernennkraftSelectAtFocus(isFocusEvent,event); } </script><input name="sondernennkraft" class="eingabefeld feldmiteinheit zahlenfeld" id="sondernennkraft" value="100" type="text"></input><script> let sondernennkraftF=document.getElementById(\'sondernennkraft\'); console.log("registriere"); sondernennkraftF.addEventListener(\'mousedown\',sondernennkraftFabMousedownNumericValue);sondernennkraftF.addEventListener(\'input\',sondernennkraftFabPrettyPrintNumericValue);sondernennkraftF.addEventListener(\'change\',sondernennkraftFabNormalizeNumericValue);sondernennkraftF.addEventListener(\'focus\',sondernennkraftFabNormalizeNumericValue);sondernennkraftF.addEventListener(\'focus\',sondernennkraftFabPrettyPrintNumericValue);sondernennkraftF.addEventListener(\'blur\',sondernennkraftFabPrettyPrintNumericValue,false);;sondernennkraftF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=sondernennkraftF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function sondernennkraftForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=sondernennkraftF.GetTechnicalUrlValue(); window.recalcValues(newvalue,sondernennkraftF.id,event); } sondernennkraftF.addEventListener(\'change\',sondernennkraftForwardChange);</script><span class="einheit">N</span> <span class="meldung" id="sondernennkraft_meldung"></span></span> </div> <div style="display:none;"> <textarea name="sensorattributecsv" id="sensorattributecsv" maxlength="4000"></textarea><script> let sensorattributecsvF=document.getElementById(\'sensorattributecsv\'); </script> </div> <div class="" style="margin-top:1rem;"> <label for="bemerkung" class="paar-label">Bemerkung</label> </div> <div class="" style="width:100%"> <textarea name="bemerkung" class="eingabefeld text_xl" id="bemerkung" maxlength="2000"></textarea><script> let bemerkungF=document.getElementById(\'bemerkung\'); </script> </div> <div class="vorzurueckzeile"> <span class="tab-button-weiter" id="fabTabLayout1777530692347" onclick="fabTabLayoutnullOpenTabSheets([\'tab-sensortyp\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Zurück zu Sensor-Typ</span> <span class="tab-button-weiter" id="fabTabLayout1777530692348" onclick="fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: &quot;smooth&quot;, block: &quot;start&quot;, inline: &quot;nearest&quot; });document.fabAfterTabChange();">Weiter zu Kontakt</span> </div> </div> <div style="flex-basis:100px;flex-grow: 0;flex-shrink: 1;"> <div style="margin-top: 0.625em;line-height:1.5;">&#xa0; </div> <div style="line-height:1.5;">&#xa0; </div> <div class="" style="margin-top:5px;"> <label class="paar-label">Belastung</label> </div> <div class=""> <canvas id="saeulendiagramm" style="width:100px;height:600px;border-style:solid;border-color:#066aaf;border-width:1px;"></canvas> </div> <script type="module" src="https://haehne-configurator.de/script/saeulenzeichner.js"> </script> </div> </div> </div> <div class="block2"> <div style="display:flex;margin-top:0.625em;width:100%;flex-flow:row;"> <div class="kraftzelle" style="flex:1 1 10em;"><label for="projektname" class="paar-label">Projektname</label></div> <div class="kraftzelle" style="flex:1 1 30em;"><span class="input-container"><input type="text" name="projektname" class="eingabefeld" id="projektname" maxlength="204"></input><script> let projektnameF=document.getElementById(\'projektname\'); </script></span></div> <div class="kraftzelle" style="flex:1 1 10em;padding-left:1em;"><label for="messstelle" class="paar-label">Messstelle</label></div> <div class="kraftzelle" style="flex:1 1 30em;"><span class="input-container"><input type="text" name="messstelle" class="eingabefeld" id="messstelle" maxlength="204"></input><script> let messstelleF=document.getElementById(\'messstelle\'); </script></span></div> </div> <div style="display:block;"> <div class="kraftzelle"><label class="paar-label">Typ-Bezeichnung</label></div> <div class="kraftzelle"><span class="input-container"><span id="typbezeichneroutput"></span><input type="text" name="typbezeichner" class="ausgabefeld fabhidden" id="typbezeichner" maxlength="204" disabled="" readonly=""></input><script> let typbezeichnerF=document.getElementById(\'typbezeichner\'); </script></span></div> </div> <div class="" style="display:flex;justify-content:space-between;padding-top:0.5em;"> <label class="bild-label"> </label> <span> <script>window.toggleWinkelsystem = () => { if (window.switchAngles===undefined){ /* JS-Modul ist noch nicht geladen -> probiere es gleich nochmal.*/ setTimeout(window.toggleWinkelsystem,500); }else { window.switchAngles(); } } </script> <input type="checkbox" name="alternativeswinkelsystem" class="eingabefeld" id="alternativeswinkelsystem"></input><script> let alternativeswinkelsystemF=document.getElementById(\'alternativeswinkelsystem\'); function alternativeswinkelsystemForwardChange(event){ console.log("Funktion bei Änderung: window.toggleWinkelsystem"); let newvalue=alternativeswinkelsystemF.value; window.toggleWinkelsystem(newvalue,alternativeswinkelsystemF.id,event); } alternativeswinkelsystemF.addEventListener(\'change\',alternativeswinkelsystemForwardChange);</script> <label for="alternativeswinkelsystem">Alternative Winkel-Darstellung</label> </span> </div> <div id="bildcontainer" class="" style="position:relative;"> <script>window.winkel1cnvschanged = (value, sourceElementId, event) => { let separatorChar = \',\'; if (typeof fabLocaleData !== \'undefined\') { separatorChar = fabLocaleData.decimalseparator; } if(value!=null) { value=value.replace(\'.\',separatorChar); } document.getElementById(\'winkel1\').value=value; window.recalcValues(value, sourceElementId, event); }; window.winkel2cnvschanged = (value, sourceElementId, event) => { let separatorChar = \',\'; if (typeof fabLocaleData !== \'undefined\') { separatorChar = fabLocaleData.decimalseparator; } if(value!=null) { value=value.replace(\'.\',separatorChar); } document.getElementById(\'winkel2\').value=value; window.recalcValues(value, sourceElementId, event); }; window.winkel1alternativcnvschanged = (value, sourceElementId, event) => { let separatorChar = \',\'; if (typeof fabLocaleData !== \'undefined\') { separatorChar = fabLocaleData.decimalseparator; } if(value!=null) { value=value.replace(\'.\',separatorChar); } document.getElementById(\'winkel1\').value=window.asHaehneWinkel1(parseFloat(value),true); window.recalcValues(value, sourceElementId, event); }; window.winkel2alternativcnvschanged = (value, sourceElementId, event) => { let separatorChar = \',\'; if (typeof fabLocaleData !== \'undefined\') { separatorChar = fabLocaleData.decimalseparator; } if(value!=null) { value=value.replace(\'.\',separatorChar); } document.getElementById(\'winkel2\').value=window.asHaehneWinkel2(parseFloat(value),true); window.recalcValues(value, sourceElementId, event); }; window.winkel4cnvschanged = (value, sourceElementId, event) => { let separatorChar = \',\'; if (typeof fabLocaleData !== \'undefined\') { separatorChar = fabLocaleData.decimalseparator; } if(value!=null) { value=value.replace(\'.\',separatorChar); } document.getElementById(\'messrichtung_winkel\').value=value; window.recalcValues(value, \'messrichtung_winkel\', event); }; </script> <span id="winkel1cnvs-cntnr"><script> function winkel1cnvsFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel1cnvslastNumValue", event.currentTarget.value); } function winkel1cnvsFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel1cnvsFocusMouseDown",true); } } function winkel1cnvsSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel1cnvsFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel1cnvsFocusMouseDown",false); } function winkel1cnvsFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel1cnvsSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel1cnvslastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel1cnvsHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel1cnvsHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel1cnvslastNumValue"); winkel1cnvsSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel1cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1cnvslastNumValue"); winkel1cnvsSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel1cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1cnvslastNumValue"); winkel1cnvsSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel1cnvsHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel1cnvslastNumValue\', newNumericValue); winkel1cnvsSelectAtFocus(isFocusEvent,event); } </script><input name="winkel1cnvs" id="winkel1cnvs" value="0" type="text"></input><script> let winkel1cnvsF=document.getElementById(\'winkel1cnvs\'); console.log("registriere"); winkel1cnvsF.addEventListener(\'mousedown\',winkel1cnvsFabMousedownNumericValue);winkel1cnvsF.addEventListener(\'input\',winkel1cnvsFabPrettyPrintNumericValue);winkel1cnvsF.addEventListener(\'change\',winkel1cnvsFabNormalizeNumericValue);winkel1cnvsF.addEventListener(\'focus\',winkel1cnvsFabNormalizeNumericValue);winkel1cnvsF.addEventListener(\'focus\',winkel1cnvsFabPrettyPrintNumericValue);winkel1cnvsF.addEventListener(\'blur\',winkel1cnvsFabPrettyPrintNumericValue,false);;winkel1cnvsF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel1cnvsF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel1cnvsForwardChange(event){ console.log("Funktion bei Änderung: window.winkel1cnvschanged"); let newvalue=winkel1cnvsF.GetTechnicalUrlValue(); window.winkel1cnvschanged(newvalue,winkel1cnvsF.id,event); } winkel1cnvsF.addEventListener(\'change\',winkel1cnvsForwardChange);</script><span class="cnvs-einheit">°</span></span> <span id="winkel2cnvs-cntnr"><script> function winkel2cnvsFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel2cnvslastNumValue", event.currentTarget.value); } function winkel2cnvsFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel2cnvsFocusMouseDown",true); } } function winkel2cnvsSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel2cnvsFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel2cnvsFocusMouseDown",false); } function winkel2cnvsFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel2cnvsSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel2cnvslastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel2cnvsHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel2cnvsHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel2cnvslastNumValue"); winkel2cnvsSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel2cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2cnvslastNumValue"); winkel2cnvsSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel2cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2cnvslastNumValue"); winkel2cnvsSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel2cnvsHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel2cnvslastNumValue\', newNumericValue); winkel2cnvsSelectAtFocus(isFocusEvent,event); } </script><input name="winkel2cnvs" id="winkel2cnvs" value="0" type="text"></input><script> let winkel2cnvsF=document.getElementById(\'winkel2cnvs\'); console.log("registriere"); winkel2cnvsF.addEventListener(\'mousedown\',winkel2cnvsFabMousedownNumericValue);winkel2cnvsF.addEventListener(\'input\',winkel2cnvsFabPrettyPrintNumericValue);winkel2cnvsF.addEventListener(\'change\',winkel2cnvsFabNormalizeNumericValue);winkel2cnvsF.addEventListener(\'focus\',winkel2cnvsFabNormalizeNumericValue);winkel2cnvsF.addEventListener(\'focus\',winkel2cnvsFabPrettyPrintNumericValue);winkel2cnvsF.addEventListener(\'blur\',winkel2cnvsFabPrettyPrintNumericValue,false);;winkel2cnvsF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel2cnvsF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel2cnvsForwardChange(event){ console.log("Funktion bei Änderung: window.winkel2cnvschanged"); let newvalue=winkel2cnvsF.GetTechnicalUrlValue(); window.winkel2cnvschanged(newvalue,winkel2cnvsF.id,event); } winkel2cnvsF.addEventListener(\'change\',winkel2cnvsForwardChange);</script><span class="cnvs-einheit">°</span></span> <span id="winkel1alternativcnvs-cntnr"><script> function winkel1alternativcnvsFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel1alternativcnvslastNumValue", event.currentTarget.value); } function winkel1alternativcnvsFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel1alternativcnvsFocusMouseDown",true); } } function winkel1alternativcnvsSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel1alternativcnvsFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel1alternativcnvsFocusMouseDown",false); } function winkel1alternativcnvsFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel1alternativcnvsSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel1alternativcnvslastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel1alternativcnvsHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel1alternativcnvsHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativcnvslastNumValue"); winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativcnvslastNumValue"); winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel1alternativcnvslastNumValue"); winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel1alternativcnvsHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel1alternativcnvslastNumValue\', newNumericValue); winkel1alternativcnvsSelectAtFocus(isFocusEvent,event); } </script><input name="winkel1alternativcnvs" id="winkel1alternativcnvs" value="0" type="text"></input><script> let winkel1alternativcnvsF=document.getElementById(\'winkel1alternativcnvs\'); console.log("registriere"); winkel1alternativcnvsF.addEventListener(\'mousedown\',winkel1alternativcnvsFabMousedownNumericValue);winkel1alternativcnvsF.addEventListener(\'input\',winkel1alternativcnvsFabPrettyPrintNumericValue);winkel1alternativcnvsF.addEventListener(\'change\',winkel1alternativcnvsFabNormalizeNumericValue);winkel1alternativcnvsF.addEventListener(\'focus\',winkel1alternativcnvsFabNormalizeNumericValue);winkel1alternativcnvsF.addEventListener(\'focus\',winkel1alternativcnvsFabPrettyPrintNumericValue);winkel1alternativcnvsF.addEventListener(\'blur\',winkel1alternativcnvsFabPrettyPrintNumericValue,false);;winkel1alternativcnvsF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel1alternativcnvsF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel1alternativcnvsForwardChange(event){ console.log("Funktion bei Änderung: window.winkel1alternativcnvschanged"); let newvalue=winkel1alternativcnvsF.GetTechnicalUrlValue(); window.winkel1alternativcnvschanged(newvalue,winkel1alternativcnvsF.id,event); } winkel1alternativcnvsF.addEventListener(\'change\',winkel1alternativcnvsForwardChange);</script><span class="cnvs-einheit">°</span></span> <span id="winkel2alternativcnvs-cntnr"><script> function winkel2alternativcnvsFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel2alternativcnvslastNumValue", event.currentTarget.value); } function winkel2alternativcnvsFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel2alternativcnvsFocusMouseDown",true); } } function winkel2alternativcnvsSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel2alternativcnvsFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel2alternativcnvsFocusMouseDown",false); } function winkel2alternativcnvsFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel2alternativcnvsSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel2alternativcnvslastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel2alternativcnvsHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel2alternativcnvsHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativcnvslastNumValue"); winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativcnvslastNumValue"); winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel2alternativcnvslastNumValue"); winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel2alternativcnvsHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel2alternativcnvslastNumValue\', newNumericValue); winkel2alternativcnvsSelectAtFocus(isFocusEvent,event); } </script><input name="winkel2alternativcnvs" id="winkel2alternativcnvs" value="0" type="text"></input><script> let winkel2alternativcnvsF=document.getElementById(\'winkel2alternativcnvs\'); console.log("registriere"); winkel2alternativcnvsF.addEventListener(\'mousedown\',winkel2alternativcnvsFabMousedownNumericValue);winkel2alternativcnvsF.addEventListener(\'input\',winkel2alternativcnvsFabPrettyPrintNumericValue);winkel2alternativcnvsF.addEventListener(\'change\',winkel2alternativcnvsFabNormalizeNumericValue);winkel2alternativcnvsF.addEventListener(\'focus\',winkel2alternativcnvsFabNormalizeNumericValue);winkel2alternativcnvsF.addEventListener(\'focus\',winkel2alternativcnvsFabPrettyPrintNumericValue);winkel2alternativcnvsF.addEventListener(\'blur\',winkel2alternativcnvsFabPrettyPrintNumericValue,false);;winkel2alternativcnvsF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel2alternativcnvsF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel2alternativcnvsForwardChange(event){ console.log("Funktion bei Änderung: window.winkel2alternativcnvschanged"); let newvalue=winkel2alternativcnvsF.GetTechnicalUrlValue(); window.winkel2alternativcnvschanged(newvalue,winkel2alternativcnvsF.id,event); } winkel2alternativcnvsF.addEventListener(\'change\',winkel2alternativcnvsForwardChange);</script><span class="cnvs-einheit">°</span></span> <span id="winkel4cnvs-cntnr"><script> function winkel4cnvsFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabwinkel4cnvslastNumValue", event.currentTarget.value); } function winkel4cnvsFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabwinkel4cnvsFocusMouseDown",true); } } function winkel4cnvsSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabwinkel4cnvsFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabwinkel4cnvsFocusMouseDown",false); } function winkel4cnvsFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { winkel4cnvsSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabwinkel4cnvslastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabwinkel4cnvsHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabwinkel4cnvsHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabwinkel4cnvslastNumValue"); winkel4cnvsSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; winkel4cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel4cnvslastNumValue"); winkel4cnvsSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; winkel4cnvsSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabwinkel4cnvslastNumValue"); winkel4cnvsSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabwinkel4cnvsHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabwinkel4cnvslastNumValue\', newNumericValue); winkel4cnvsSelectAtFocus(isFocusEvent,event); } </script><input name="winkel4cnvs" id="winkel4cnvs" value="0" type="text"></input><script> let winkel4cnvsF=document.getElementById(\'winkel4cnvs\'); console.log("registriere"); winkel4cnvsF.addEventListener(\'mousedown\',winkel4cnvsFabMousedownNumericValue);winkel4cnvsF.addEventListener(\'input\',winkel4cnvsFabPrettyPrintNumericValue);winkel4cnvsF.addEventListener(\'change\',winkel4cnvsFabNormalizeNumericValue);winkel4cnvsF.addEventListener(\'focus\',winkel4cnvsFabNormalizeNumericValue);winkel4cnvsF.addEventListener(\'focus\',winkel4cnvsFabPrettyPrintNumericValue);winkel4cnvsF.addEventListener(\'blur\',winkel4cnvsFabPrettyPrintNumericValue,false);;winkel4cnvsF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=winkel4cnvsF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function winkel4cnvsForwardChange(event){ console.log("Funktion bei Änderung: window.winkel4cnvschanged"); let newvalue=winkel4cnvsF.GetTechnicalUrlValue(); window.winkel4cnvschanged(newvalue,winkel4cnvsF.id,event); } winkel4cnvsF.addEventListener(\'change\',winkel4cnvsForwardChange);</script><span class="cnvs-einheit">°</span></span> <div id="messrichtung-cntnr"> <label class="paar-label">Messrichtung</label> <div class="messrichtungwinkelblock"> <span class="input-container"><span class="radiobtncontainer" id="winkel3messrichtung" name="winkel3messrichtung"> <span style="display:block"> <input class="eingabefeld" type="radio" value="li" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__li" /><label for="auslegung__winkel3messrichtung__li"><img src="img/links.svg" /></label> <input class="eingabefeld" type="radio" value="re" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__re" /><label for="auslegung__winkel3messrichtung__re"><img src="img/rechts.svg" /></label> </span> <span style="display:block"> <input class="eingabefeld" type="radio" value="ob" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__ob" /><label for="auslegung__winkel3messrichtung__ob"><img src="img/oben.svg" /></label> <span><input class="eingabefeld" type="radio" value="un" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__un" /><label for="auslegung__winkel3messrichtung__un"><img src="img/unten.svg" /></label></span> </span> <span class="radiobtnrow"><input class="eingabefeld" checked="checked" type="radio" value="wiha" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__wiha" /><label for="auslegung__winkel3messrichtung__wiha">Winkelhalbierende</label></span> <span class="radiobtnrow"><input class="eingabefeld" type="radio" value="frei" name="winkel3messrichtung" id="auslegung__winkel3messrichtung__frei" /><label for="auslegung__winkel3messrichtung__frei" style="margin-right:1em;"></label> <script> function messrichtung_winkelFabNormalizeNumericValue(event){ console.log("korrektur"); event.currentTarget.setAttribute("data-fabmessrichtung_winkellastNumValue", event.currentTarget.value); } function messrichtung_winkelFabMousedownNumericValue(event){ console.log("mousedown"); if(event.currentTarget!=document.activeElement){ event.currentTarget.setAttribute("data-fabmessrichtung_winkelFocusMouseDown",true); } } function messrichtung_winkelSelectAtFocus(isFocusEvent, event){ console.log("selectatfocus"); if (isFocusEvent && (event.currentTarget.getAttribute("data-fabmessrichtung_winkelFocusMouseDown")!=true||false)) {event.currentTarget.select();} event.currentTarget.setAttribute("data-fabmessrichtung_winkelFocusMouseDown",false); } function messrichtung_winkelFabPrettyPrintNumericValue(event){ const eventType = event==null?null:event.type; console.log("pretty print; "+eventType); const isInputEvent = eventType == \'input\'; const isBlurEvent = eventType == \'blur\'; const isFocusEvent = eventType == \'focus\'; const isInitialEvent = eventType == null; const inputElement = event.currentTarget; const originalInputValue = inputElement.value; if (originalInputValue==null || originalInputValue==\'\') { return; } if (isInitialEvent && (2==2) && (originalInputValue.length>=0)) { messrichtung_winkelSelectAtFocus(isFocusEvent, event); return; } const originalCursorPosition = inputElement.selectionStart; var newCursorPosition = originalCursorPosition; var originalInputValueWithExecutedDelete = originalInputValue; var userPressedDelete = event!=null && event.inputType=="deleteContentForward"; var userPressedBackspace = event!=null && event.inputType=="deleteContentBackward"; var intentionallyDeletedEverything = false; var lastvalue=inputElement.getAttribute(\'data-fabmessrichtung_winkellastNumValue\'); if(lastvalue==\'\'){lastvalue=null;}if ((userPressedDelete || userPressedBackspace) && lastvalue!=null) { if (lastvalue.length==originalInputValue.length+1) { var deletedCharacter = null; for (var i=0;i<originalInputValue.length;i++) { if(lastvalue.charAt(i)!=originalInputValue.charAt(i)) { deletedCharacter=lastvalue.charAt(i); break; } } if (deletedCharacter==null) { deletedCharacter=lastvalue.charAt(lastvalue.length-1); } if (deletedCharacter==\'.\') { if (userPressedDelete) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition)+originalInputValueWithExecutedDelete.substring(newCursorPosition+1); } else if (userPressedBackspace) { originalInputValueWithExecutedDelete = originalInputValueWithExecutedDelete.substring(0,newCursorPosition-1)+originalInputValueWithExecutedDelete.substring(newCursorPosition); newCursorPosition--; } } if (deletedCharacter==\',\' && /^0+$/.test(originalInputValueWithExecutedDelete)) { originalInputValueWithExecutedDelete = ""; intentionallyDeletedEverything = true; newCursorPosition = 0; } } } let isNegative = originalInputValueWithExecutedDelete.indexOf(\'-\')>=0; const originalInputValueLength = originalInputValueWithExecutedDelete.length; var newInputValue = ""; var decimalSeparatorIndex = null; for (var i = 0; i < originalInputValueLength; i++) { var character = originalInputValueWithExecutedDelete.charAt(i); if (character >= \'0\' && character <= \'9\') {   newInputValue = newInputValue + character; } else if (character==\',\' && decimalSeparatorIndex==null) { 	newInputValue = newInputValue + character; 	decimalSeparatorIndex = i; } else { 	if (originalCursorPosition>i) { 		newCursorPosition--; 	} } } decimalSeparatorIndex = newInputValue.indexOf(\',\'); var integerPart = (decimalSeparatorIndex>=0)?newInputValue.substring(0, decimalSeparatorIndex):newInputValue; var decimalPartWhenEditing = (decimalSeparatorIndex>=0)?newInputValue.substring(decimalSeparatorIndex+1):\'\'; let hiddenplaces=inputElement.getAttribute(\'data-fabmessrichtung_winkelHiddenDecPlaces\'); if(hiddenplaces==null){hiddenplaces=\'\';inputElement.setAttribute(\'data-fabmessrichtung_winkelHiddenDecPlaces\',hiddenplaces);} decimalPartWhenEditing = decimalPartWhenEditing + (isFocusEvent?hiddenplaces:""); while (integerPart.length<0) { 	integerPart = \'0\' + integerPart; 	newCursorPosition++; } while (integerPart.length>12) { if (integerPart.startsWith(\'0\')) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } else { inputElement.value = inputElement.getAttribute("data-fabmessrichtung_winkellastNumValue"); messrichtung_winkelSelectAtFocus(isFocusEvent,event); return; } } while (integerPart.charAt(0)==\'0\' && integerPart.length>1 && integerPart.length>0) { integerPart = integerPart.substring(1); if (newCursorPosition>0) { newCursorPosition--; } } let newInputAsNumber=parseFloat( (isNegative==true?\'-\':\'\') + integerPart + ( (decimalPartWhenEditing==null||decimalPartWhenEditing==\'\') ? \'\' : (\'.\'+decimalPartWhenEditing) ) ); console.log(\'Checking -36000 < \' + newInputAsNumber + \' < 36000\');if(newInputAsNumber<-36000){ console.log(newInputAsNumber+\' is < -36000\'); if (isBlurEvent) { inputElement.value = \'-36000\'; messrichtung_winkelSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabmessrichtung_winkellastNumValue"); messrichtung_winkelSelectAtFocus(isFocusEvent,event); return; } } if(newInputAsNumber>36000){ console.log(newInputAsNumber+\' is > 36000\'); if (isBlurEvent) { inputElement.value = \'36000\'; messrichtung_winkelSelectAtFocus(isFocusEvent,event); inputElement.dispatchEvent(new Event(\'change\')); return; } else{ inputElement.value = inputElement.getAttribute("data-fabmessrichtung_winkellastNumValue"); messrichtung_winkelSelectAtFocus(isFocusEvent,event); return; } } var numberOfDecimalsToKeepWhenEditing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); var numberOfDecimalsToKeepWhenShowing = Math.max(Math.min(2, decimalPartWhenEditing.length), 0); if (decimalPartWhenEditing.length>numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenEditing); } else if (intentionallyDeletedEverything==false) { while (decimalPartWhenEditing.length<numberOfDecimalsToKeepWhenEditing) { decimalPartWhenEditing = decimalPartWhenEditing + \'0\'; } } var decimalPartWhenShowing = decimalPartWhenEditing.substring(0, numberOfDecimalsToKeepWhenShowing); inputElement.setAttribute(\'data-fabmessrichtung_winkelHiddenDecPlaces\',decimalPartWhenEditing.substring(numberOfDecimalsToKeepWhenShowing, numberOfDecimalsToKeepWhenEditing)); var keepDecimalSeparator = (isInputEvent && decimalSeparatorIndex>=0); if (2 > 0 && isInputEvent) { } else if (numberOfDecimalsToKeepWhenEditing==0) { decimalSeparatorIndex = null; } newCursorPosition = Math.min(newCursorPosition, integerPart.length + ((decimalPartWhenEditing.length>0 || keepDecimalSeparator)?(1+decimalPartWhenEditing.length):0)); var indexOfThousandsSeparator = integerPart.length%3; if (indexOfThousandsSeparator==0) { 	indexOfThousandsSeparator+=3; } var numberOfThousandsSeparators = (Math.floor((integerPart.length-indexOfThousandsSeparator)/3)); var integerWithThousands = integerPart.substring(0, Math.min(indexOfThousandsSeparator, integerPart.length)); const cursorPositionBeforeThousands = newCursorPosition; for (var i=0; i<numberOfThousandsSeparators; i++) { integerWithThousands = integerWithThousands + integerPart.substr(indexOfThousandsSeparator, 3); indexOfThousandsSeparator += 3; } if (isNegative) { 	newCursorPosition++;  } var decimalPartWhenEditing = ((decimalPartWhenEditing.length>0 || (decimalSeparatorIndex!=null && decimalSeparatorIndex>=0))?\',\':"") + ((decimalPartWhenEditing.length>0)?decimalPartWhenEditing:\'\'); var decimalPartWhenShowing = ((decimalPartWhenShowing.length>0 || keepDecimalSeparator)?\',\'+decimalPartWhenShowing:""); var newNumericValue = (isNegative?\'-\':\'\') + integerWithThousands + ((isBlurEvent||isInitialEvent)?decimalPartWhenShowing:decimalPartWhenEditing); console.log("fabnum " + originalInputValue+" --> "+newNumericValue); inputElement.value = newNumericValue; newCursorPosition = Math.min(newCursorPosition, newNumericValue.length); if (originalCursorPosition>=0 && !(isBlurEvent)) { 	inputElement.setSelectionRange(newCursorPosition, newCursorPosition); } inputElement.setAttribute(\'data-fabmessrichtung_winkellastNumValue\', newNumericValue); messrichtung_winkelSelectAtFocus(isFocusEvent,event); } </script><input name="messrichtung_winkel" class="eingabefeld feldmiteinheit zahlenfeld" id="messrichtung_winkel" value="292" type="text"></input><script> let messrichtung_winkelF=document.getElementById(\'messrichtung_winkel\'); console.log("registriere"); messrichtung_winkelF.addEventListener(\'mousedown\',messrichtung_winkelFabMousedownNumericValue);messrichtung_winkelF.addEventListener(\'input\',messrichtung_winkelFabPrettyPrintNumericValue);messrichtung_winkelF.addEventListener(\'change\',messrichtung_winkelFabNormalizeNumericValue);messrichtung_winkelF.addEventListener(\'focus\',messrichtung_winkelFabNormalizeNumericValue);messrichtung_winkelF.addEventListener(\'focus\',messrichtung_winkelFabPrettyPrintNumericValue);messrichtung_winkelF.addEventListener(\'blur\',messrichtung_winkelFabPrettyPrintNumericValue,false);;messrichtung_winkelF.GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue"); let value=messrichtung_winkelF.value; if(value!=null){value=value.replace(\'.\',\'\');} if(value!=null){value=value.replace(\',\',\'.\');} console.log("GetTechnicalUrlValue "+value); return value; } ;function messrichtung_winkelForwardChange(event){ console.log("Funktion bei Änderung: window.recalcValues"); let newvalue=messrichtung_winkelF.GetTechnicalUrlValue(); window.recalcValues(newvalue,messrichtung_winkelF.id,event); } messrichtung_winkelF.addEventListener(\'change\',messrichtung_winkelForwardChange);</script><span class="einheit">°</span> <span class="meldung" id="messrichtung_winkel_meldung"></span> </span></span> <script async="" type="text/javascript">document.getElementById(\'winkel3messrichtung\').GetTechnicalUrlValue = () => { console.log("GetTechnicalUrlValue; winkel3messrichtung"); let value=null; let radioinput=null; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__li\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__re\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__ob\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__un\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__wiha\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; radioinput=document.getElementById(\'auslegung__winkel3messrichtung__frei\'); if(radioinput!=null && radioinput.checked){value=radioinput.value;}; console.log("GetTechnicalUrlValue "+value); return value; }; let elmtAuslegung__winkel3messrichtung__li=document.getElementById(\'auslegung__winkel3messrichtung__li\'); if(elmtAuslegung__winkel3messrichtung__li!=null){elmtAuslegung__winkel3messrichtung__li.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} let elmtAuslegung__winkel3messrichtung__re=document.getElementById(\'auslegung__winkel3messrichtung__re\'); if(elmtAuslegung__winkel3messrichtung__re!=null){elmtAuslegung__winkel3messrichtung__re.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} let elmtAuslegung__winkel3messrichtung__ob=document.getElementById(\'auslegung__winkel3messrichtung__ob\'); if(elmtAuslegung__winkel3messrichtung__ob!=null){elmtAuslegung__winkel3messrichtung__ob.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} let elmtAuslegung__winkel3messrichtung__un=document.getElementById(\'auslegung__winkel3messrichtung__un\'); if(elmtAuslegung__winkel3messrichtung__un!=null){elmtAuslegung__winkel3messrichtung__un.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} let elmtAuslegung__winkel3messrichtung__wiha=document.getElementById(\'auslegung__winkel3messrichtung__wiha\'); if(elmtAuslegung__winkel3messrichtung__wiha!=null){elmtAuslegung__winkel3messrichtung__wiha.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} let elmtAuslegung__winkel3messrichtung__frei=document.getElementById(\'auslegung__winkel3messrichtung__frei\'); if(elmtAuslegung__winkel3messrichtung__frei!=null){elmtAuslegung__winkel3messrichtung__frei.addEventListener(\'change\', function(){if(this.checked==true){window.recalcValues(this.value,this.id)}});} { let urlsearchparamsForMr=new URLSearchParams(document.location.search); let urlvalue=urlsearchparamsForMr.get(\'winkel3messrichtung\'); if(urlvalue==\'li\'){elmtAuslegung__winkel3messrichtung__li.checked=true;} if(urlvalue==\'re\'){elmtAuslegung__winkel3messrichtung__re.checked=true;} if(urlvalue==\'un\'){elmtAuslegung__winkel3messrichtung__un.checked=true;} if(urlvalue==\'ob\'){elmtAuslegung__winkel3messrichtung__ob.checked=true;} if(urlvalue==\'wiha\'){elmtAuslegung__winkel3messrichtung__wiha.checked=true;} if(urlvalue==\'frei\'){elmtAuslegung__winkel3messrichtung__frei.checked=true;} } </script> </span> </div> </div> <canvas id="bild" style="width:100%;height:600px;border-style:solid;border-color:#dddddd;border-width:1px;"></canvas> </div> <script type="module" src="https://haehne-configurator.de/script/winkelzeichner.js"> </script> <style>.fabjsmessage-error{color:red;}.fabjsmessage-warn{color:yellow;}.fabjsmessage-info{color:#009900;} #nachricht{text-align:right;}</style> <div id="nachricht"></div> <span class="meldung fehler" id="alle_fehler" style="max-width:100%;"></span> <span class="meldung" id="alle_meldung" style="max-width:100%;"></span> <div style="width:100%;text-align:right;margin-top:1em;"> <a class="button" target="_blank" href="https://haehne.de/service/glossar-kraftaufnehmer">Kraftmessung Glossar</a> <button type="button" onclick="let e=document.getElementById(\'uploadblock\');e.classList.toggle(\'uploadsichtbar\');e.scrollIntoView({behavior:\'smooth\',block:\'center\',inline:\'center\'});">Importieren</button> <script> async function getInputElementNameValueForUrl3(inputElementId){ try{ let element=document.getElementById(inputElementId); if(element!=null){ if(typeof element.GetTechnicalUrlValue===\'function\'){let namevalue=element.name; if(namevalue===undefined){let nameAtt=element.attributes["name"];if(nameAtt!=null){namevalue=nameAtt.value;}}if(namevalue===undefined){namevalue=element.id;}let techurlval=element.GetTechnicalUrlValue(); if(techurlval==null || techurlval==\'\'){return "";} return namevalue+"="+encodeURIComponent(techurlval)+"&"; }else if(element.type==\'file\'){ const toBase64 = file => new Promise((resolve, reject) => { const reader = new FileReader(); if(file!=null){ reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; } else { resolve(null); } }); let base64=await toBase64(element.files[0]); console.log(encodeURIComponent(base64)); return element.name+"="+encodeURIComponent(base64)+"&"; }else if(element.multiple){ let options=element.options; let optionsurl=""; for(let i=0;i<options.length;i++){ if(options[i].selected){ optionsurl+=element.name+"="+encodeURIComponent(options[i].value)+"&"; } } return optionsurl; }else if(element.tagName==\'CANVAS\'){ let dataurl=await element.toDataURL("image/png");return element.id+"="+encodeURIComponent(dataurl)+"&"; }else if(element.type==\'checkbox\'){if(element.checked){return element.name+"="+encodeURIComponent(element.checked)+"&";}else{return "";} }else if(element.type==\'radio\'){if(element.checked){return element.name+"="+encodeURIComponent(element.value)+"&";}else{return "";} }else if(element.tagName==\'SELECT\'){ console.log(element.id+\': \'+element.value); if(element.value==null || element.value==\'\'){return "";}else{return element.name+"="+encodeURIComponent(element.value)+"&";} }else{ return element.name+"="+encodeURIComponent(element.value)+"&"; } } else{return "";} }catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } function isInputValueValid3(inputElementId){ let element=document.getElementById(inputElementId); if(element!=null && element.tagName==\'INPUT\'){ console.log(element); element.classList.remove(\'faberror\'); element.setCustomValidity(""); let valid=element.reportValidity(); if(valid==false){ if(inputElementId==\'datenschutzok\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'telefon\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'email\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'stueckzahl\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} element.classList.add(\'faberror\'); element.scrollIntoView({behavior:"smooth",block:"center"}); element.focus(); console.log(\'Nicht valide: \'+inputElementId); } return valid; }else{ return true; } } function isFormValid3(){ console.log(\'Checking validity...\'); return true; } function getUrlParameterNameValueForUrl3(urlParameterName){ const searchParams = new URLSearchParams(window.location.search); if(searchParams.has(urlParameterName)){ return urlParameterName+\'=\'+searchParams.get(urlParameterName)+\'&\'; }else{ return ""; } } async function fabInputFieldSubmitBlst1795077999GetDwnld(baseUrl){ try{ let btnFabInputField1777530692349=null;try{btnFabInputField1777530692349=document.getElementById(\'fabInputField1777530692349\');if(btnFabInputField1777530692349!=null){if(btnFabInputField1777530692349.classList.contains(\'button-processing\')){return;}btnFabInputField1777530692349.classList.add(\'button-processing\');}let query="messageelementid=nachricht&"; console.log(\'Adding URL param for locale\');if(!isInputValueValid3("locale")){return;} query+=await getInputElementNameValueForUrl3("locale"); console.log(\'Adding URL param for beratung\');if(!isInputValueValid3("beratung")){return;} query+=await getInputElementNameValueForUrl3("beratung"); console.log(\'Adding URL param for katalog\');if(!isInputValueValid3("katalog")){return;} query+=await getInputElementNameValueForUrl3("katalog"); console.log(\'Adding URL param for angebot\');if(!isInputValueValid3("angebot")){return;} query+=await getInputElementNameValueForUrl3("angebot"); console.log(\'Adding URL param for stueckzahl\');if(!isInputValueValid3("stueckzahl")){return;} query+=await getInputElementNameValueForUrl3("stueckzahl"); console.log(\'Adding URL param for firma\');if(!isInputValueValid3("firma")){return;} query+=await getInputElementNameValueForUrl3("firma"); console.log(\'Adding URL param for strasse\');if(!isInputValueValid3("strasse")){return;} query+=await getInputElementNameValueForUrl3("strasse"); console.log(\'Adding URL param for plz\');if(!isInputValueValid3("plz")){return;} query+=await getInputElementNameValueForUrl3("plz"); console.log(\'Adding URL param for ort\');if(!isInputValueValid3("ort")){return;} query+=await getInputElementNameValueForUrl3("ort"); console.log(\'Adding URL param for name\');if(!isInputValueValid3("name")){return;} query+=await getInputElementNameValueForUrl3("name"); console.log(\'Adding URL param for telefon\');if(!isInputValueValid3("telefon")){return;} query+=await getInputElementNameValueForUrl3("telefon"); console.log(\'Adding URL param for email\');if(!isInputValueValid3("email")){return;} query+=await getInputElementNameValueForUrl3("email"); console.log(\'Adding URL param for datum\');if(!isInputValueValid3("datum")){return;} query+=await getInputElementNameValueForUrl3("datum"); console.log(\'Adding URL param for datenschutzok\');if(!isInputValueValid3("datenschutzok")){return;} query+=await getInputElementNameValueForUrl3("datenschutzok"); console.log(\'Adding URL param for bandzugoderbreite_bandzug\');if(!isInputValueValid3("bandzugoderbreite_bandzug")){return;} query+=await getInputElementNameValueForUrl3("bandzugoderbreite_bandzug"); console.log(\'Adding URL param for bandzug\');if(!isInputValueValid3("bandzug")){return;} query+=await getInputElementNameValueForUrl3("bandzug"); console.log(\'Adding URL param for bandzugoderbreite_breite\');if(!isInputValueValid3("bandzugoderbreite_breite")){return;} query+=await getInputElementNameValueForUrl3("bandzugoderbreite_breite"); console.log(\'Adding URL param for zugn_pro_breitemm\');if(!isInputValueValid3("zugn_pro_breitemm")){return;} query+=await getInputElementNameValueForUrl3("zugn_pro_breitemm"); console.log(\'Adding URL param for bahnbreitemm\');if(!isInputValueValid3("bahnbreitemm")){return;} query+=await getInputElementNameValueForUrl3("bahnbreitemm"); console.log(\'Adding URL param for bandzugoderbreite_min_bandzug\');if(!isInputValueValid3("bandzugoderbreite_min_bandzug")){return;} query+=await getInputElementNameValueForUrl3("bandzugoderbreite_min_bandzug"); console.log(\'Adding URL param for bandzugmin\');if(!isInputValueValid3("bandzugmin")){return;} query+=await getInputElementNameValueForUrl3("bandzugmin"); console.log(\'Adding URL param for bandzugoderbreite_min_breite\');if(!isInputValueValid3("bandzugoderbreite_min_breite")){return;} query+=await getInputElementNameValueForUrl3("bandzugoderbreite_min_breite"); console.log(\'Adding URL param for zugn_pro_breitemm_min\');if(!isInputValueValid3("zugn_pro_breitemm_min")){return;} query+=await getInputElementNameValueForUrl3("zugn_pro_breitemm_min"); console.log(\'Adding URL param for bahnbreitemm_min\');if(!isInputValueValid3("bahnbreitemm_min")){return;} query+=await getInputElementNameValueForUrl3("bahnbreitemm_min"); console.log(\'Adding URL param for walzengewicht\');if(!isInputValueValid3("walzengewicht")){return;} query+=await getInputElementNameValueForUrl3("walzengewicht"); console.log(\'Adding URL param for walzengewicht_einheit\');if(!isInputValueValid3("walzengewicht_einheit")){return;} query+=await getInputElementNameValueForUrl3("walzengewicht_einheit"); console.log(\'Adding URL param for winkel1\');if(!isInputValueValid3("winkel1")){return;} query+=await getInputElementNameValueForUrl3("winkel1"); console.log(\'Adding URL param for winkel2\');if(!isInputValueValid3("winkel2")){return;} query+=await getInputElementNameValueForUrl3("winkel2"); console.log(\'Adding URL param for winkel1alternativ\');if(!isInputValueValid3("winkel1alternativ")){return;} query+=await getInputElementNameValueForUrl3("winkel1alternativ"); console.log(\'Adding URL param for winkel2alternativ\');if(!isInputValueValid3("winkel2alternativ")){return;} query+=await getInputElementNameValueForUrl3("winkel2alternativ"); console.log(\'Adding URL param for bandzuganteil_n\');if(!isInputValueValid3("bandzuganteil_n")){return;} query+=await getInputElementNameValueForUrl3("bandzuganteil_n"); console.log(\'Adding URL param for bandzuganteilmin_n\');if(!isInputValueValid3("bandzuganteilmin_n")){return;} query+=await getInputElementNameValueForUrl3("bandzuganteilmin_n"); console.log(\'Adding URL param for gesamtkraft_n\');if(!isInputValueValid3("gesamtkraft_n")){return;} query+=await getInputElementNameValueForUrl3("gesamtkraft_n"); console.log(\'Adding URL param for gesamtkraftmin_n\');if(!isInputValueValid3("gesamtkraftmin_n")){return;} query+=await getInputElementNameValueForUrl3("gesamtkraftmin_n"); console.log(\'Adding URL param for walzengewichtanteil_n\');if(!isInputValueValid3("walzengewichtanteil_n")){return;} query+=await getInputElementNameValueForUrl3("walzengewichtanteil_n"); console.log(\'Adding URL param for typ\');if(!isInputValueValid3("typ")){return;} query+=await getInputElementNameValueForUrl3("typ"); console.log(\'Adding URL param for typ2\');if(!isInputValueValid3("typ2")){return;} query+=await getInputElementNameValueForUrl3("typ2"); console.log(\'Adding URL param for lagerung\');if(!isInputValueValid3("lagerung")){return;} query+=await getInputElementNameValueForUrl3("lagerung"); console.log(\'Adding URL param for wellenzapfendurchmesser_mm\');if(!isInputValueValid3("wellenzapfendurchmesser_mm")){return;} query+=await getInputElementNameValueForUrl3("wellenzapfendurchmesser_mm"); console.log(\'Adding URL param for typ_lang\');if(!isInputValueValid3("typ_lang")){return;} query+=await getInputElementNameValueForUrl3("typ_lang"); console.log(\'Adding URL param for baugroesse\');if(!isInputValueValid3("baugroesse")){return;} query+=await getInputElementNameValueForUrl3("baugroesse"); console.log(\'Adding URL param for messrichtung\');if(!isInputValueValid3("messrichtung")){return;} query+=await getInputElementNameValueForUrl3("messrichtung"); console.log(\'Adding URL param for bauform\');if(!isInputValueValid3("bauform")){return;} query+=await getInputElementNameValueForUrl3("bauform"); console.log(\'Adding URL param for ballenlaenge\');if(!isInputValueValid3("ballenlaenge")){return;} query+=await getInputElementNameValueForUrl3("ballenlaenge"); console.log(\'Adding URL param for nennkraefte_n\');if(!isInputValueValid3("nennkraefte_n")){return;} query+=await getInputElementNameValueForUrl3("nennkraefte_n"); console.log(\'Adding URL param for option_k\');if(!isInputValueValid3("option_k")){return;} query+=await getInputElementNameValueForUrl3("option_k"); console.log(\'Adding URL param for stdleitung_art\');if(!isInputValueValid3("stdleitung_art")){return;} query+=await getInputElementNameValueForUrl3("stdleitung_art"); console.log(\'Adding URL param for stdleitung_m\');if(!isInputValueValid3("stdleitung_m")){return;} query+=await getInputElementNameValueForUrl3("stdleitung_m"); console.log(\'Adding URL param for stdanschluss\');if(!isInputValueValid3("stdanschluss")){return;} query+=await getInputElementNameValueForUrl3("stdanschluss"); console.log(\'Adding URL param for anschlussvariante\');if(!isInputValueValid3("anschlussvariante")){return;} query+=await getInputElementNameValueForUrl3("anschlussvariante"); console.log(\'Adding URL param for option_r\');if(!isInputValueValid3("option_r")){return;} query+=await getInputElementNameValueForUrl3("option_r"); console.log(\'Adding URL param for option_y\');if(!isInputValueValid3("option_y")){return;} query+=await getInputElementNameValueForUrl3("option_y"); console.log(\'Adding URL param for option_u\');if(!isInputValueValid3("option_u")){return;} query+=await getInputElementNameValueForUrl3("option_u"); console.log(\'Adding URL param for option_w\');if(!isInputValueValid3("option_w")){return;} query+=await getInputElementNameValueForUrl3("option_w"); console.log(\'Adding URL param for option_d\');if(!isInputValueValid3("option_d")){return;} query+=await getInputElementNameValueForUrl3("option_d"); console.log(\'Adding URL param for option_e\');if(!isInputValueValid3("option_e")){return;} query+=await getInputElementNameValueForUrl3("option_e"); console.log(\'Adding URL param for option_g\');if(!isInputValueValid3("option_g")){return;} query+=await getInputElementNameValueForUrl3("option_g"); console.log(\'Adding URL param for option_h\');if(!isInputValueValid3("option_h")){return;} query+=await getInputElementNameValueForUrl3("option_h"); console.log(\'Adding URL param for option_j\');if(!isInputValueValid3("option_j")){return;} query+=await getInputElementNameValueForUrl3("option_j"); console.log(\'Adding URL param for option_l\');if(!isInputValueValid3("option_l")){return;} query+=await getInputElementNameValueForUrl3("option_l"); console.log(\'Adding URL param for option_m\');if(!isInputValueValid3("option_m")){return;} query+=await getInputElementNameValueForUrl3("option_m"); console.log(\'Adding URL param for option_p\');if(!isInputValueValid3("option_p")){return;} query+=await getInputElementNameValueForUrl3("option_p"); console.log(\'Adding URL param for option_q\');if(!isInputValueValid3("option_q")){return;} query+=await getInputElementNameValueForUrl3("option_q"); console.log(\'Adding URL param for option_v\');if(!isInputValueValid3("option_v")){return;} query+=await getInputElementNameValueForUrl3("option_v"); console.log(\'Adding URL param for option_f\');if(!isInputValueValid3("option_f")){return;} query+=await getInputElementNameValueForUrl3("option_f"); console.log(\'Adding URL param for option_x\');if(!isInputValueValid3("option_x")){return;} query+=await getInputElementNameValueForUrl3("option_x"); console.log(\'Adding URL param for option_uc\');if(!isInputValueValid3("option_uc")){return;} query+=await getInputElementNameValueForUrl3("option_uc"); console.log(\'Adding URL param for option_z\');if(!isInputValueValid3("option_z")){return;} query+=await getInputElementNameValueForUrl3("option_z"); console.log(\'Adding URL param for zusatz1\');if(!isInputValueValid3("zusatz1")){return;} query+=await getInputElementNameValueForUrl3("zusatz1"); console.log(\'Adding URL param for zusatz2\');if(!isInputValueValid3("zusatz2")){return;} query+=await getInputElementNameValueForUrl3("zusatz2"); console.log(\'Adding URL param for zusatz3\');if(!isInputValueValid3("zusatz3")){return;} query+=await getInputElementNameValueForUrl3("zusatz3"); console.log(\'Adding URL param for zusatz4\');if(!isInputValueValid3("zusatz4")){return;} query+=await getInputElementNameValueForUrl3("zusatz4"); console.log(\'Adding URL param for zusatz5\');if(!isInputValueValid3("zusatz5")){return;} query+=await getInputElementNameValueForUrl3("zusatz5"); console.log(\'Adding URL param for zusatz6\');if(!isInputValueValid3("zusatz6")){return;} query+=await getInputElementNameValueForUrl3("zusatz6"); console.log(\'Adding URL param for zusatz7\');if(!isInputValueValid3("zusatz7")){return;} query+=await getInputElementNameValueForUrl3("zusatz7"); console.log(\'Adding URL param for zusatz8\');if(!isInputValueValid3("zusatz8")){return;} query+=await getInputElementNameValueForUrl3("zusatz8"); console.log(\'Adding URL param for zusatz9\');if(!isInputValueValid3("zusatz9")){return;} query+=await getInputElementNameValueForUrl3("zusatz9"); console.log(\'Adding URL param for zusatz10\');if(!isInputValueValid3("zusatz10")){return;} query+=await getInputElementNameValueForUrl3("zusatz10"); console.log(\'Adding URL param for zusatz11\');if(!isInputValueValid3("zusatz11")){return;} query+=await getInputElementNameValueForUrl3("zusatz11"); console.log(\'Adding URL param for zusatz12\');if(!isInputValueValid3("zusatz12")){return;} query+=await getInputElementNameValueForUrl3("zusatz12"); console.log(\'Adding URL param for zusatz13\');if(!isInputValueValid3("zusatz13")){return;} query+=await getInputElementNameValueForUrl3("zusatz13"); console.log(\'Adding URL param for zusatz14\');if(!isInputValueValid3("zusatz14")){return;} query+=await getInputElementNameValueForUrl3("zusatz14"); console.log(\'Adding URL param for zusatz15\');if(!isInputValueValid3("zusatz15")){return;} query+=await getInputElementNameValueForUrl3("zusatz15"); console.log(\'Adding URL param for zusatz16\');if(!isInputValueValid3("zusatz16")){return;} query+=await getInputElementNameValueForUrl3("zusatz16"); console.log(\'Adding URL param for zusatz17\');if(!isInputValueValid3("zusatz17")){return;} query+=await getInputElementNameValueForUrl3("zusatz17"); console.log(\'Adding URL param for zusatz18\');if(!isInputValueValid3("zusatz18")){return;} query+=await getInputElementNameValueForUrl3("zusatz18"); console.log(\'Adding URL param for zusatz19\');if(!isInputValueValid3("zusatz19")){return;} query+=await getInputElementNameValueForUrl3("zusatz19"); console.log(\'Adding URL param for zusatz20\');if(!isInputValueValid3("zusatz20")){return;} query+=await getInputElementNameValueForUrl3("zusatz20"); console.log(\'Adding URL param for blockausrichtung\');if(!isInputValueValid3("blockausrichtung")){return;} query+=await getInputElementNameValueForUrl3("blockausrichtung"); console.log(\'Adding URL param for blockposition\');if(!isInputValueValid3("blockposition")){return;} query+=await getInputElementNameValueForUrl3("blockposition"); console.log(\'Adding URL param for blockwinkel\');if(!isInputValueValid3("blockwinkel")){return;} query+=await getInputElementNameValueForUrl3("blockwinkel"); console.log(\'Adding URL param for expertenmodus\');if(!isInputValueValid3("expertenmodus")){return;} query+=await getInputElementNameValueForUrl3("expertenmodus"); console.log(\'Adding URL param for sondernennkraft\');if(!isInputValueValid3("sondernennkraft")){return;} query+=await getInputElementNameValueForUrl3("sondernennkraft"); console.log(\'Adding URL param for sensorattributecsv\');if(!isInputValueValid3("sensorattributecsv")){return;} query+=await getInputElementNameValueForUrl3("sensorattributecsv"); console.log(\'Adding URL param for bemerkung\');if(!isInputValueValid3("bemerkung")){return;} query+=await getInputElementNameValueForUrl3("bemerkung"); console.log(\'Adding URL param for projektname\');if(!isInputValueValid3("projektname")){return;} query+=await getInputElementNameValueForUrl3("projektname"); console.log(\'Adding URL param for messstelle\');if(!isInputValueValid3("messstelle")){return;} query+=await getInputElementNameValueForUrl3("messstelle"); console.log(\'Adding URL param for typbezeichner\');if(!isInputValueValid3("typbezeichner")){return;} query+=await getInputElementNameValueForUrl3("typbezeichner"); console.log(\'Adding URL param for alternativeswinkelsystem\');if(!isInputValueValid3("alternativeswinkelsystem")){return;} query+=await getInputElementNameValueForUrl3("alternativeswinkelsystem"); console.log(\'Adding URL param for winkel1cnvs\');if(!isInputValueValid3("winkel1cnvs")){return;} query+=await getInputElementNameValueForUrl3("winkel1cnvs"); console.log(\'Adding URL param for winkel2cnvs\');if(!isInputValueValid3("winkel2cnvs")){return;} query+=await getInputElementNameValueForUrl3("winkel2cnvs"); console.log(\'Adding URL param for winkel1alternativcnvs\');if(!isInputValueValid3("winkel1alternativcnvs")){return;} query+=await getInputElementNameValueForUrl3("winkel1alternativcnvs"); console.log(\'Adding URL param for winkel2alternativcnvs\');if(!isInputValueValid3("winkel2alternativcnvs")){return;} query+=await getInputElementNameValueForUrl3("winkel2alternativcnvs"); console.log(\'Adding URL param for winkel4cnvs\');if(!isInputValueValid3("winkel4cnvs")){return;} query+=await getInputElementNameValueForUrl3("winkel4cnvs"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__li\');if(!isInputValueValid3("auslegung__winkel3messrichtung__li")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__li"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__re\');if(!isInputValueValid3("auslegung__winkel3messrichtung__re")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__re"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__ob\');if(!isInputValueValid3("auslegung__winkel3messrichtung__ob")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__ob"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__un\');if(!isInputValueValid3("auslegung__winkel3messrichtung__un")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__un"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__wiha\');if(!isInputValueValid3("auslegung__winkel3messrichtung__wiha")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__wiha"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__frei\');if(!isInputValueValid3("auslegung__winkel3messrichtung__frei")){return;} query+=await getInputElementNameValueForUrl3("auslegung__winkel3messrichtung__frei"); console.log(\'Adding URL param for messrichtung_winkel\');if(!isInputValueValid3("messrichtung_winkel")){return;} query+=await getInputElementNameValueForUrl3("messrichtung_winkel"); let filePath=baseUrl+\'?\'+query; let link=document.createElement(\'a\'); link.href = filePath; link.target = \'_blank\'; link.download = filePath.substr(filePath.lastIndexOf(\'/\') + 1); link.click(); }finally{if(btnFabInputField1777530692349!=null){btnFabInputField1777530692349.classList.remove(\'button-processing\');}}}catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } </script><button id="fabInputField1777530692349" type="button" onclick="fabInputFieldSubmitBlst1795077999GetDwnld(\'https://administration.haehne-configurator.de/webservice-13/Auslegung\');">Speichern</button> <script> async function getInputElementNameValueForUrl4(inputElementId){ try{ let element=document.getElementById(inputElementId); if(element!=null){ if(typeof element.GetTechnicalUrlValue===\'function\'){let namevalue=element.name; if(namevalue===undefined){let nameAtt=element.attributes["name"];if(nameAtt!=null){namevalue=nameAtt.value;}}if(namevalue===undefined){namevalue=element.id;}let techurlval=element.GetTechnicalUrlValue(); if(techurlval==null || techurlval==\'\'){return "";} return namevalue+"="+encodeURIComponent(techurlval)+"&"; }else if(element.type==\'file\'){ const toBase64 = file => new Promise((resolve, reject) => { const reader = new FileReader(); if(file!=null){ reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; } else { resolve(null); } }); let base64=await toBase64(element.files[0]); console.log(encodeURIComponent(base64)); return element.name+"="+encodeURIComponent(base64)+"&"; }else if(element.multiple){ let options=element.options; let optionsurl=""; for(let i=0;i<options.length;i++){ if(options[i].selected){ optionsurl+=element.name+"="+encodeURIComponent(options[i].value)+"&"; } } return optionsurl; }else if(element.tagName==\'CANVAS\'){ let dataurl=await element.toDataURL("image/png");return element.id+"="+encodeURIComponent(dataurl)+"&"; }else if(element.type==\'checkbox\'){if(element.checked){return element.name+"="+encodeURIComponent(element.checked)+"&";}else{return "";} }else if(element.type==\'radio\'){if(element.checked){return element.name+"="+encodeURIComponent(element.value)+"&";}else{return "";} }else if(element.tagName==\'SELECT\'){ console.log(element.id+\': \'+element.value); if(element.value==null || element.value==\'\'){return "";}else{return element.name+"="+encodeURIComponent(element.value)+"&";} }else{ return element.name+"="+encodeURIComponent(element.value)+"&"; } } else{return "";} }catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } function isInputValueValid4(inputElementId){ let element=document.getElementById(inputElementId); if(element!=null && element.tagName==\'INPUT\'){ console.log(element); element.classList.remove(\'faberror\'); element.setCustomValidity(""); let valid=element.reportValidity(); if(valid==false){ if(inputElementId==\'datenschutzok\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'telefon\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'email\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'stueckzahl\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} element.classList.add(\'faberror\'); element.scrollIntoView({behavior:"smooth",block:"center"}); element.focus(); console.log(\'Nicht valide: \'+inputElementId); } return valid; }else{ return true; } } function isFormValid4(){ console.log(\'Checking validity...\'); { console.log(\'Pflichtfeld-Prüfung für telefon, email\'); let elementgroup1=[]; let anelement1; anelement1=document.getElementById(\'telefon\'); if(anelement1!=null){ elementgroup1.push(anelement1); } anelement1=document.getElementById(\'email\'); if(anelement1!=null){ elementgroup1.push(anelement1); } let min1MitWert1=false; for(let e1 of elementgroup1){ if(e1.type==\'checkbox\'){ if(e1.checked==true){ min1MitWert1=true; console.log(\'min1MitWert1 -> True\');} }else if(e1.value!=null && e1.value!=\'\'){ min1MitWert1=true; console.log(\'min1MitWert1 -> True\');} } if(min1MitWert1==false){ for(let e1 of elementgroup1){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);e1.scrollIntoView({block:"center",behavior:"smooth"}); e1.classList.add(\'faberror\'); e1.setCustomValidity("Bitte tragen Sie eine eMail-Adresse oder eine Telefonnummer ein.");e1.reportValidity(); e1.focus(); }return false;} } { console.log(\'Pflichtfeld-Prüfung für datenschutzok\'); let elementgroup2=[]; let anelement2; anelement2=document.getElementById(\'datenschutzok\'); if(anelement2!=null){ elementgroup2.push(anelement2); } let min1MitWert2=false; for(let e2 of elementgroup2){ if(e2.type==\'checkbox\'){ if(e2.checked==true){ min1MitWert2=true; console.log(\'min1MitWert2 -> True\');} }else if(e2.value!=null && e2.value!=\'\'){ min1MitWert2=true; console.log(\'min1MitWert2 -> True\');} } if(min1MitWert2==false){ for(let e2 of elementgroup2){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);e2.scrollIntoView({block:"center",behavior:"smooth"}); e2.classList.add(\'faberror\'); e2.setCustomValidity("Bitte bestätigen Sie, dass Sie die Datenschutzerklärung gelesen haben und einverstanden sind.");e2.reportValidity(); e2.focus(); }return false;} } { console.log(\'Pflichtfeld-Prüfung für stueckzahl\'); let elementgroup3=[]; let anelement3; anelement3=document.getElementById(\'stueckzahl\'); if(anelement3!=null){ elementgroup3.push(anelement3); } let min1MitWert3=false; for(let e3 of elementgroup3){ if(e3.type==\'checkbox\'){ if(e3.checked==true){ min1MitWert3=true; console.log(\'min1MitWert3 -> True\');} }else if(e3.value!=null && e3.value!=\'\'){ min1MitWert3=true; console.log(\'min1MitWert3 -> True\');} } if(min1MitWert3==false){ for(let e3 of elementgroup3){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);e3.scrollIntoView({block:"center",behavior:"smooth"}); e3.classList.add(\'faberror\'); e3.setCustomValidity("Bitte geben Sie an, wie viele Sensoren Sie benötigen.");e3.reportValidity(); e3.focus(); }return false;} } return true; } function getUrlParameterNameValueForUrl4(urlParameterName){ const searchParams = new URLSearchParams(window.location.search); if(searchParams.has(urlParameterName)){ return urlParameterName+\'=\'+searchParams.get(urlParameterName)+\'&\'; }else{ return ""; } } async function fabInputFieldSubmitBlst0(url){ try{ let btnFabInputField1777530692350=null;try{btnFabInputField1777530692350=document.getElementById(\'fabInputField1777530692350\');if(btnFabInputField1777530692350!=null){if(btnFabInputField1777530692350.classList.contains(\'button-processing\')){return;}btnFabInputField1777530692350.classList.add(\'button-processing\');}let query="messageelementid=nachricht&"; console.log(\'Adding URL param for locale\');if(!isInputValueValid4("locale")){return;} query+=await getInputElementNameValueForUrl4("locale"); console.log(\'Adding URL param for beratung\');if(!isInputValueValid4("beratung")){return;} query+=await getInputElementNameValueForUrl4("beratung"); console.log(\'Adding URL param for katalog\');if(!isInputValueValid4("katalog")){return;} query+=await getInputElementNameValueForUrl4("katalog"); console.log(\'Adding URL param for angebot\');if(!isInputValueValid4("angebot")){return;} query+=await getInputElementNameValueForUrl4("angebot"); console.log(\'Adding URL param for stueckzahl\');if(!isInputValueValid4("stueckzahl")){return;} query+=await getInputElementNameValueForUrl4("stueckzahl"); console.log(\'Adding URL param for firma\');if(!isInputValueValid4("firma")){return;} query+=await getInputElementNameValueForUrl4("firma"); console.log(\'Adding URL param for strasse\');if(!isInputValueValid4("strasse")){return;} query+=await getInputElementNameValueForUrl4("strasse"); console.log(\'Adding URL param for plz\');if(!isInputValueValid4("plz")){return;} query+=await getInputElementNameValueForUrl4("plz"); console.log(\'Adding URL param for ort\');if(!isInputValueValid4("ort")){return;} query+=await getInputElementNameValueForUrl4("ort"); console.log(\'Adding URL param for name\');if(!isInputValueValid4("name")){return;} query+=await getInputElementNameValueForUrl4("name"); console.log(\'Adding URL param for telefon\');if(!isInputValueValid4("telefon")){return;} query+=await getInputElementNameValueForUrl4("telefon"); console.log(\'Adding URL param for email\');if(!isInputValueValid4("email")){return;} query+=await getInputElementNameValueForUrl4("email"); console.log(\'Adding URL param for datum\');if(!isInputValueValid4("datum")){return;} query+=await getInputElementNameValueForUrl4("datum"); console.log(\'Adding URL param for datenschutzok\');if(!isInputValueValid4("datenschutzok")){return;} query+=await getInputElementNameValueForUrl4("datenschutzok"); console.log(\'Adding URL param for bandzugoderbreite_bandzug\');if(!isInputValueValid4("bandzugoderbreite_bandzug")){return;} query+=await getInputElementNameValueForUrl4("bandzugoderbreite_bandzug"); console.log(\'Adding URL param for bandzug\');if(!isInputValueValid4("bandzug")){return;} query+=await getInputElementNameValueForUrl4("bandzug"); console.log(\'Adding URL param for bandzugoderbreite_breite\');if(!isInputValueValid4("bandzugoderbreite_breite")){return;} query+=await getInputElementNameValueForUrl4("bandzugoderbreite_breite"); console.log(\'Adding URL param for zugn_pro_breitemm\');if(!isInputValueValid4("zugn_pro_breitemm")){return;} query+=await getInputElementNameValueForUrl4("zugn_pro_breitemm"); console.log(\'Adding URL param for bahnbreitemm\');if(!isInputValueValid4("bahnbreitemm")){return;} query+=await getInputElementNameValueForUrl4("bahnbreitemm"); console.log(\'Adding URL param for bandzugoderbreite_min_bandzug\');if(!isInputValueValid4("bandzugoderbreite_min_bandzug")){return;} query+=await getInputElementNameValueForUrl4("bandzugoderbreite_min_bandzug"); console.log(\'Adding URL param for bandzugmin\');if(!isInputValueValid4("bandzugmin")){return;} query+=await getInputElementNameValueForUrl4("bandzugmin"); console.log(\'Adding URL param for bandzugoderbreite_min_breite\');if(!isInputValueValid4("bandzugoderbreite_min_breite")){return;} query+=await getInputElementNameValueForUrl4("bandzugoderbreite_min_breite"); console.log(\'Adding URL param for zugn_pro_breitemm_min\');if(!isInputValueValid4("zugn_pro_breitemm_min")){return;} query+=await getInputElementNameValueForUrl4("zugn_pro_breitemm_min"); console.log(\'Adding URL param for bahnbreitemm_min\');if(!isInputValueValid4("bahnbreitemm_min")){return;} query+=await getInputElementNameValueForUrl4("bahnbreitemm_min"); console.log(\'Adding URL param for walzengewicht\');if(!isInputValueValid4("walzengewicht")){return;} query+=await getInputElementNameValueForUrl4("walzengewicht"); console.log(\'Adding URL param for walzengewicht_einheit\');if(!isInputValueValid4("walzengewicht_einheit")){return;} query+=await getInputElementNameValueForUrl4("walzengewicht_einheit"); console.log(\'Adding URL param for winkel1\');if(!isInputValueValid4("winkel1")){return;} query+=await getInputElementNameValueForUrl4("winkel1"); console.log(\'Adding URL param for winkel2\');if(!isInputValueValid4("winkel2")){return;} query+=await getInputElementNameValueForUrl4("winkel2"); console.log(\'Adding URL param for winkel1alternativ\');if(!isInputValueValid4("winkel1alternativ")){return;} query+=await getInputElementNameValueForUrl4("winkel1alternativ"); console.log(\'Adding URL param for winkel2alternativ\');if(!isInputValueValid4("winkel2alternativ")){return;} query+=await getInputElementNameValueForUrl4("winkel2alternativ"); console.log(\'Adding URL param for bandzuganteil_n\');if(!isInputValueValid4("bandzuganteil_n")){return;} query+=await getInputElementNameValueForUrl4("bandzuganteil_n"); console.log(\'Adding URL param for bandzuganteilmin_n\');if(!isInputValueValid4("bandzuganteilmin_n")){return;} query+=await getInputElementNameValueForUrl4("bandzuganteilmin_n"); console.log(\'Adding URL param for gesamtkraft_n\');if(!isInputValueValid4("gesamtkraft_n")){return;} query+=await getInputElementNameValueForUrl4("gesamtkraft_n"); console.log(\'Adding URL param for gesamtkraftmin_n\');if(!isInputValueValid4("gesamtkraftmin_n")){return;} query+=await getInputElementNameValueForUrl4("gesamtkraftmin_n"); console.log(\'Adding URL param for walzengewichtanteil_n\');if(!isInputValueValid4("walzengewichtanteil_n")){return;} query+=await getInputElementNameValueForUrl4("walzengewichtanteil_n"); console.log(\'Adding URL param for typ\');if(!isInputValueValid4("typ")){return;} query+=await getInputElementNameValueForUrl4("typ"); console.log(\'Adding URL param for typ2\');if(!isInputValueValid4("typ2")){return;} query+=await getInputElementNameValueForUrl4("typ2"); console.log(\'Adding URL param for lagerung\');if(!isInputValueValid4("lagerung")){return;} query+=await getInputElementNameValueForUrl4("lagerung"); console.log(\'Adding URL param for wellenzapfendurchmesser_mm\');if(!isInputValueValid4("wellenzapfendurchmesser_mm")){return;} query+=await getInputElementNameValueForUrl4("wellenzapfendurchmesser_mm"); console.log(\'Adding URL param for typ_lang\');if(!isInputValueValid4("typ_lang")){return;} query+=await getInputElementNameValueForUrl4("typ_lang"); console.log(\'Adding URL param for baugroesse\');if(!isInputValueValid4("baugroesse")){return;} query+=await getInputElementNameValueForUrl4("baugroesse"); console.log(\'Adding URL param for messrichtung\');if(!isInputValueValid4("messrichtung")){return;} query+=await getInputElementNameValueForUrl4("messrichtung"); console.log(\'Adding URL param for bauform\');if(!isInputValueValid4("bauform")){return;} query+=await getInputElementNameValueForUrl4("bauform"); console.log(\'Adding URL param for ballenlaenge\');if(!isInputValueValid4("ballenlaenge")){return;} query+=await getInputElementNameValueForUrl4("ballenlaenge"); console.log(\'Adding URL param for nennkraefte_n\');if(!isInputValueValid4("nennkraefte_n")){return;} query+=await getInputElementNameValueForUrl4("nennkraefte_n"); console.log(\'Adding URL param for option_k\');if(!isInputValueValid4("option_k")){return;} query+=await getInputElementNameValueForUrl4("option_k"); console.log(\'Adding URL param for stdleitung_art\');if(!isInputValueValid4("stdleitung_art")){return;} query+=await getInputElementNameValueForUrl4("stdleitung_art"); console.log(\'Adding URL param for stdleitung_m\');if(!isInputValueValid4("stdleitung_m")){return;} query+=await getInputElementNameValueForUrl4("stdleitung_m"); console.log(\'Adding URL param for stdanschluss\');if(!isInputValueValid4("stdanschluss")){return;} query+=await getInputElementNameValueForUrl4("stdanschluss"); console.log(\'Adding URL param for anschlussvariante\');if(!isInputValueValid4("anschlussvariante")){return;} query+=await getInputElementNameValueForUrl4("anschlussvariante"); console.log(\'Adding URL param for option_r\');if(!isInputValueValid4("option_r")){return;} query+=await getInputElementNameValueForUrl4("option_r"); console.log(\'Adding URL param for option_y\');if(!isInputValueValid4("option_y")){return;} query+=await getInputElementNameValueForUrl4("option_y"); console.log(\'Adding URL param for option_u\');if(!isInputValueValid4("option_u")){return;} query+=await getInputElementNameValueForUrl4("option_u"); console.log(\'Adding URL param for option_w\');if(!isInputValueValid4("option_w")){return;} query+=await getInputElementNameValueForUrl4("option_w"); console.log(\'Adding URL param for option_d\');if(!isInputValueValid4("option_d")){return;} query+=await getInputElementNameValueForUrl4("option_d"); console.log(\'Adding URL param for option_e\');if(!isInputValueValid4("option_e")){return;} query+=await getInputElementNameValueForUrl4("option_e"); console.log(\'Adding URL param for option_g\');if(!isInputValueValid4("option_g")){return;} query+=await getInputElementNameValueForUrl4("option_g"); console.log(\'Adding URL param for option_h\');if(!isInputValueValid4("option_h")){return;} query+=await getInputElementNameValueForUrl4("option_h"); console.log(\'Adding URL param for option_j\');if(!isInputValueValid4("option_j")){return;} query+=await getInputElementNameValueForUrl4("option_j"); console.log(\'Adding URL param for option_l\');if(!isInputValueValid4("option_l")){return;} query+=await getInputElementNameValueForUrl4("option_l"); console.log(\'Adding URL param for option_m\');if(!isInputValueValid4("option_m")){return;} query+=await getInputElementNameValueForUrl4("option_m"); console.log(\'Adding URL param for option_p\');if(!isInputValueValid4("option_p")){return;} query+=await getInputElementNameValueForUrl4("option_p"); console.log(\'Adding URL param for option_q\');if(!isInputValueValid4("option_q")){return;} query+=await getInputElementNameValueForUrl4("option_q"); console.log(\'Adding URL param for option_v\');if(!isInputValueValid4("option_v")){return;} query+=await getInputElementNameValueForUrl4("option_v"); console.log(\'Adding URL param for option_f\');if(!isInputValueValid4("option_f")){return;} query+=await getInputElementNameValueForUrl4("option_f"); console.log(\'Adding URL param for option_x\');if(!isInputValueValid4("option_x")){return;} query+=await getInputElementNameValueForUrl4("option_x"); console.log(\'Adding URL param for option_uc\');if(!isInputValueValid4("option_uc")){return;} query+=await getInputElementNameValueForUrl4("option_uc"); console.log(\'Adding URL param for option_z\');if(!isInputValueValid4("option_z")){return;} query+=await getInputElementNameValueForUrl4("option_z"); console.log(\'Adding URL param for zusatz1\');if(!isInputValueValid4("zusatz1")){return;} query+=await getInputElementNameValueForUrl4("zusatz1"); console.log(\'Adding URL param for zusatz2\');if(!isInputValueValid4("zusatz2")){return;} query+=await getInputElementNameValueForUrl4("zusatz2"); console.log(\'Adding URL param for zusatz3\');if(!isInputValueValid4("zusatz3")){return;} query+=await getInputElementNameValueForUrl4("zusatz3"); console.log(\'Adding URL param for zusatz4\');if(!isInputValueValid4("zusatz4")){return;} query+=await getInputElementNameValueForUrl4("zusatz4"); console.log(\'Adding URL param for zusatz5\');if(!isInputValueValid4("zusatz5")){return;} query+=await getInputElementNameValueForUrl4("zusatz5"); console.log(\'Adding URL param for zusatz6\');if(!isInputValueValid4("zusatz6")){return;} query+=await getInputElementNameValueForUrl4("zusatz6"); console.log(\'Adding URL param for zusatz7\');if(!isInputValueValid4("zusatz7")){return;} query+=await getInputElementNameValueForUrl4("zusatz7"); console.log(\'Adding URL param for zusatz8\');if(!isInputValueValid4("zusatz8")){return;} query+=await getInputElementNameValueForUrl4("zusatz8"); console.log(\'Adding URL param for zusatz9\');if(!isInputValueValid4("zusatz9")){return;} query+=await getInputElementNameValueForUrl4("zusatz9"); console.log(\'Adding URL param for zusatz10\');if(!isInputValueValid4("zusatz10")){return;} query+=await getInputElementNameValueForUrl4("zusatz10"); console.log(\'Adding URL param for zusatz11\');if(!isInputValueValid4("zusatz11")){return;} query+=await getInputElementNameValueForUrl4("zusatz11"); console.log(\'Adding URL param for zusatz12\');if(!isInputValueValid4("zusatz12")){return;} query+=await getInputElementNameValueForUrl4("zusatz12"); console.log(\'Adding URL param for zusatz13\');if(!isInputValueValid4("zusatz13")){return;} query+=await getInputElementNameValueForUrl4("zusatz13"); console.log(\'Adding URL param for zusatz14\');if(!isInputValueValid4("zusatz14")){return;} query+=await getInputElementNameValueForUrl4("zusatz14"); console.log(\'Adding URL param for zusatz15\');if(!isInputValueValid4("zusatz15")){return;} query+=await getInputElementNameValueForUrl4("zusatz15"); console.log(\'Adding URL param for zusatz16\');if(!isInputValueValid4("zusatz16")){return;} query+=await getInputElementNameValueForUrl4("zusatz16"); console.log(\'Adding URL param for zusatz17\');if(!isInputValueValid4("zusatz17")){return;} query+=await getInputElementNameValueForUrl4("zusatz17"); console.log(\'Adding URL param for zusatz18\');if(!isInputValueValid4("zusatz18")){return;} query+=await getInputElementNameValueForUrl4("zusatz18"); console.log(\'Adding URL param for zusatz19\');if(!isInputValueValid4("zusatz19")){return;} query+=await getInputElementNameValueForUrl4("zusatz19"); console.log(\'Adding URL param for zusatz20\');if(!isInputValueValid4("zusatz20")){return;} query+=await getInputElementNameValueForUrl4("zusatz20"); console.log(\'Adding URL param for blockausrichtung\');if(!isInputValueValid4("blockausrichtung")){return;} query+=await getInputElementNameValueForUrl4("blockausrichtung"); console.log(\'Adding URL param for blockposition\');if(!isInputValueValid4("blockposition")){return;} query+=await getInputElementNameValueForUrl4("blockposition"); console.log(\'Adding URL param for blockwinkel\');if(!isInputValueValid4("blockwinkel")){return;} query+=await getInputElementNameValueForUrl4("blockwinkel"); console.log(\'Adding URL param for expertenmodus\');if(!isInputValueValid4("expertenmodus")){return;} query+=await getInputElementNameValueForUrl4("expertenmodus"); console.log(\'Adding URL param for sondernennkraft\');if(!isInputValueValid4("sondernennkraft")){return;} query+=await getInputElementNameValueForUrl4("sondernennkraft"); console.log(\'Adding URL param for sensorattributecsv\');if(!isInputValueValid4("sensorattributecsv")){return;} query+=await getInputElementNameValueForUrl4("sensorattributecsv"); console.log(\'Adding URL param for bemerkung\');if(!isInputValueValid4("bemerkung")){return;} query+=await getInputElementNameValueForUrl4("bemerkung"); console.log(\'Adding URL param for saeulendiagramm\');query+="saeulendiagramm="+encodeURIComponent(await window.getSaeulenzeichnerCanvasBase64())+"&"; console.log(\'Adding URL param for projektname\');if(!isInputValueValid4("projektname")){return;} query+=await getInputElementNameValueForUrl4("projektname"); console.log(\'Adding URL param for messstelle\');if(!isInputValueValid4("messstelle")){return;} query+=await getInputElementNameValueForUrl4("messstelle"); console.log(\'Adding URL param for typbezeichner\');if(!isInputValueValid4("typbezeichner")){return;} query+=await getInputElementNameValueForUrl4("typbezeichner"); console.log(\'Adding URL param for alternativeswinkelsystem\');if(!isInputValueValid4("alternativeswinkelsystem")){return;} query+=await getInputElementNameValueForUrl4("alternativeswinkelsystem"); console.log(\'Adding URL param for winkel1cnvs\');if(!isInputValueValid4("winkel1cnvs")){return;} query+=await getInputElementNameValueForUrl4("winkel1cnvs"); console.log(\'Adding URL param for winkel2cnvs\');if(!isInputValueValid4("winkel2cnvs")){return;} query+=await getInputElementNameValueForUrl4("winkel2cnvs"); console.log(\'Adding URL param for winkel1alternativcnvs\');if(!isInputValueValid4("winkel1alternativcnvs")){return;} query+=await getInputElementNameValueForUrl4("winkel1alternativcnvs"); console.log(\'Adding URL param for winkel2alternativcnvs\');if(!isInputValueValid4("winkel2alternativcnvs")){return;} query+=await getInputElementNameValueForUrl4("winkel2alternativcnvs"); console.log(\'Adding URL param for winkel4cnvs\');if(!isInputValueValid4("winkel4cnvs")){return;} query+=await getInputElementNameValueForUrl4("winkel4cnvs"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__li\');if(!isInputValueValid4("auslegung__winkel3messrichtung__li")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__li"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__re\');if(!isInputValueValid4("auslegung__winkel3messrichtung__re")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__re"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__ob\');if(!isInputValueValid4("auslegung__winkel3messrichtung__ob")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__ob"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__un\');if(!isInputValueValid4("auslegung__winkel3messrichtung__un")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__un"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__wiha\');if(!isInputValueValid4("auslegung__winkel3messrichtung__wiha")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__wiha"); console.log(\'Adding URL param for auslegung__winkel3messrichtung__frei\');if(!isInputValueValid4("auslegung__winkel3messrichtung__frei")){return;} query+=await getInputElementNameValueForUrl4("auslegung__winkel3messrichtung__frei"); console.log(\'Adding URL param for messrichtung_winkel\');if(!isInputValueValid4("messrichtung_winkel")){return;} query+=await getInputElementNameValueForUrl4("messrichtung_winkel"); console.log(\'Adding URL param for bild\');query+="bild="+encodeURIComponent(await window.getWinkelzeichnerCanvasBase64())+"&"; if(!isFormValid4()){return;} let response=await fetch(url, {method:"POST", body: query,headers:{\'Content-Type\': \'application/x-www-form-urlencoded\'}}); console.log(response); let responseCode=await response.status; if(responseCode>=200 && responseCode<300){let responseText=await response.text(); console.log(responseText); eval(responseText); } else { console.log(\'Fehlercode: \'+responseCode); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} } let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Wir haben Ihre Anfrage erhalten.\'; errorElement.classList.add(\'fabjsmessage-info\'); errorShown=true; } if(errorShown==false){alert(\'Wir haben Ihre Anfrage erhalten.\');} }finally{if(btnFabInputField1777530692350!=null){btnFabInputField1777530692350.classList.remove(\'button-processing\');}}}catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } </script><button id="fabInputField1777530692350" type="button" onclick="fabInputFieldSubmitBlst0(\'https://administration.haehne-configurator.de/webservice-14/Auslegung\');">per E-Mail</button> </div> <div id="uploadblock" class="uploadblock"> <h2>Datei laden</h2> <input name="xmlfile" id="xmlfile" type="file" accept="text/xml,.xml,.hne,.mkb,application/xml" />  <script> async function getInputElementNameValueForUrl1(inputElementId){ try{ let element=document.getElementById(inputElementId); if(element!=null){ if(typeof element.GetTechnicalUrlValue===\'function\'){let namevalue=element.name; if(namevalue===undefined){let nameAtt=element.attributes["name"];if(nameAtt!=null){namevalue=nameAtt.value;}}if(namevalue===undefined){namevalue=element.id;}let techurlval=element.GetTechnicalUrlValue(); if(techurlval==null || techurlval==\'\'){return "";} return namevalue+"="+encodeURIComponent(techurlval)+"&"; }else if(element.type==\'file\'){ const toBase64 = file => new Promise((resolve, reject) => { const reader = new FileReader(); if(file!=null){ reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; } else { resolve(null); } }); let base64=await toBase64(element.files[0]); console.log(encodeURIComponent(base64)); return element.name+"="+encodeURIComponent(base64)+"&"; }else if(element.multiple){ let options=element.options; let optionsurl=""; for(let i=0;i<options.length;i++){ if(options[i].selected){ optionsurl+=element.name+"="+encodeURIComponent(options[i].value)+"&"; } } return optionsurl; }else if(element.tagName==\'CANVAS\'){ let dataurl=await element.toDataURL("image/png");return element.id+"="+encodeURIComponent(dataurl)+"&"; }else if(element.type==\'checkbox\'){if(element.checked){return element.name+"="+encodeURIComponent(element.checked)+"&";}else{return "";} }else if(element.type==\'radio\'){if(element.checked){return element.name+"="+encodeURIComponent(element.value)+"&";}else{return "";} }else if(element.tagName==\'SELECT\'){ console.log(element.id+\': \'+element.value); if(element.value==null || element.value==\'\'){return "";}else{return element.name+"="+encodeURIComponent(element.value)+"&";} }else{ return element.name+"="+encodeURIComponent(element.value)+"&"; } } else{return "";} }catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } function isInputValueValid1(inputElementId){ let element=document.getElementById(inputElementId); if(element!=null && element.tagName==\'INPUT\'){ console.log(element); element.classList.remove(\'faberror\'); element.setCustomValidity(""); let valid=element.reportValidity(); if(valid==false){ if(inputElementId==\'datenschutzok\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'telefon\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'email\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} if(inputElementId==\'stueckzahl\'){fabTabLayoutnullOpenTabSheets([\'tab-projekt\']);} element.classList.add(\'faberror\'); element.scrollIntoView({behavior:"smooth",block:"center"}); element.focus(); console.log(\'Nicht valide: \'+inputElementId); } return valid; }else{ return true; } } function isFormValid1(){ console.log(\'Checking validity...\'); return true; } function getUrlParameterNameValueForUrl1(urlParameterName){ const searchParams = new URLSearchParams(window.location.search); if(searchParams.has(urlParameterName)){ return urlParameterName+\'=\'+searchParams.get(urlParameterName)+\'&\'; }else{ return ""; } } async function fabInputFieldxmluploadSubmitBlst0(url){ try{ let btnFabInputFieldxmlupload1777530692351=null;try{btnFabInputFieldxmlupload1777530692351=document.getElementById(\'fabInputFieldxmlupload1777530692351\');if(btnFabInputFieldxmlupload1777530692351!=null){if(btnFabInputFieldxmlupload1777530692351.classList.contains(\'button-processing\')){return;}btnFabInputFieldxmlupload1777530692351.classList.add(\'button-processing\');}let query="messageelementid=nachricht&"; console.log(\'Adding URL param for xmlfile\');if(!isInputValueValid1("xmlfile")){return;} query+=await getInputElementNameValueForUrl1("xmlfile"); if(!isFormValid1()){return;} let response=await fetch(url, {method:"POST", body: query,headers:{\'Content-Type\': \'application/x-www-form-urlencoded\'}}); console.log(response); let responseCode=await response.status; if(responseCode>=200 && responseCode<300){let responseText=await response.text(); console.log(responseText); eval(responseText); } else { console.log(\'Fehlercode: \'+responseCode); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} } }finally{if(btnFabInputFieldxmlupload1777530692351!=null){btnFabInputFieldxmlupload1777530692351.classList.remove(\'button-processing\');}}}catch(error){ console.error(error); let errorElement=null; let errorShown=false; errorElement=document.getElementById(\'nachricht\'); if(errorShown==false && errorElement!=null){ errorElement.innerHTML=\'Es ist ein Fehler im System aufgetreten.\'; errorElement.classList.add(\'fabjsmessage-error\'); errorShown=true; } if(errorShown==false){alert(\'Es ist ein Fehler im System aufgetreten.\');} throw error; } } </script><button id="fabInputFieldxmlupload1777530692351" type="button" onclick="fabInputFieldxmluploadSubmitBlst0(\'https://administration.haehne-configurator.de/webservice-15/Auslegung\');">Hochladen</button> <div id="uploadnachricht"></div> </div> </div> </div> <script type="module" src="https://haehne-configurator.de/script/sensordaten.js"> </script> <script type="module" src="https://haehne-configurator.de/script/sensortypdaten.js"> </script> <script type="module" src="https://haehne-configurator.de/script/sensorregeldaten.js"> </script> <script type="module" src="https://haehne-configurator.de/script/sensortypauswahl.js"> </script> <script type="module" src="https://haehne-configurator.de/script/beschriftungen.js"> </script> <script type="module" src="https://haehne-configurator.de/script/beschriftungen-ausgabe.js"> </script> <script type="module" src="https://haehne-configurator.de/script/meldungeni18n.js"> </script> <script type="module" src="https://haehne-configurator.de/script/filter.js"> </script> <script type="module" src="https://haehne-configurator.de/script/sensoren.js"> </script> <script>function initBandzugOderBreite(){ let urlParams=new URLSearchParams(document.location.search); let bandzugOderBreiteValue=urlParams.get(\'bandzugoderbreite\'); if (bandzugOderBreiteValue==\'breite\'){ window.activateBandzugOderBreite(\'breite\', \'bandzugoderbreite_breite\',false); }else{ window.activateBandzugOderBreite(\'bandzug\', \'bandzugoderbreite_bandzug\',false); } let bandzugOderBreiteMinValue=urlParams.get(\'bandzugoderbreite_min\'); if (bandzugOderBreiteMinValue==\'breite\'){ window.activateBandzugOderBreite(\'breite\', \'bandzugoderbreite_min_breite\',false); }else{ window.activateBandzugOderBreite(\'bandzug\', \'bandzugoderbreite_min_bandzug\',false); } } function checkLoadedAndInit(){ if (window.activateBandzugOderBreite===undefined||window.recalcValues===undefined||window.recalcGain===undefined||window.redrawSaeule===undefined||window.syncSensordaten===undefined||window.fillSensordatenFromUrl===undefined||window.resizeWinkelzeichner===undefined) {setTimeout(() => {checkLoadedAndInit();}, 200);} else { window.recalcValues(null,null,null); window.recalcGain(null,null,null); window.fillSensordatenFromUrl(); initBandzugOderBreite(); window.resizeWinkelzeichner(); } } addEventListener("DOMContentLoaded", (event) => {checkLoadedAndInit()}); </script> </form> <script type="text/javascript" id="fabInputField1777530692352"> let fabInputFieldnullUrlParms=new URLSearchParams(document.location.search); function fabInputFieldnullSetValFromUrl(eId,paramname,isDecNumber){ let paramval=fabInputFieldnullUrlParms.get(paramname); if(paramval!=null){ let e=document.getElementById(eId); if(e.type==\'checkbox\'){ if(paramval==\'true\'||paramval==\'on\'){ e.checked=true;} }else if(isDecNumber){ e.value=paramval==null?\'\':paramval.replace(\'.\',\',\');}else{ e.value=paramval;} } } fabInputFieldnullSetValFromUrl(\'beratung\',\'beratung\',false); fabInputFieldnullSetValFromUrl(\'katalog\',\'katalog\',false); fabInputFieldnullSetValFromUrl(\'angebot\',\'angebot\',false); fabInputFieldnullSetValFromUrl(\'stueckzahl\',\'stueckzahl\',false); fabInputFieldnullSetValFromUrl(\'firma\',\'firma\',false); fabInputFieldnullSetValFromUrl(\'strasse\',\'strasse\',false); fabInputFieldnullSetValFromUrl(\'plz\',\'plz\',false); fabInputFieldnullSetValFromUrl(\'ort\',\'ort\',false); fabInputFieldnullSetValFromUrl(\'name\',\'name\',false); fabInputFieldnullSetValFromUrl(\'telefon\',\'telefon\',false); fabInputFieldnullSetValFromUrl(\'email\',\'email\',false); fabInputFieldnullSetValFromUrl(\'datum\',\'datum\',false); fabInputFieldnullSetValFromUrl(\'datenschutzok\',\'datenschutzok\',false); fabInputFieldnullSetValFromUrl(\'bandzug\',\'bandzug\',true); fabInputFieldnullSetValFromUrl(\'zugn_pro_breitemm\',\'zugn_pro_breitemm\',true); fabInputFieldnullSetValFromUrl(\'bahnbreitemm\',\'bahnbreitemm\',true); fabInputFieldnullSetValFromUrl(\'bandzugmin\',\'bandzugmin\',true); fabInputFieldnullSetValFromUrl(\'zugn_pro_breitemm_min\',\'zugn_pro_breitemm_min\',true); fabInputFieldnullSetValFromUrl(\'bahnbreitemm_min\',\'bahnbreitemm_min\',true); fabInputFieldnullSetValFromUrl(\'walzengewicht\',\'walzengewicht\',true); function fabInputFieldnullwalzengewicht_einheitSetCheckedFromUrl(){ let paramval=fabInputFieldnullUrlParms.get(\'walzengewicht_einheit\'); console.log(\'Prüfe kg / auslegung__walzengewicht_einheit__kg\'); if(paramval==\'kg\'){document.getElementById(\'auslegung__walzengewicht_einheit__kg\').checked=true;} console.log(\'Prüfe lb / auslegung__walzengewicht_einheit__lb\'); if(paramval==\'lb\'){document.getElementById(\'auslegung__walzengewicht_einheit__lb\').checked=true;} console.log(\'Prüfe n / auslegung__walzengewicht_einheit__n\'); if(paramval==\'n\'){document.getElementById(\'auslegung__walzengewicht_einheit__n\').checked=true;} } fabInputFieldnullwalzengewicht_einheitSetCheckedFromUrl(); fabInputFieldnullSetValFromUrl(\'winkel1\',\'winkel1\',true); fabInputFieldnullSetValFromUrl(\'winkel2\',\'winkel2\',true); fabInputFieldnullSetValFromUrl(\'winkel1alternativ\',\'winkel1alternativ\',true); fabInputFieldnullSetValFromUrl(\'winkel2alternativ\',\'winkel2alternativ\',true); function fabInputFieldnulltypSetCheckedFromUrl(){ let paramval=fabInputFieldnullUrlParms.get(\'typ\'); console.log(\'Prüfe  / auslegung__typ__nothingselected\'); if(paramval==\'\'){document.getElementById(\'auslegung__typ__nothingselected\').checked=true;} console.log(\'Prüfe BZA / typ__sensortyp__bza\'); if(paramval==\'BZA\'){document.getElementById(\'typ__sensortyp__bza\').checked=true;} console.log(\'Prüfe BZU / typ__sensortyp__bzu\'); if(paramval==\'BZU\'){document.getElementById(\'typ__sensortyp__bzu\').checked=true;} console.log(\'Prüfe RCA / typ__sensortyp__rca\'); if(paramval==\'RCA\'){document.getElementById(\'typ__sensortyp__rca\').checked=true;} console.log(\'Prüfe RCZ / typ__sensortyp__rcz\'); if(paramval==\'RCZ\'){document.getElementById(\'typ__sensortyp__rcz\').checked=true;} console.log(\'Prüfe RCR / typ__sensortyp__rcr\'); if(paramval==\'RCR\'){document.getElementById(\'typ__sensortyp__rcr\').checked=true;} console.log(\'Prüfe RC / typ__sensortyp__rc\'); if(paramval==\'RC\'){document.getElementById(\'typ__sensortyp__rc\').checked=true;} console.log(\'Prüfe BZLA / typ__sensortyp__bzla\'); if(paramval==\'BZLA\'){document.getElementById(\'typ__sensortyp__bzla\').checked=true;} console.log(\'Prüfe BZR / typ__sensortyp__bzr\'); if(paramval==\'BZR\'){document.getElementById(\'typ__sensortyp__bzr\').checked=true;} console.log(\'Prüfe ZAD / typ__sensortyp__zad\'); if(paramval==\'ZAD\'){document.getElementById(\'typ__sensortyp__zad\').checked=true;} console.log(\'Prüfe ZAK / typ__sensortyp__zak\'); if(paramval==\'ZAK\'){document.getElementById(\'typ__sensortyp__zak\').checked=true;} console.log(\'Prüfe RMR3 / typ__sensortyp__rmr3\'); if(paramval==\'RMR3\'){document.getElementById(\'typ__sensortyp__rmr3\').checked=true;} console.log(\'Prüfe MWF / typ__sensortyp__mwf\'); if(paramval==\'MWF\'){document.getElementById(\'typ__sensortyp__mwf\').checked=true;} console.log(\'Prüfe MWFM90 / typ__sensortyp__mwfm90\'); if(paramval==\'MWFM90\'){document.getElementById(\'typ__sensortyp__mwfm90\').checked=true;} console.log(\'Prüfe MWB / typ__sensortyp__mwb\'); if(paramval==\'MWB\'){document.getElementById(\'typ__sensortyp__mwb\').checked=true;} console.log(\'Prüfe BZH_A / typ__sensortyp__bzh_a\'); if(paramval==\'BZH_A\'){document.getElementById(\'typ__sensortyp__bzh_a\').checked=true;} console.log(\'Prüfe BZH_A01 / typ__sensortyp__bzh_a01\'); if(paramval==\'BZH_A01\'){document.getElementById(\'typ__sensortyp__bzh_a01\').checked=true;} console.log(\'Prüfe BZV_A / typ__sensortyp__bzv_a\'); if(paramval==\'BZV_A\'){document.getElementById(\'typ__sensortyp__bzv_a\').checked=true;} console.log(\'Prüfe BZV_A01 / typ__sensortyp__bzv_a01\'); if(paramval==\'BZV_A01\'){document.getElementById(\'typ__sensortyp__bzv_a01\').checked=true;} console.log(\'Prüfe BZH / typ__sensortyp__bzh\'); if(paramval==\'BZH\'){document.getElementById(\'typ__sensortyp__bzh\').checked=true;} console.log(\'Prüfe BZHB / typ__sensortyp__bzhb\'); if(paramval==\'BZHB\'){document.getElementById(\'typ__sensortyp__bzhb\').checked=true;} console.log(\'Prüfe BZH-K / typ__sensortyp__bzh_k\'); if(paramval==\'BZH-K\'){document.getElementById(\'typ__sensortyp__bzh_k\').checked=true;} console.log(\'Prüfe BZV-K / typ__sensortyp__bzv_k\'); if(paramval==\'BZV-K\'){document.getElementById(\'typ__sensortyp__bzv_k\').checked=true;} console.log(\'Prüfe BZH-PR / typ__sensortyp__bzh_pr\'); if(paramval==\'BZH-PR\'){document.getElementById(\'typ__sensortyp__bzh_pr\').checked=true;} } fabInputFieldnulltypSetCheckedFromUrl(); fabInputFieldnullSetValFromUrl(\'typ2\',\'typ\',false); function fabInputFieldnulllagerungSetCheckedFromUrl(){ let paramval=fabInputFieldnullUrlParms.get(\'lagerung\'); console.log(\'Prüfe einstg / auslegung__lagerung__einstg\'); if(paramval==\'einstg\'){document.getElementById(\'auslegung__lagerung__einstg\').checked=true;} console.log(\'Prüfe beidstg / auslegung__lagerung__beidstg\'); if(paramval==\'beidstg\'){document.getElementById(\'auslegung__lagerung__beidstg\').checked=true;} } fabInputFieldnulllagerungSetCheckedFromUrl(); function fabInputFieldnullblockausrichtungSetCheckedFromUrl(){ let paramval=fabInputFieldnullUrlParms.get(\'blockausrichtung\'); console.log(\'Prüfe ohne / auslegung__blockausrichtung__ohne\'); if(paramval==\'ohne\'){document.getElementById(\'auslegung__blockausrichtung__ohne\').checked=true;} console.log(\'Prüfe un / auslegung__blockausrichtung__un\'); if(paramval==\'un\'){document.getElementById(\'auslegung__blockausrichtung__un\').checked=true;} console.log(\'Prüfe li / auslegung__blockausrichtung__li\'); if(paramval==\'li\'){document.getElementById(\'auslegung__blockausrichtung__li\').checked=true;} console.log(\'Prüfe ob / auslegung__blockausrichtung__ob\'); if(paramval==\'ob\'){document.getElementById(\'auslegung__blockausrichtung__ob\').checked=true;} console.log(\'Prüfe re / auslegung__blockausrichtung__re\'); if(paramval==\'re\'){document.getElementById(\'auslegung__blockausrichtung__re\').checked=true;} } fabInputFieldnullblockausrichtungSetCheckedFromUrl(); function fabInputFieldnullblockpositionSetCheckedFromUrl(){ let paramval=fabInputFieldnullUrlParms.get(\'blockposition\'); console.log(\'Prüfe ohne / auslegung__blockposition__ohne\'); if(paramval==\'ohne\'){document.getElementById(\'auslegung__blockposition__ohne\').checked=true;} console.log(\'Prüfe un / auslegung__blockposition__un\'); if(paramval==\'un\'){document.getElementById(\'auslegung__blockposition__un\').checked=true;} console.log(\'Prüfe li / auslegung__blockposition__li\'); if(paramval==\'li\'){document.getElementById(\'auslegung__blockposition__li\').checked=true;} console.log(\'Prüfe ob / auslegung__blockposition__ob\'); if(paramval==\'ob\'){document.getElementById(\'auslegung__blockposition__ob\').checked=true;} console.log(\'Prüfe re / auslegung__blockposition__re\'); if(paramval==\'re\'){document.getElementById(\'auslegung__blockposition__re\').checked=true;} console.log(\'Prüfe frei / auslegung__blockposition__frei\'); if(paramval==\'frei\'){document.getElementById(\'auslegung__blockposition__frei\').checked=true;} } fabInputFieldnullblockpositionSetCheckedFromUrl(); fabInputFieldnullSetValFromUrl(\'blockwinkel\',\'blockwinkel\',true); fabInputFieldnullSetValFromUrl(\'expertenmodus\',\'expertenmodus\',false); fabInputFieldnullSetValFromUrl(\'sondernennkraft\',\'sondernennkraft\',true); fabInputFieldnullSetValFromUrl(\'bemerkung\',\'bemerkung\',false); fabInputFieldnullSetValFromUrl(\'projektname\',\'projektname\',false); fabInputFieldnullSetValFromUrl(\'messstelle\',\'messstelle\',false); fabInputFieldnullSetValFromUrl(\'alternativeswinkelsystem\',\'alternativeswinkelsystem\',false); fabInputFieldnullSetValFromUrl(\'winkel1cnvs\',\'winkel1cnvs\',true); fabInputFieldnullSetValFromUrl(\'winkel2cnvs\',\'winkel2cnvs\',true); fabInputFieldnullSetValFromUrl(\'winkel1alternativcnvs\',\'winkel1alternativcnvs\',true); fabInputFieldnullSetValFromUrl(\'winkel2alternativcnvs\',\'winkel2alternativcnvs\',true); fabInputFieldnullSetValFromUrl(\'winkel4cnvs\',\'winkel4cnvs\',true); fabInputFieldnullSetValFromUrl(\'messrichtung_winkel\',\'messrichtung_winkel\',true); </script><script type="text/javascript" id="fabInputFieldxmlupload1777530692353"> </script><script type="text/javascript" id="fabTabLayout1777530692354">function fabTabLayoutnullOpenTabSheets(tabShtIds){ if(!Array.isArray(tabShtIds)){console.err(\'Parameter is not an array\');console.err(tabShtIds);return;}let allTabShtIds=[\'tab-projekt\',\'tab-kraft\',\'tab-sensortyp\',\'tab-optionen\']; let allTabBtnIds=[\'tab-btn-kraft\',\'tab-btn-sensortyp\',\'tab-btn-optionen\',\'tab-btn-projekt\',\'fabTabLayout1777530692297\',\'fabTabLayout1777530692298\',\'fabTabLayout1777530692299\',\'fabTabLayout1777530692300\',\'fabTabLayout1777530692301\',\'fabTabLayout1777530692302\',\'fabTabLayout1777530692303\',\'fabTabLayout1777530692304\',\'fabTabLayout1777530692305\',\'fabTabLayout1777530692306\',\'fabTabLayout1777530692307\',\'fabTabLayout1777530692308\',\'fabTabLayout1777530692309\',\'fabTabLayout1777530692310\',\'fabTabLayout1777530692311\',\'fabTabLayout1777530692312\',\'fabTabLayout1777530692313\',\'fabTabLayout1777530692314\',\'fabTabLayout1777530692315\',\'fabTabLayout1777530692316\',\'fabTabLayout1777530692317\',\'fabTabLayout1777530692318\',\'fabTabLayout1777530692319\',\'fabTabLayout1777530692320\',\'fabTabLayout1777530692321\',\'fabTabLayout1777530692322\',\'fabTabLayout1777530692323\',\'fabTabLayout1777530692324\',\'fabTabLayout1777530692325\',\'fabTabLayout1777530692326\',\'fabTabLayout1777530692327\',\'fabTabLayout1777530692328\',\'fabTabLayout1777530692329\',\'fabTabLayout1777530692330\',\'fabTabLayout1777530692331\',\'fabTabLayout1777530692332\',\'fabTabLayout1777530692333\',\'fabTabLayout1777530692334\',\'fabTabLayout1777530692335\',\'fabTabLayout1777530692336\',\'fabTabLayout1777530692337\',\'fabTabLayout1777530692338\',\'fabTabLayout1777530692339\',\'fabTabLayout1777530692340\',\'fabTabLayout1777530692341\',\'fabTabLayout1777530692342\',\'fabTabLayout1777530692343\',\'fabTabLayout1777530692344\',\'fabTabLayout1777530692345\',\'fabTabLayout1777530692346\',\'fabTabLayout1777530692347\',\'fabTabLayout1777530692348\']; let btnidsByShtid=new Map(); btnidsByShtid.set(\'tab-optionen\',[\'tab-btn-optionen\',\'fabTabLayout1777530692297\',\'fabTabLayout1777530692299\',\'fabTabLayout1777530692300\',\'fabTabLayout1777530692301\',\'fabTabLayout1777530692302\',\'fabTabLayout1777530692303\',\'fabTabLayout1777530692304\',\'fabTabLayout1777530692305\',\'fabTabLayout1777530692306\',\'fabTabLayout1777530692307\',\'fabTabLayout1777530692308\',\'fabTabLayout1777530692309\',\'fabTabLayout1777530692310\',\'fabTabLayout1777530692311\',\'fabTabLayout1777530692312\',\'fabTabLayout1777530692313\',\'fabTabLayout1777530692314\',\'fabTabLayout1777530692315\',\'fabTabLayout1777530692316\',\'fabTabLayout1777530692317\',\'fabTabLayout1777530692318\',\'fabTabLayout1777530692319\',\'fabTabLayout1777530692320\',\'fabTabLayout1777530692321\',\'fabTabLayout1777530692322\',\'fabTabLayout1777530692323\',\'fabTabLayout1777530692324\',\'fabTabLayout1777530692325\',\'fabTabLayout1777530692326\',\'fabTabLayout1777530692327\',\'fabTabLayout1777530692328\',\'fabTabLayout1777530692329\',\'fabTabLayout1777530692330\',\'fabTabLayout1777530692331\',\'fabTabLayout1777530692332\',\'fabTabLayout1777530692333\',\'fabTabLayout1777530692334\',\'fabTabLayout1777530692335\',\'fabTabLayout1777530692336\',\'fabTabLayout1777530692337\',\'fabTabLayout1777530692338\',\'fabTabLayout1777530692339\',\'fabTabLayout1777530692340\',\'fabTabLayout1777530692341\',\'fabTabLayout1777530692342\',\'fabTabLayout1777530692343\',\'fabTabLayout1777530692344\',\'fabTabLayout1777530692346\']); btnidsByShtid.set(\'tab-projekt\',[\'tab-btn-projekt\',\'fabTabLayout1777530692348\']); btnidsByShtid.set(\'tab-kraft\',[\'tab-btn-kraft\',\'fabTabLayout1777530692345\']); btnidsByShtid.set(\'tab-sensortyp\',[\'tab-btn-sensortyp\',\'fabTabLayout1777530692298\',\'fabTabLayout1777530692347\']); let activeBtnids=[]; for(let aTabShtId of allTabShtIds){ let aTabSht=document.getElementById(aTabShtId); if(tabShtIds.includes(aTabShtId)){ aTabSht.style.display=\'block\';aTabSht.classList.add(\'tab-sheet-active\');aTabSht.classList.remove(\'tab-sheet-inactive\');let btnidsForSht=btnidsByShtid.get(aTabShtId); if(btnidsForSht!=null){ for(aBtnId of btnidsForSht.values()){ activeBtnids.push(aBtnId); } } }else{ aTabSht.style.display=\'none\';aTabSht.classList.remove(\'tab-sheet-active\');aTabSht.classList.add(\'tab-sheet-inactive\');} } for(let aBtnId of activeBtnids){console.log(\'Active: \'+aBtnId);} let activeBtnidsSet=new Set(activeBtnids);for(let aBtnId of allTabBtnIds){ console.log(\'Loop for button \'+aBtnId); let aBtn=document.getElementById(aBtnId); if(activeBtnidsSet.has(aBtnId)){ aBtn.classList.remove(\'tab-button-inactive\');aBtn.classList.add(\'tab-button-active\');}else{ aBtn.classList.add(\'tab-button-inactive\');aBtn.classList.remove(\'tab-button-active\');} } } </script><script type="text/javascript" id="fabTabLayout1777530692355">fabTabLayoutnullOpenTabSheets([\'tab-kraft\']);document.getElementById(\'tab-bar\').scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" });document.fabAfterTabChange(); </script>';
var scriptElements=element.getElementsByTagName('script');
for (var i=0;i<scriptElements.length;i++) {
var node=scriptElements[i];
var parent=node.parentElement;
var newElement = document.createElement('script');
if (node.async==true){newElement.async=node.async;}
newElement.textContent=node.textContent;
var nodeSrc=node.getAttribute('src');
if(nodeSrc!=null){newElement.setAttribute('src',nodeSrc);}
var scriptType=node.getAttribute('type');if(scriptType==null){scriptType='text/javascript';}
newElement.setAttribute('type',scriptType);
parent.insertBefore(newElement,node);
parent.removeChild(node);
}