

        var suchform_adr = '<div style="padding-left:10px; padding-top:15px; font-size:12px;" >';
            suchform_adr+= '<form name="sucheadr" action="" onSubmit="return false;" >';
            suchform_adr+='     <span class="text_legende" style="font-weight:bold;">Ortschaft:</span> <br><br>';
            suchform_adr+='     <select name="gemeinde" onchange="getStrasse(this.value)" style="width: 180px; font-size:11px;">';
            suchform_adr+='        <option value="0000">Ortschaft wählen...</option>';
            suchform_adr+='        <option value="9496">Balzers</option>';
            suchform_adr+='        <option value="9492">Eschen</option>';
            suchform_adr+='        <option value="9487">Gamprin-Bendern</option>';
            suchform_adr+='        <option value="9493">Mauren</option>';
            suchform_adr+='        <option value="9485">Nendeln</option>';
            suchform_adr+='        <option value="9498">Planken</option>';
            suchform_adr+='        <option value="9491">Ruggell</option>';
            suchform_adr+='        <option value="9494">Schaan</option>';
            suchform_adr+='        <option value="9486">Schaanwald</option>';
            suchform_adr+='        <option value="9488">Schellenberg</option>';
            suchform_adr+='        <option value="9495">Triesen</option>';
            suchform_adr+='        <option value="9497">Triesenberg</option>';
            suchform_adr+='        <option value="9490">Vaduz</option>';
            suchform_adr+='      </select>';
            suchform_adr+='      <br> <br>';
            suchform_adr+='      <span class="text_legende" style="font-weight:bold;">Strasse:</span><br><br>';
            suchform_adr+='      <select name="strasse" onchange="getHausnummer()" style="width: 180px;font-size:11px;">';
            suchform_adr+='        <option value="0000">Strasse wählen...</option>';
            suchform_adr+='      </select>';
            suchform_adr+='      <br> <br>';
            suchform_adr+='      <span class="text_legende" style="font-weight:bold;">Hausnummer:</span> <br> <br>';
            suchform_adr+='      <div>';
            suchform_adr+='        <span style="float:left;"> ';
            suchform_adr+='           <select name="hausnummer" style="width: 180px;font-size:11px;">';
            suchform_adr+='               <option value="0000">Nummer wählen...</option>';
            suchform_adr+='           </select>';
            suchform_adr+='       </span>';
            suchform_adr+='      <span id="suchbutton1"></span>';
            suchform_adr+='     </div>';
            suchform_adr+='     <br>';
            suchform_adr+='  </form>';
            suchform_adr+='  </div>';
            suchform_adr+=' <div class="text_legende" style="height: 50px; font-size:12px; padding-top:10px; padding-left: 10px;" id="message_adr"><p>Wählen Sie zuerst die Ortschaft<p></div>';


        var suchform_grst = '<div style="padding-left:10px; padding-top: 15px; font-size:12px;" > ';
            suchform_grst+= '<form name="suchegrst" action="" onSubmit="return false;">';
            suchform_grst+='      <span class="text_legende" style="font-weight:bold;">Gemeinde:</span> <br> <br>';
            suchform_grst+='      <select name="gemeinde" style="width: 180px; font-size:11px;">';
            suchform_grst+='        <option value="0000">Gemeinde wählen...</option>';
            suchform_grst+='        <option value="7003">Balzers</option>';
            suchform_grst+='        <option value="7007">Eschen-Nendeln</option>';
            suchform_grst+='        <option value="7009">Gamprin-Bendern</option>';
            suchform_grst+='        <option value="7008">Mauren-Schaanwald</option>';
            suchform_grst+='        <option value="7006">Planken</option>'
            suchform_grst+='        <option value="7010">Ruggell</option>';
            suchform_grst+='        <option value="7005">Schaan</option>';
            suchform_grst+='        <option value="7011">Schellenberg</option>';
            suchform_grst+='        <option value="7002">Triesen</option>';
            suchform_grst+='        <option value="7004">Triesenberg</option>';
            suchform_grst+='        <option value="7001">Vaduz</option>';
            suchform_grst+='     </select>';
            suchform_grst+='     <br><br>';
            suchform_grst+='     <span class="text_legende" style="font-weight:bold;">Grundstück:</span> <br> <br>';
            suchform_grst+= '    <div><input style="float:left;" name="grundstueck" type="text" size="26" maxlength="30" action="">';
            suchform_grst+='       <span id="suchbutton2"></span>';
            suchform_grst+='     </div>';
            suchform_grst+='   </form>';
            suchform_grst+='</div>';
            suchform_grst+='<div class="text_legende" style="height: 50px; font-size:12px; padding-top:20px; padding-left: 10px;" id="message_grst"><p>Wählen Sie zuerst die Gemeinde<p></div>';


        var suchform_poi = '<div style="padding-left:10px; padding-top: 15px; font-size:12px;" > ';
            suchform_poi+= '<form name="suchepoi" action="" onSubmit="return false;">';
            suchform_poi+='      <span class="text_legende" style="font-weight:bold;">Gemeinde:</span> <br> <br>';
            suchform_poi+='      <select name="gemeinde" onchange="getPoi(this.value)" style="width: 180px; font-size:11px;">';
            suchform_poi+='        <option value="0000">Gemeinde wählen...</option>';
            suchform_poi+='        <option value="7003">Balzers</option>';
            suchform_poi+='        <option value="7007">Eschen-Nendeln</option>';
            suchform_poi+='        <option value="7009">Gamprin-Bendern</option>';
            suchform_poi+='        <option value="7008">Mauren-Schaanwald</option>';
            suchform_poi+='        <option value="7006">Planken</option>'
            suchform_poi+='        <option value="7010">Ruggell</option>';
            suchform_poi+='        <option value="7005">Schaan</option>';
            suchform_poi+='        <option value="7011">Schellenberg</option>';
            suchform_poi+='        <option value="7002">Triesen</option>';
            suchform_poi+='        <option value="7004">Triesenberg</option>';
            suchform_poi+='        <option value="7001">Vaduz</option>';
            suchform_poi+='     </select>';
            suchform_poi+='     <br><br>';
            suchform_poi+='     <span class="text_legende" style="font-weight:bold;">Typ:</span> <br> <br>';
            suchform_poi+='      <select name="poityp" onchange="getPoi(this.value)" style="width: 180px; font-size:11px;">';
            suchform_poi+='        <option value="0001">Objektname</option>';
            suchform_poi+='        <option value="0002">Flurname</option>';
            suchform_poi+='     </select>';
            suchform_poi+='     <br><br>';
            suchform_poi+='      <span class="text_legende" style="font-weight:bold;">Name:</span> <br> <br>';
            suchform_poi+='      <div>';
            suchform_poi+='        <span style="float:left;"> ';
            suchform_poi+='           <select name="poiname" style="width: 180px;font-size:11px;">';
            suchform_poi+='               <option value="0000">Name wählen...</option>';
            suchform_poi+='           </select>';
            suchform_poi+='       </span>';
            suchform_poi+='      <span id="suchbutton3"></span>';
            suchform_poi+='     </div>';
            suchform_poi+='   </form>';
            suchform_poi+='</div>';
            suchform_poi+='<div class="text_legende" style="height: 50px; font-size:12px; padding-top:20px; padding-left: 10px;" id="message_poi"><p>Wählen Sie zuerst die Gemeinde und den Typ<p></div>';



        var suchform_koo = '<div style="padding-left:10px; padding-top: 15px; font-size:12px;" > ';
            suchform_koo+= '<form name="suchekoo" action="" onSubmit="return false;">';
            suchform_koo+='    <span class="text_legende" style="font-weight:bold;">Ostwert:</span> <br> <br>';
            suchform_koo+= '   <input style="float:left;" name="ostwert" type="text" size="26" maxlength="30" action=""><br><br>';
            suchform_koo+='    <span class="text_legende" style="font-weight:bold;">Nordwert:</span> <br> <br>';
            suchform_koo+= '  <input style="float:left;" name="nordwert" type="text" size="26" maxlength="30" action="">';
            suchform_koo+='   <br><br><span id="suchbuttonkoo"></span>';
            suchform_koo+='   </form>';
            suchform_koo+='</div>';
            suchform_koo+='<div class="text_legende" style="height: 50px; font-size:12px; padding-top:20px; padding-left: 10px;" id="message_koo"><p>Landeskoordinaten in Meter eingeben<p></div>';


        var suchform_flie = '<div style="padding-left:10px; padding-top: 15px; font-size:12px;" > ';
            suchform_flie+= '<form name="sucheflie" action="" onSubmit="return false;">';
            suchform_flie+='      <span class="text_legende" style="font-weight:bold;">Fliessgewässer:</span> <br> <br>';
            suchform_flie+='      <select name="name"  style="width: 180px; font-size:11px;">';
            suchform_flie+='        <option value="0000">Gewässer wählen...</option>';
            suchform_flie+='     </select>';
            suchform_flie+='     <br><br>';
            suchform_flie+='      <span style="padding-left:10px;" id="suchbuttonflie"></span>';
            suchform_flie+=' </form>';
            suchform_flie+='</div>';
            suchform_flie+='<div class="text_legende" style="height: 50px; font-size:12px; padding-top:20px; padding-left: 10px;" id="message_flie"><p>Wählen Sie zuerst die Gemeinde und den Typ<p></div>';







