Verpflegungsmehraufwand Formular
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

537 lines
22 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <!doctype html>
  2. <html lang="de">
  3. <?php
  4. $lang=$_GET['lang'];
  5. if ( in_array ($lang, array('en-US'))){
  6. $loc = "$lang".".utf8";
  7. $loc1 = $lang;
  8. }
  9. else {
  10. $loc = "de-DE";
  11. $loc1 = "de-DE";
  12. }
  13. include "Spyc.php";
  14. $localeYaml = Spyc::YAMLLoad('locale.yaml');
  15. $domain = "messages";
  16. setlocale(LC_MESSAGES, $loc);
  17. setlocale(LC_ALL, $loc);
  18. $results = putenv("LC_ALL=$loc");
  19. $results = putenv("LC_MESSAGES=$loc");
  20. //$results = bindtextdomain($domain,"./locale");
  21. ?>
  22. <head>
  23. <meta charset="utf-8"/>
  24. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  25. <title><?php echo $localeYaml['title'][$loc1]?></title>
  26. <link rel="stylesheet" href="verpflegungsmehraufwand.css">
  27. <script src="jquery.min.js"></script>
  28. <script src="polyfiller.js"></script>
  29. <script src="tagessaetze.2015.js"></script>
  30. <script src="tagessaetze.2016.js"></script>
  31. <script src="tagessaetze.2017.js"></script>
  32. <script src="tagessaetze.2018.js"></script>
  33. <script src="tagessaetze.2019.js"></script>
  34. <script src="tagessaetze.2020.js"></script>
  35. <script src="tagessaetze.2021.js"></script>
  36. <script src="tagessaetze.2022.js"></script>
  37. <script>
  38. var eintraege = 0;
  39. function aktualisiereTagessatz()
  40. {
  41. var i8h = document.getElementById('ts8h'),
  42. i24h = document.getElementById('ts24h'),
  43. ipausch = document.getElementById('pausch')
  44. iRZ = document.getElementById('RZ'),
  45. rbd = document.getElementById('RBD').value;
  46. var heute = new Date(), jahr;
  47. if(rbd) rbd = splitDateString(rbd);
  48. if(typeof rbd[1] !== 'undefined' && rbd !== null) jahr = rbd[1];
  49. else jahr = heute.getFullYear();
  50. i8h.textContent=ts[jahr]['<?php echo $loc1?>'][iRZ.value]['8h'].toFixed(2);
  51. i24h.textContent=ts[jahr]['<?php echo $loc1?>'][iRZ.value]['24h'].toFixed(2);
  52. ipausch.textContent=ts[jahr]['<?php echo $loc1?>'][iRZ.value]['pausch'].toFixed(2);
  53. var aufstellung = document.getElementById('Aufstellung'),
  54. eintraege = document.querySelectorAll('#Aufstellung fieldset'),
  55. rbz = document.getElementById('RBZ'),
  56. rez = document.getElementById('REZ'),
  57. rbzZeit = rbz.value ? splitTimeString(rbz.value) : [ 0, 0, 0 ],
  58. rezZeit = rez.value ? splitTimeString(rez.value) : [ 0, 0, 0 ];
  59. rbzZeit = rbzZeit[1]*60 + rbzZeit[2]*1;
  60. rezZeit = rezZeit[1]*60 + rezZeit[2]*1;
  61. if(eintraege.length)
  62. {
  63. eintraege[0].querySelectorAll('span')[1].textContent = i8h.textContent;
  64. eintraege[0].querySelectorAll('input')[2].onclick.apply(eintraege[0].querySelectorAll('input')[2]);
  65. eintraege[eintraege.length-1].querySelectorAll('span')[1].textContent = i8h.textContent;
  66. eintraege[eintraege.length-1].querySelectorAll('input')[2].onclick.apply(eintraege[eintraege.length-1].querySelectorAll('input')[2]);
  67. if(eintraege.length > 2) {
  68. for(var n = 1; n < eintraege.length-1; n++)
  69. {
  70. eintraege[n].querySelectorAll('span')[1].textContent = i24h.textContent;
  71. eintraege[n].querySelectorAll('input')[0].onclick.apply(eintraege[n].querySelectorAll('input')[2]);
  72. }
  73. }
  74. }
  75. return true;
  76. }
  77. function aktualisiereSumme()
  78. {
  79. var rte = document.querySelectorAll('#Aufstellung fieldset'),
  80. as = document.getElementById('Summe'),
  81. sum=0;
  82. if(rte.length>0) for(var e = 0; e < rte.length; e++) sum += parseFloat(document.getElementById('AS['+rte[e].id+']').textContent);
  83. as.textContent = sum.toFixed(2);
  84. return true;
  85. }
  86. function aktualisiereAnspruch()
  87. {
  88. if(this.tagName == 'INPUT')
  89. {
  90. var reiseTag = this.id.match(/(\d{4}-\d{2}-\d{2})/)[1],
  91. tagessatz = parseFloat(document.getElementById('ts24h').textContent);
  92. pausch = parseFloat(document.getElementById('pausch').textContent),
  93. anspruch = parseFloat(document.getElementById('TS['+reiseTag+']').textContent);
  94. // anspruch = tagessatz;
  95. if(document.getElementById('FS['+reiseTag+']').checked) anspruch -= 0.2*tagessatz;
  96. if(document.getElementById('MT['+reiseTag+']').checked) anspruch -= 0.4*tagessatz;
  97. if(document.getElementById('AE['+reiseTag+']').checked) anspruch -= 0.4*tagessatz;
  98. if(anspruch < 0) anspruch=0;
  99. if(document.getElementById('P['+reiseTag+']').checked) anspruch += pausch;
  100. document.getElementById('AS['+reiseTag+']').textContent = Math.sqrt(Math.pow(anspruch,2)).toFixed(2);
  101. aktualisiereSumme();
  102. return true;
  103. }
  104. return true;
  105. }
  106. function neuerIndex()
  107. {
  108. var aufstellung = document.getElementById('Aufstellung'),
  109. eintraege = document.querySelectorAll('#Aufstellung fieldset');
  110. for(var n = 0; n < eintraege.length; n++)
  111. {
  112. eintraege[n].querySelector('legend').textContent = n+1+'.<?php echo $localeYaml['travelday'][$loc1]?>';
  113. }
  114. }
  115. function erstelleReisetag(datum)
  116. {
  117. var vorlage = document.getElementById('neuerEintrag'),
  118. neuerEintrag, inputs, labels, spans;
  119. neuerEintrag = document.importNode(vorlage.content, true);
  120. inputs = neuerEintrag.querySelectorAll('input');
  121. labels = neuerEintrag.querySelectorAll('label');
  122. spans = neuerEintrag.querySelectorAll('span');
  123. spans[0].textContent = datum;
  124. neuerEintrag.querySelectorAll('fieldset')[0].id = datum;
  125. inputs[0].name = "AbzugFS["+datum+"]";
  126. inputs[1].name = "AbzugMT["+datum+"]";
  127. inputs[2].name = "AbzugAE["+datum+"]";
  128. inputs[3].name = "Privat["+datum+"]";
  129. spans[0].id = "RT["+datum+"]";
  130. spans[1].id = "TS["+datum+"]";
  131. spans[5].id = "AS["+datum+"]";
  132. inputs[0].id = "FS["+datum+"]";
  133. inputs[1].id = "MT["+datum+"]";
  134. inputs[2].id = "AE["+datum+"]";
  135. inputs[3].id = "P["+datum+"]";
  136. inputs[0].onclick = aktualisiereAnspruch;
  137. inputs[0].ontouch = aktualisiereAnspruch;
  138. inputs[1].onclick = aktualisiereAnspruch;
  139. inputs[1].ontouch = aktualisiereAnspruch;
  140. inputs[2].onclick = aktualisiereAnspruch;
  141. inputs[2].ontouch = aktualisiereAnspruch;
  142. inputs[3].onclick = aktualisiereAnspruch;
  143. inputs[3].ontouch = aktualisiereAnspruch;
  144. labels[0].htmlFor = "FS["+datum+"]";
  145. labels[1].htmlFor = "MT["+datum+"]";
  146. labels[2].htmlFor = "AE["+datum+"]";
  147. labels[3].htmlFor = "P["+datum+"]";
  148. labels[0].onclick = aktualisiereAnspruch;
  149. labels[0].ontouch = aktualisiereAnspruch;
  150. labels[1].onclick = aktualisiereAnspruch;
  151. labels[1].ontouch = aktualisiereAnspruch;
  152. labels[2].onclick = aktualisiereAnspruch;
  153. labels[2].ontouch = aktualisiereAnspruch;
  154. labels[3].onclick = aktualisiereAnspruch;
  155. labels[3].ontouch = aktualisiereAnspruch;
  156. return neuerEintrag;
  157. }
  158. function aktualisiereReisebeginn()
  159. {
  160. var rbd = document.getElementById('RBD'), //ReiseBeginnDatum
  161. red = document.getElementById("RED"), //ReiseEndeDatum
  162. eintraege = document.querySelectorAll('#Aufstellung fieldset'),
  163. aufstellung = document.getElementById('Aufstellung');
  164. if(eintraege.length > 0) {
  165. var d, reiseTag;
  166. d = rbd.value;
  167. console.log(d);
  168. for(var e = 0; e < eintraege.length; e++)
  169. {
  170. if(d > eintraege[e].id)
  171. {
  172. aufstellung.removeChild(eintraege[e]);
  173. }
  174. else{break;};
  175. }
  176. }
  177. aktualisiereTagessatzMenue(splitDateString(rbd.value)[1]);
  178. aktualisiereAufstellung(rbd.value, red.value);
  179. }
  180. function aktualisiereReiseende()
  181. {
  182. var rbd = document.getElementById('RBD'), //ReiseBeginnDatum
  183. red = document.getElementById("RED"), //ReiseEndeDatum
  184. eintraege = document.querySelectorAll('#Aufstellung fieldset'),
  185. aufstellung = document.getElementById('Aufstellung');
  186. if(eintraege.length > 0) {
  187. var d, reiseTag;
  188. d = red.value;
  189. console.log(d);
  190. for(var e = eintraege.length-1; e >= 0; e--)
  191. {
  192. if(d < eintraege[e].id)
  193. {
  194. aufstellung.removeChild(eintraege[e]);
  195. }
  196. else{break;};
  197. }
  198. }
  199. aktualisiereAufstellung(rbd.value, red.value);
  200. }
  201. function aktualisiereAufstellung(beginn, ende)
  202. {
  203. var eintraege = document.querySelectorAll('#Aufstellung fieldset'),
  204. aufstellung = document.getElementById('Aufstellung');
  205. if("" == beginn)
  206. {
  207. beginn = ende;
  208. }
  209. if("" == ende)
  210. {
  211. ende = beginn;
  212. }
  213. var beg = splitDateString(beginn),
  214. end = splitDateString(ende),
  215. einTag = 24*60*60*1000,
  216. begDatum, endDatum, reiseDauer;
  217. begDatum = new Date(beg[1], beg[2]-1, beg[3]);
  218. endDatum = new Date(end[1], end[2]-1, end[3]);
  219. reiseDauer = Math.round((endDatum.getTime() - begDatum.getTime())/einTag);
  220. if(eintraege.length)
  221. {
  222. var ersterEintrag = splitDateString(eintraege[0].id),
  223. erstesDatum = new Date(ersterEintrag[1], ersterEintrag[2]-1, ersterEintrag[3]),
  224. letzterEintrag = splitDateString(eintraege[eintraege.length-1].id),
  225. letztesDatum = new Date(letzterEintrag[1], letzterEintrag[2]-1, letzterEintrag[3]);
  226. }
  227. else
  228. {
  229. var erstesDatum = new Date(0),
  230. letztesDatum = new Date(0);
  231. }
  232. for(var n = 0; n <= reiseDauer; n++)
  233. {
  234. var d, reiseTag, ersterEintrag;
  235. reiseTag = new Date(begDatum.getTime());
  236. reiseTag.setDate(reiseTag.getDate() + n);
  237. d = reiseTag.getFullYear().toString()+'-'
  238. d += ((reiseTag.getMonth()+1) < 10) ? '0' : '';
  239. d += (reiseTag.getMonth()+1).toString()+'-';
  240. d += (reiseTag.getDate() < 10) ? '0' : '';
  241. d += reiseTag.getDate().toString();
  242. console.log(reiseTag);
  243. if(reiseTag.getTime() < erstesDatum.getTime())
  244. {
  245. aufstellung.insertBefore(erstelleReisetag(d), eintraege[0]);
  246. }
  247. if(reiseTag.getTime() > letztesDatum.getTime())
  248. {
  249. aufstellung.appendChild(erstelleReisetag(d));
  250. }
  251. }
  252. neuerIndex();
  253. aktualisiereTagessatz();
  254. return true;
  255. }
  256. function splitDateString(date) { return date.match(/(\d{4})-(\d{2})-(\d{2})/); }
  257. function splitTimeString(time) { return time.match(/(\d{2}):(\d{2})/); }
  258. function deactivateAOSO() { document.getElementById('AOSO_text').disabled = true; }
  259. function activateAOSO() { document.getElementById('AOSO_text').disabled = false; }
  260. function deactivateRESO() { document.getElementById('RESO_text').disabled = true; }
  261. function activateRESO() { document.getElementById('RESO_text').disabled = false; }
  262. function init() {
  263. document.getElementById("RBD").onchange=aktualisiereReisebeginn;
  264. document.getElementById("RED").onchange=aktualisiereReiseende;
  265. document.getElementById("RBZ").onchange=aktualisiereTagessatz;
  266. document.getElementById("REZ").onchange=aktualisiereTagessatz;
  267. document.getElementById("RZ").addEventListener('change',aktualisiereTagessatz);
  268. document.getElementById("AOWO").addEventListener('click', deactivateAOSO, true);
  269. document.getElementById("AOAS").addEventListener('click', deactivateAOSO, true);
  270. document.getElementById("AOSO").addEventListener('click', activateAOSO, true);
  271. document.getElementById("AOWO").addEventListener('touchstart', deactivateAOSO, true);
  272. document.getElementById("AOAS").addEventListener('touchstart', deactivateAOSO, true);
  273. document.getElementById("AOSO").addEventListener('touchstart', activateAOSO, true);
  274. document.getElementById("REAO").addEventListener('click', deactivateRESO, true);
  275. document.getElementById("RESO").addEventListener('click', activateRESO, true);
  276. document.getElementById("REAO").addEventListener('touchstart', deactivateRESO, true);
  277. document.getElementById("RESO").addEventListener('touchstart', activateRESO, true);
  278. document.getElementById("print_top").addEventListener('click', function() { window.print(); }, true);
  279. document.getElementById("print_bottom").addEventListener('click', function() { window.print(); }, true);
  280. }
  281. function vergleicheWerte(a, b)
  282. {
  283. if(typeof a === undefined) return false;
  284. if(typeof b === undefined) return false;
  285. var regex = /^(.*?), (.*)/,
  286. generic = 'im Übrigen';
  287. if(a.match(regex))
  288. {
  289. var left = a.match(regex)[2];
  290. left_pre = a.match(regex)[1];
  291. }
  292. else
  293. {
  294. var left = a,
  295. left_pre = 'Welt';
  296. }
  297. if(b.match(regex))
  298. {
  299. var right = b.match(regex)[2],
  300. right_pre = b.match(regex)[1];
  301. }
  302. else
  303. {
  304. var right = b;
  305. right_pre = 'Welt';
  306. }
  307. if(left === right)
  308. {
  309. if(left_pre === right_pre) return true;
  310. else
  311. {
  312. switch(true)
  313. {
  314. case (left_pre.length > right_pre.length):
  315. if(left_pre.indexOf(right_pre) > -1)
  316. {
  317. return true;
  318. }
  319. break;
  320. case (left_pre.length === right_pre.length):
  321. if(left_pre === right_pre)
  322. {
  323. return true;
  324. }
  325. break;
  326. case (left_pre.length < right_pre.length):
  327. if(right_pre.indexOf(left_pre) > -1)
  328. {
  329. return true;
  330. }
  331. break;
  332. }
  333. }
  334. }
  335. if( (left_pre !== 'Welt' && right_pre !== 'Welt') && ( (left_pre.indexOf(right_pre) > -1) || (right_pre.indexOf(left_pre) > -1) ) )
  336. {
  337. left = left.match(/^(.*?) (.*)/) ? left.match(/^(.*?) (.*)/)[1] : left;
  338. right = right.match(/^(.*?) (.*)/) ? right.match(/^(.*?) (.*)/)[1] : right;
  339. switch(true)
  340. {
  341. case (left.length > right.length):
  342. if(left.indexOf(right) > -1)
  343. {
  344. return true;
  345. }
  346. break;
  347. case (left.length === right.length):
  348. if(left === right)
  349. {
  350. return true;
  351. }
  352. break;
  353. case (left.length < right.length):
  354. if(right.indexOf(left) > -1)
  355. {
  356. return true;
  357. }
  358. break;
  359. }
  360. }
  361. return false;
  362. }
  363. function aktualisiereTagessatzMenue(j)
  364. {
  365. // console.log('Tagessatzmenü mit j='+j);
  366. // console.log('max_ts='+max_ts);
  367. if(j === undefined)
  368. {
  369. var jahr = max_ts;
  370. }
  371. else
  372. {
  373. var jahr = j;
  374. }
  375. if(menueJahr === jahr) return false;
  376. // console.log("menueJahr="+menueJahr);
  377. var vorlage = document.getElementById('neuerTagessatz'),
  378. anker = document.getElementById('RZ');
  379. if(anker.querySelectorAll('option').length > 0)
  380. {
  381. selected = anker.querySelectorAll('option')[anker.selectedIndex].textContent;
  382. while(anker.firstChild) {
  383. anker.removeChild(anker.firstChild);
  384. }
  385. }
  386. for(var key in ts[jahr]['<?php echo $loc1?>'])
  387. {
  388. // console.log("Fülle neuerTagessatz mit "+key);
  389. if(!ts[jahr]['<?php echo $loc1?>'].hasOwnProperty(key) || key === 'length' ) continue;
  390. var neuerTagessatz, option;
  391. neuerTagessatz = document.importNode(vorlage.content, true);
  392. option = neuerTagessatz.querySelectorAll('option');
  393. option[0].textContent = key;
  394. anker.appendChild(neuerTagessatz);
  395. }
  396. // console.log(neuerTagessatz);
  397. anker.appendChild(neuerTagessatz);
  398. var options = anker.querySelectorAll('option'), o;
  399. Index: for(var i = 0; i < options.length; i++)
  400. {
  401. o = options[i].textContent;
  402. if(vergleicheWerte(o, selected)) anker.selectedIndex = i;
  403. }
  404. menueJahr = jahr;
  405. return true;
  406. }
  407. function init2()
  408. {
  409. webshims.setOptions('forms-ext', {types: 'date'});
  410. webshims.polyfill('forms forms-ext');
  411. var vorlage = document.getElementById('neuerTagessatz'),
  412. gruppe = document.getElementById('neuesTagessatzJahr'),
  413. anker = document.getElementById('RZ');
  414. aktualisiereTagessatzMenue();
  415. aktualisiereTagessatz();
  416. }
  417. var menueJahr, selected = "Deutschland";
  418. window.addEventListener('DOMContentLoaded',init);
  419. window.addEventListener('load',init2);
  420. </script>
  421. </head>
  422. <div id="container">
  423. <img src="logo_web.png" alt="logo">
  424. <center>
  425. <a class="languageSelect" href="?lang=de-DE"><?php echo $localeYaml['languageSelectDe'][$loc1]?></a><br>
  426. <a class="languageSelect" href="?lang=en-US"><?php echo $localeYaml['languageSelectEn'][$loc1]?></a>
  427. </center>
  428. </div>
  429. <body>
  430. <header>
  431. <h1><?php echo $localeYaml['header'][$loc1]?></h1>
  432. <p><?php echo $localeYaml['title_subtext_1'][$loc1]?></p>
  433. </header>
  434. <div id="printcontainer_top"><input type="button" value="🖶 <?php echo $localeYaml['print_button_top'][$loc1]?>" id="print_top"></div>
  435. <fieldset>
  436. <legend id="allgReisedaten"><?php echo $localeYaml['form_header'][$loc1]?></legend>
  437. <fieldset><legend><label for="Name_text"><?php echo $localeYaml['form_1_header'][$loc1]?></label></legend><input type="text" id="Name_text" name="Name" placeholder="<?php echo $localeYaml['form_1_placeholder'][$loc1]?>" size="100%"></fieldset>
  438. <fieldset><legend><label for="Reiseanlass_text"><?php echo $localeYaml['form_2_header'][$loc1]?></label></legend><input type="text" id="Reiseanlass_text" name="Reiseanlass" placeholder="<?php echo $localeYaml['form_2_placeholder'][$loc1]?>" size="100%"></fieldset>
  439. <fieldset><legend><?php echo $localeYaml['form_3_header'][$loc1]?></legend>
  440. <input required type="date" size="12" id="RBD" name="ReiseBeginnDatum"><?php echo $localeYaml['form_3_timeword_1'][$loc1]?><span lang="de"><input type="time" size="10" id="RBZ" name="ReiseBeginnZeit"></span><?php echo $localeYaml['form_3_timeword_2'][$loc1]?>
  441. </fieldset>
  442. <fieldset><legend><?php echo $localeYaml['form_4_header'][$loc1]?></legend>
  443. <input required type="radio" id="AOWO" name="AbfahrtsOrt" value="Wohnort"><label for="AOWO"><?php echo $localeYaml['form_4_placeholder_1'][$loc1]?></label>
  444. <input required type="radio" id="AOAS" name="AbfahrtsOrt" value="Arbeitsstaette"><label for="AOAS"><?php echo $localeYaml['form_4_placeholder_2'][$loc1]?></label>
  445. <input required type="radio" id="AOSO" name="AbfahrtsOrt" value="SonstigerOrt"><label for="AOSO"><?php echo $localeYaml['form_4_placeholder_3'][$loc1]?></label>
  446. <input type="text" id="AOSO_text" name="SonstigerOrt" placeholder="<?php echo $localeYaml['form_4_placeholder_4'][$loc1]?>" size="100%" disabled>
  447. </fieldset>
  448. <fieldset><legend><abbr title="<?php echo $localeYaml['form_5_question_description'][$loc1]?>"><?php echo $localeYaml['form_5_header'][$loc1]?></abbr></legend>
  449. <select id="RZ" name="ReiseZiel" size="1">
  450. </select>
  451. </fieldset>
  452. <fieldset><legend><?php echo $localeYaml['form_6_header'][$loc1]?></legend>
  453. <input required type="date" size="12" id="RED" name="ReiseEndeDatum"><?php echo $localeYaml['form_6_timeword_1'][$loc1]?><input type="time" size="10" id="REZ" name="ReiseEndeZeit"><?php echo $localeYaml['form_6_timeword_2'][$loc1]?>
  454. </fieldset>
  455. <fieldset><legend><?php echo $localeYaml['form_7_header'][$loc1]?></legend>
  456. <input required type="radio" id="REAO" name="ReiseEndeOrt" value="AbfahrtsOrt"><label for="REAO"><?php echo $localeYaml['form_7_placeholder_1'][$loc1]?></label>
  457. <input required type="radio" id="RESO" name="ReiseEndeOrt" value="AndererOrt"><label for="RESO"><?php echo $localeYaml['form_7_placeholder_2'][$loc1]?></label>
  458. <input type="text" id="RESO_text" name="AndererOrt" placeholder="<?php echo $localeYaml['form_7_placeholder_3'][$loc1]?>" size="100%" disabled>
  459. </fieldset>
  460. <div class="resultbox">
  461. <p><abbr title="<?php echo $localeYaml['resultbox_1_question_description'][$loc1]?>"><?php echo $localeYaml['resultbox_1'][$loc1]?> <span class="resultvalue geld" id="ts24h" style="width:5em;"></span></abbr>
  462. <abbr title="<?php echo $localeYaml['resultbox_2_question_description'][$loc1]?>"><?php echo $localeYaml['resultbox_2'][$loc1]?> <span class="resultvalue geld" id="ts8h" style="width:5em;"></span></abbr>
  463. <abbr title="<?php echo $localeYaml['resultbox_3_question_description'][$loc1]?>"><?php echo $localeYaml['resultbox_3'][$loc1]?> <span class="resultvalue geld" id="pausch" style="width:5em;"></span></abbr>
  464. </p>
  465. </div>
  466. <!-- <label for="ts24h">24h</label><input disabled type="text" size="6" id="ts24h" style="text-align: right;"> ::
  467. <label for="ts8h">8h bis 24h</label><input disabled type="text" size="6" id="ts8h" style="text-align: right;"> ::
  468. <label for="pausch">Pauschbetrag Übernachtung</label><input disabled type="text" size="6" id="pausch" style="text-align: right;">-->
  469. </fieldset>
  470. <h2><?php echo $localeYaml['description_header'][$loc1]?></h2>
  471. <fieldset id="Aufstellung">
  472. <legend class="screen"><?php echo $localeYaml['description_1'][$loc1]?></legend>
  473. <p class="screen"><?php echo $localeYaml['description_2'][$loc1]?></p>
  474. </fieldset>
  475. <div style="width: 100%; text-align:right; padding-right: 50px; font-weight:bold; font-size:90%;"><p><?php echo $localeYaml['total'][$loc1]?><br> <span class="geld" id="Summe" style="margin-left: 2em; font-weight:bold; color:black; width:8em;"></span></p></div>
  476. <div id="printcontainer_bottom"><input type="button" value="🖶 <?php echo $localeYaml['print_button_bottom'][$loc1]?>" id="print_bottom"></div>
  477. <template id="neuerEintrag">
  478. <fieldset class="eintrag">
  479. <legend></legend>
  480. <abbr title="<?php echo $localeYaml['entry_date'][$loc1]?>"><span style="width:8em;"></span></abbr>&emsp;<abbr title="<?php echo $localeYaml['entry_date_title'][$loc1]?>"><span class="geld" style="width:8em;"></span></abbr>
  481. <abbr title="<?php echo $localeYaml['entry_breakfast_title'][$loc1]?>"><input type="checkbox"><label font-size="90%"><?php echo $localeYaml['entry_breakfast'][$loc1]?><span class="screen"> (20%)</span></label></abbr>
  482. <abbr title="<?php echo $localeYaml['entry_lunch_title'][$loc1]?>"><input type="checkbox"><label font-size="90%"><?php echo $localeYaml['entry_lunch'][$loc1]?><span class="screen"> (40%)</span></label></abbr>
  483. <abbr title="<?php echo $localeYaml['entry_dinner_title'][$loc1]?>"><input type="checkbox"><label font-size="90%"><?php echo $localeYaml['entry_dinner'][$loc1]?><span class="screen"> (40%)</span></label></abbr>
  484. <abbr title="<?php echo $localeYaml['entry_private_title'][$loc1]?>"><input type="checkbox"><label font-size="90%"><?php echo $localeYaml['entry_private'][$loc1]?></label></abbr>
  485. <abbr title="<?php echo $localeYaml['entry_claim_title'][$loc1]?>"><?php echo $localeYaml['entry_claim'][$loc1]?> <span class="geld" style="width:8em; font-weight: bold;"></span></abbr>
  486. </fieldset>
  487. </template>
  488. <template id="neuerTagessatz">
  489. <option></option>
  490. </template>
  491. <footer>
  492. <?php echo $localeYaml['impressum'][$loc1]?>: <a href="https://www.wikimedia.de/impressum/">https://www.wikimedia.de/impressum</a><br>
  493. <?php echo $localeYaml['privacy'][$loc1]?>: <a href="<?php echo $localeYaml['privacyLink'][$loc1]?>"><?php echo $localeYaml['privacyLink'][$loc1]?></a>
  494. </footer>
  495. </body>
  496. </html>