Index: trunk/info/info/alkis/alkishaus.php
===================================================================
--- trunk/info/info/alkis/alkishaus.php	(revision 372)
+++ trunk/info/info/alkis/alkishaus.php	(revision 376)
@@ -1,15 +1,9 @@
 <?php
-/*	alkishaus.php - Daten zum ALKIS-GebÃ€ude-Objekt
+/*	alkishaus.php - viele Daten zu EINEM ALKIS-GebÃ€ude-Objekt
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 
 	Version:
-	2011-11-30 NEU! Variante von alkisgebaeudenw: Aufruf fÃŒr EIN Haus, nicht fÃŒr ein FS
-	2011-01-31 ax_gebaeude.weiteregebaeudefunktion ist jetzt Array
-	2013-04-08 deprecated "import_request_variables" ersetzt
-	2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
-	2014-09-10 Bei Relationen den Timestamp abschneiden
-	2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id)
-	2015-12-09 Austausch .ico durch .png
-	2015-12-16 area -> st_area
+	2016-02-24 Version fuer norGIS-ALKIS-Import
+	2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermÃ¶glichen
 
 	ToDo:
@@ -17,8 +11,8 @@
 	- geometrische Suche nach FS, auf denen das Haus steht
 	- Template im WMS auf Ebene GebÃ€ude hierhin verknÃŒpfen.
-	- Auch diese Relationen abbilden:
+	- Relationen abbilden:
 		ax_gebaeude >gehoertZu> ax_gebaeude  (ringfÃ¶rmige Verbindung GebÃ€udekomplex)
 		ax_gebaeude (umschliesst) ax_bauteil
-		ax_gebaeude >gehoert> ax_person  (Ausnahme)
+		ax_gebaeude >gehoert> ax_person (Ausnahme)
 */
 session_start();
@@ -29,17 +23,12 @@
 if ($auth == "mapbender") {require_once($mapbender);}
 include("alkisfkt.php");
-if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
 $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
 if ($keys == "j") {$showkey=true;} else {$showkey=false;}
 if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;}
 ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
+<!doctype html>
+<html lang="de">
 <head>
-	<meta name="author" content="b600352" >
-	<meta http-equiv="cache-control" content="no-cache">
-	<meta http-equiv="pragma" content="no-cache">
-	<meta http-equiv="expires" content="0">
-	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<meta charset="utf-8">
 	<title>ALKIS Daten zum Haus</title>
 	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
@@ -47,4 +36,5 @@
 	<style type='text/css' media='print'>
 		.noprint {visibility: hidden;}
+		td.mittelspalte	{width: 190px;}
 	</style>
 </head>
@@ -52,17 +42,21 @@
 <?php
 
-$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'");
 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
 
 // G e b a e u d e
+
 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, 
-g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, 
-h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; // w.bezeichner AS bweitfunk,
-$sqlg.="d.bezeichner AS bdach, round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g 
-LEFT JOIN v_geb_bauweise h ON g.bauweise=h.bauweise_id 
-LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert 
-LEFT JOIN v_geb_zustand z ON g.zustand=z.wert 
-LEFT JOIN v_geb_dachform d ON g.dachform=d.wert
-WHERE g.gml_id= $1 AND g.endet IS NULL ;";
+g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, 
+h.v AS bbauw, h.d AS dbauw, u.v AS bfunk, u.d AS dfunk, z.v AS zustandv, z.d AS zustandd, d.v AS bdach, a.v AS dgaus, o.v AS oflv, o.d AS ofld,
+round(st_area(g.wkb_geometry)::numeric,2) AS gebflae
+FROM ax_gebaeude g 
+LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise'
+LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion'
+LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand'
+LEFT JOIN alkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform'
+LEFT JOIN alkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau'
+LEFT JOIN alkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche'
+WHERE g.gml_id= $1 AND g.endet IS NULL;";
 
 $v = array($gmlid);
@@ -81,13 +75,14 @@
 // Kennzeichen in Rahmen 
 // - Welches Kennzeichen zum Haus ?
-if ($idanzeige) {linkgml($gkz, $gmlid, "Haus", "ax_gebaeude"); }
 echo "\n<hr>";
 // Umschalter: auch leere Felder ausgeben?
 echo "<p class='nwlink noprint'>";
-echo "<a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid;
+echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid;
 	if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";}