function getbfsnr (plz) {
   var bfsnr = 0;
   if ( plz == "9490" ) { bfsnr=7001}
   if ( plz == "9495" ) { bfsnr=7002}
   if ( plz == "9496" ) { bfsnr=7003}
   if ( plz == "9497" ) { bfsnr=7004}
   if ( plz == "9494" ) { bfsnr=7005}
   if ( plz == "9498" ) { bfsnr=7006}
   if ( plz == "9492" ) { bfsnr=7007}
   if ( plz == "9485" ) { bfsnr=7007}
   if ( plz == "9493" ) { bfsnr=7008}
   if ( plz == "9486" ) { bfsnr=7008}
   if ( plz == "9487" ) { bfsnr=7009}
   if ( plz == "9491" ) { bfsnr=7010}
   if ( plz == "9488" ) { bfsnr=7011}
   return bfsnr;
}


function StringToXML(string) {
// takes a string and converts it to an xml-doc
  if (document.implementation && document.implementation.createDocument) {
     var xmlparser = new DOMParser();
    return xmlparser.parseFromString(string, "text/xml");
  } else if (window.ActiveXObject) {
    var xmldoc = new ActiveXObject("microsoft.xmldom");
    xmldoc.async = "false";
    var status = xmldoc.loadXML(string);   
    if (status) {
      return xmldoc;
      }
    else {
      return null;    
    }
  }
  return null;
}

