Index: trunk/mapbender/http/nav/alkisnav_grd.php
===================================================================
--- trunk/mapbender/http/nav/alkisnav_grd.php	(revision 282)
+++ trunk/mapbender/http/nav/alkisnav_grd.php	(revision 283)
@@ -8,4 +8,5 @@
 	2013-04-29	Test mit IE
 	2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen
+	2013-05-08  Hervorhebung aktuelles Objekt, in Arbeit ...
 */
 $cntget = extract($_GET);
@@ -59,5 +60,5 @@
 	// Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR)
 	// Return: 9=Fehler, 0=Listen alle Bezirke 1=Such Bezirk-Name
-	//         2=Such Bezirk-Nummer $zgbbez, 3=Such Blatt $zblatt, 4=Such BVNR $zbvnr
+	//  2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR
 	global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;	
 	$arr=explode("-", $gbkennz, 3);
@@ -71,5 +72,5 @@
 	} elseif ($zblatt == "") {
 		return 2; // Such Bezirk-NUMMER
-	} else  { // Format von BlattNr pruefen
+	} else { // Format von BlattNr pruefen
 	//'19'      linksbÃŒndig
 	//'000019 ' gefÃŒllt 6 + blank
@@ -108,7 +109,7 @@
 }
 
-function ListAG($liste_ag) {
+function ListAG($liste_ag, $aktuell) {
 	// Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste
-	global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz;
+	global $debug;
 	$linelimit=40;
 	$sql ="SELECT a.stelle, a.bezeichnung AS ag FROM ax_dienststelle a ";
@@ -119,5 +120,5 @@
 	if (!$res) {
 		echo "\n<p class='err'>Fehler bei Amtsgerichte</p>";
-		if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
 		return 0;
 	}
@@ -126,5 +127,5 @@
 		$anr=$row["stelle"];
 		$ag=$row["ag"];		
-		zeile_ag ($ag, $anr);
+		zeile_ag ($ag, $anr, $aktuell);
 		$cnt++;
 	}
@@ -144,8 +145,10 @@
 	// Auch wenn BlÃ€tter da sind, kann es eine Sackgasse sein. 
 	// Manchmal haben die BlÃ€tter keine FlurstÃŒcke im Filter-Bereich
-	global $con, $gkz, $gemeinde, $epsg, $debug, $gbkennz;
+	global $debug;
 	$linelimit=100; // Bezirke/AG
+
 	// Head
-	ListAG( "'".$agkey."'" ); // hier nur fÃŒr 1
+	ListAG("'".$agkey."'", true); // hier nur fÃŒr 1
+
 	// Body
 	$sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g ";
@@ -167,5 +170,5 @@
 		$gnam=$row["bezeichnung"];
 		$gnr=$row["bezirk"];
-		zeile_gbbez($gnam, $gnr);
+		zeile_gbbez($gnam, $gnr, false);
 		$cnt++;
 	}
@@ -181,7 +184,8 @@
 }
 
