
    j^T                     l    S SK r S rS rSS jrSS jrSS jrS rS rS	 rS
 r	S r
S rS rS rS rg)    Nc                     SnSnSU  S3nX# S3   U :X  a  US-  nU(       a  X:X  a  SnU(       a  X:X  a  USU S	3-  nUS
US    S3-  nUSUS   -   S-   -  nXU4$ )NF z<option value=""_selectz selected="selected"Tz
 data-id="z_p" z- kommentartext<br>>menutextz
</option>
 )	keyvaluevalInputDictinKey
commentKeywithCommentshowCommentcommentTextretStrs	            O/var/www/oekobilanz-rechner-gitlab-dev2026v8/cgi-bin/../pyscripts/inputForms.pycreateSelOptionsLoopr      s    ++cU"%&G7#$+
&&Fs(kS&
J<u--FRo./t44KC%
##m33&	k	))    c           	      0   SnSnSnU(       aE  X   U   S   R                  5        H(  u  p[        XXXE5      u  pnX-  nXm-  nU(       d  M&  SnM*     OAX   S   R                  5        H(  u  p[        XXXE5      u  pnX-  nXm-  nU(       d  M&  SnM*     XU4$ )Nr   FoptionsT)itemsr   )
inMetaDictr   metaValTopKeyr   r   r   r   r   r   r   r   	retStrTmpshowCommentTmpcommentTextTmps                 r   createSelOptionsr       s    KKF"1%8CIIK*#4HUajt  5C1	>%>+ L #))4::<*#4HUajt  5C1	>%>+ = ++r   c                 *   SnU(       a  SnSU SU S   S   U   S   S    S	3nU(       a  US
-  nUSU SU S   S   U   S   S    S3-  n[        XXXV5      u  pn
Xx-  nUS-  nU(       a  U
(       a  USU SU	 S3-  nU$ U(       a  USU SU	 S3-  nU$ )NFT<select id="_
rechnertypr   selColNamesr   " zConchange="setVisible(this.options[this.selectedIndex].dataset.id)" name="" class="form-control">	</select>z
        <p id="z0_p" class="small-text" style="display: inline;">z</p>
      z._p" class="small-text" style="display: none;">r    )r   r   anwTypr   r   r   r   r   
optionsStrr   r   s              r   createPureSelectr-   (   s   KkUG1Z%=i%H%PQ^%_`a%b$ccfgFWXf
wa
< 8 CF KM Z[\ ]^^xyyF+;JVclv  ,E(J[
F
kF{ |KK= Y
 
f M	 
 |I+ W
 
f Mr   c                    SnU(       a  SnSnU SU S   S   U   S   S    3nUS	U S
U SX   U   S   S    S3-  nUS-  nUSU SU S   S   U   S   S    S3-  nUSU SU S   S   U   S   S    S3-  nU S3n	USX9    S3-  nUS-  nUSU SU S   S   U   S   S    S3-  nUSU SU S   S   U   S   S    S3-  nU S3n	USX9    S3-  nUS-  nUSU SU S   S   U   S   S    S3-  nUSU SU S   S   U   S   S    S3-  nU S3n	USX9    S3-  nUS-  nUS-  nUSU S3-  nUSU S3-  n[        XXXV5      u  pnXz-  nUS-  nUS-  nUS-  nUS U S!3-  nU(       a  US"-  nOUS#-  nX{ S$3-  nUS-  nU$ )%NFT<tr><td>r#   r$   r   r%   r   <label class="_label" for="">labeltext</label><br>	</td><td><input id="valColNamesr&   r'   _masseL   type="text" class="form-control col-text-right" placeholder="kg/m³" value="   _lkwHtype="text" class="form-control col-text-right" placeholder="km" value="   _bahn
</td></tr><tr><td colspan='4'>r"   r(   r)   <p id="_p" class="small-text" style="display: inline">style="display: none"></p>r*   )r   r   r+   r   r   r   r   r   selKeyvalKeyr,   r   r   s                r   createSelectTabRowWithTransportrI   =   s   KkFwa
<0;FCMRSTUVWF
wofXSAZ[`AabiAjkqAr@ss  A  AF
kF
UG1Z%=i%H%PQ^%_`a%b$ccfggF
wa
< 8 CF KM Z[\ ]^^abbFwfF
cdpdxcyy|}}F
kF
UG1Z%=i%H%PQ^%_`a%b$ccfggF
wa
< 8 CF KM Z[\ ]^^abbFwd^F
_`l`t_uuxyyF
kF
UG1Z%=i%H%PQ^%_`a%b$ccfggF
wa
< 8 CF KM Z[\ ]^^abbFwe_F
_`l`t_uuxyyF
lF
$$F
fXS))F
x9::F+;JVclv  ,E(J[
F
kF
lF
$$F
$>??F,-f*+f
T""F
lFMr   c                 Z   U S3n[        X6   5      S:X  Ga  SnU(       a  SnSnU SU S   S   U   S	   S
    3n	USU SU	 SX   U   S   S    S3-  nUS-  nUSU SU S   S   U   S   S
    S3-  nUSU SU S   S   U   S   S
    S3-  nU S3n
USX:    S3-  nUS-  nUSU SU S   S   U   S   S    S3-  nUSU SU S   S   U   S   S    S3-  nU S3n
USX:    S3-  nUS-  nUSU SU S   S   U   S   S    S3-  nUSU SU S   S   U   S   S    S3-  nU S3n
USX:    S3-  nUS-  nUS-  nUSU	 S3-  nUSU	 S3-  n[        XXXW5      u  pnX-  nUS -  nUS-  nUS!-  nUS"U S#3-  nU(       a  US$-  nOUS%-  nX S&3-  nUS-  nU$ [        XX#XE5      nU$ )'Nr9   g        FTz<tr class="noPrint"><td>r#   r$   r   r%   r   r0   r1   r2   r3   r4   r5   r6   r7   r8   r&   r'   r:   r;   r<   r=   r>   r?   r@   z$<tr class="noPrint"><td colspan='4'>r"   r(   r)   rA   rB   rC   rD   rE   rF   )floatr    rI   )r   r   r+   r   r   r   	hiddenValr   r   rG   rH   r,   r   r   s                 r   %createSelectTabRowWithTransportHiddenrM   e   sH   ' I\$%,k	+f*\29=fEmTUVWXYf/%xs:C\]bCcdkClmsCtBu  vB  C  Cff,ugQz,'?	'J6'RS`'abc'd&eehiif'%*\":9"Ef"Mm"\]^"_!``cddffefrfze{{~ff,ugQz,'?	'J6'RS`'abc'd&eehiif'%*\":9"Ef"Mm"\]^"_!``cddf~fabnbvawwz{{ff,ugQz,'?	'J6'RS`'abc'd&eehiif'%*\":9"Ef"Mm"\]^"_!``cddffabnbvawwz{{ff88f-xs++f'&!;<<f-=jXenx  .G*j{fff&&f(:,&@AAf	./,--t$$ff M /z&`erfMr   c                 V   SnUSU SU SX   U   S   S    S3-  nUS-  n US	U S
U S   S   U   S   S    S3-  nUSU S
U S   S   U   S   S    S3-  nU S3nUSX6    S3-  nUS-  nUS	U S
U S   S   U   S   S    S3-  nUSU S
U S   S   U   S   S    S3-  nU S3nUSX6    S3-  nUS-  nUS	U S
U S   S   U   S   S    S3-  nUSU S
U S   S   U   S   S    S3-  nU S3nUSX6    S3-  nUS-  nU$ !   SS K nUSUR                  5        SU S3-  n N= f)Nr/   r0   r1   r2   r3   r4   </label>r6   r7   r#   r$   r   r8   r   r&   r'   r9   r:   z<pre>Python error:
r   z</pre>r;   r<   r=   r>   r?   r@   )	traceback
format_exc)r   r   r+   r   r   r   r   rP   s           r   createValueTabRowWithTransportrR      sP   F
uOC5J<UVY<Z[b<cdj<k;lltuuF
kFX,se1Z%=i%H%PQ^%_`a%b$ccfggf'#a
< 8 CF KM Z[\ ]^^abbfVneefrfyezz}~~f kF
SE:l#;I#Fv#N}#]^_#`"aadeeF
uAj6yA&I-XYZ[\\_``Fe4LE
_`l`s_ttwxxF
kF
SE:l#;I#Fv#N}#]^_#`"aadeeF
uAj6yA&I-XYZ[\\_``Fe5ME
_`l`s_ttwxxF
lFMX&y';';'=&>d<.PVWWfs   AD  D(c                     SU SU SX   U   S   S    S3nUSU SU S	   S
   U   S   S    S3-  nUSU SU S	   S
   U   S   S    S3-  nU S3nX6   nUS:X  d  US:X  a  SnUSU S3-  nU$ )Nr0   r1   r2   r3   r4   rO   r7   r#   r$   r   r8   r   r&   r'   r9   0r   r:   r   )r   r   r+   r   r   r   r   retValues           r   createPureValueInputrV      s    se?3%s:;TUX;YZa;bci;j:kkstF
SE:l#;I#Fv#N}#]^_#`"aadeeF
uAj6yA&I-XYZ[\\_``Fe6NE"H3(a-h
cdlcmmpqqFMr   c                     U S3n SU SU SX#    S3$ ! [          a;  n[        U[        R                  S9  [        U [        R                  S9   S nAg S nAff = f)Nr   z<input type="hidden" id="z_hidden" name="z	" value="r2   )file)	Exceptionprintsysstderr)metaDictmetaKeyinDictformKeyes        r   createHiddenInputrb      sc    iw'()'2CG9KX^XgWhhkll	 (	!#**	VHCJJ'(s    
A1AAc                 h    SnU R                  5        H  u  pVX S3   U:X  d  M  XS:X  d  M  SnM     U$ )Nnoner   inline)r   )
selectDictinDatar   r   r   r   r   s          r   showSelectCommentrh      s@    F &&(
G7#$+ ! ) Mr   c                 r    [        U [        5      (       a  [        U 5      $ [        U 5      S:  a  U S:w  a  U $ g)Nr   rT   r   )
isinstanceintstrlen)vals    r   createValuero      s1    Ss8O
3xzcSj
r   c                 b   S[        U SU5       S[        U SU5       S[        U SU5       S3nUS:X  a  US-  nUSU S	[        U SX1S
5       S[        U SX1S5       S[        U SX1SS5       S[        U SX1S5       S[        U SX1S5       S[        U SX1S5       S[        U SX1S5       SU S3-  nU$ )N
          r$   actTabInputumwindikatoru   
          <h1 class="sidebartitle">Betondefinition für Planer:innen</h1>
          <div class="form-group">
            <input type="submit" name="calc_result" value="Resultat berechnen">
          r   zW<input type="submit"  name="change2detail" value="Zu detaillierter Erfassung wechseln">3
          </div>
          <p style="color: red;"></p>
          <div class="form-group">
            <label class="control-label" for="anwendung">Betonanwendung</label>
            <div>
              	anwendungz
            </div>
          </div>
          <div class="form-group">
            <label class="control-label" for="sorte">Betonsorte</label>
            <div>
              sortez
            </div>
          </div>
          <div class="form-group">
            <label class="control-label" for="cemtyp">Zementtyp</label>
            <div>
              bestandteilecemtypcemHUKRHofmannGreenu  
            </div>
          </div>
          <h1 class="sidebartitle">Einspeicherung CO₂</h1>
          <p>Ob und wie dieser eingelagerte Kohlenstoff als Negativemission anrechenbar ist, wird in Label- und Nachweissystemen auf Gebäudeebene geregelt.<br>Die unten angegebene Menge zugegebener Pflanzenkohle oder eingespeichertes CO₂ wird verwendet, um den Herstellungsaufwand in der Ökobilanz einzurechnen.</p>
          <p>Pro m³ <strong>un</strong>bewehrtem Beton</p>
          <div class="form-group">
            einspeicherungKohlezA
          </div>
          <div class="form-group">
            einspeicherungGranulatu   
          </div>
          <h1 class="sidebartitle">Bewehrung</h1>
          <p>Pro m³ bewehrtem Beton</p>
          <div class="form-group">
            	bewehrungz
            U</p>
          <input type="submit" name="calc_result" value="Resultat berechnen">
  )rb   r-   rV   
input_meta
input_datainputErrorsr+   r   s        r   createShortInputFormr      sG   ZzB
C DZ
C
D EZD
E F& B
knF $$/= 1  
BKPQ R  
BWMN O  
NVQY[pqr s "*nfRghi j "*nfRjkl m
 "*nfR]^_ `j.6{[\ ]$$/= 1I& &&N 
-r   c                    S[        U SU5       S[        U SU5       S[        U SU5       S3nUS:X  a  US-  nUSR                  / SPU PS	P[        U SX1S
5       PSP[        U SX1SS5       PSP[	        U SX1SS5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PSP[        U SX1S5       PS PU PS!P5      -  nU$ )"Nrq   r$   rr   rs   u   
          <h1 class="sidebartitle">Betondefinition für Hersteller:innen</h1>
          <div class="form-group">
          <input type="submit" value="Resultat berechnen">
          r   zY<input type="submit"  name="change2npk" value="Zu NPK-/vereinfachter Erfassung wechseln">rt   ru   rv   u5  
            </div>
          </div>
          <h1 class="sidebartitle">Zusammensetzung</h1>
          <div class="form-group">
            <table class="printPageBreak">
              <colgroup>
                <col class="col-wide-4cols">
                <col class="col-normal-4cols">
                <col class="col-short-4cols">
                <col class="col-short-4cols">
                </colgroup>
              <thead>
              <th class="control-label">Zusammensetzung für 1m³ unbewehrten Beton</th>
              <th class="control-label">Masse [<span style="white-space: nowrap;">kg/m³</span>]</th>
              <th class="control-label">Transport-Distanz LKW [km]</th>
              <th class="control-label">Transport-Distanz Bahn [km]</th>
            </thead>
            <tbody>
              rx   ry   rz   z
              cemtyp2betongranulatmischgranulat	kies_rundkies_gebrochensandkalksteinmehl	flugaschefliessmittelweitere_zusaetzewasseru9  
           </tbody></table>
            <h1 class="sidebartitle">Einspeicherung CO₂</h1>
            <p>Ob und wie dieser eingelagerte Kohlenstoff als Negativemission anrechenbar ist, wird in Label- und Nachweissystemen auf Gebäudeebene geregelt.<br>Die unten angegebene Menge zugegebener Pflanzenkohle oder eingespeichertes CO₂ wird verwendet, um den Herstellungsaufwand in der Ökobilanz einzurechnen.</p>
            <table>
              <colgroup>
                <col class="col-wide-4cols">
                <col class="col-normal-4cols">
                <col class="col-short-4cols">
                <col class="col-short-4cols">
              </colgroup>
              <thead>
              <th class="control-label">Pro m³ <strong>un</strong>bewehrtem Beton</th>
              <th class="control-label">Masse [<span style="white-space: nowrap;">kg/m³</span>]</th>
              <th class="control-label">Transport-Distanz LKW [km]</th>
              <th class="control-label">Transport-Distanz Bahn [km]</th>
            </thead>
            <tbody>
              r{   r|   u  
            </tbody></table>
            <p class="noPrint">Hinweis, falls Granulat mit fixiertem CO₂ verwendet wird: In der Zusammensetzung bitte die Masse Recyclinggranulat ohne fixiertes CO₂ eingeben.</p>
            <h1 class="sidebartitle">Bewehrung</h1>
            <table>
              <colgroup>
                <col class="col-wide-4cols">
                <col class="col-normal-4cols">
                <col class="col-short-4cols">
                <col class="col-short-4cols">
              </colgroup>
              <thead>
              <th class="control-label">Pro m³ bewehrtem Beton</th>
              <th class="control-label">Masse [<span style="white-space: nowrap;">kg/m³</span>]</th>
              <th class="control-label">Transport-Distanz LKW [km]</th>
              <th class="control-label">Transport-Distanz Bahn [km]</th>
            </thead><tbody>
              r}   zP
            </tbody></table>
          </div>
          <p style="color: red;">r~   )rb   joinr-   rI   rM   rR   r   s        r   createDetailedInputFormr     sN   ZzB
C DZ
C
D EZD
E F& B
nqF M M $ M$/=M1M  
BKPQMRM2 /z>6_gh}~3M2@3M4 5ZQWen  pE  F  G5M4G5M6 .j.&^mno7M6p7M8 .j.&^mno9M8p9M: .j.&^ijk;M:l;M< .j.&^nop=M<q=M> .j.&^def?M>g?M@ .j.&^mnoAM@pAMB .j.&^ijkCMBlCMD .j.&^lmnEMDoEMF .j.&^pqrGMFsGMH .j.&^fghIMHiIMl .j.&^stumMlvmMn .j.&^vwxoMnyoMP /z>6_jklQMPm$QMV %0=WMV1WM M&\ 
-r   c                 L    US:X  a  [        XX#5      $ US:X  a  [        XX#5      $ g )NnpkDefinitiondetailedDefinition)r   r   )r   r   r   r+   s       r   createInputFormr   ^  s2    
LL%%":;OO &r   c                 B    SnU S:X  a  US-  nOU S:X  a  US-  nUS-  nU$ )Nr   r   u3  <p class="noPrint">Mit dem Betonsortenrechner können Sie die Umweltwirkungen pro m³ Beton für unterschiedliche Anwendungsbereiche, Betonsorten und eingesetzten Zementtypen berechnen.</p>
    <p>Klicken Sie auf den Knopf «Zu detaillierter Erfassung wechseln», um zum Rechner für Hersteller zu gelangen.r   u  <p class="noPrint">Mit dem Betonsortenrechner können Sie die Umweltwirkungen pro m³ Beton Ihrer werkspezifischen Betonsorten zusammenstellen und berechnen. Geben Sie die Zusammensetzung für einen m³ Beton ohne Bewehrung ein. Falls Sie gewisse Transportdistanzen nicht kennen, können Sie die Standardvorgabe des Rechners verwenden.</p>
    <p class="noPrint">Wenn sie eine Bewehrung angeben, wird das Resultat pro m³ bewehrtem Beton ausgegeben und das Betonvolumen entsprechend reduziert.</p>u  <p class="noPrint">Die «Ökobilanz-Resultate» sind in drei Reiter aufgeteilt. Unter «Übersicht-Resultate» werden alle Umweltindikatoren für Herstellung und Entsorgung ausgewiesen. Unter «Details Resultate» können Sie den gewünschten Umweltindikator auswählen. Die Resultate werden in dieser Ansicht aufgeschlüsselt nach der Herstellung des Zements, der Gesteinskörnung, der restlichen Herstellung und der Bewehrung. Unter dem Reiter «Zusammensetzung Beton» wird die Zusammensetzung ausgewiesen, die für die Berechnung verwendet wurde.</p>
  <p>Welche Betonsorten in der Schweiz gemäss Norm SN EN 206+A2:2021 freigegeben sind, entnehmen Sie bitte dem SIA Register der frei gegebenen Zemente und Kombinationen von Zementen und Zusatzstoffen.</p>
  <p>Der Ökobilanzrechner für Betonsorten, seine Bedienung und Funktion werden im "Hintergrundbericht Ökobilanzrechner für Betonsorten" beschrieben.</p>
  <p>Die dem Rechner zugrunde liegenden Ökobilanzen wurden mit dem UVEK Ökobilanzdatenbestand 2022 plus Aktualisierungen herstellerspezifischer Daten berechnet.</p>
  <p>Weitere Informationen:</p>
  <p><a href="../doc/Hintergrundbericht_Oekobilanzrechner_Betonsorten_v4.pdf" target="_blank">Hintergrundbericht zum Betonsortenrechner</a></p><p>
  <a href="https://www.sia.ch/register" target="_blank">SIA 262 - Register der freigegebenen Zemente und Kombinationen von Zementen und Zusatzstoffen</a></p>
  r   )r+   retTexts     r   createUserInfor   d  sP    ' y yG%% a aG	  ' 
.r   )r   )r[   r   r    r-   rI   rM   rR   rV   rb   rh   ro   r   r   r   r   r   r   r   <module>r      sT    
*",(*&P+Z2	(2hYvPr   