function suche_messagebox(el, htmlcontent) {

  if ( el == 'adr' ) {
         document.getElementById('message_adr').innerHTML=htmlcontent;
  }
  else if ( el == 'grst') {
         document.getElementById('message_grst').innerHTML=htmlcontent;
  }
  else if ( el == 'poi') {
         document.getElementById('message_poi').innerHTML=htmlcontent;
  }
  else if ( el == 'koo') {
         document.getElementById('message_koo').innerHTML=htmlcontent;
  }
  else if ( el == 'flie') {
         document.getElementById('message_flie').innerHTML=htmlcontent;
  }
  else {
   alert('fehler');
  }

}

function sucheLayerClear (){

  if (map.getLayersByName("suchen").length > 0) {
      var suchLayers = map.getLayersByName("suchen");
      suchLayers[0].removeFeatures(suchLayers[0].features);
  }

}
     
////////////////////////////////////////////////////////////////////
// Openlayers.Layer "suche" kreieren falls nicht schon existiert    
//////////////////////////////////////////////////////////////////

function get_sucheMapLayer () {

  if (map.getLayersByName("suchen").length == 0) {

        var myStyles = new OpenLayers.StyleMap({
                "default": new OpenLayers.Style({
                    pointRadius: 30, 
                    fillColor: "#8C00C6",
                    strokeColor: "#8C00C6",
                    strokeWidth: 2,
                    fillOpacity: 0.1
                    }),
                "select": new OpenLayers.Style({
                    fillColor: "#66ccff",
                    strokeColor: "#3399ff"
                })
             });
      var suchenLayer = new OpenLayers.Layer.Vector("suchen", {
           styleMap: myStyles,
           displayInLayerSwitcher: false
      });
      map.addLayer(suchenLayer);
  }
  else {
      var suchLayers = map.getLayersByName("suchen");
      suchLayers[0].removeFeatures(suchLayers[0].features);
      suchenLayer=suchLayers[0];
  }

  return suchenLayer;

}