-function ag_bez_head($gbbez) {
+function ag_bez_head($gbbez, $bezaktuell) {
 	// Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen AG und Bezirk ausgeben
 	// Parameter = SchlÃŒssel des Bezirks
+	#global $debug;
 	$sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g ";
 	$sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 LIMIT 1;";
@@ -198,6 +202,6 @@
 		$ag=$row["ag"]; // AG Bezeichnung
 		$anr=$row["stelle"]; // AG Key
-		zeile_ag($ag, $anr); // Amtsgericht
-		zeile_gbbez($gnam, $gbbez); // Bezirk
+		zeile_ag($ag, $anr, false); // Amtsgericht
+		zeile_gbbez($gnam, $gbbez, $bezaktuell); // Bezirk
 	} else {
   		echo "\n<div class='gk' title='Grundbuchbezirk'>";
@@ -212,5 +216,5 @@
 function SuchGBBezName() {
 	// Grundbuch-Bezirk suchen nach Name(-nsanfang)
-	global $con, $gkz, $gemeinde, $debug, $gbkennz;
+	global $gkz, $gemeinde, $debug, $gbkennz;
 	$linelimit=80;
 	$sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g ";
@@ -241,9 +245,9 @@
 			$gwag = $anr;
 			$ag=$row["ag"];
-			zeile_ag($ag, $anr);
+			zeile_ag($ag, $anr, false);
 		}
 		$gnam=$row["bezeichnung"];
 		$gnr=$row["bezirk"];
-		zeile_gbbez ($gnam, $gnr);
+		zeile_gbbez ($gnam, $gnr, false);
 		$cnt++;
 	}
@@ -263,5 +267,5 @@
 function EinBezirk($showParent) {
 	// Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben
-	global $con, $gkz, $gemeinde, $epsg, $debug, $zgbbez, $auskpath;
+	global $gemeinde, $debug, $zgbbez, $auskpath;
 	$linelimit=300; // max. Blatt je Bezirk
 	// Dies Limit ist nicht ausreichend fÃŒr alle BlÃ€tter eines Bezirks, aber ...
@@ -272,5 +276,5 @@
 	// Head
 	if ($showParent) {
-		ag_bez_head($zgbbez); // AG und BEZ ausgeben
+		ag_bez_head($zgbbez, true); // AG und BEZ ausgeben
 	}
 	// Body
@@ -288,5 +292,5 @@
 		$blatt=$row["blatt"];
 		$blattgml=$row["gml_id"];
-		zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, "");
+		zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, "", false);
 		$cntbl++;
 	}
@@ -298,8 +302,6 @@
 		// +++ Hier oft ÃŒberschritten! BlÃ€tter-Funktion einfÃŒhren
 		echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>";
-
-		// Vorbelegen des Eingabefeldes fÃŒr neue Suche?
-		echo "<script type='text/javascript'>parent.GrdGazetteerFrame.gbkennz.value='".$zgbbez."-??';</script>";
-		
+		// Vorbelegen des Eingabefeldes fÃŒr neue Suche
+		echo "<script type='text/javascript'>parent.GrdGazetteerFrame.gbkennz.value='".$zgbbez."-?';</script>";
 	} elseif ($cntbl > 1) {
 		echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit	
@@ -310,5 +312,5 @@
 function gml_blatt() {
 	// Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln.
-	global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz;
+	global $debug, $zgbbez, $zblatt, $zblattn, $zblattz;
 	$sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; 
 	$sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung ";
@@ -342,12 +344,12 @@
 function EinBlatt($showParent) {
 	// Kennzeichen Bezirk + Blatt wurde eingegeben oder verlinkt
-	global $con, $gkz, $debug, $gemeinde, $epsg, $zgbbez, $zblatt, $blattgml, $gbbeznam;
+	global $debug, $gemeinde, $zgbbez, $zblatt, $blattgml, $gbbeznam;
 	// Head
 	if ($showParent) {
-		ag_bez_head($zgbbez); // AG + BEZ
-		zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "");
+		ag_bez_head($zgbbez, false); // AG + BEZ
+		zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "", true);
 	}
 	// Body
-	GB_Buchung_FS(200); // Blatt -> Buchung -> Flurstueck (max. 200)
+	GB_Buchung_FS(200, $zgbbez."-".$zblatt); // Blatt -> Buchung -> Flurstueck (max. 200)
 	return; 
 }
@@ -356,5 +358,5 @@
 	// Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben.
 	// Dazu die gml_id der Buchungsstelle ermitteln, um "function EinGrundstueck" benutzen zu kÃ¶nnen.
-	global $con, $gkz, $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;
+	global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;
 	// Blatt ->  B u c h u n g s s t e l l e
 	$sql ="SELECT s.gml_id FROM ax_buchungsstelle s ";
@@ -394,32 +396,30 @@
 	// Die gml_id der Buchungsstelle (BVNR, GrundstÃŒck) ist bekannt = $buchunggml
 	// Die gebuchten FlurstÃŒcke und dienende/herrschenden Buchungen werden ausgegeben.
-	global $con, $gkz, $debug, $gemeinde, $epsg, $scalefs, $epsg, $auskpath, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter;
+	global $debug, $gemeinde, $epsg, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter;
 	// NoLimit?