-	if ($idanzeige) {echo "&amp;id=j";} else {echo "&amp;id=n";}
-	if ($allefelder) {echo "&amp;allfld=n'>nur Felder mit Inhalt";} 
-	else {echo "&amp;allfld=j'>auch leere Felder";}
+	if ($allefelder) {
+		echo "&amp;allfld=n'>nur Felder mit Inhalt";
+	} else {
+		echo "&amp;allfld=j'>auch leere Felder";
+	}
 echo "</a></p>";
 
@@ -96,9 +91,10 @@
 while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein.
 	$gebnr++;
-	echo "\n<table class='geb'>";
-	echo "\n<tr>\n";
-		echo "\n\t<td class='head' title=''>Attribut</td>";
-		echo "\n\t<td class='head' title=''>Wert</td>";
-	echo "\n</tr>";
+	echo "\n<table class='geb'>"
+	."\n<tr>\n"
+		."\n\t<td class='head' title=''>Attribut</td>"
+		."\n\t<td class='head mittelspalte' title=''>Wert</td>"
+		."\n\t<td class='head' title=''>Erkl&auml;rung</td>"
+	."\n</tr>";
 
 	$aog=$rowg["aog"];
@@ -106,14 +102,29 @@
 	$hoh=$rowg["hochhaus"];
 	$nam=$rowg["name"]; // Gebaeude-Name
+
+	$kfunk=$rowg["gebaeudefunktion"];
 	$bfunk=$rowg["bfunk"];
+	$dfunk=$rowg["dfunk"];
+
 	$baw=$rowg["bauweise"];
-	$bbauw=$rowg["bauweise_beschreibung"];
+	$bbauw=$rowg["bbauw"];
+	$dbauw=$rowg["dbauw"];
+
 	$ofl=$rowg["lagezurerdoberflaeche"];
-	$dga=$rowg["dachgeschossausbau"];
-	$zus=$rowg["zustand"];
-	$zustand=$rowg["bzustand"];
-	$wgf=$rowg["weiteregebaeudefunktion"];
-	$daf=$rowg["dachform"];
-	$dach=$rowg["bdach"];
+	$oflv=$rowg["oflv"];
+	$ofld=$rowg["ofld"];
+
+	$dga=$rowg["dachgeschossausbau"]; // Key
+	$dgav=$rowg["dgaus"]; // Value
+
+	$zus=$rowg["zustand"]; // Key
+	$zusv=$rowg["zustandv"]; // Value
+	$zusd=$rowg["zustandd"]; // Description
+
+	$wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste
+
+	$daf=$rowg["dachform"]; // Key
+	$dach=$rowg["bdach"]; // Value
+
 	$hho=$rowg["objekthoehe"];
 	$gfl=$rowg["geschossflaeche"];
@@ -125,25 +136,25 @@
 
 	if (($nam != "") OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Name\" ist der Eigenname oder die Bezeichnung des Geb&auml;udes.'>Name</td>";
-			echo "\n\t<td>";
-			echo $nam."</td>";
-		echo "\n</tr>";
-	}
-
-	// 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer
+		echo "\n<tr>"
+			."\n\t<td class='li'>Name</td>"
+			."\n\t<td>".$nam."</td>"
+			."\n\t<td class='erkl'>'Name' ist der Eigenname oder die Bezeichnung des Geb&auml;udes.</td>"
+		."\n</tr>";
+	}
+
+	// 0 bis N   L a g e bezeichnungen mit Haus- oder Pseudo-Nummer
+
 	// HAUPTgebÃ€ude
-	$sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";
-	$sqll.="FROM ax_gebaeude g ";
-	$sqll.="JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) ";
-	$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-	$sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL ";
-	$sqll.="UNION ";
+	$sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer FROM ax_gebaeude g
+	JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf)
+	JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
+	WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL";
 	// oder NEBENgebÃ€ude
-	$sqll.="SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";
-	$sqll.="FROM ax_gebaeude g "; 
-	$sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat ";
-	$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
-	$sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL ";
+	$sqll.=" UNION 
+	SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer
+	FROM ax_gebaeude g
+	JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat
+	JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
+	WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL ";
 
 	$sqll.="ORDER BY bezeichnung, hausnummer ;";
@@ -166,220 +177,218 @@
 		$gmllag=$rowl["gmllag"];
 