///////////////////////////////////////////////////////
//           Adresse suchen
///////////////////////////////////////////////

function getStrasse(gem_bfs) {

      var suchlayer=get_sucheMapLayer();
      if(document.sucheadr.gemeinde.selectedIndex == 0) {
        document.sucheadr.strasse.options.length=1;
        document.sucheadr.hausnummer.options.length=1;
        return;
      }
    
      document.sucheadr.strasse[0].text = 'Daten werden geladen...';
      document.sucheadr.strasse.options.length=1;
      document.sucheadr.hausnummer.options.length=1;
      url = "/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoportal.map&service=wfs&version=1.0.0&request=getfeature&propertyname=plz,strassenname,strassennummer&typename=PLZ_STR&maxfeatures=200&";
      url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>plz</PropertyName><Literal>' + gem_bfs + '</Literal></PropertyIsEqualTo></Filter>';
      OpenLayers.loadURL(url, '', this, setStrasse, setStrasse);
      suche_messagebox ('adr','');     
      
};

function setStrasse(response) {

     response.ContentType = "application/xml";
     var doc=response.responseXML;
      var gml = new OpenLayers.Format.GML({
           'extractAttributes': true
      });
      var features  = [];
      features = gml.read(doc);
      var strassen = [];
      for (var i = 0; i < features.length; i++) {
          strassen[i] = features[i].attributes['strassenname'] + ';' + features[i].attributes['strassennummer'];
      }
      strassen.sort();
      for (var i = 0; i < strassen.length; i++) {
          var temp= strassen[i].split(";");
          document.sucheadr.strasse[i+1] = new Option(temp[0], temp[1]);
      }
      suche_messagebox ('adr', '');  
      document.sucheadr.strasse[0].text = 'Strasse wählen...';      
};

function getHausnummer() {
 
      if(document.sucheadr.strasse.selectedIndex == 0) {
          document.sucheadr.hausnummer.options.length=1;
         return;
      }

      document.sucheadr.hausnummer[0].text = 'Daten werden geladen...';
      document.sucheadr.hausnummer.options.length=1;
      var gem_bfs = document.sucheadr.gemeinde.value;
      var strasse_id = document.sucheadr.strasse.value;
     
      url = "/cgi-bin/AVWMS?service=wfs&version=1.0.0&request=getfeature&typename=HADR&maxfeatures=1000&propertyname=msGeometry&";
      url+= 'filter=<Filter><AND><PropertyIsEqualTo><PropertyName>plz</PropertyName><Literal>' + gem_bfs +'</Literal></PropertyIsEqualTo>';
      url+= '<PropertyIsEqualTo><PropertyName>strassennummer</PropertyName><Literal>' + strasse_id + '</Literal></PropertyIsEqualTo></AND></Filter>';
      suche_messagebox ('adr', ''); 
      OpenLayers.loadURL(url, '', this, setHausnummer, setHausnummer);
}

