diff --git a/config/layouts/default.json b/config/layouts/default.json
index a11b901a987fb2bc057392eaf61de25a35f487a3..2af80d3f3a3c6d400efc8a37a51c8aea75367547 100755
--- a/config/layouts/default.json
+++ b/config/layouts/default.json
@@ -23,35 +23,17 @@
 					"config": {
 						"files": [
 							{
-							"filename": "itour2016_0.png",
-							"enddate": "02.11.2016"
+								"filename": "OpenSourceInfoscreen.jpg",
+								"startdate": "24.04.2017",
+								"enddate": "NEVER"
 							},
 							{
-							"filename": "DAT_2016_Flyer_DINA6.png",
-							"enddate": "18.11.2016"
-							},
-							{
-							"filename": "Ankndigung_FVV.png",
-							"enddate": "30.11.2019"
-							},
-							{
-							"filename": "OpenSourceInfoscreen.jpg",
-							"enddate": "NEVER"
+								"filename": "ko.jpg",
+								"startdate": "NEVER",
+								"enddate": "25.04.2017"
 							}
 						]
 					}
-				},
-				{
-					"type": "panel",
-					"name": "ufc"
-				},
-				{
-					"type": "panel",
-					"name": "mensaPlan"
-				},
-				{
-					"type": "panel",
-					"name": "lsfView"
 				}
 			]
 		}