+
+	// Head
 	if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben
 		if ($zgbbez.$zblatt != "") {
-			ag_bez_head($zgbbez); // AG + BEZ
-			zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, "");
+			ag_bez_head($zgbbez, false); // AG + BEZ
+			zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, "", false);
 			// $gnam leer lassen Knoten "Bezirk" steht drÃŒber
 		} else {
 			echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>";
-			// +++ Dann suche sie !!			
-		}
-		zeile_buchung ($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz."-".$zbvnr, false);
-	}
-
+		} // ++ suchen!
+		zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true);
+	}
 // SQL-Bausteine
 // dienend $1 gml_id von
 //         Buchungsstelle  <vs/an<  Buchungsstelle sh
 //         (dienend)                (herrschend)
-//
 // direkt  $1 gml_id von 
 //         Buchungsstelle                              <vs/istGebucht< FlurstÃŒck > Gemarkung
-//
 // Recht   $1 gml_id von 
 //         Buchungsstelle  >vs/an>  Buchungsstelle sd  <vf/istGebucht< FlurstÃŒck > Gemarkung
-//         (herrschend)             (dienend)
-//                                                 sd  >vd/istBestandteilVon> bd > gd
-
-	// Anfang gleich (Select-Liste)
+//         (herrschend)             (dienend)      sd  >vd/istBestandteilVon> bd > gd
+
+	// Body
+	// Anfang (Select-Liste) gleich 
 	$sqlanf ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";
 	if($epsg == "25832") { // Transform nicht notwendig
@@ -461,7 +461,8 @@
 		$fskenn=$row["zaehler"];
 		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
-		zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur );
+		zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur, false);
 		$zfs1++;
 	}
+	// Zwischen-Foot
 	if($zfs1 == 0) {
 		echo "\n<p class='anz'>Kein Flurst&uuml;ck direkt</p>";
@@ -512,10 +513,10 @@
 		if ($gwblatt != $dienblatt) { // Gruppierung Blatt - dienend
 			$gwblatt = $dienblatt; // Steuerg GW Blatt
-			zeile_blatt ($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, "");
+			zeile_blatt($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, "");
 			$gwbvnr="";
 		}
 		if ($gwbvnr != $dienlfd) { // Gruppierung Buchung (BVNR) - dienend
 			$gwbvnr = $dienlfd; // Steuerg GW BVNR
-			zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblattlnk."-".$dienlfd, true);
+			zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblatt, true);
 		} // ++ Buchungsart? Welches Recht?
 		$fs_gml=$row["gml_id"];
@@ -525,7 +526,13 @@
 		$fskenn=$row["zaehler"];
 		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
-		zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur );
+		zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur, false);
 		$zfs2++;
 	}
+
+// Teil 3
+// ++  Wenn nur 1 GrundstÃŒck untersucht wird, dann dazu auch die 
+//     berechtigten (herrschenden) GrundbÃŒcher anzeigen und verlinken (ohne FS))
+
+	// Foot
 	if($zfs2 == 0 AND $zfs1 == 0) {
 		echo "\n<p class='anz'>Kein Recht an Flst.</p>";
@@ -559,5 +566,5 @@
 // Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen.
 if ($buchunggml != "") { // gml der Buchungsstelle
-	$trans="Flurst. zur Buchungsstelle (Link)";
+	$trans="Flurst&uuml;cke zur Buchungsstelle"; // Link
 	EinGrundstueck(true);
 
@@ -575,5 +582,5 @@
 		case 0: // keine Eingabe
 			$trans="Liste der Amtsgerichte";
-			ListAG($ag_liste);
+			ListAG($ag_liste, false);
 			break;
 		case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke
@@ -604,5 +611,5 @@
 			$buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen
 			if ($buchunggml != "") { 		// .. wurde geliefert 
-				$trans="Flurst. zur Buchungsstelle (Eingabe)";
+				$trans="Flurst&uuml;cke zur Buchungsstelle"; // Eingabe
 				EinGrundstueck(true);	// mit Backlink
 			} else{
@@ -617,5 +624,8 @@
 }
 // Titel im Kopf anzeigen
-echo "\n<script type='text/javascript'>\n\ttranstitle('".$trans."')\n</script>";
+echo "
+<script type='text/javascript'>
+	transtitle('".$trans."'); 
+</script>";
 
 ?>