function setHausnummer(response) {
      response.ContentType = "application/xml";
      var doc = response.responseXML;
      var gml = new OpenLayers.Format.GML({
          'extractAttributes': true
      });
      var features  = [];
      features = gml.read(doc);
      
      // die Hausnummern richtig sortieren
      hausnummern = new Array(features.length);    
      for (var i = 0; i < features.length; i++) {
        if(features[i].attributes['hausnummer'].length) {
        
        }
      hausnummern[i] = features[i].attributes['hausnummer'];
      }
      hausnummern.sort(hnrSort);
  
      for (var i = 0; i < features.length; i++) {
        document.sucheadr.hausnummer[i+1] = new Option(hausnummern[i], hausnummern[i]);
      }
      suche_messagebox ('adr', ''); 
      document.sucheadr.hausnummer[0].text = 'Nummer wählen...';
};


function showHausnummer() {

  sucheLayerClear ();
  var strasse_id = document.sucheadr.strasse.value; // könnte man auch als Value von Hausnummer speichern... dann aber mehr download
  var hausnummer = document.sucheadr.hausnummer.value;
  if (strasse_id == '0000' || hausnummer == '0000') { suche_messagebox('adr', "Bitte zuerst die Ortschaft, Strasse und Hausnummer wählen"); return  }
  url = "/cgi-bin/AVWMS?service=wfs&version=1.0.0&request=getfeature&typename=HADR&maxfeatures=1&";
  url+= 'filter=<Filter><AND><PropertyIsEqualTo><PropertyName>strassennummer</PropertyName><Literal>' + strasse_id +'</Literal></PropertyIsEqualTo>';
  url+= '<PropertyIsEqualTo><PropertyName>hausnummer</PropertyName><Literal>' + hausnummer + '</Literal></PropertyIsEqualTo></AND></Filter>';
  OpenLayers.loadURL(url, '', this, zoomToHausnummer, zoomToHausnummer);

};

function zoomToHausnummer(response) {
  response.ContentType = "application/xml";
  var doc = response.responseXML;

  var gml = new OpenLayers.Format.GML({
    'extractAttributes': true
  });
  suche_messagebox('adr',"");
  var features  = [];
  features = gml.read(doc);
/*
  suchLayers=map.getLayersByName("suchen");
  suchLayer=suchLayers[0];
*/
  suchLayer=get_sucheMapLayer();
  console.log(suchLayer);
  suchLayer.addFeatures(features);
  map.setCenter(new OpenLayers.LonLat(features[0].geometry.x, features[0].geometry.y), (map.scales.length-3));
};

////////////////////////////////////////////////////    
//   Grundstueck suchen
///////////////////////////////////////////////////

function showGrundstueck() {
  var suchlayer=get_sucheMapLayer();
  sucheLayerClear ();
  var gem_bfs = document.suchegrst.gemeinde.value; // könnte man auch als Value von Hausnummer speichern... dann aber mehr download
  var nummer = document.suchegrst.grundstueck.value;
  if ( !nummer || gem_bfs == '0000') { suche_messagebox('grst', "Bitte Gemeinde und Grundstücksnummer angeben"); return };
  url = "/cgi-bin/AVWMS?service=wfs&version=1.0.0&request=getfeature&typename=RESF&maxfeatures=1&propertyname=msGeometry&";
  url+= 'filter=<Filter><AND><PropertyIsEqualTo><PropertyName>bfsnr</PropertyName><Literal>' + gem_bfs +'</Literal></PropertyIsEqualTo>';
  url+= '<PropertyIsEqualTo><PropertyName>nummer</PropertyName><Literal>' + nummer + '</Literal></PropertyIsEqualTo></AND></Filter>';
  OpenLayers.loadURL(url, '', this, zoomToGrundstueck, zoomToGrundstueck);

};