diff --git a/config/layouts/default.json.skel b/config/layouts/default.json.skel
index 308720a818d232ecfb4a452f81077b2f7f86bc71..e40d6488e89b935d55bc745a5248cf2752bdf66f 100755
--- a/config/layouts/default.json.skel
+++ b/config/layouts/default.json.skel
@@ -23,19 +23,13 @@
 					"config": {
 						"files": [
 							{
-							"filename": "itour2016_0.png",
-							"enddate": "02.11.2016"
-							},
-							{
-							"filename": "DAT_2016_Flyer_DINA6.png",
-							"enddate": "18.11.2016"
-							},
-							{
-							"filename": "Ankndigung_FVV.png",
+							"filename": "SOMEFILE.png",
+							"startdate": "NEVER",
 							"enddate": "30.11.2016"
 							},
 							{
 							"filename": "OpenSourceInfoscreen.jpg",
+							"startdate": "NEVER",
 							"enddate": "18.11.2017"
 							}
 						]
diff --git a/panels/lsfView/lsfParser.php b/panels/lsfView/lsfParser.php
index de35246595be35e56ab96164158689d167323b35..c361fc6dac7aec9f66f8e59ff51d5c7be26b863d 100755
--- a/panels/lsfView/lsfParser.php
+++ b/panels/lsfView/lsfParser.php
@@ -60,34 +60,34 @@ if($SEMESTER == 1){
 // search subject
 $subjects = array ();
 foreach ( $SUBJECT_LIST as $SUBJECT ) {
-	echo "Searching ".$SUBJECT->getSearchName()."-";
+	echo "Searching ".$SUBJECT->getSearchName()."\n";
 	$html = file_get_html ( $SEARCH_URL."&veranstaltung.dtxt=".str_replace(' ',"+",$SUBJECT->getSearchName())."&veranstaltung.semester=".date("Y").$SEMESTER);
 	if ($html != null) {
 		$list = $html->find('a[title="Mehr Informationen zu '.$SUBJECT->getSearchName().'"]');
 		if (count($list) != 0) {
 			foreach($list as $a){
 				if(removeSpace($a->parent()->parent()->children (2)->innertext) == "Vorlesung") {
-					echo "Hit-";
+					echo " - Hit \n";
 					$HREF = $a->href;
 					$html->clear();
 					unset($html);
 					$html = file_get_html ( html_entity_decode($HREF) );
 					if ($html != null) {
-					array_push ( $subjects, parsSubject ($html,$SUBJECT) );
+					     array_push ( $subjects, parsSubject ($html,$SUBJECT) );
 					} else {
-						echo "\"".$SUBJECT->getSearchName()."\"-Site nicht aufrufbar\n";
+    			     echo "\"".$SUBJECT->getSearchName()."\"-Site nicht aufrufbar\n";
 					}
 					break;
 				}
 			}
+	   } else {
+		  echo " - \"".$SUBJECT->getSearchName()."\"-Search liefert kein passendes Ergebnis\n";
+	   }
 	} else {
-		echo "\"".$SUBJECT->getSearchName()."\"-Search liefert kein passendes Ergebnis\n";
-	}
-	} else {
-		echo "\"".$SUBJECT->getSearchName()."\"-Search nicht aufrufbar.\n";
+		echo " - \"".$SUBJECT->getSearchName()."\"-Search nicht aufrufbar.\n";
 	}
 }
 
 toJsonSubjects ( $subjects, $JSON_NAME_SUBJECTS, $JSON_INC_NAME_SUBJECTS, $JSON_INC_SHORT_SUBJECTS);
 toJsonEvents ( $subjects, $JSON_NAME_EVENTS, $JSON_INC_NAME_EVENTS, $JSON_INC_SHORT_EVENTS);
-?>
\ No newline at end of file
+?>
diff --git a/panels/mensaPlan/script.js b/panels/mensaPlan/script.js
index 07a2d80ad1b82abb06c2dda32c1555894ef4a027..f6f81d93d74d640dbbc7d68efe539670b49052c3 100755
--- a/panels/mensaPlan/script.js
+++ b/panels/mensaPlan/script.js
@@ -1,7 +1,7 @@
 this.tabtime=20;
 
 this.checkShowCondition = function() {
-	return 3*this.tabtime;
+	return 4*this.tabtime;
 }
 
 this.show = function() {
@@ -16,6 +16,9 @@ this.show = function() {
 			currentTab = 2;
 			break;
 		case 2:
+			currentTab = 3;
+			break;
+		case 3:
 			currentTab = 0;
 			break;
 		default:
@@ -43,7 +46,7 @@ function padTwo(num) {
 function isNextDay() {
 	if (new Date().getHours() >= 15) {
 		return true;
-	}	
+	}
 }
 
 function calcDateAPI() {
@@ -62,9 +65,16 @@ function calcTextDisplay() {
         }
 }
 
-function shortenText(titel) {
-	titel = titel.replace(/\([^\)]*\)/g, "");
-	return titel
+function handleGericht(text) {
+	text = text.replace(/\([^\)]*\)/g, ""); // remove zusatzstoffe
+	text = text.replace(/\s+/g, " "); // fix double Whitespace
+	text = text.replace(/(\s,|,\s)/g, ","); // fix Komma
+	text = text.replace(/,/g, ", "); // fix Komma
+	text = text.replace(/,\sdazu\s\d\sBeilagen\snach\sWahl/g, " "); // remove Beilagen
+	text = text.replace(/\sund\s\d\sBeilagen\snach\sWahl/g, " "); // remove Beilagen
+	text = text.replace(/,\sdazu\s/g, " + "); // replace dazu
+	text = text.replace(/\sund\s/g, " & "); // replace und
+	return text
 }
 
 this.loaded = function(panel, config) {
@@ -87,58 +97,84 @@ this.loaded = function(panel, config) {
 		var tableBody1 = document.getElementById("mensaPlanTable1Body");
 		var tableBody2 = document.getElementById("mensaPlanTable2Body");
 		var tableBody3 = document.getElementById("mensaPlanTable3Body");
+		var tableBody4 = document.getElementById("mensaPlanTable4Body");
 		tableBody1.innerHTML = ""; // clear
 		tableBody2.innerHTML = ""; // clear
 		tableBody3.innerHTML = ""; // clear
+		tableBody4.innerHTML = ""; // clear
 		var a = 0;
 		var b = 0;
 		var c = 0;
+		var d = 0;
 		for (var i = 0; i < json.length; i++) {
 			var gericht = json[i];
 			var row = "";
 			switch (gericht.category) {
-			case 1:
+			case "1": // Menu 1
 				var row = tableBody1.insertRow(a);
 				a++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 2:
+			case "2": // Menu 2
 				var row = tableBody1.insertRow(a);
 				a++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 3:
+			case "3": // Tagesgericht
 				var row = tableBody1.insertRow(a);
 				a++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 4:
+			case "4": // Vegetarisch
 				var row = tableBody3.insertRow(c);
 				c++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 5:
+			case "5": // Aktionsteller
 				var row = tableBody1.insertRow(a);
 				a++;
-				breaki;
-			case 6:
-                                var row = tableBody1.insertRow(a);
-                                a++;
-                                breaki;
-			case 7:
-				var row = tableBody2.insertRow(b);
-				b++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 8:
-				var row = tableBody3.insertRow(c);
-				c++;
+			case "6": // Aktionsteller Fisch
+        var row = tableBody3.insertRow(c);
+      	c++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 				break;
-			case 16:
+			case "7": // Aktionsteller Vegan
 				var row = tableBody3.insertRow(c);
 				c++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
+				break;
+			case "8": // Grillstation
+				var row = tableBody2.insertRow(b);
+				b++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
+				break;
+			case "16": // Beilagen
+				var beilagen = gericht.title.de.split(";");
+				for (var j = 0; j < beilagen.length; j++) {
+					if(beilagen[j] != "") {
+						var row = tableBody4.insertRow(d);
+						d++;
+						var cell = row.insertCell(0);
+						cell.innerHTML = handleGericht(beilagen[j]);
+					}
+				}
 				break;
 			default:
 				var row = tableBody3.insertRow(c);
 				c++;
+				var cell = row.insertCell(0);
+				cell.innerHTML = handleGericht(gericht.title.de);
 			}
-			var cell1 = row.insertCell(0);
-			cell1.innerHTML = shortenText(gericht.title.de);
 		}
 	}
 
diff --git a/panels/mensaPlan/template.html b/panels/mensaPlan/template.html
index cae871626af3982e77d94ebd9b77961a9785f98f..ebfd6c2ca4b1cfa9a775946b11d842fd5320df33 100755
--- a/panels/mensaPlan/template.html
+++ b/panels/mensaPlan/template.html
@@ -4,6 +4,7 @@
 		<li><a href="#tab-1">Normale Counter</a></li>
 		<li><a href="#tab-2">Grill Counter</a></li>
 		<li><a href="#tab-3">Sonstige Counter</a></li>
+		<li><a href="#tab-4">Beilagen</a></li>
 	</ul>
 	<div id="tab-1">
 		<table id="mensaPlanTable1" style="width:100%;height:100%">
@@ -23,4 +24,10 @@
 			</tbody>
 		</table>
 	</div>
+	<div id="tab-4">
+		<table id="mensaPlanTable4" style="width:100%;height:100%">
+			<tbody id="mensaPlanTable4Body">
+			</tbody>
+		</table>
+	</div>
 </div>
diff --git a/panels/werbung/img/OpenSourceInfoscreen.jpg b/panels/werbung/img/OpenSourceInfoscreen.jpg
old mode 100644
new mode 100755
diff --git a/panels/werbung/img/ko.jpg b/panels/werbung/img/ko.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..78eefac9a53bc9c864c26f3890470fe94e4a92b5
Binary files /dev/null and b/panels/werbung/img/ko.jpg differ
diff --git a/panels/werbung/script.js b/panels/werbung/script.js
index f8195e856f6c9bbbc76676e8979847679d2a7ea5..6f1beed5777be112c7829f512750be4408331ea1 100755
--- a/panels/werbung/script.js
+++ b/panels/werbung/script.js
@@ -11,7 +11,7 @@ this.loaded=function(panel,config) {
 function setNextWerbung() {
 	if(nextWerbung+1<werbung_config.files.length) {
 		console.log("Werbung: SETNEXT - (" + nextWerbung + " + 1)");
-		nextWerbung += 1; 
+		nextWerbung += 1;
 	} else {
 		console.log("Werbung: SETNEXT - (0)");
 		nextWerbung = 0;
@@ -29,7 +29,10 @@ this.resize=function() {
 this.hide = function() {
 }
 
-function isOver(day, month, year){
+function isOverDate(day, month, year){
+	console.log("DEBUG: input"+day +" "+ month+" "+year);
+
+
 	var d = new Date();
 	if((d.getFullYear() > year) || (d.getFullYear() == year && d.getMonth() > month) || (d.getFullYear() == year && d.getMonth() == month && d.getDate() > day)){
 		return true;
@@ -37,31 +40,34 @@ function isOver(day, month, year){
 		return false;
 	}
 }
-	
+
 this.checkShowCondition = function() {
 	var werbungOriginalNext = nextWerbung;
-	if(werbung_config.files[nextWerbung].enddate == "NEVER"){
-		console.log("Werbung: CurrentWerbung = " + nextWerbung + " Infinit");
-		return 20;
-	} else {
-		var enddateEl = werbung_config.files[nextWerbung].enddate.split(".");
-		if(!isOver(enddateEl[2], enddateEl[1], enddateEl[0])) {
-			console.log("Werbung: CurrentWerbung = " + nextWerbung);
-			return 20;
+	var firstNotDone = true
+	while(nextWerbung != werbungOriginalNext || firstNotDone){
+		if(werbung_config.files[nextWerbung].startdate == "NEVER") {
+			var skipStartTest = true;
 		} else {
-			console.log("Werbung: Skipped - Out Of Date - (" + nextWerbung + ")");
-			setNextWerbung();
+			var skipStartTest = false;
 		}
-		while(nextWerbung != werbungOriginalNext){
-			enddateEl = werbung_config.files[nextWerbung].enddate.split(".");
-			if(!isOver(enddateEl[2], enddateEl[1], enddateEl[0])) {
+		if(werbung_config.files[nextWerbung].enddate == "NEVER") {
+			var skipEndTest = true;
+		} else {
+			var skipEndTest = false;
+		}
+		if( skipStartTest || isOverDate(werbung_config.files[nextWerbung].startdate.split(".")[0], werbung_config.files[nextWerbung].startdate.split(".")[1], werbung_config.files[nextWerbung].startdate.split(".")[2])) { // did it start
+			if( skipEndTest || !isOverDate(werbung_config.files[nextWerbung].enddate.split(".")[0], werbung_config.files[nextWerbung].enddate.split(".")[1], werbung_config.files[nextWerbung].enddate.split(".")[2])) { // did it end
 				console.log("Werbung: CurrentWerbung = " + nextWerbung);
 				return 20;
 			} else {
 				console.log("Werbung: Skipped - Out Of Date - (" + nextWerbung + ")");
 				setNextWerbung();
 			}
+		} else {
+			console.log("Werbung: Skipped - Not Started - (" + nextWerbung + ")");
+			setNextWerbung();
 		}
+		firstDone = false;
 	}
 	return 0;
 }
diff --git a/test b/test
old mode 100644
new mode 100755