ppm2
This commit is contained in:
		@@ -1,148 +1 @@
 | 
			
		||||
/* template.css */
 | 
			
		||||
 | 
			
		||||
/* allgemeine Vorgaben */
 | 
			
		||||
body {
 | 
			
		||||
   font-family: "Open Sans", sans-serif;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
 | 
			
		||||
   padding: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Basislayout */
 | 
			
		||||
 | 
			
		||||
.clSiteHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 100px;
 | 
			
		||||
   line-height: 100px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 40pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   text-shadow:black 3px 2px;
 | 
			
		||||
   font-family: cursive, fantasy;
 | 
			
		||||
   color: #920B19;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContent {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 110px;  /* height, padding, border, margin von idSiteHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Elemente im Content-Bereich */
 | 
			
		||||
 | 
			
		||||
.clContentHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 20px;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 18pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 80px; /* height, padding, border, margin von idContentHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 40px;  /* height, padding, border, margin von idButtonArea beachten */
 | 
			
		||||
   margin: 10px 0;
 | 
			
		||||
   margin-left: 10px;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   /*float: left; width: 10px:*/
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   height: 80px;
 | 
			
		||||
   line-height: 80px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Links und Submit-Schalter im Buttonbereich gestalten */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a, input[type="submit"] {
 | 
			
		||||
   margin: 0 5px;
 | 
			
		||||
   padding: 3px 6px;
 | 
			
		||||
   font-size: 14pt;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   color: black;
 | 
			
		||||
   background-color: buttonface;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* unterschiedliche Kennzeichnungen je nach Bedienung vermeiden */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a:hover, a:visited, a:active {
 | 
			
		||||
   color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Tabellen */
 | 
			
		||||
 | 
			
		||||
#idList {
 | 
			
		||||
   table-layout: fixed;
 | 
			
		||||
   width: auto;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   padding-left: 5px;
 | 
			
		||||
   background-color: #FFFFFF;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th, #idList td {
 | 
			
		||||
   padding: 3px;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Formularen */
 | 
			
		||||
 | 
			
		||||
/* das Formular nochmals zusätzlich gestalten */
 | 
			
		||||
#idForm .clContentArea {
 | 
			
		||||
   width: 500px;
 | 
			
		||||
   margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow {
 | 
			
		||||
   position: relative; /* damit das Element in jedem Fall "positioniert" ist und damit als Bezugspunkt geeignet ist */
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow label {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 240px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow input {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 250px;
 | 
			
		||||
   width: 250px;
 | 
			
		||||
}
 | 
			
		||||
/* EOF */
 | 
			
		||||
body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:100px;line-height:100px;margin:0;padding:5px;font-size:40pt;text-align:center;text-shadow:black 3px 2px;font-family:cursive,fantasy;color:#920B19;background-color:#B6B6B7;}.clContent{position:absolute;top:110px;left:0;right:0;bottom:0;margin:0;padding:5px;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:18pt;text-align:center;}.clContentArea{position:absolute;top:80px;left:0;right:0;bottom:40px;margin:10px 0;margin-left:10px;padding:5px;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:80px;line-height:80px;margin:0;padding:5px;text-align:center;background-color:#B6B6B7;}.clButtonArea a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:14pt;text-decoration:none;border:2px solid;color:black;background-color:buttonface;}.clButtonArea a:hover,a:visited,a:active{color:black;}#idList{table-layout:fixed;width:auto;border:2px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:center;padding-left:5px;background-color:#FFFFFF;}#idList th,#idList td{padding:3px;border:2px solid;}#idForm .clContentArea{width:500px;margin:auto;}.clFormRow{position:relative;height:30px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:240px;text-align:center;}.clFormRow input{position:absolute;top:0;left:250px;width:250px;}
 | 
			
		||||
@@ -1,148 +1 @@
 | 
			
		||||
/* template.css */
 | 
			
		||||
 | 
			
		||||
/* allgemeine Vorgaben */
 | 
			
		||||
body {
 | 
			
		||||
   font-family: "Open Sans", sans-serif;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
 | 
			
		||||
   padding: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Basislayout */
 | 
			
		||||
 | 
			
		||||
.clSiteHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 100px;
 | 
			
		||||
   line-height: 100px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 40pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   text-shadow:black 3px 2px;
 | 
			
		||||
   font-family: cursive, fantasy;
 | 
			
		||||
   color: #920B19;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContent {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 110px;  /* height, padding, border, margin von idSiteHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Elemente im Content-Bereich */
 | 
			
		||||
 | 
			
		||||
.clContentHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 20px;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 18pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 80px; /* height, padding, border, margin von idContentHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 40px;  /* height, padding, border, margin von idButtonArea beachten */
 | 
			
		||||
   margin: 10px 0;
 | 
			
		||||
   margin-left: 10px;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   /*float: left; width: 10px:*/
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   height: 80px;
 | 
			
		||||
   line-height: 80px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Links und Submit-Schalter im Buttonbereich gestalten */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a, input[type="submit"] {
 | 
			
		||||
   margin: 0 5px;
 | 
			
		||||
   padding: 3px 6px;
 | 
			
		||||
   font-size: 14pt;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   color: black;
 | 
			
		||||
   background-color: buttonface;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* unterschiedliche Kennzeichnungen je nach Bedienung vermeiden */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a:hover, a:visited, a:active {
 | 
			
		||||
   color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Tabellen */
 | 
			
		||||
 | 
			
		||||
#idList {
 | 
			
		||||
   table-layout: fixed;
 | 
			
		||||
   width: auto;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   padding-left: 5px;
 | 
			
		||||
   background-color: #FFFFFF;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th, #idList td {
 | 
			
		||||
   padding: 3px;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Formularen */
 | 
			
		||||
 | 
			
		||||
/* das Formular nochmals zusätzlich gestalten */
 | 
			
		||||
#idForm .clContentArea {
 | 
			
		||||
   width: 500px;
 | 
			
		||||
   margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow {
 | 
			
		||||
   position: relative; /* damit das Element in jedem Fall "positioniert" ist und damit als Bezugspunkt geeignet ist */
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow label {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 240px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow input {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 250px;
 | 
			
		||||
   width: 250px;
 | 
			
		||||
}
 | 
			
		||||
/* EOF */
 | 
			
		||||
body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:100px;line-height:100px;margin:0;padding:5px;font-size:40pt;text-align:center;text-shadow:black 3px 2px;font-family:cursive,fantasy;color:#920B19;background-color:#B6B6B7;}.clContent{position:absolute;top:110px;left:0;right:0;bottom:0;margin:0;padding:5px;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:18pt;text-align:center;}.clContentArea{position:absolute;top:80px;left:0;right:0;bottom:40px;margin:10px 0;margin-left:10px;padding:5px;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:80px;line-height:80px;margin:0;padding:5px;text-align:center;background-color:#B6B6B7;}.clButtonArea a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:14pt;text-decoration:none;border:2px solid;color:black;background-color:buttonface;}.clButtonArea a:hover,a:visited,a:active{color:black;}#idList{table-layout:fixed;width:auto;border:2px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:center;padding-left:5px;background-color:#FFFFFF;}#idList th,#idList td{padding:3px;border:2px solid;}#idForm .clContentArea{width:500px;margin:auto;}.clFormRow{position:relative;height:30px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:240px;text-align:center;}.clFormRow input{position:absolute;top:0;left:250px;width:250px;}
 | 
			
		||||
@@ -1,9 +1 @@
 | 
			
		||||
figure, figure img {
 | 
			
		||||
   margin-left: auto;
 | 
			
		||||
   margin-right: auto;
 | 
			
		||||
   text-align: center; /* zur Zentrierung des img-Elements */
 | 
			
		||||
   width: 15cm;
 | 
			
		||||
}
 | 
			
		||||
figcaption {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
figure,figure img{margin-left:auto;margin-right:auto;text-align:center;width:15cm;}figcaption{text-align:center;}
 | 
			
		||||
@@ -1,9 +1 @@
 | 
			
		||||
figure, figure img {
 | 
			
		||||
   margin-left: auto;
 | 
			
		||||
   margin-right: auto;
 | 
			
		||||
   text-align: center; /* zur Zentrierung des img-Elements */
 | 
			
		||||
   width: 15cm;
 | 
			
		||||
}
 | 
			
		||||
figcaption {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
figure,figure img{margin-left:auto;margin-right:auto;text-align:center;width:15cm;}figcaption{text-align:center;}
 | 
			
		||||
@@ -1,66 +1 @@
 | 
			
		||||
#canvas{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 0;
 | 
			
		||||
	left: 500px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 300px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#aktuelleAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 500px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0px;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #f9802f;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#naechsteAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 150px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #2fdbf9;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#letzteAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 850px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
#kaufen{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 310px;
 | 
			
		||||
	height :80px;
 | 
			
		||||
	width: 200px;
 | 
			
		||||
	left: 550px;
 | 
			
		||||
	background-color: green;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
}
 | 
			
		||||
#simManager{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 20px;
 | 
			
		||||
	right: 0;
 | 
			
		||||
	width: 100px;
 | 
			
		||||
}
 | 
			
		||||
button{
 | 
			
		||||
	width: 100px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
}
 | 
			
		||||
#canvas{position:absolute;top:0;left:500px;width:300px;margin:0;height:300px;}#aktuelleAuktion{position:absolute;top:410px;left:500px;width:300px;margin:0px;height:150px;background-color:#f9802f;border-radius:10px;border-style:solid;border-width:1px;}#naechsteAuktion{position:absolute;top:410px;left:150px;width:300px;margin:0;height:150px;background-color:#2fdbf9;border-radius:10px;border-style:solid;border-width:1px;}#letzteAuktion{position:absolute;top:410px;left:850px;width:300px;margin:0;height:150px;background-color:#dbdad9;border-radius:10px;border-style:solid;border-width:1px;}#kaufen{position:absolute;top:310px;height: 80px;width:200px;left:550px;background-color:green;border-radius:10px;}#simManager{position:absolute;top:20px;right:0;width:100px;}button{width:100px;background-color:#dbdad9;}
 | 
			
		||||
@@ -1,11 +1 @@
 | 
			
		||||
.botButtonActiveStyle{
 | 
			
		||||
	background-color: green;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.botButtonInactiveStyle{
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.botButtonBuyActionStyle{
 | 
			
		||||
	background-color: yellow;
 | 
			
		||||
}
 | 
			
		||||
.botButtonActiveStyle{background-color:green;}.botButtonInactiveStyle{background-color:#dbdad9;}.botButtonBuyActionStyle{background-color:yellow;}
 | 
			
		||||
@@ -1,71 +1 @@
 | 
			
		||||
#canvas{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 0;
 | 
			
		||||
	left: 500px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 300px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#aktuelleAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 500px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0px;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #f9802f;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#naechsteAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 150px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #2fdbf9;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#letzteAuktion{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 410px;
 | 
			
		||||
	left: 850px;
 | 
			
		||||
	width: 300px;
 | 
			
		||||
	margin: 0;
 | 
			
		||||
	height: 150px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
	border-style: solid;
 | 
			
		||||
	border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
#kaufen{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 310px;
 | 
			
		||||
	height :80px;
 | 
			
		||||
	width: 200px;
 | 
			
		||||
	left: 550px;
 | 
			
		||||
	background-color: green;
 | 
			
		||||
	border-radius: 10px;
 | 
			
		||||
}
 | 
			
		||||
#simManager{
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: 20px;
 | 
			
		||||
	right: 0;
 | 
			
		||||
	width: 100px;
 | 
			
		||||
}
 | 
			
		||||
button{
 | 
			
		||||
	width: 100px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
}
 | 
			
		||||
.bigbutton{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	width: 100px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
}
 | 
			
		||||
#canvas{position:absolute;top:0;left:500px;width:300px;margin:0;height:300px;}#aktuelleAuktion{position:absolute;top:410px;left:500px;width:300px;margin:0px;height:150px;background-color:#f9802f;border-radius:10px;border-style:solid;border-width:1px;}#naechsteAuktion{position:absolute;top:410px;left:150px;width:300px;margin:0;height:150px;background-color:#2fdbf9;border-radius:10px;border-style:solid;border-width:1px;}#letzteAuktion{position:absolute;top:410px;left:850px;width:300px;margin:0;height:150px;background-color:#dbdad9;border-radius:10px;border-style:solid;border-width:1px;}#kaufen{position:absolute;top:310px;height: 80px;width:200px;left:550px;background-color:green;border-radius:10px;}#simManager{position:absolute;top:20px;right:0;width:100px;}button{width:100px;background-color:#dbdad9;}.bigbutton{height:50px;width:100px;background-color:#dbdad9;}
 | 
			
		||||
@@ -1,14 +1 @@
 | 
			
		||||
.botButtonActiveStyle{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	background-color: green;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.botButtonInactiveStyle{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	background-color: #dbdad9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.botButtonBuyActionStyle{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	background-color: yellow;
 | 
			
		||||
}
 | 
			
		||||
.botButtonActiveStyle{height:50px;background-color:green;}.botButtonInactiveStyle{height:50px;background-color:#dbdad9;}.botButtonBuyActionStyle{height:50px;background-color:yellow;}
 | 
			
		||||
@@ -1,8 +1 @@
 | 
			
		||||
.wizardButtonNeu{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	background-color: yellow;
 | 
			
		||||
}
 | 
			
		||||
.wizardButtonFertig{
 | 
			
		||||
	height: 50px;
 | 
			
		||||
	background-color: green;
 | 
			
		||||
}
 | 
			
		||||
.wizardButtonNeu{height:50px;background-color:yellow;}.wizardButtonFertig{height:50px;background-color:green;}
 | 
			
		||||
@@ -1,9 +1 @@
 | 
			
		||||
figure, figure img {
 | 
			
		||||
   margin-left: auto;
 | 
			
		||||
   margin-right: auto;
 | 
			
		||||
   text-align: center; /* zur Zentrierung des img-Elements */
 | 
			
		||||
   width: 15cm;
 | 
			
		||||
}
 | 
			
		||||
figcaption {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
figure,figure img{margin-left:auto;margin-right:auto;text-align:center;width:15cm;}figcaption{text-align:center;}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,287 +1 @@
 | 
			
		||||
/* main.css */
 | 
			
		||||
 | 
			
		||||
/* allgemeine Vorgaben */
 | 
			
		||||
body {
 | 
			
		||||
   font-family: "Open Sans", sans-serif;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
 | 
			
		||||
   padding: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Basislayout */
 | 
			
		||||
 | 
			
		||||
.clSiteHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 80px;
 | 
			
		||||
   line-height: 80px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
   color: #efc9a0;
 | 
			
		||||
   background-color: #40200d;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clLoggedInText {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   right: 50px;
 | 
			
		||||
   height: 80px;
 | 
			
		||||
   line-height: 48px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
   color: #efc9a0;
 | 
			
		||||
   background-color: #40200d;
 | 
			
		||||
   text-align: right;
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 150px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 10px;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav a, a:hover, a:visited, a:active{
 | 
			
		||||
   display: block;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav a:hover {
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentOuter {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 80px; 
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContent {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   background-color: #efc9a0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Elemente im Content-Bereich */
 | 
			
		||||
 | 
			
		||||
.clContentHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 20px;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 14pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 60px; 
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 40px;  
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 0px;
 | 
			
		||||
   overflow-y: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clSelected{
 | 
			
		||||
   color: white;
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.clButtonArea {
 | 
			
		||||
   position: fixed;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   height: 50px;
 | 
			
		||||
   line-height: 50px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   background-color: #40200d;
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Links und Submit-Schalter im Buttonbereich gestalten */
 | 
			
		||||
 | 
			
		||||
.clButtonArea button, a, input[type="submit"] {
 | 
			
		||||
   margin: 0 5px;
 | 
			
		||||
   padding: 3px 6px;
 | 
			
		||||
   font-size: 10pt;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
   color: black;
 | 
			
		||||
   background-color: #efc9a0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea button:disabled {
 | 
			
		||||
   color: graytext;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.clButtonArea button:enabled {
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Tabellen */
 | 
			
		||||
 | 
			
		||||
#idTopicList, #idDiscussionList {
 | 
			
		||||
   table-layout: fixed;
 | 
			
		||||
   width: 66%;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
   
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idTopicList th, #idDiscussionList th {
 | 
			
		||||
   text-align: left;
 | 
			
		||||
   padding-left: 6px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idTopicList th, #idTopicList td, #idDiscussionList  th, #idDiscussionList  td{
 | 
			
		||||
   padding: 3px;
 | 
			
		||||
   border: 1px solid #000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idPostList {
 | 
			
		||||
   width: 80%;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
   padding: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.listheader th{
 | 
			
		||||
  color:#efc9a0;
 | 
			
		||||
  background-color:#40200d;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idTopicList tr, #idDiscussionList tr{
 | 
			
		||||
  background-color:#F4C484
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idTopicList tr:nth-of-type(even), #idDiscussionList tr:nth-of-type(even){
 | 
			
		||||
background-color:#E4A454;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Formularen */
 | 
			
		||||
 | 
			
		||||
/* das Formular nochmals zusätzlich gestalten */
 | 
			
		||||
#idForm .clContentArea {
 | 
			
		||||
   width: 500px;
 | 
			
		||||
   margin-left: auto;
 | 
			
		||||
   margin-right: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow {
 | 
			
		||||
   position: relative; /* damit das Element in jedem Fall "positioniert" ist und damit als Bezugspunkt geeignet ist */
 | 
			
		||||
   height: 25px;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
   
 | 
			
		||||
   
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow label {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 150px;
 | 
			
		||||
   text-align: right;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow input, .clFormRow textarea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 160px;
 | 
			
		||||
   width: 250px;
 | 
			
		||||
   margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/********************************************************************STYLES für einzelne Posts der Postliste*/
 | 
			
		||||
#idPostList li {
 | 
			
		||||
    border: 1px solid;
 | 
			
		||||
    border-collapse: collapse;
 | 
			
		||||
    padding: 0px;
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
    list-style-type: none;
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clMetaDataContainer {
 | 
			
		||||
    width: 15%;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
    left: 0;
 | 
			
		||||
    right: 80%;
 | 
			
		||||
    color: #efc9a0;
 | 
			
		||||
    background-color: #40200D;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clPostContainer{
 | 
			
		||||
    position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.clPostDataContainer{
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    width: 85%;
 | 
			
		||||
    left: 15%;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    top: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idPostList .clOwner {
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
#idPostList .clTime {
 | 
			
		||||
    margin: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idPostList .clTitle {   
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    color: #efc9a0;
 | 
			
		||||
    background-color: #40200d;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idPostList .clText {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    margin-left: 3px;
 | 
			
		||||
    bottom: 0;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* EOF */
 | 
			
		||||
body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:80px;line-height:80px;margin:0;padding:5px;font-size:12pt;color:#efc9a0;background-color:#40200d;text-align:center;}.clLoggedInText{position:absolute;right:50px;height:80px;line-height:48px;margin:0;padding:5px;font-size:12pt;color:#efc9a0;background-color:#40200d;text-align:right;font-weight:bold;}.clNav{position:absolute;left:0;width:150px;margin:0;padding:10px;}.clNav a,a:hover,a:visited,a:active{display:block;text-decoration:none;margin-bottom:10px;}.clNav a:hover{font-weight:bold;}.clContentOuter{position:absolute;top:80px;left:0;right:0;bottom:0;margin:0;padding:0;}.clContent{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:5px;background-color:#efc9a0;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:14pt;text-align:center;}.clContentArea{position:absolute;top:60px;left:0;right:0;bottom:40px;margin:0;padding:0px;overflow-y:auto;}.clSelected{color:white;font-weight:bold;}.clButtonArea{position:fixed;left:0;right:0;bottom:0;height:50px;line-height:50px;margin:0;padding:5px;text-align:center;background-color:#40200d;}.clButtonArea button,a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:10pt;text-decoration:none;border:1px solid;color:black;background-color:#efc9a0;}.clButtonArea button:disabled{color:graytext;}.clButtonArea button:enabled{font-weight:bold;}#idTopicList,#idDiscussionList{table-layout:fixed;width:66%;border:1px solid;border-collapse:collapse;margin:auto;}#idTopicList th,#idDiscussionList th{text-align:left;padding-left:6px;}#idTopicList th,#idTopicList td,#idDiscussionList th,#idDiscussionList td{padding:3px;border:1px solid #000;}#idPostList{width:80%;border:1px solid;border-collapse:collapse;margin:auto;padding:0px;}.listheader th{color:#efc9a0;background-color:#40200d;}#idTopicList tr,#idDiscussionList tr{background-color:#F4C484}#idTopicList tr:nth-of-type(even),#idDiscussionList tr:nth-of-type(even){background-color:#E4A454;}#idForm .clContentArea{width:500px;margin-left:auto;margin-right:auto;}.clFormRow{position:relative;height:25px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:150px;text-align:right;}.clFormRow input,.clFormRow textarea{position:absolute;top:0;left:160px;width:250px;margin:auto;}#idPostList li{border:1px solid;border-collapse:collapse;padding:0px;margin:0px;list-style-type:none;}.clMetaDataContainer{width:15%;height:100%;margin:0px;left:0;right:80%;color:#efc9a0;background-color:#40200D;}.clPostContainer{position:relative;}.clPostDataContainer{position:absolute;width:85%;left:15%;height:100%;top:0;}#idPostList .clOwner{margin:0px;}#idPostList .clTime{margin:0px;}#idPostList .clTitle{margin:0;position:relative;width:100%;text-align:center;color:#efc9a0;background-color:#40200d;}#idPostList .clText{margin:0;margin-left:3px;bottom:0;position:relative;width:100%;}
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
{"1": {"name": "Ich bin das erste Test-Thema", "discs": [], "deleted": true, "owner": "Test"}, "5": {"name": "test", "deleted": false, "discs": [], "owner": "test"}, "4": {"name": "TestThema", "discs": ["9"], "deleted": false, "owner": "Florian"}, "2": {"name": "Und ich das zweite!", "discs": ["8", "10"], "deleted": false, "owner": "Test"}, "nextID": "6", "3": {"name": "Web-Engineering", "discs": [], "deleted": true, "owner": "Florian"}}
 | 
			
		||||
{"4": {"owner": "Florian", "deleted": false, "name": "TestThema", "discs": ["9"]}, "2": {"owner": "Test", "deleted": false, "name": "Und ich das zweite!", "discs": ["8", "10"]}, "3": {"owner": "Florian", "deleted": true, "name": "Web-Engineering", "discs": []}, "5": {"owner": "test", "discs": [], "name": "test", "deleted": false}, "1": {"owner": "Test", "deleted": true, "name": "Ich bin das erste Test-Thema", "discs": []}, "nextID": "7", "6": {"discs": [], "owner": "Kai", "name": "test", "deleted": false}}
 | 
			
		||||
@@ -149,6 +149,8 @@ FORUM.Application_cl = Class.create({
 | 
			
		||||
    setContent_p: function (newContent_opl, data_opl) {
 | 
			
		||||
        if (this.content_o != null) {
 | 
			
		||||
            if (this.content_o.canClose_px()) {
 | 
			
		||||
                console.log(newContent_opl);
 | 
			
		||||
                console.log(data_opl);
 | 
			
		||||
                    this.content_o.close_px();
 | 
			
		||||
                    this.content_o = newContent_opl;
 | 
			
		||||
                    this.content_o.render_px(data_opl);
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,8 @@ TELIB.TemplateManager_cl = Class.create({
 | 
			
		||||
   },
 | 
			
		||||
   execute_px: function (name_spl, data_opl) {
 | 
			
		||||
      var compiled_o = null;
 | 
			
		||||
      console.log(this.compiled_o);
 | 
			
		||||
      console.log(this.templates_o);
 | 
			
		||||
      if (name_spl in this.compiled_o) {
 | 
			
		||||
         compiled_o = this.compiled_o[name_spl];
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,194 +1 @@
 | 
			
		||||
/* main.css */
 | 
			
		||||
 | 
			
		||||
/* allgemeine Vorgaben */
 | 
			
		||||
body {
 | 
			
		||||
   font-family: "Open Sans", sans-serif;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
 | 
			
		||||
   padding: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Basislayout */
 | 
			
		||||
 | 
			
		||||
.clSiteHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 50px;
 | 
			
		||||
   line-height: 50px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
   color: white;
 | 
			
		||||
   background-color: #0000AA;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 60px;  /* height, padding, border, margin von idSiteHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   width: 140px;
 | 
			
		||||
   border-right: 1px solid;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav a, a:hover, a:visited, a:active{
 | 
			
		||||
   display: block;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clNav a:hover {
 | 
			
		||||
   font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentOuter {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 60px;  /* height, padding, border, margin von idSiteHeader beachten */
 | 
			
		||||
   left: 151px;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContent {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Elemente im Content-Bereich */
 | 
			
		||||
 | 
			
		||||
.clContentHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 14pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 40px; /* height, padding, border, margin von idContentHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 40px;  /* height, padding, border, margin von idButtonArea beachten */
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 0px;
 | 
			
		||||
 | 
			
		||||
   overflow-y: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   background-color: #EEEEEE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Links und Submit-Schalter im Buttonbereich gestalten */
 | 
			
		||||
 | 
			
		||||
.clButtonArea button, a, input[type="submit"] {
 | 
			
		||||
   margin: 0 5px;
 | 
			
		||||
   padding: 3px 6px;
 | 
			
		||||
   font-size: 10pt;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
   color: black;
 | 
			
		||||
   background-color: buttonface;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea button:disabled {
 | 
			
		||||
   color: graytext;
 | 
			
		||||
}
 | 
			
		||||
/* unterschiedliche Kennzeichnungen je nach Bedienung vermeiden */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a:hover, a:visited, a:active {
 | 
			
		||||
   color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Tabellen */
 | 
			
		||||
 | 
			
		||||
#idList {
 | 
			
		||||
   table-layout: fixed;
 | 
			
		||||
   width: 80%;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th {
 | 
			
		||||
   text-align: left;
 | 
			
		||||
   padding-left: 6px;
 | 
			
		||||
}
 | 
			
		||||
#idList th, #idList td {
 | 
			
		||||
   padding: 3px;
 | 
			
		||||
   border: 1px solid;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* damit wird jede ungerade Zeile in Tabellen mit einer anderen Hintergrundfarbe ausgegeben */
 | 
			
		||||
/* den Effekt nennt man auch "Zebra"-Tables */
 | 
			
		||||
 | 
			
		||||
tr:nth-of-type(odd) {
 | 
			
		||||
  background-color:#ccc;
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
#idList tr.clSelected {
 | 
			
		||||
   background-color: blue;
 | 
			
		||||
   color: white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Formularen */
 | 
			
		||||
 | 
			
		||||
/* das Formular nochmals zusätzlich gestalten */
 | 
			
		||||
#idForm .clContentArea {
 | 
			
		||||
   width: 500px;
 | 
			
		||||
   margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow {
 | 
			
		||||
   position: relative; /* damit das Element in jedem Fall "positioniert" ist und damit als Bezugspunkt geeignet ist */
 | 
			
		||||
   height: 25px;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow label {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 150px;
 | 
			
		||||
   text-align: right;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow input {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 160px;
 | 
			
		||||
   width: 250px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
label span.clRequired {
 | 
			
		||||
   color: red;
 | 
			
		||||
   content: '*';
 | 
			
		||||
}
 | 
			
		||||
/* EOF */
 | 
			
		||||
body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:50px;line-height:50px;margin:0;padding:5px;font-size:12pt;color:white;background-color:#0000AA;}.clNav{position:absolute;top:60px;left:0;bottom:0;width:140px;border-right:1px solid;margin:0;padding:5px;}.clNav a,a:hover,a:visited,a:active{display:block;text-decoration:none;margin-bottom:10px;}.clNav a:hover{font-weight:bold;}.clContentOuter{position:absolute;top:60px;left:151px;right:0;bottom:0;margin:0;padding:0;}.clContent{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:5px;}.clContentHeader{position:absolute;top:0;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:14pt;text-align:center;}.clContentArea{position:absolute;top:40px;left:0;right:0;bottom:40px;margin:0;padding:0px;overflow-y:auto;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:30px;line-height:30px;margin:0;padding:5px;text-align:center;background-color:#EEEEEE;}.clButtonArea button,a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:10pt;text-decoration:none;border:1px solid;color:black;background-color:buttonface;}.clButtonArea button:disabled{color:graytext;}.clButtonArea a:hover,a:visited,a:active{color:black;}#idList{table-layout:fixed;width:80%;border:1px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:left;padding-left:6px;}#idList th,#idList td{padding:3px;border:1px solid;}tr:nth-of-type(odd){background-color:#ccc;}#idList tr.clSelected{background-color:blue;color:white;}#idForm .clContentArea{width:500px;margin:auto;}.clFormRow{position:relative;height:25px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:150px;text-align:right;}.clFormRow input{position:absolute;top:0;left:160px;width:250px;}label span.clRequired{color:red;content:'*';}
 | 
			
		||||
@@ -1,148 +1 @@
 | 
			
		||||
/* template.css */
 | 
			
		||||
 | 
			
		||||
/* allgemeine Vorgaben */
 | 
			
		||||
body {
 | 
			
		||||
   font-family: "Open Sans", sans-serif;
 | 
			
		||||
   font-size: 12pt;
 | 
			
		||||
 | 
			
		||||
   padding: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Basislayout */
 | 
			
		||||
 | 
			
		||||
.clSiteHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 100px;
 | 
			
		||||
   line-height: 100px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 40pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   text-shadow:black 3px 2px;
 | 
			
		||||
   font-family: cursive, fantasy;
 | 
			
		||||
   color: #920B19;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContent {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 110px;  /* height, padding, border, margin von idSiteHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Elemente im Content-Bereich */
 | 
			
		||||
 | 
			
		||||
.clContentHeader {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 20px;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   line-height: 30px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   font-size: 18pt;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clContentArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 80px; /* height, padding, border, margin von idContentHeader beachten */
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   bottom: 40px;  /* height, padding, border, margin von idButtonArea beachten */
 | 
			
		||||
   margin: 10px 0;
 | 
			
		||||
   margin-left: 10px;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clButtonArea {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   right: 0;
 | 
			
		||||
   /*float: left; width: 10px:*/
 | 
			
		||||
   bottom: 0;
 | 
			
		||||
   height: 80px;
 | 
			
		||||
   line-height: 80px;
 | 
			
		||||
   margin: 0;
 | 
			
		||||
   padding: 5px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   background-color: #B6B6B7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Links und Submit-Schalter im Buttonbereich gestalten */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a, input[type="submit"] {
 | 
			
		||||
   margin: 0 5px;
 | 
			
		||||
   padding: 3px 6px;
 | 
			
		||||
   font-size: 14pt;
 | 
			
		||||
   text-decoration: none;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   color: black;
 | 
			
		||||
   background-color: buttonface;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* unterschiedliche Kennzeichnungen je nach Bedienung vermeiden */
 | 
			
		||||
 | 
			
		||||
.clButtonArea a:hover, a:visited, a:active {
 | 
			
		||||
   color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Tabellen */
 | 
			
		||||
 | 
			
		||||
#idList {
 | 
			
		||||
   table-layout: fixed;
 | 
			
		||||
   width: auto;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
   border-collapse: collapse;
 | 
			
		||||
   margin:auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th {
 | 
			
		||||
   text-align: center;
 | 
			
		||||
   padding-left: 5px;
 | 
			
		||||
   background-color: #FFFFFF;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#idList th, #idList td {
 | 
			
		||||
   padding: 3px;
 | 
			
		||||
   border: 2px solid;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Gestaltung von Formularen */
 | 
			
		||||
 | 
			
		||||
/* das Formular nochmals zusätzlich gestalten */
 | 
			
		||||
#idForm .clContentArea {
 | 
			
		||||
   width: 500px;
 | 
			
		||||
   margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow {
 | 
			
		||||
   position: relative; /* damit das Element in jedem Fall "positioniert" ist und damit als Bezugspunkt geeignet ist */
 | 
			
		||||
   height: 30px;
 | 
			
		||||
   margin-bottom: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow label {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 0;
 | 
			
		||||
   width: 240px;
 | 
			
		||||
   text-align: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.clFormRow input {
 | 
			
		||||
   position: absolute;
 | 
			
		||||
   top: 0;
 | 
			
		||||
   left: 250px;
 | 
			
		||||
   width: 250px;
 | 
			
		||||
}
 | 
			
		||||
/* EOF */
 | 
			
		||||
body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:100px;line-height:100px;margin:0;padding:5px;font-size:40pt;text-align:center;text-shadow:black 3px 2px;font-family:cursive,fantasy;color:#920B19;background-color:#B6B6B7;}.clContent{position:absolute;top:110px;left:0;right:0;bottom:0;margin:0;padding:5px;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:18pt;text-align:center;}.clContentArea{position:absolute;top:80px;left:0;right:0;bottom:40px;margin:10px 0;margin-left:10px;padding:5px;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:80px;line-height:80px;margin:0;padding:5px;text-align:center;background-color:#B6B6B7;}.clButtonArea a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:14pt;text-decoration:none;border:2px solid;color:black;background-color:buttonface;}.clButtonArea a:hover,a:visited,a:active{color:black;}#idList{table-layout:fixed;width:auto;border:2px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:center;padding-left:5px;background-color:#FFFFFF;}#idList th,#idList td{padding:3px;border:2px solid;}#idForm .clContentArea{width:500px;margin:auto;}.clFormRow{position:relative;height:30px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:240px;text-align:center;}.clFormRow input{position:absolute;top:0;left:250px;width:250px;}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Sammlung/te_tm/hinweise_te_tm.000.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Sammlung/te_tm/hinweise_te_tm.000.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										266
									
								
								Sammlung/te_tm/te.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										266
									
								
								Sammlung/te_tm/te.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,266 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// Template-Engine
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
class Generator_cl {
 | 
			
		||||
   constructor () {
 | 
			
		||||
      this.reset_px();
 | 
			
		||||
   }
 | 
			
		||||
   reset_px () {
 | 
			
		||||
      this.code_a = ['var result_a = [];\n'];
 | 
			
		||||
   }
 | 
			
		||||
   write_px (text_spl) {
 | 
			
		||||
      // Escape-Zeichen bei Strings ergänzen
 | 
			
		||||
      var text_s = text_spl.replace(/"/g, '\\"');
 | 
			
		||||
      text_s = text_s.replace(/'/g, "\\'");
 | 
			
		||||
      this.code_a.push('result_a.push("' + text_s + '");\n');
 | 
			
		||||
   }
 | 
			
		||||
   code_px (code_spl) {
 | 
			
		||||
      if (code_spl.startsWith('if')) {
 | 
			
		||||
         this.code_a.push('if (' + code_spl.substr(2) + ') {\n');
 | 
			
		||||
      } else if (code_spl.startsWith('else')) {
 | 
			
		||||
         this.code_a.push('} else {\n');
 | 
			
		||||
      } else if (code_spl.startsWith('endif')) {
 | 
			
		||||
         this.code_a.push('}\n');
 | 
			
		||||
      } else if (code_spl.startsWith('for')) {
 | 
			
		||||
         this.code_a.push('for (' + code_spl.substr(3) + ') {\n');
 | 
			
		||||
      } else if (code_spl.startsWith('endfor')) {
 | 
			
		||||
         this.code_a.push('}\n');
 | 
			
		||||
      } else {
 | 
			
		||||
         this.code_a.push(code_spl + '\n');
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   substitute_px (subst_spl) {
 | 
			
		||||
      let value_s = subst_spl == null ? '' : String(subst_spl);
 | 
			
		||||
      this.code_a.push('result_a.push(' + value_s + ');\n');
 | 
			
		||||
   }
 | 
			
		||||
   generate_px () {
 | 
			
		||||
      var result_s = this.code_a.join('') + ' return result_a.join("");';
 | 
			
		||||
      var f_o = new Function ('context', result_s);
 | 
			
		||||
      return f_o;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class TemplateCompiler_cl {
 | 
			
		||||
   constructor () {
 | 
			
		||||
      this.gen_o = new Generator_cl();
 | 
			
		||||
      this.reset_px();
 | 
			
		||||
   }
 | 
			
		||||
   reset_px () {
 | 
			
		||||
      this.gen_o.reset_px();
 | 
			
		||||
      this.preservePreWS_b = false;
 | 
			
		||||
      this.preservePostWS_b = false;
 | 
			
		||||
   }
 | 
			
		||||
   setPreWS_px (on_bpl) {
 | 
			
		||||
      if ((on_bpl == undefined) || (on_bpl == false)) {
 | 
			
		||||
         this.preservePreWS_b = false;
 | 
			
		||||
      } else {
 | 
			
		||||
         this.preservePreWS_b = true;
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   setPostWS_px (on_bpl) {
 | 
			
		||||
      if ((on_bpl == undefined) || (on_bpl == false)) {
 | 
			
		||||
         this.preservePostWS_b = false;
 | 
			
		||||
      } else {
 | 
			
		||||
         this.preservePostWS_b = true;
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   compile_px (source_spl) {
 | 
			
		||||
      var state_i = 0;
 | 
			
		||||
      var pos_i = 0;
 | 
			
		||||
      var len_i = source_spl.length;
 | 
			
		||||
      var text_s = '';
 | 
			
		||||
      var code_s = '';
 | 
			
		||||
      var subst_s = '';
 | 
			
		||||
      this.gen_o.reset_px();
 | 
			
		||||
 | 
			
		||||
      var doubletest_f = function (char_spl) {
 | 
			
		||||
         var status_b = false;
 | 
			
		||||
         if ((pos_i + 1) < len_i) {
 | 
			
		||||
            if ((source_spl[pos_i] == char_spl) && (source_spl[pos_i+1] == char_spl)) {
 | 
			
		||||
               status_b = true;
 | 
			
		||||
            }
 | 
			
		||||
         }
 | 
			
		||||
         return status_b;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      while (pos_i < len_i) {
 | 
			
		||||
         switch (state_i) {
 | 
			
		||||
         case 0:
 | 
			
		||||
            // outside
 | 
			
		||||
            if (source_spl[pos_i] == '@') { // ECMA 5!
 | 
			
		||||
               if (doubletest_f('@') == false) {
 | 
			
		||||
                  state_i = 2;
 | 
			
		||||
                  code_s = '';
 | 
			
		||||
               } else {
 | 
			
		||||
                  // als normales Zeichen verarbeiten, ein Zeichen überlesen
 | 
			
		||||
                  state_i = 1;
 | 
			
		||||
                  text_s = '@';
 | 
			
		||||
                  pos_i++;
 | 
			
		||||
               }
 | 
			
		||||
            } else if (source_spl[pos_i] == '#') {
 | 
			
		||||
               if (doubletest_f('#') == false) {
 | 
			
		||||
                  state_i = 3;
 | 
			
		||||
                  subst_s = '';
 | 
			
		||||
               } else {
 | 
			
		||||
                  // als normales Zeichen verarbeiten, ein Zeichen überlesen
 | 
			
		||||
                  state_i = 1;
 | 
			
		||||
                  text_s = '#';
 | 
			
		||||
                  pos_i++;
 | 
			
		||||
               }
 | 
			
		||||
            } else if ((source_spl[pos_i] == ' ') || (source_spl[pos_i] == '\t')) {
 | 
			
		||||
               state_i = 4;
 | 
			
		||||
               text_s = '';
 | 
			
		||||
               pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
            } else {
 | 
			
		||||
               state_i = 1;
 | 
			
		||||
               text_s = '';
 | 
			
		||||
               pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         case 1:
 | 
			
		||||
            // inText
 | 
			
		||||
            if (source_spl[pos_i] == '@') {
 | 
			
		||||
               if (doubletest_f('@') == false) {
 | 
			
		||||
                  // Textende, neuer Code
 | 
			
		||||
                  state_i = 0;
 | 
			
		||||
                  this.gen_o.write_px(text_s);
 | 
			
		||||
                  pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
               } else {
 | 
			
		||||
                  // als normales Zeichen verarbeiten, ein Zeichen überlesen
 | 
			
		||||
                  text_s += '@';
 | 
			
		||||
                  pos_i++;
 | 
			
		||||
               }
 | 
			
		||||
            } else if (source_spl[pos_i] == '#') {
 | 
			
		||||
               if (doubletest_f('#') == false) {
 | 
			
		||||
                  // Textende, neue Substitution
 | 
			
		||||
                  state_i = 0;
 | 
			
		||||
                  this.gen_o.write_px(text_s);
 | 
			
		||||
                  pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
                  // Textende, neuer Code
 | 
			
		||||
               } else {
 | 
			
		||||
                  // als normales Zeichen verarbeiten, ein Zeichen überlesen
 | 
			
		||||
                  text_s += '#';
 | 
			
		||||
                  pos_i++;
 | 
			
		||||
               }
 | 
			
		||||
            } else if ((source_spl[pos_i] == ' ') || (source_spl[pos_i] == '\t')) {
 | 
			
		||||
               // Textende
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
               this.gen_o.write_px(text_s);
 | 
			
		||||
               pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
            } else {
 | 
			
		||||
               // sammeln
 | 
			
		||||
               if ((source_spl[pos_i] != '\n') && (source_spl[pos_i] != '\r')) {
 | 
			
		||||
                  text_s += source_spl[pos_i];
 | 
			
		||||
               } else if (source_spl[pos_i] == '\n') {
 | 
			
		||||
                  text_s += '\\n';
 | 
			
		||||
               } else {
 | 
			
		||||
                  text_s += '\\r';
 | 
			
		||||
               }
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         case 2:
 | 
			
		||||
            // inCode
 | 
			
		||||
            if (source_spl[pos_i] == '@') {
 | 
			
		||||
               if (doubletest_f('@') == false) {
 | 
			
		||||
                  // zu Ende, erzeugen
 | 
			
		||||
                  this.gen_o.code_px(code_s);
 | 
			
		||||
                  state_i = 5;  //0
 | 
			
		||||
               } else {
 | 
			
		||||
                  // als normales Zeichen verarbeiten, ein Zeichen überlesen
 | 
			
		||||
                  code_s += '@';
 | 
			
		||||
                  pos_i++;
 | 
			
		||||
               }
 | 
			
		||||
            } else {
 | 
			
		||||
               // sammeln
 | 
			
		||||
               code_s += source_spl[pos_i];
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         case 3:
 | 
			
		||||
            // inSubst
 | 
			
		||||
            // Verdopplung # hier nicht zulässig!
 | 
			
		||||
            if (source_spl[pos_i] == '#') {
 | 
			
		||||
               // zu Ende, erzeugen
 | 
			
		||||
               this.gen_o.substitute_px(subst_s);
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
            } else {
 | 
			
		||||
               // sammeln
 | 
			
		||||
               subst_s += source_spl[pos_i];
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         case 4:
 | 
			
		||||
            // pre-code-whitespace
 | 
			
		||||
            switch (source_spl[pos_i]) {
 | 
			
		||||
            case ' ':
 | 
			
		||||
            case '\t':
 | 
			
		||||
               // sammeln
 | 
			
		||||
               text_s += source_spl[pos_i];
 | 
			
		||||
               break;
 | 
			
		||||
            default:
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
               if (source_spl[pos_i] != '@') {
 | 
			
		||||
                  this.gen_o.write_px(text_s);
 | 
			
		||||
               } else {
 | 
			
		||||
                  if (doubletest_f('@') == false) {
 | 
			
		||||
                     // Whitespace vor Code-Beginn erkannt
 | 
			
		||||
                     if (this.preservePreWS_b == true) {
 | 
			
		||||
                        // trotzdem ausgeben
 | 
			
		||||
                        this.gen_o.write_px(text_s);
 | 
			
		||||
                     }
 | 
			
		||||
                  } // ansonsten wie normales Zeichen behandeln
 | 
			
		||||
               }
 | 
			
		||||
               pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         case 5:
 | 
			
		||||
            // post-code-whitespace
 | 
			
		||||
            switch (source_spl[pos_i]) {
 | 
			
		||||
            case '\n':
 | 
			
		||||
               text_s += '\\n';
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
               break;
 | 
			
		||||
            case '\r':
 | 
			
		||||
               text_s += '\\r';
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
               break;
 | 
			
		||||
            case ' ':
 | 
			
		||||
            case '\t':
 | 
			
		||||
               // ggf. sammeln
 | 
			
		||||
               text_s += source_spl[pos_i];
 | 
			
		||||
               break;
 | 
			
		||||
            default:
 | 
			
		||||
               // Whitespace nach Code erkannt
 | 
			
		||||
               if (this.preservePostWS_b == true) {
 | 
			
		||||
                  // trotzdem ausgeben
 | 
			
		||||
                  this.gen_o.write_px(text_s);
 | 
			
		||||
               }
 | 
			
		||||
               state_i = 0;
 | 
			
		||||
               pos_i--; // Zeichen erneut verarbeiten
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
         }
 | 
			
		||||
         pos_i++;
 | 
			
		||||
      }
 | 
			
		||||
      // welcher Zustand liegt abschließend vor?
 | 
			
		||||
      if (state_i == 1) {
 | 
			
		||||
         this.gen_o.write_px(text_s);
 | 
			
		||||
      } else if (state_i == 2) {
 | 
			
		||||
         this.gen_o.code_px(code_s);
 | 
			
		||||
      } else if (state_i == 3) {
 | 
			
		||||
         this.gen_o.substitute_px(subst_s);
 | 
			
		||||
      } else if (state_i == 4) {
 | 
			
		||||
         if (this.preservePreWS_b == true) {
 | 
			
		||||
            this.gen_o.write_px(text_s);
 | 
			
		||||
         }
 | 
			
		||||
      } else if (state_i == 5) {
 | 
			
		||||
         if (this.preservePostWS_b == true) {
 | 
			
		||||
            this.gen_o.write_px(text_s);
 | 
			
		||||
         }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      return this.gen_o.generate_px();
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
// EOF
 | 
			
		||||
							
								
								
									
										59
									
								
								Sammlung/te_tm/tm.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Sammlung/te_tm/tm.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// Template-Manager
 | 
			
		||||
// - Laden und Bereitstellen von Template-Quellen
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// depends-on:
 | 
			
		||||
//    jquery
 | 
			
		||||
//    te
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
class TemplateManager_cl {
 | 
			
		||||
   constructor () {
 | 
			
		||||
      this.templates_o = {};
 | 
			
		||||
      this.compiled_o  = {};
 | 
			
		||||
      this.teCompiler_o = new TemplateCompiler_cl();
 | 
			
		||||
      // Templates als Ressource anfordern und speichern
 | 
			
		||||
      var path_s = "/templates/";
 | 
			
		||||
      $.ajax({
 | 
			
		||||
         dataType: "json",
 | 
			
		||||
         url: path_s,
 | 
			
		||||
         type: 'GET',
 | 
			
		||||
         context: this
 | 
			
		||||
      })
 | 
			
		||||
      .done(function (data_opl) {
 | 
			
		||||
         this.templates_o = data_opl['templates'];
 | 
			
		||||
      })
 | 
			
		||||
      .fail(function(jqXHR_opl, textStatus_spl) {
 | 
			
		||||
         alert( "[tm] Fehler bei Anforderung: " + textStatus_spl );
 | 
			
		||||
      });
 | 
			
		||||
   }
 | 
			
		||||
   get_px (name_spl) {
 | 
			
		||||
      if (name_spl in this.templates_o) {
 | 
			
		||||
         return this.templates_o[name_spl];
 | 
			
		||||
      } else {
 | 
			
		||||
         return null;
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   execute_px (name_spl, data_opl) {
 | 
			
		||||
      var compiled_o = null;
 | 
			
		||||
      if (name_spl in this.compiled_o) {
 | 
			
		||||
         compiled_o = this.compiled_o[name_spl];
 | 
			
		||||
      } else {
 | 
			
		||||
         // Übersetzen und ausführen
 | 
			
		||||
         if (name_spl in this.templates_o) {
 | 
			
		||||
            this.teCompiler_o.reset_px();
 | 
			
		||||
            compiled_o = this.teCompiler_o.compile_px(this.templates_o[name_spl]);
 | 
			
		||||
            this.compiled_o[name_spl] = compiled_o;
 | 
			
		||||
         }
 | 
			
		||||
      }
 | 
			
		||||
      if (compiled_o != null) {
 | 
			
		||||
         return compiled_o(data_opl);
 | 
			
		||||
      } else {
 | 
			
		||||
         return null;
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EOF
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,118 +1 @@
 | 
			
		||||
/* background-grey: #EFEFEF */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
header {
 | 
			
		||||
	display: block;
 | 
			
		||||
	background-color: #FFFFFF; 
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
section {
 | 
			
		||||
	background-color: #EFEFEF; /*#F8F8F8;*/
 | 
			
		||||
	border-top-right-radius: 40px; 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
footer {
 | 
			
		||||
	background-color: #EFEFEF;
 | 
			
		||||
	border-bottom-left-radius: 30px;
 | 
			
		||||
	border-bottom-right-radius: 30px;
 | 
			
		||||
	padding-top: 1%;
 | 
			
		||||
	padding-left: 1%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body { 
 | 
			
		||||
	background-color:#FFFFFF; 
 | 
			
		||||
	margin-left: auto;
 | 
			
		||||
	margin-right: auto;
 | 
			
		||||
	width: 65%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 { 
 | 
			
		||||
	color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h2 {
 | 
			
		||||
	color: grey;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:link {
 | 
			
		||||
    color: black;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
    /*background-color: black;*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover {
 | 
			
		||||
    color: #ADFF2F;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.form {
 | 
			
		||||
	width: 40%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.alert {
 | 
			
		||||
	color: #FF6E6E;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#mainNav li {
 | 
			
		||||
	display: inline; 
 | 
			
		||||
	padding-right: 10px;
 | 
			
		||||
	padding-left: 10px;
 | 
			
		||||
	cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
li+li {
 | 
			
		||||
	border-left: 2px solid grey;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#mainNav {
 | 
			
		||||
	background-color: #424242;
 | 
			
		||||
	color: white;
 | 
			
		||||
	width: 60%;
 | 
			
		||||
	border-top-left-radius: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#navButton1 {
 | 
			
		||||
	color: #FCFCFC;
 | 
			
		||||
	text-decoration: none;
 | 
			
		||||
	font-weight: bold;
 | 
			
		||||
	font-size: 110%;
 | 
			
		||||
	padding-left: 2%;
 | 
			
		||||
	padding-right: 2%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#divideSection {
 | 
			
		||||
	width: 30%;
 | 
			
		||||
	border-bottom: 1px solid #000000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#subSection2 {
 | 
			
		||||
	padding-left: 1%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#subSection1 {
 | 
			
		||||
	padding-left: 1%;
 | 
			
		||||
	padding-top: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#table1 {
 | 
			
		||||
	width: 25%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#verticalLineLeft {
 | 
			
		||||
	border-left: 1px solid #000000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#footerBottomLine {
 | 
			
		||||
	margin-left: auto;
 | 
			
		||||
	width: 40%;
 | 
			
		||||
	border-bottom: 1px solid #000000;
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
tr.attendendee:hover, .selected {
 | 
			
		||||
	background-color: #ADFF2F;
 | 
			
		||||
	cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
header{display:block;background-color:#FFFFFF;}section{background-color:#EFEFEF;border-top-right-radius:40px;}footer{background-color:#EFEFEF;border-bottom-left-radius:30px;border-bottom-right-radius:30px;padding-top:1%;padding-left:1%;}body{background-color:#FFFFFF;margin-left:auto;margin-right:auto;width:65%;}h1{color:black;}h2{color:grey;}a:link{color:black;text-decoration:none;}a:hover{color:#ADFF2F;}.form{width:40%;}.alert{color:#FF6E6E;}#mainNav li{display:inline;padding-right:10px;padding-left:10px;cursor:pointer;}li+li{border-left:2px solid grey;}#mainNav{background-color:#424242;color:white;width:60%;border-top-left-radius:10px;}#navButton1{color:#FCFCFC;text-decoration:none;font-weight:bold;font-size:110%;padding-left:2%;padding-right:2%;}#divideSection{width:30%;border-bottom:1px solid #000000;}#subSection2{padding-left:1%;}#subSection1{padding-left:1%;padding-top:5px;}#table1{width:25%;}#verticalLineLeft{border-left:1px solid #000000;}tr.attendendee:hover,.selected{background-color:#ADFF2F;cursor:pointer;}
 | 
			
		||||
		Reference in New Issue
	
	Block a user