function zoomToGrundstueck(response) {

  response.ContentType = "application/xml";
  var doc = response.responseXML;
  var gml = new OpenLayers.Format.GML({
    'extractAttributes': true
  });

  var features  = [];
  features = gml.read(doc);
  if (features.length > 0 ) {
     suche_messagebox('grst', "");
/*
     suchLayers=map.getLayersByName("suchen");
     suchLayer=suchLayers[0];
*/
     suchLayer=get_sucheMapLayer();
     console.log(suchLayer);
     suchLayer.addFeatures(features);
     map.zoomToExtent(features[0].geometry.getBounds().scale(2.0)); }
  else {
    suche_messagebox('grst', "Grundstueck nicht gefunden");
  }

};

//////////////////////////////////////////
// POI und Namen Suchen 
//////////////////////////////////////////////

function getPoi() {


      var suchlayer=get_sucheMapLayer();
      if(document.suchepoi.gemeinde.selectedIndex == 0) {
        document.suchepoi.poiname.options.length=1;
        return;
      }
    
      document.suchepoi.poiname[0].text = 'Daten werden geladen...';
      document.suchepoi.poiname.options.length=1;
      var bfsnr = document.suchepoi.gemeinde.value;
      var typ = document.suchepoi.poityp.value;

   
     if ( typ == '0001' ) {
// Objektname
      url = "/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoportal.map&service=wfs&version=1.0.0&request=getfeature&propertyname=name_nummer,bfsnr,kategorie&typename=LCOBJ&maxfeatures=200&";
      url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>bfsnr</PropertyName><Literal>' + bfsnr + '</Literal></PropertyIsEqualTo></Filter>';
           
     }
     else {
// Flurname
      url = "/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoportal.map&service=wfs&version=1.0.0&request=getfeature&propertyname=name,bfsnr,kategorie&typename=LNNA&maxfeatures=200&";
      url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>bfsnr</PropertyName><Literal>' + bfsnr + '</Literal></PropertyIsEqualTo></Filter>';

     }
   
      OpenLayers.loadURL(url, '', this, setPoi, setPoi);
      suche_messagebox ('poi','');    


};


function setPoi(response) {


     response.ContentType = "application/xml";
     var typ = document.suchepoi.poityp.value;
     var doc=response.responseXML;
      var gml = new OpenLayers.Format.GML({
           'extractAttributes': true
      });
      var features  = [];
      features = gml.read(doc);
      var pois = [];
      for (var i = 0; i < features.length; i++) {
          if ( typ == '0001' ) {
            pois[i] = features[i].attributes['name_nummer'] + ';'  +   features[i].attributes['gid'] ;
          }
          else {
               pois[i] = features[i].attributes['name'] + ';'  +   features[i].attributes['gid'] ;
          }
      }
      pois.sort();
// doppelte Werte eliminieren
      var poiselim = [];
      var lastname='';
      for (var i = 0; i < pois.length; i++) {
          var temp= pois[i].split(";");
          if (lastname !=  temp[0] ) {
              poiselim.push(pois[i]);
          }
      lastname = temp[0];
      }
//
      for (var i = 0; i < poiselim.length; i++) {
          var temp= poiselim[i].split(";");
          document.suchepoi.poiname[i+1] = new Option(temp[0], temp[1]);
      }
      suche_messagebox ('adr', '');  
      document.suchepoi.poiname[0].text = 'Name wählen...';      


};