-			if ($zhsnr == 1) {
-				echo "\n<tr>\n\t<td title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>";
-				echo "\n\t<td>";
-			}
-			echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;";
-			if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}
-			echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp;
-				if ($idanzeige) {echo "&amp;id=j";}
-			echo "'>";
-				echo $snam."&nbsp;".$hsnr;
-				if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;}
-			echo "</a>";
-			if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); }
-			echo "<br>";
+		if ($zhsnr == 1) {
+			echo "\n<tr>"
+				."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>"
+				."\n\t<td class='fett'>";
+		}
+		echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;";
+		if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}			
+		echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp."'>"
+			.$snam."&nbsp;".$hsnr;
+			if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;}
+		echo "</a><br>";
 	} // Ende Loop Lagezeilen m.H.
-
-	if ($zhsnr > 0) {
-		echo "\n\t</td>\n</tr>";
-	}
-
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Geb&auml;udefunktion\" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>";
-			echo "\n\t<td>";
-			if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";}
-			echo $bfunk."</td>";
-		echo "\n</tr>";
-
+	if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";}
+
+	// GebÃ€udefunktion
+	echo "\n<tr>"
+		."\n\t<td class='li'>Geb&auml;udefunktion</td>"
+		."\n\t<td class='fett'>";
+		if ($showkey) {echo "<span class='key'>".$kfunk."</span>&nbsp;";}
+		echo $bfunk."</td>"
+		."\n\t<td class='erkl'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'<br>".$dfunk."</td>"
+	."\n</tr>";
+
+	// Bauweise
 	if ($baw != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Bauweise\" ist die Beschreibung der Art der Bauweise.'>Bauweise</td>";
-			echo "\n\t<td>";
+		echo "\n<tr>"
+			."\n\t<td class='li'>Bauweise</td>"
+			."\n\t<td class='fett'>";
 			if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";}
-			echo $bbauw."</td>";
-		echo "\n</tr>";
-	}
-
+			echo $bbauw."</td>"
+			."\n\t<td class='erkl'>'Bauweise' ist die Beschreibung der Art der Bauweise.<br>".$dbauw."</td>"
+		."\n</tr>";
+	}
+
+	// Geschosse
 	if ($aog != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='Anzahl oberirdischer Geschosse'>Geschosse</td>";
-			echo "\n\t<td>".$aog."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Geschosse</td>"
+			."\n\t<td class='fett'>".$aog."</td>"
+			."\n\t<td class='erkl'>Anzahl oberirdischer Geschosse</td>"
+		."\n</tr>";
+	}
+
+	// U-Geschosse
 	if ($aug != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='Anzahl unterirdischer Geschosse'>U-Geschosse</td>";
-			echo "\n\t<td>".$aug."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>U-Geschosse</td>"
+			. "\n\t<td class='fett'>".$aug."</td>"
+			."\n\t<td class='erkl'>Anzahl unterirdischer Geschosse</td>"
+		."\n</tr>";
+	}
+
+	// Hochhaus
 	if ($hoh != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Hochhaus\" ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m.'>Hochhaus</td>";
-			echo "\n\t<td>".$hoh."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Hochhaus</td>"
+			."\n\t<td class='fett'>".$hoh."</td>"
+			."\n\t<td class='erkl'>'Hochhaus' ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m.</td>"
+		."\n</tr>";
+	}
+
+	// Lage zur ErdoberflÃ€che
 	if ($ofl != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Lage zur Erdoberfl&auml;che\" ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.'>Lage zur Erdoberfl&auml;che</td>";
-			echo "\n\t<td>";
+		echo "\n<tr>"
+			."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>"
+			."\n\t<td class='fett'>";
 			if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";}
-			switch ($ofl) {
-				case 1200: echo "Unter der Erdoberfl&auml;che"; break;
-				// "Unter der Erdoberfl&auml;che" bedeutet, dass sich das Geb&auml;ude unter der Erdoberfl&auml;che befindet
-				case 1400: echo "Aufgest&auml;ndert"; break;
-				// "Aufgest&auml;ndert" bedeutet, dass ein Geb&auml;ude auf St&uuml;tzen steht
-				case "": echo "&nbsp;"; break;
-				default: echo "** Unbekannte Lage zur Erdoberfl&auml;che '".$ofl."' **"; break;
-			}
-			echo "&nbsp;</td>";
-		echo "\n</tr>";
-	}
-
-	if ($dga != "" OR $allefelder) { // keine Schluesseltabelle in DB
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Dachgeschossausbau\" ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.'>Dachgeschossausbau</td>";
-			echo "\n\t<td>";
+			echo $oflv."</td>"
+			."\n\t<td class='erkl'>'Lage zur Erdoberfl&auml;che' ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.<br>".$ofld."</td>"
+		."\n</tr>";
+	}
+
+	// Dachgeschossausbau
+	// nichts dazu in alkis_wertearten.d
+	if ($dga != "" OR $allefelder) {
+		echo "\n<tr>"
+			."\n\t<td class='li'>Dachgeschossausbau</td>"
+			."\n\t<td class='fett'>";
 			if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";}
-			switch ($dga) {
-				case 1000: echo "Nicht ausbauf&auml;hig"; break;
-				case 2000: echo "Ausbauf&auml;hig"; break;
-				case 3000: echo "Ausgebaut"; break;
-				case 4000: echo "Ausbauf&auml;higkeit unklar"; break;
-				case "": echo "&nbsp;"; break;
-				default: echo "** Unbekannter Wert Dachgeschossausbau '".$dga."' **"; break;
-			}
-			echo "</td>";
-		echo "\n</tr>";
-	}
-
+			echo $dgav."</td>"
+			."\n\t<td class='erkl'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.</td>"
+		."\n</tr>";
+	}
+
+	// Zustand
 	if ($zus != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Zustand\" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von \"Geb&auml;ude\". Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.'>Zustand</td>";
-			echo "\n\t<td>";
+		echo "\n<tr>"
+			."\n\t<td class='li'>Zustand</td>"
+			."\n\t<td class='fett'>";
 			if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";}
-			echo $zustand."</td>";
-		echo "\n</tr>";
-	}
-
-	if ($wgf != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Weitere Geb&auml;udefunktion\" ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.'>Weitere Geb&auml;udefunktionen</td>";
-			echo "\n\t<td>";
-
-			if ($wgf != "") {
-				// weiteregebaeudefunktion ist jetzt ein Array
-				$wgflist=trim($wgf, "{}"); // kommagetrennte(?) Liste der Schluesselwerte
-				//$wgfarr=explode(",", $wgflist);
-				//for each ...
-				$sqlw="SELECT wert, bezeichner FROM v_geb_weiterefkt WHERE wert in ( $1 ) ORDER BY wert;";
-				$v = array($wgflist);
+			echo $zusv."</td>"
+			."\n\t<td class='erkl'>'Zustand' beschreibt die Beschaffenheit oder die Betriebsbereitschaft von 'Geb&auml;ude'. Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.<br>".$zusd."</td>"
+		."\n</tr>";
+	}
+
+	// Weitere GebÃ€udefunktionen
+	// Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL;
+	// Keiner zu finden. Das folgende ungetestet:
+	if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array
+		echo "\n<tr>"
+			."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>"
+			."\n\t<td>";
+			if ($wgf != "") { // Kommagetrennte Liste aus Array
+				$sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;";
+				$v = array($wgf);
 				$resw = pg_prepare("", $sqlw);
 				$resw = pg_execute("", $v);
 				if (!$resw) {
 					echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n";
-					if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgflist."'</p>";}
+					if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";}
 				}
 				$zw=0;
 				while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion
-					$wwert=$roww["wert"];
-					$wbez=$roww["bezeichner"];
-					if ($zw > 0) {echo ", ";} // Liste oder Zeile? echo "<br>"; 
-					if ($showkey) {echo "<span class='key'>".$wwert."</span>&nbsp;";}
-					echo $wbez;
+					if ($zw > 0) {echo "<br>";}
+					if ($showkey) {echo "<span class='key'>".$roww["k"]."</span>&nbsp;";}
+					echo "<span title='".$roww["d"]."'>".$roww["v"]."</span>";
 					$zw++;
 			   }
 			}