function showPoi() {

  sucheLayerClear ();
  var bfsnr = document.suchepoi.gemeinde.value; // könnte man auch als Value von Hausnummer speichern... dann aber mehr download
  var gid = document.suchepoi.poiname.value;
  var typ = document.suchepoi.poityp.value;

  if (bfsnr == '0000' || gid == '0000') { suche_messagebox('poi', "Bitte zuerst die Gemeinde und Typ wählen"); return  }

     if ( typ == '0001' ) {
// Objektname
      url = "/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoportal.map&service=wfs&version=1.0.0&request=getfeature&propertyname=name_nummer,bfsnr,kategorie,pos&typename=LCOBJ&maxfeatures=200&";
      url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>gid</PropertyName><Literal>' + gid + '</Literal></PropertyIsEqualTo></Filter>';
           
     }
     else {
// Flurname
      url = "/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoportal.map&service=wfs&version=1.0.0&request=getfeature&propertyname=name,bfsnr,kategorie,pos&typename=LNNA&maxfeatures=200&";
      url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>gid</PropertyName><Literal>' + gid + '</Literal></PropertyIsEqualTo></Filter>';

     }

 
    OpenLayers.loadURL(url, '', this, zoomToPoi, zoomToPoi);

};




function zoomToPoi(response) {

  response.ContentType = "application/xml";
  var doc = response.responseXML;

  var gml = new OpenLayers.Format.GML({
    'extractAttributes': true
  });
  suche_messagebox('poi',"");
  var features  = [];
  features = gml.read(doc);
  suchLayer=get_sucheMapLayer();
  console.log(suchLayer);
  suchLayer.addFeatures(features);

  map.setCenter(new OpenLayers.LonLat(features[0].geometry.x, features[0].geometry.y), (map.scales.length-4));

};


///////////////////////////////////////////////////
//   Koordinaten suchen
//////////////////////////////////////////////////

function showKoord() {

  var suchLayer=get_sucheMapLayer();
  sucheLayerClear ();
  suche_messagebox('koo',"");
  var ost = document.suchekoo.ostwert.value;
  var nord = document.suchekoo.nordwert.value;

  if ( !nord || !ost ) { suche_messagebox('koo', "Bitte zuerst beide Koordinatenwerte eingeben"); return };
  if ( ost < 150000 || ost > 190000 || nord < 5000 || nord > 60000 ) { suche_messagebox('koo', "ungültige Koordinate"); return }

  var features  = [];
  features[0] = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(ost, nord));
  suchLayer.addFeatures(features);
  map.setCenter(new OpenLayers.LonLat(features[0].geometry.x, features[0].geometry.y), (map.scales.length-4));

};


//////////////////////////////////////////////////////////////////////
///  FLiessgwaesser
//////////////////////////////////////////////////////////////////////

function getFlie() {
 
/*
      if(document.sucheadr.strasse.selectedIndex == 0) {
          document.sucheadr.hausnummer.options.length=1;
         return;
      }
*/

      var suchlayer=get_sucheMapLayer();
      document.sucheflie.name[0].text = 'Daten werden geladen...';
      document.sucheflie.name.options.length=1;
     
      url = "/cgi-bin/GWS?service=wfs&version=1.0.0&request=getfeature&typename=FLIEROUTE&maxfeatures=3000&propertyname=name,gid";
//      url+= 'filter=<Filter><AND><PropertyIsEqualTo><PropertyName>plz</PropertyName><Literal>' + gem_bfs +'</Literal></PropertyIsEqualTo>';
//      url+= '<PropertyIsEqualTo><PropertyName>strassennummer</PropertyName><Literal>' + strasse_id + '</Literal></PropertyIsEqualTo></AND></Filter>';
      suche_messagebox ('flie', ''); 
      OpenLayers.loadURL(url, '', this, setFlie, setFlie);
}

function setFlie(response) {
      response.ContentType = "application/xml";
      var doc = response.responseXML;
      var gml = new OpenLayers.Format.GML({
          'extractAttributes': true
      });
      var features  = [];
      features = gml.read(doc);
      var flies = [];
      for (var i = 0; i < features.length; i++) {
          flies[i] = features[i].attributes['name'] + ';'  +   features[i].attributes['gid'] ;
      }
      flies.sort();
      var fliesel  = [];
      var lastname="";
      for (var i = 0; i < flies.length; i++) {
          var temp= flies[i].split(";");
          if (lastname !=  temp[0] ) {
              fliesel.push(flies[i]);
          }
          lastname = temp[0];
      }
 
      for (var i = 0; i < fliesel.length; i++) {
          var temp= fliesel[i].split(";");
          document.sucheflie.name[i+1] = new Option(temp[0], temp[1]);
      }
      suche_messagebox ('flie', ''); 
      document.sucheflie.name[0].text = 'Gewässer wählen...';
};