-			echo "</td>";
-		echo "\n</tr>";
-	}
-
+			echo "</td>"
+			."\n\t<td class='erkl'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.</td>"
+		."\n</tr>";
+	}
+
+	// Dachform
+	// nichts dazu in alkis_wertearten.d
 	if ($daf != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>";
-			echo "\n\t<td>";
+		echo "\n<tr>"
+			."\n\t<td class='li'>Dachform</td>"
+			."\n\t<td class='fett'>";
 			if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";}
-			echo $dach."</td>";
-		echo "\n</tr>";
-	}
-
+			echo $dach."</td>"
+			."\n\t<td class='erkl'>'Dachform' beschreibt die charakteristische Form des Daches.</td>"
+		."\n</tr>";
+	}
+
+	// ObjekthÃ¶he
 	if ($hho != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Objekth&ouml;he\" ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes.'>Objekth&ouml;he</td>";
-			echo "\n\t<td>";
-			echo $hho."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Objekth&ouml;he</td>"
+			."\n\t<td class='fett'>".$hho."</td>"
+			."\n\t<td class='erkl'>'Objekth&ouml;he' ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes.</td>"
+		."\n</tr>";
+	}
+
+	// GeschossflÃ€che
 	if ($gfl != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Geschossfl&auml;che\" ist die Geb&auml;udegeschossfl&auml;che in [qm].'>Geschossfl&auml;che</td>";
-			echo "\n\t<td>";
-			if ($gfl != "") {
-				echo $gfl." m&#178;";
-			}
-			echo "</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Geschossfl&auml;che</td>"
+			."\n\t<td class='fett'>";
+			if ($gfl != "") {echo $gfl." m&#178;";}
+			echo "</td>"
+			."\n\t<td class='erkl'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm].</td>"
+		."\n</tr>";
+	}
+
+	// GrundflÃ€che
 	if ($grf != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Grundfl&auml;che\" ist die Geb&auml;udegrundfl&auml;che in [qm].'>Grundfl&auml;che</td>";
-			echo "\n\t<td>";
-			if ($grf != "") {
-				echo $grf." m&#178;";
-			}
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Grundfl&auml;che</td>"
+			."\n\t<td class='fett'>";
+			if ($grf != "") {echo $grf." m&#178;";}
+			echo "\n\t<td class='erkl'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm].</td>"
+		."\n</tr>";
+	}
+
+	// Umbauter Raum
 	if ($ura != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Umbauter Raum\" ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.'>Umbauter Raum</td>";
-			echo "\n\t<td>";
-			echo $ura."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Umbauter Raum</td>"
+			."\n\t<td class='fett'>".$ura."</td>"
+			."\n\t<td class='erkl'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.</td>"
+		."\n</tr>";
+	}
+
+	// Baujahr
 	if ($bja != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Baujahr\" ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.'>Baujahr</td>";
-			echo "\n\t<td>";
-			echo $bja."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Baujahr</td>"
+			."\n\t<td class='fett'>".$bja."</td>"
+			."\n\t<td class='erkl'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.</td>"
+		."\n</tr>";
+	}
+
+	// Dachart
 	if ($daa != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='\"Dachart\" gibt die Art der Dacheindeckung (z.B. Reetdach) an.'>Dachart</td>";
-			echo "\n\t<td>";
-			echo $daa."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Dachart</td>"
+			."\n\t<td class='fett'>".$daa."</td>"
+			."\n\t<td class='erkl'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an.</td>"
+		."\n</tr>";
+	}
+
+	// QualitÃ€tsangaben
 	if ($qag != "" OR $allefelder) {
-		echo "\n<tr>";
-			echo "\n\t<td title='Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.'>Qualit&auml;tsangaben</td>";
-			echo "\n\t<td>";
-			echo $qag."</td>";
-		echo "\n</tr>";
-	}
-
+		echo "\n<tr>"
+			."\n\t<td class='li'>Qualit&auml;tsangaben</td>"
+			."\n\t<td class='fett'>".$qag."</td>"
+			."\n\t<td class='erkl'>Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.</td>"
+		."\n</tr>";
+	}
 	echo "\n</table>";
 }
 if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";}
-// ++ ToDo: Verschnitt mit FS
+
+// ++ ToDo: Verschnitt mit FS?
 
 ?>
 
-<form action=''>
-	<div class='buttonbereich noprint'>
-	<hr>
-		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
-		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
-	</div>
-</form>
+<div class='buttonbereich noprint'>
+<hr>
+	<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+	<a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
+</div>
 
 <?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