function showFlie() {

  sucheLayerClear ();
  var gid = document.sucheflie.name.value;
  var name = document.sucheflie.name[document.sucheflie.name.selectedIndex].text;
  name = escape (name);

  url = "/cgi-bin/GWS?service=wfs&version=1.0.0&request=getfeature&propertyname=name,art&typename=FLIEROUTE&maxfeatures=30&";
  url+= 'Filter=<Filter><PropertyIsEqualTo><PropertyName>name</PropertyName><Literal>' + name + '</Literal></PropertyIsEqualTo></Filter>';
  OpenLayers.loadURL(url, '', this, zoomToFlie, zoomToFlie);

};



function zoomToFlie(response) {

  response.ContentType = "application/xml";
  var doc = response.responseXML;

  var gml = new OpenLayers.Format.GML({
    'extractAttributes': true
  });
  suche_messagebox('flie',"");
  var features  = [];
  features = gml.read(doc);
  suchLayer=get_sucheMapLayer();
  console.log(suchLayer);
  suchLayer.addFeatures(features);
//  map.setCenter(new OpenLayers.LonLat(features[0].geometry.x, features[0].geometry.y), (map.scales.length-4));
  map.zoomToExtent(features[0].geometry.getBounds()); 

};


////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////

    
    
// Liest die Gemeinde aus der Select-Box und
// liest die Geometrie von dieser Gemeinde vom 
// WFS-Server und zoomed die Karte zur Gemeinde. 
    
function showGemeinde() {
  var gem_bfs = document.suchegrst.gemeinde.value;
  if ( gem_bfs == '0000' ) {
   suche_messagebox('grst', "Bitte zuerst die Gemeinde wählen"); 
   return
  }
  url = "/cgi-bin/AVWMS?service=wfs&version=1.1.0&request=getfeature&typename=MBSF&maxfeatures=1&";
  url+= 'filter=<Filter><PropertyIsEqualTo><PropertyName>bfsnr</PropertyName><Literal>' + gem_bfs +'</Literal></PropertyIsEqualTo></Filter>';
  OpenLayers.loadURL(url, '', this, zoomToGemeinde, zoomToGemeinde);
}

function zoomToGemeinde(response) {
  response.ContentType = "application/xml";
  var doc = response.responseXML;
  alert (response.responseText);
/*
  if (!doc || response.fileType!="XML") {
    doc = OpenLayers.parseXMLString(response.responseText);
  }
*/
  var gml = new OpenLayers.Format.GML({
    'extractAttributes': true
  });

  var features  = [];
  features = gml.read(doc);
  alert(features[0].attributes);
  alert(features[0].geometry.toString());
  features[0].geometry.calculateBounds();
  map.zoomToExtent(features[0].geometry.bounds());
};



// Liest die BFS-Nr. und die Grundstücksnummer aus den select-Boxen
// und liest die Geometry von diesem Grundstück von WFS-Server
// und zoomed die Karte zum Grundstück.



// POI sollte schon sortiert vom Server kommen, da die Suche
// über ogc_fid geht. 2 dim-Array sortieren ist doof.


    
// Sortierungsalgorithmus für Hausnummern mit Zusatz

function hnrSort(a,b) {
  if(a.match(/[a-zA-Z]/g) != null){
   a = a.substring(0,a.length-1);
  }
  if(b.match(/[a-zA-Z]/g) != null){
   b= b.substring(0,b.length-1);
  }
 return(a-b);
} 

