// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//  Teil (2) des myWMSClient (C) BT-GIS, E. Gerstner, 2006
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// =====================================================================
// Initialisierung benoetigter Variablen
// =====================================================================
var merk_open=false;
var minimap_is_open=true;
var infobox_is_open=false;
var tree_is_open=true;
var maps_is_open=false;
var merkinfo_show=true;
var tooltip_is_open=false;
var shiftx, shifty;
var myPlotBBox = new Array();
var myMapCenter = new Array();
var myPlotSize = new Array();
var myWMSPlot;
var tooltip;
var tooltipwidth, tooltipheight;
var info_titel, info_CID, info_layer;
var wmsextra_layers="";
var wmsextra_adhoc="";
var symbollayerlist;
var uk_zahl=0;
var tmplayers;

// =====================================================================
//     Funktionsdeklarationen
// =====================================================================

// ------------------------------------------------------------------------------------------------------------------
//  Wird bei body onload in functions.js aufgerufenmy
//   - falls der Client mit vordefinierten Layern aufgerufen wird, werden diese Layer in Weitere Karteninhalte gesetzt
//   - falls der Client mit einer CID aufgerufen wird, wird das Servlet CIDCoords aufgerufen, um die Startposition
//     zu finden
//   - ansonsten wird my_init in myWMSClient.js aufgerufen
// ------------------------------------------------------------------------------------------------------------------
  function my_client_init() {
//    my_tree_open();
    if (mystartlayers!=null) {
      d.setLayers(mystartlayers);
      my_update_maplayers();
    }
    getOT("Hennef");     
     
    var ie_temp = document.all?1:0; 
    if (ie_temp) document.getElementById("inputstrasse").style.height="19px";    




    if (mystartCID!=0 && myMark==true) document.getElementById("MerkSymbol").src = "MerkSymbol?action=addstartsymbol&SID="+SID+"&CID="+mystartCID;
    else if (mystartxy!=0 && myMark==true) document.getElementById("MerkSymbol").src = "MerkSymbol?action=addstartcircle&SID="+SID+"&xpos="+myXY[0]+"&ypos="+myXY[1];   
    else if (mySuchort!=null || mySuchstrasse!=null) {
       //if (mySuchort!=null) document.getElementById("inputort").value=encodeURIComponent(mySuchort);
       //if (mySuchstrasse!=null) document.getElementById("inputstrasse").value=encodeURIComponent(mySuchstrasse);
       if (mySuchort!=null) document.getElementById("inputort").value=mySuchort;
       if (mySuchstrasse!=null) document.getElementById("inputstrasse").value=mySuchstrasse;
       my_search_open();
       my_init(0);
    }
    else my_init(1);
  }

// ------------------------------------------------------------------------------------------------------------------
//  Wird vom MerkSymbol Servlet aufgerufen
//   - setzt Startposition und Startskala
//   - ruft my_init in myWMSClient.js auf
// ------------------------------------------------------------------------------------------------------------------
  function my_CID_init(xpos, ypos) {
    if (xpos!=null && ypos!=null) {
      myXY[0]=xpos; myXY[1]=ypos; myStartScale=suchergebnis_skala;
    }
    my_init(1);
  }

// ------------------------------------------------------------------------------------------------------------------
//  - Aufruf in index.jsp
//  - wird aufgerufen, wenn der Benutzer in das Kartenfenster klickt
//  - oeffnet die Infobox, wenn auf ein Symbol geklickt wird (siehe my_infobox_open())
//  - schliesst die Infobox, wenn sonst irgendwo hingecklickt wird
// ------------------------------------------------------------------------------------------------------------------
  function document_click(e) {
    if ((opera || safari || konqueror) && eventID==0) return;
    if (eventID==1) { // Infobox oeffnen
      my_getMousePos(e);
      infobox=document.getElementById("divInfoBox");
      infowidth = 260;  //parseInt(infobox.style.width);
      infoheight = 200; //parseInt(infobox.style.height)
      if (myClickXY[0]+infowidth+2>myMapSize[0]-10) shiftx=-infowidth-10-2; else shiftx=10;
      if (myClickXY[1]+infoheight+2>myMapSize[1]-10) shifty=-infoheight-10-2; else shifty=10;
//      if (infobox.style.visibility.indexOf("visible")==-1)  { // auskommentieren, wenn infobox stehenbleiben soll
        infobox.style.left = (myMapPos[0]+myClickXY[0]+shiftx)+"px";     
        infobox.style.top = (myMapPos[1]+myClickXY[1]+shifty)+"px";
        infobox.style.visibility = "visible";
//      }
      my_tooltip_close();
    }
    else if (eventID==2) { // Infobox verschieben
      eventID=0;
    }
    else {
      if (infobox_is_open==true) {
         my_infobox_close();
         eventID=0;
      }
//      if (maps_is_open==true) {
//         my_maps_close();
//         eventID=0;
//      }
//      if (tree_is_open==true) {
//         my_tree_close();
//         eventID=0;
//      }
    }
  }


// ------------------------------------------------------------------------------------------------------------------
//  - Aufruf in index.jsp
//  - wird aufgerufen, wenn der Benutzer innerhalb des Kartenfensters die Maus bewegt
//  - zeigt Tooltip, wenn der Benutzer ueber ein Symbol faehrt (siehe my_tooltip_open())
// ------------------------------------------------------------------------------------------------------------------
  function document_move(e) {
    if (eventID==3) { // Tooltip open
      my_getMousePos(e);
//      tooltipwidth = 200;  //parseInt(tooltip.style.width);
//      tooltipheight = 50; //parseInt(tooltip.style.height);
//      shiftx=10; shifty=10;
      if (myClickXY[0]+tooltipwidth+2>myMapSize[0]-10) shiftx=-tooltipwidth-10-2; else shiftx=10;
//      if (myClickXY[1]+tooltipheight+2>myMapSize[1]-10) shifty=-tooltipheight-10-2; else shifty=10;
      shifty=10;
      tooltip.style.left = (myMapPos[0]+myClickXY[0]+shiftx)+"px";     
      tooltip.style.top = (myMapPos[1]+myClickXY[1]+shifty)+"px";
    }
  }


// ------------------------------------------------------------------------------------------------------------------
//  - Aufruf in index.jsp
//  - oeffnet Suchfenster, stoesst das Such-Servlet an 
//  - Spezialkarten und Weitere Karteninhalte werden innerhalb des geoeffneten Suchfensters inaktiviert und grau hinterlegt
// ------------------------------------------------------------------------------------------------------------------
  function my_search_open() {
    var myInputOrt = document.getElementById("inputort").value;
    var myInputStrasse = document.getElementById("inputstrasse").value;
    if(myCheck(myInputStrasse) == false || myCheck(myInputOrt) == false){
        alert(unescape("Ihre Eingaben beinhalten unerlaubte Sonderzeichen.\nBitte %E4ndern Sie Ihre Anfrage!"));
    }else{
        document.getElementById("divSuchergebnis").style.display = "inline"; 
        // evtl. auskommentieren document.getElementById("divSuchInfo").style.display = "inline"; 
        document.getElementById("Suchergebnis").style.display = "none";
        if (minimap_is_open) document.getElementById("divMinimapFrame").style.display = "none";
        document.getElementById("Suchergebnis").src="Suche?ort="+(getPreparedParameter(myInputOrt))+"&strasse="+(getPreparedParameter(myInputStrasse))+"&seite=1&SID="+SID;
//        my_maps_close();
//        my_tree_close();
//        document.getElementById("divMapOpener").innerHTML="<img src='"+pfeilImg.src+"' title='"+menuImgText[1]+"'>";
//        document.getElementById("divTreeOpener").innerHTML="<img src='"+pfeilImg.src+"' title='"+menuImgText[3]+"'>";
//        document.getElementById("divMapTag").className = "inactive";
//        document.getElementById("divTreeTag").className = "inactive";
        banner_change();
    }
  }
// ------------------------------------------------------------------------------------------------------------------
//  - Bearbeiten von Such- Parametern:
//  - URI-Kodieren von Parameter
// ------------------------------------------------------------------------------------------------------------------
  function getPreparedParameter(myParam){
    var newParam = myCut(myParam,"%");
    newParam = myCut(newParam,"\"");
    newParam = myCut(newParam,"_");
    return encodeURIComponent(newParam);
  }
// ------------------------------------------------------------------------------------------------------------------
//  - Bearbeiten von Such- Parametern:
//  - Erzetzen von Sonderzeichen
// ------------------------------------------------------------------------------------------------------------------
  function myCut(toCut, spliter){
    var help = toCut.split(spliter);
    var cuted = "";
    for(var i = 0; i < help.length; i++) 
        cuted += help[i];
    return cuted;
  }
// ------------------------------------------------------------------------------------------------------------------
//  - Pruefen von Parametern auf unerlaubten Zeichen:
// ------------------------------------------------------------------------------------------------------------------
  function myCheck(toCheck){
    toCheck = escape(toCheck);
    toCheck = myCut(toCheck, "%E4");  // ae
    toCheck = myCut(toCheck, "%F6");  // oe
    toCheck = myCut(toCheck, "%FC");  // ue
    toCheck = myCut(toCheck, "%DF");  // ss
    toCheck = myCut(toCheck, "%C4");  // AE
    toCheck = myCut(toCheck, "%D6");  // OE
    toCheck = myCut(toCheck, "%DC");  // UE
    toCheck = myCut(toCheck, "%20");  // blank
    toCheck = myCut(toCheck, "%28");  // (
    toCheck = myCut(toCheck, "%29");  // )
    toCheck = myCut(toCheck, "%2C");  // ,
    toCheck = myCut(toCheck, "%27");  // '

    var muster = /^[a-zA-Z0-9]*[a-zA-Z0-9\.\-\+\/\s]*$/;
    var checked = muster.exec(toCheck);
    if(checked == null){
        return false;
    }else{
        return true;
    }
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf im Servlet Suche.java
//   - erneuter Anstoss des Suchservlets bei Klick auf Seitenzahl
// ------------------------------------------------------------------------------------------------------------------
  function my_search_repeat(ort, strasse, seite) {
    document.getElementById("Suchergebnis").style.display = "none";
    document.getElementById("Suchergebnis").src="Suche?ort="+ort+"&strasse="+strasse+"&seite="+seite;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf im Servlet Suche.java
//   - oeffnet das Suchfenster
// ------------------------------------------------------------------------------------------------------------------
  function my_search_show() { 
    document.getElementById("Suchergebnis").style.display = "inline";
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - schliesst dasSuchfenster (roter Exit - Button)
//   - Spezialkarten- und Weitere Karteninhalte - Menue werden wieder aktiviert
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_search_close() {
    document.getElementById("divSuchergebnis").style.display = "none";
    // evtl. auskommentieren document.getElementById("divSuchInfo").style.display = "none"; 
    if (minimap_is_open) document.getElementById("divMinimapFrame").style.display = "inline";
//    my_maps_close();
//    my_tree_close();
//    document.getElementById("divMapTag").className = "active";
//    document.getElementById("divTreeTag").className = "active";
    my_statistik("action=suchfenster_close");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - oeffnet das Drop-Down-Menue-Fenster von Spezialkarten
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_maps_open() {
    maps_is_open=true;
    document.getElementById("divMapSelect").style.visibility = "visible";
    document.getElementById("divMapOpener").innerHTML="<img onclick='my_maps_close()' src='"+pfeilImg.src+"' title='"+menuImgText[1]+"'>";
    my_tree_close();
    my_statistik("action=spezialkarten_open");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in functions.js
//   - schliesst das Drop-Down-Menue-Fenster von Spezialkarten
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_maps_close() {
    maps_is_open=false;
    document.getElementById("divMapSelect").style.visibility = "hidden";
    document.getElementById("divMapOpener").innerHTML="<img onclick='my_maps_open()' src='"+pfeilImg.src+"' title='"+menuImgText[0]+"'>";
    my_statistik("action=spezialkarten_close");
  }

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - oeffnet das Drop-Down-Menue-Fenster Weitere Karteninhalte
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_tree_open() {    
    tree_is_open=true;
    document.getElementById("divTreeSelect").style.visibility = "visible";
    document.getElementById("divTreeOpener").innerHTML="<img onclick='my_tree_close()' src='"+pfeilImg.src+"' title='"+menuImgText[3]+"'>";
//    my_maps_close();
    my_statistik("action=karteninhalte_open");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in functions.js
//   - schliesst das Drop-Down-Menue-Fenster Weitere Karteninhalte
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_tree_close() {
    tree_is_open=false;
    document.getElementById("divTreeSelect").style.visibility = "hidden";
    document.getElementById("divTreeOpener").innerHTML="<img onclick='my_tree_open()' src='"+pfeilImg.src+"' title='"+menuImgText[2]+"'>";
    my_statistik("action=karteninhalte_close");
  }
  

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in functions.js
//   - oeffnet die Toolbox
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navibox_open() {
    document.getElementById("divToolBox").style.visibility = "visible";
    document.getElementById("divToolBoxOpener").innerHTML="<img onclick='my_navibox_close()' src='"+pfeilobenImg.src+"' title='"+NaviBoxText[2]+"'>";
    my_statistik("action=toolbox_open");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - schliesst die Toolbox 
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navibox_close() {
    document.getElementById("divToolBox").style.visibility = "hidden";
    document.getElementById("divToolBoxOpener").innerHTML="<img onclick='my_navibox_open()' src='"+pfeiluntenImg.src+"' title='"+NaviBoxText[1]+"'>";
    my_statistik("action=toolbox_close");
  }
  

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - oeffnet das Merkliste-Fenster
// ------------------------------------------------------------------------------------------------------------------
  function my_merkbox_open() {
    merk_open=true;
    document.getElementById("divMerkBox").style.visibility = "visible";   
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - schliesst das Merkliste-Fenster
// ------------------------------------------------------------------------------------------------------------------
  function my_merkbox_close() {
    merk_open=false;
    document.getElementById("divMerkBox").style.visibility = "hidden";    
  }
  

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Merkliste.java (Servlet) 
//   - Karte neu zeichnen mit rotem Merkfaehnchen
// ------------------------------------------------------------------------------------------------------------------
  function my_merkbox_action() {
    //my_merkbox_open();
    symbolchange=true;
    my_repaintXYSc();
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Infobox.java (Servlet)
//   - Aufruf des Servlets Merkliste zum Eintrag eines Objektes in die Merkliste
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_add_to_merkliste(CID) {
    document.getElementById("MerkListe").src = "MerkListe?SID="+SID+"&CID="+CID+"&action=add";
    my_statistik("CID="+CID+"&action=infobox_merken");
  }
  

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in InfoBox.java
//   - oeffnet das Info-Fenster zur Merkliste
// ------------------------------------------------------------------------------------------------------------------
  function my_merkinfo_open() {
    if (merkinfo_show == true) document.getElementById("divMerkInfo").style.display = "inline";
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in InfoBox.java
//   - schliesst das Info-Fenster zur Merkliste
// ------------------------------------------------------------------------------------------------------------------
  function my_merkinfo_close() {
    document.getElementById("divMerkInfo").style.display = "none";
    return false;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - Aufruf des Servlets Bounding-Box zur Berechnung neuer Bounding-Box-Koordinaten
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_merkliste_update() {
    document.getElementById("BoundingBox").src = "BoundingBox?SID="+SID;
    my_statistik("action=merkliste_update");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_minimap_close() (functions.js)
//   - oeffnet das Minimap-Fenster
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_minimap_open() {
    document.getElementById("divMinimap").className = "minimap_open";
    document.getElementById("divMinimapFrame").style.display = "inline";
    document.getElementById("divMinimapOpener").innerHTML="<img onclick=\"my_minimap_close()\" src=\""+pfeiluntenImg.src+"\" title='"+MiniMapText[2]+"'>";
    my_statistik("action=minimap_open");
    minimap_is_open=true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - schliesst das Minimap-Fenster
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_minimap_close() {
    document.getElementById("divMinimapFrame").style.display = "none";
    document.getElementById("divMinimap").className = "minimap_close";
    document.getElementById("divMinimapOpener").innerHTML="<img onclick=\"my_minimap_open()\" src=\""+pfeilobenImg.src+"\" title='"+MiniMapText[1]+"'>";
    my_statistik("action=minimap_close");
    minimap_is_open=false;
  }

  
// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wird aufgerufen, wenn der Benutzer auf den Home-Button klickt (onclick)
//   - ruft die Funktion my_moveMap() aus myWMSClient.js auf
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_home() {
    my_moveMap(-1,-1, true)
    my_statistik("action=toolbox_home");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Home-Button gedrueckt haelt (onmouse-down), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_home2() {
    document.getElementById("imgNaviHome").src=toolImg[11].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Home-Button verlaesst (onmouse-up), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_home3() {
    document.getElementById("imgNaviHome").src=toolImg[0].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wird aufgerufen, wen der Benutzer auf den Back-Button klickt (onclick)
//   - ruft die Funktion my_setHistoryBack() aus myWMSClient.js auf
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_back() {
    my_setHistoryBack();
    my_statistik("action=toolbox_back");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Back-Button gedrueckt haelt (onmouse-down), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_back2() {
    document.getElementById("imgNaviBack").src=toolImg[15].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Back-Button verlaesst (onmouse-up), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_back3() {
    document.getElementById("imgNaviBack").src=toolImg[14].src;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer auf den Zoom-button klickt, wird der Zoom-Modus angeschaltet und das Gif samt Tooltip aendert sich
//   - ruft die Funktion my_zoomBoxInit()aus myWMSClient.jsp auf
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_zoom() {
    if (zoom_mode==false) {
        my_navi_measure_off();
        my_navi_pan_off();
        document.getElementById("imgNaviZoom").src=toolImg[7].src;
        document.getElementById("imgNaviZoom").title=toolImgText[7];
        zoom_mode=true; 
        my_zoomBoxInit();
        my_statistik("action=toolbox_zoomAn");
    }
    else {
        my_navi_zoom_off();
        my_statistik("action=toolbox_zoomAus");
    }
  }

  function my_navi_zoom_off() {
    if (zoom_mode==true) {
      document.getElementById("imgNaviZoom").src=toolImg[1].src;
      document.getElementById("imgNaviZoom").title=toolImgText[1];
      zoom_mode=false;
      my_zoomBoxBreak();
    }
  } 

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer auf den Pan-Button klickt, wird der Pan-Modus angeschaltet und das Gif samt Tooltip aendert sich
//   - ruft die Funktion my_panInit() aus myWMSClient.js auf
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_pan() {
    if (pan_mode==false) { 
        my_navi_measure_off();
        my_navi_zoom_off();
        document.getElementById("imgNaviPan").src=toolImg[8].src; 
        document.getElementById("imgNaviPan").title=toolImgText[8];
        title=toolImgText[8]; 
        my_panInit(); pan_mode=true; 
        my_statistik("action=toolbox_panAn");
    }
    else {
        my_navi_pan_off();
        my_statistik("action=toolbox_panAus");
     }
  }
  
  function my_navi_pan_off() {
    if (pan_mode==true) {
      document.getElementById("imgNaviPan").src=toolImg[2].src; 
      document.getElementById("imgNaviPan").title=toolImgText[2];
      my_panBreak(); 
      pan_mode=false; 
    }
  }

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer auf den Messen-Button klickt, wird der Pan-Modus angeschaltet und das Gif samt Tooltip aendert sich
//   - ruft die Funktion my_measureInit() aus myWMSClient.js auf
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_measure() {
    if (measure_mode==false) {
      my_navi_pan_off();
      my_navi_zoom_off();
      document.getElementById("imgNaviMeasure").src=toolImg[9].src; 
      document.getElementById("imgNaviMeasure").title=toolImgText[9];
      my_measureInit(0);
      measure_mode=true;
      my_statistik("action=toolbox_messenAn");
    }
    else {
      my_navi_measure_off();
      my_statistik("action=toolbox_messenAus");
    }
  }

  function my_navi_measure_off() {
    if (measure_mode==true) {
      document.getElementById("imgNaviMeasure").src=toolImg[3].src;
      document.getElementById("imgNaviMeasure").title=toolImgText[3];
      my_measureDelete();
      measure_mode=false; 
    }
  }

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer auf den Merkliste-Button klickt, oeffnet sich das Merkliste-Fenster
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_merk() {
    if (merk_open==true) { 
        my_merkbox_close(); 
        my_statistik("action=toolbox_merklisteAus");
    }
    else {
        my_merkbox_open(); 
        my_statistik("action=toolbox_merklisteAn");
    }
  }

  
// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Merkfenster-Button gedrueckt haelt (onmouse-down), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_merk2() {
    document.getElementById("imgNaviMerk").src=toolImg[10].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Merkfenster-Button verlaesst (onmouse-up), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_merk3() {
    document.getElementById("imgNaviMerk").src=toolImg[4].src;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - loest den Druck-Dialog aus fuer den Druckbutton in der Toolbox
//   - Check, ob Browser Acrobat-Reader installiert hat und gegebenenfalls Aufruf eines Info-Textes ueber
//     Funktion my_printinfo_open()
//   - neuer Zusammenbau des myWMS-Requests
//   - Aufruf des Servlets Print
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_print() {
    //if (pluginlist.indexOf("Acrobat Reader")==-1) my_printinfo_open();
    if (OneLayer==true) {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&BBOX="+myBBox+"&SCALE="+myScale+"&LAYERS="+myWMS[0][1];
      window.open("Print?wms="+encodeURIComponent(myWMSPlot),'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print?wms="+encodeURIComponent(myWMSPlot);
    }
    else {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&BBOX="+myBBox+"&SCALE="+myScale+
        "&LAYERS="+tmplayers+wmsextra_layers;
      myWMSPlot2 = my_assemble_print_wms(myWMS[1][0])+"&BBOX="+myBBox+"&SCALE="+myScale+
        "&LAYERS="+symbollayers+","+merklistelayer+"&adhoc="+symboladhoc+","+merklisteadhoc;
      window.open("Print?wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2),'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print?wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2);
    }
    my_statistik("action=toolbox_print");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Drucken-Button gedrueckt haelt (onmouse-down), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_print2() {
    document.getElementById("imgNaviPrint").src=toolImg[12].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Drucken-Button verlaesst (onmouse-up), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_print3() {
    document.getElementById("imgNaviPrint").src=toolImg[5].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in InfoBox.java
//   - loest den Druck-Dialog aus zum Drucken der Infobox-Inhalte
//   - Check, ob Browser Acrobat-Reader installiert hat und gegebenenfalls Aufruf eines Info-Textes ueber
//     Funktion my_printinfo_open()
//   - neuer Zusammenbau des myWMS-Requests
//   - Aufruf des Servlets Print_InfoBox
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_infobox_print(CID) {
  //  if (pluginlist.indexOf("Acrobat Reader")==-1) my_printinfo_open();
    if (OneLayer==true) {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&LAYERS="+wmslayers+wmsextra_layers;
      window.open("Print_InfoBox?CID="+CID+"&wms="+encodeURIComponent(myWMSPlot)+"&adhoc="+wmsadhoc,'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print_InfoBox?CID="+CID+"&wms="+encodeURIComponent(myWMSPlot)+"&adhoc="+wmsadhoc;
    }
    else {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&LAYERS="+tmplayers+wmsextra_layers;
      myWMSPlot2 = my_assemble_print_wms(myWMS[1][0]);
      window.open("Print_InfoBox?CID="+CID+"&wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2),'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print_InfoBox?CID="+CID+"&wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2);
    }
    my_statistik("CID="+CID+"&action=infobox_drucken");
  }
  

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in 
//   - loest den Druck-Dialog aus zum Drucken der Infobox-Inhalte
//   - Check, ob Browser Acrobat-Reader installiert hat und gegebenenfalls Aufruf eines Info-Textes ueber
//     Funktion my_printinfo_open()
//   - neuer Zusammenbau des myWMS-Requests
//   - Aufruf des Servlets Print_Merkliste
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_merkliste_print() {
    //if (pluginlist.indexOf("Acrobat Reader")==-1) my_printinfo_open();
    if (OneLayer==true) {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&LAYERS="+wmslayers+wmsextra_layers;
      window.open("Print_Merkliste?SID="+SID+"&wms="+encodeURIComponent(myWMSPlot)+"&adhoc="+wmsadhoc,'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print_Merkliste?CID="+CID+"&wms="+encodeURIComponent(myWMSPlot)+"&adhoc="+wmsadhoc;
    }
    else {
      myWMSPlot = my_assemble_print_wms(myWMS[0][0])+"&LAYERS="+tmplayers+wmsextra_layers;
      myWMSPlot2 = my_assemble_print_wms(myWMS[1][0]);
      window.open("Print_Merkliste?SID="+SID+"&wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2),'PLOT','menubar=no,status=no,resizable');
      //document.getElementById("Print").src = "Print_Merkliste?SID="+SID+"&wms="+encodeURIComponent(myWMSPlot)+"&wms2="+encodeURIComponent(myWMSPlot2);
    }
    my_statistik("action=merkliste_drucken");    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_navi_print(), my_infobox_print(), my_merkliste_print() (functions.js)
//   - bauet einen neuen myWMS-Request zum Drucken zusammen
// ------------------------------------------------------------------------------------------------------------------
function my_assemble_print_wms(wms) {
  var w=600; var h=628; var dpi=32; // 72
  var wmsnew = wms.replace(/format/gi,"xxx");
  wmsnew += "&FORMAT=application/pdf&PDFFORMAT=R";
  wmsnew += "&DPI="+dpi+"&FIT=false";
  wmsnew += "&PWIDTH="+w+"&PHEIGHT="+h;
  wmsnew += "&WIDTH="+Math.floor(w*(dpi/25.4))+"&HEIGHT="+Math.floor(h*(dpi/25.4));
  return wmsnew;
}


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_navi_print() (functions.js)
//   - oeffnet das Info-Fenster fuer den Fall, dass ein Browser kein Acrobat Reader installiert hat und 
//     sich das Druck-PDF nicht oeffnen kann
// ------------------------------------------------------------------------------------------------------------------
//  function my_printinfo_open() {
//    document.getElementById("divPrintInfo").style.display = "inline";
//  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - schliesst das Info-Fenster mit dem Warnhinweis, dass kein Acrobat Reader installiert ist
// ------------------------------------------------------------------------------------------------------------------
//  function my_printinfo_close() {
//    document.getElementById("divPrintInfo").style.display = "none";
//  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer auf den Hilfe-Button klickt, oeffnet sich ein neues Browser-Fenster mit der momentanen URL:
//     www.hamburg.de (in web.xml editierbar)
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_help() {    
      window.open(hilfebutton)
    my_statistik("action=toolbox_help");
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Hilfe-Button gedrueckt haelt (onmouse-down), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_help2() {
    document.getElementById("imgNaviHelp").src=toolImg[13].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp
//   - wenn der Benutzer mit der Maus den Hilfe-Button verlaesst (onmouse-up), aendert sich das Gif
// ------------------------------------------------------------------------------------------------------------------
  function my_navi_help3() {
    document.getElementById("imgNaviHelp").src=toolImg[6].src;    
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_toggle_locations() (functions.js), in myWMSClient.js sowie in ngmsEbenen.js
//   - aktualisiert die Karte mit den jeweils angew�hlten Layers aus Weitere Karteninhalte
// ------------------------------------------------------------------------------------------------------------------
  function my_update_maplayers(val) {
    if (val && val==true) symbolchange=true; else symbolchange=false;
    layers=d.getMaps("1",",","",true);
    symbollayerlist=layers[0];
    symbollayers=layers[0];
    symbollayers_usemap=layers[0];
    symboladhoc=layers[1];
    merklistelayer="merkliste";
    merklisteadhoc="DEFAULT|"+webgisDB+".merkliste|SID!gleich!"+SID+"!and!visible!ungleich!0";

//    tmplayers=wmslayers;
    layers2=d.getMaps("1",",","",false);
    if (layers2!=null && layers2[0]!=null && layers2[0]!="") tmplayers=layers2[0];
    myWMS[0][1]=tmplayers;
    myUsemap[0][1]=symbollayers_usemap;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Servlet BoundingBox
//   - berechnet neue Bounding-Box um gemerkte Objekte und zeichnet Karte neu (mit rotem Merkfaehnchen)
//   - hierzu Aufruf der Funktionen my_getXYSc() und my_repaintXYSc() aus myWMSClient.js
// ------------------------------------------------------------------------------------------------------------------
  function my_update_bbox(minx,miny,maxx,maxy) {
    document.getElementById("MerkListe").src = "MerkListe?SID="+SID+"&action=display";
    if (minx!=null && miny!=null & maxx!=null && maxy!=null) {
      myBBox[0]=minx;
      myBBox[1]=miny;
      myBBox[2]=maxx;
      myBBox[3]=maxy;
      my_getXYSc();
      my_repaintXYSc();
    }
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Suche.java
//   - Aufruf des Servlets MerkSymbol, um Suchtreffer in Merkliste einzutragen (damit diese mit rotem Kreis
//     bzw. mit blauem Faehnchen markiert werden koennen)
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_center_on_coord(x,y,name,CID) {
    if (name!=null) {
      document.getElementById("MerkSymbol").src = "MerkSymbol?action=addcircle&SID="+SID+"&xpos="+x+"&ypos="+y;
     //my_statistik("action=search_select_name&name="+name); 
       my_statistik("action=search_select_name&name="+encodeURIComponent(name));
    }
    else if (CID!=null) {
      document.getElementById("MerkSymbol").src = "MerkSymbol?action=addsymbol&SID="+SID+"&xpos="+x+"&ypos="+y+"&CID="+CID;
      my_statistik("action=search_select_CID&CID="+CID);  
    }
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Servlet MerkSymbol
//   - schliessen des Suchfensters
//   - zentrieren der Karte auf ausgewaehltes Suchergebniss anhand der Koordinaten und Neuzeichnen der Karte mit Symbolen
//     (blaues Faehnchen oder roten Kreis)
// ------------------------------------------------------------------------------------------------------------------
  function my_merksymbol_draw(x,y) {
    myWMS[1][5]=true;
    extra_symbols=true;
    my_search_close();
    var pos = my_getXYSc(); 
    pos[0]=parseFloat(x); 
    pos[1]=parseFloat(y); 
    //my_repaintXYSc(pos[0], pos[1], pos[2]); // aktuelle Skala aus Karte uebernehmen
    my_repaintXYSc(pos[0], pos[1], suchergebnis_skala); // festen Wert aus web.xml uebernehmen 
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.js
//   - bei Klick in das Eingabefeld "PLZ/Ort" wird der Feldinhalt blau markiert
// ------------------------------------------------------------------------------------------------------------------
  function my_ortselect() {
    document.getElementById("inputort").select();
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.js
//   - bei Klick in das Eingabefeld "Strasse/Suchbegriff" wird der Feldinhalt blau markiert
// ------------------------------------------------------------------------------------------------------------------
  function my_strasseselect() {
    document.getElementById("inputstrasse").select();
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.js
//   - keycode 13 steht fuer die Enter-Taste; damit kann die Suche auch durch Druecken der Entertaste
//     ausgeloest werden
// ------------------------------------------------------------------------------------------------------------------
  function my_submit(event) {
    if (!event) event = window.event;
    if (event.which) key = event.which;
    else if (event.keyCode) key = event.keyCode;
    if (key==13) { my_search_open(); return true; }
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_multi_tooltip_open() (functions.js)
//   - baut den ausfuehrlichen Tooltip zusammen (bekommen derzeit alle NICHT-Grundeintraege)
//   - hierzu wird auch das Servlet GetImg aufgerufen, um das Bild aus der Datenbank zusammenzubauen
// ------------------------------------------------------------------------------------------------------------------
  function my_tooltip_open(titel,CID,logo,kurztext) {
    var htmlstring="";
    eventID=3;
    tooltip_is_open=true;
    if (titel.length>1) htmlstring+="<font class='tooltip_titel'>"+titel+"</font><br>";
    if (CID.length>1 && logo.length>1) htmlstring+="<img src='GetImg?CID="+CID+"&img="+logo+"' alt='' width='50' align='right' style='padding-left: 2px'></img>";
    if (kurztext.length>1) htmlstring+=" "+kurztext;

    if (kurztext.length>1) {
       tooltip=document.getElementById("divToolTip");
       tooltip.style.display="none";
       tooltipwidth=200;
       tooltipheight=50;
    }
    else {
       tooltip=document.getElementById("divToolTipSmall");
       tooltip.style.display="none";
       tooltip.style.paddingTop="5px";
       tooltip.style.paddingBottom="5px";
       tooltip.style.overflow="auto";
       tooltipwidth=titel.length*6; // geschaetzte Breite
       if (tooltipwidth>200) tooltipwidth=200;
       tooltipheight=20;
    }
    tooltip.innerHTML=htmlstring;
    window.setTimeout("my_tooltip_show()", 400);
    return true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_tooltip_open() (functions.js)
//   - zeigt Tooltip etwas (um 400 ms) verzoegert
// ------------------------------------------------------------------------------------------------------------------
  function my_tooltip_show() {
    if (tooltip_is_open==true) tooltip.style.display="inline";
    eventID=0;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in document_click() (functions.js) sowie vom myWMS (Tabelle geoobjekte, Spalte URL),
//     und entsprechend im Java-Programm Impot_Geoobjekte.java, welches den Inhalt der Tabelle
//     geoobjekte zusammenbaut
//   - schliesst Tooltip, wenn die Mausposition sich aendert
// ------------------------------------------------------------------------------------------------------------------
  function my_tooltip_close() {
    tooltip_is_open=false;
    document.getElementById("divToolTip").style.display="none";
    document.getElementById("divToolTipSmall").style.display="none";
    eventID=0;
  }


// ------------------------------------------------------------------------------------------------------------------
//    - Aufrufparameter werden im Java-Programm Import_Geoobjekte.java, welches den Inhalt der Tabelle geoobjekte (
//      Spalte URL) zusammenbaut, generiert
//    - der myWMS erzeugt daraus die Usemap/Imagemap, wo im onmouseover-feld die Funktion aufgerufen wird
//    - baut den Multi-Tooltip (d.h. mehrere Objekte am gleichen Ort) zusammen
//    - falls zwar mehrere Objekte am gleichen Ort vorkommen, aber momentan nicht im aktuellen Layer angeschaltet
//      sind und nur ein Objekt dargestellt wird, wird nur der normale Tooltip verwendet
// ------------------------------------------------------------------------------------------------------------------
  function my_multi_tooltip_open(titel,CID,layer,logo,kurztext) {
    var htmlstring="";
    info_titel=titel; info_CID=CID; info_layer=layer;
    eventID=3;
    tooltip_is_open=true;
    numlayers=0; laynum=0;
    htmlstring+="<table width='190px' rules='rows' frame='void' style='border-spacing: 0px'><colgroup><col width='100%'></colgroup>";
    for (i=0; i<layer.length; i++) {
       if (i==0 || d.mapcheck(layer[i])==true) { // ueberpruefen ob der entsprechende Layer angeklickt ist
          //if (numlayers>0) htmlstring+="<hr align='center' width='100%' style='min-width: 200px; text-align: center'>";
          htmlstring+="<tr><td nowrap height='24'>";
          htmlstring+="<font class='tooltip_titel'>"+titel[i]+"</font><br>";
          htmlstring+="</td></tr>";
          numlayers++;
          laynum=i; 
       }
    }
    htmlstring+="</table>";
    if (numlayers==1) return my_tooltip_open(titel[laynum],CID[laynum],logo[laynum],kurztext);
    tooltip=document.getElementById("divToolTipSmall");
    tooltip.style.paddingTop="0px";
    tooltip.style.paddingBottom="0px";
    tooltip.style.overflow="hidden";
    tooltip.innerHTML=htmlstring;
    tooltipwidth=200;
    tooltipheight=numlayers*12+(numlayers-1)*10+10; // geschaetzte Hoehe
    window.setTimeout("my_tooltip_show()", 400);
    return true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - wird im onclick-feld der Usemap/Imagemap aufgerufen
//   - hat keine Uebergabeparameter, weil diese schon aus my_multi_tooltip_open() bekannt sind und zwischengespeichert wurden
//   - baut das Infobox-Auswahlfenster (Multi-Infobox) zusammen
//   - falls zwar mehrere Objekte am gleichen Ort vorkommen, aber momentan nicht im aktuellen Layer angeschaltet
//     sind und nur ein Objekt dargestellt wird, wird die normale Infobox dargestellt//   - 
// ------------------------------------------------------------------------------------------------------------------
  function my_multi_infobox_open() {
    var titel=info_titel; var CID=info_CID; var layer=info_layer;
    var htmlstring="<div id='divInfoBoxTag' onmousedown='my_moveIFrame()'>Auswahlfenster</div><div id='divInfoBoxClose'><img onclick='my_infobox_close()' src='"+InfoExitImg.src+"'></div><div id='divInfoBoxSelect'>";
    curCID=100;
    eventID=1;
    infobox_is_open=true;
    numlayers=0; laynum=0;
    //htmlstring+="<table width='100%' class='tabelle' rules='rows' frame='void'>";
    for (i=0; i<layer.length; i++) {
       if (i==0 || d.mapcheck(layer[i])==true) {
          if (numlayers>0) htmlstring+="<hr width='100%'>";
          //htmlstring+="<tr class='tr0'><td>";
          htmlstring+="<font class='tooltip_titel' style='cursor: pointer;' onclick='my_inner_infobox_open("+CID[i]+")'>"+titel[i]+"</font><br>";
          //htmlstring+="</td></tr>";
          numlayers++;
          laynum=i;
       }
    }
    //htmlstring+="</table>";
    htmlstring+="</div>";
    if (numlayers==1) return my_infobox_open(CID[laynum]);
//    document.getElementById("divInfoBoxSelect").style.overflow="auto";
    document.getElementById("divInfoBox").innerHTML=htmlstring;
    document.getElementById("divInfoBox").style.visibility="visible";
    my_set_infobox_title("Auswahlfenster");
    return true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_multi_infobox_open() (functions.js) 
//   - wird benoetigt, damit das Infobox-Fenster stehen bleibt
// ------------------------------------------------------------------------------------------------------------------
  function my_inner_infobox_open(CID) {
    my_infobox_open(CID);
    eventID=0;
    return false;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - wird aufgerufen, wenn der Benutzer auf ein Icon in der Karte klickt
//   - Aufruf des Servlets InfoBox
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_infobox_open(CID) {
    curCID=CID;
    eventID=1;
    infobox_is_open=true;
    document.getElementById("divInfoBox").style.overflow="hidden";
    document.getElementById("divInfoBox").innerHTML="<div id='divInfoBoxTag' onmousedown='my_moveIFrame()'>"+document.getElementById("divInfoBoxTag").innerHTML+"</div><div id='divInfoBoxClose'><img onclick='my_infobox_close()' src='"+InfoExitImg.src+"'></div><iframe name='InfoBox' id='InfoBox' frameborder='0'></iframe>";
    document.getElementById("InfoBox").src="InfoBox?CID="+CID+"&SID="+SID;
//    my_tooltip_close();
    my_statistik("CID="+CID+"&action=infobox_open");
    banner_change();
    return true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in index.jsp, document_click() (functions.js) und my_multi_infobox_open() (functions.js)
//   - schliesst das Infobox-Fenster (Schliess-Button sowie beliebiger Klick in die Karte)
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_infobox_close() {
    eventID=0;
    infobox_is_open=false;
    document.getElementById("divInfoBox").style.visibility = "hidden";
    my_statistik("CID="+curCID+"&action=infobox_close");
    return true;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in my_multi_infobox_open() (functions.js) sowie in InfoBox.java
//   - setzt den Titel der Infobox auf Visitenkarte, Grundeintrag, etc.
// ------------------------------------------------------------------------------------------------------------------
  function my_set_infobox_title(title) {
    document.getElementById("divInfoBoxTag").innerHTML = title;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in Servlet InfoBox.java mit Uebergabe der Content-ID und des Titels fuer Statistik
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_open_infobox_link(CID,name) {
    my_statistik("CID="+CID+"&name="+name+"&action=infobox_open_link");
    return false;
  }


// ------------------------------------------------------------------------------------------------------------------
// Aufruf in index.jsp
// ruft Statistik-Servlet auf zum Loggen der Spezialkarten-Inhalte (Nr. von oben gezaehlt)
// ------------------------------------------------------------------------------------------------------------------
  function my_open_special(mapnr) {
    my_statistik("map="+mapnr+"&action=special_open");
    return false;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in ngmsEbenen.js
//   - wird aufgerufen, wenn der User in Weitere Karteninhalte den Punkt locations (Ausflugspunkte) an- oder ausschaltet
//   - wird aktuell nicht gebraucht, ausser es wird die webdeskobjekte-Tabelle eingesetzt
// ------------------------------------------------------------------------------------------------------------------
  function my_toggle_locations() {
    if (locations==false) {
      locations=true;
      wmsextra_layers=",webdeskobjekte";
      wmsextra_adhoc=",logicallayer";
      document.getElementById("locations").src=d.icon.checkon;
    }
    else {
      locations=false;
      wmsextra_layers="";
      wmsextra_adhoc="";      
      document.getElementById("locations").src=d.icon.checkoff;
    }
    my_update_maplayers();
    my_repaintXYSc();
  }


/*
// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in ngmsEbenen.js
//   - baut neuen myWMS-Request zusammen mit Schwarz-Weiss-Modus fuer Atkis-Hintergrundkarte und farbigen Layern
// ------------------------------------------------------------------------------------------------------------------
 function my_toggle_blackwhite() {
    if (blackwhite==false) {
      blackwhite=true;
      document.getElementById("blackwhite").src=d.icon.checkon;
    }
    else {
      blackwhite=false;
      document.getElementById("blackwhite").src=d.icon.checkoff;
    }
    my_update_maplayers();
    my_repaintXYSc();
    eventID=2;
  }
   
// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in ngmsEbenen.js
//   - baut neuen myWMS-Request zusammen mit Hauptstrassen-Namen auf Atkis-Hintergrundkarte
// ------------------------------------------------------------------------------------------------------------------
 function my_toggle_hauptstr() {
    if (hauptstrassen==false) {
      hauptstrassen=true;
      document.getElementById("hauptstrnamen").src=d.icon.checkon;
    }
    else {
      hauptstrassen=false;
      document.getElementById("hauptstrnamen").src=d.icon.checkoff;
    }
    my_update_maplayers();
    my_repaintXYSc();
    eventID=2;
  }


// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in ngmsEbenen.js
//   - baut neuen myWMS-Request zusammen mit Nebenstrassen-Namen auf Atkis-Hintergrundkarte
// ------------------------------------------------------------------------------------------------------------------
 function my_toggle_nebenstr() {
    if (nebenstrassen==false) {
      nebenstrassen=true;
      document.getElementById("nebenstrnamen").src=d.icon.checkon;
    }
    else {
      nebenstrassen=false;
      document.getElementById("nebenstrnamen").src=d.icon.checkoff;
    }
    my_update_maplayers();
    my_repaintXYSc();
    eventID=2;
  }
*/

// ------------------------------------------------------------------------------------------------------------------
//   - Aufruf in myWMSClient.js
//   - nur fuer Statistik-Log 
// ------------------------------------------------------------------------------------------------------------------
  function my_mapstat() {
    var symlist=symbollayerlist;
    symlist=symlist.replace(/['"]/g,"");
    symlist=symlist.replace(/!k!/g,",");
    my_statistik("BBox="+myBBox+"&scale="+myScale+"&layers="+symlist+"&action=maprequest");
    banner_change();
  }


// ------------------------------------------------------------------------------------------------------------------
//    - Aufruf in index.jsp
//    - beim Anklicken des Haekchens im Info-Fenster zur Merkliste wechselt das Bildchen
//    (die Auswahlfenster sind jeweils als Bitmaps realisiert)
//    - ist das Haekchen angekreuzt worden, soll das Info-Fenster zur Merkliste bei erneutem Klick auf Merken 
//      nicht mehr geoeffnet werden
// ------------------------------------------------------------------------------------------------------------------
 function my_merkinfo_select() {
  if (merkinfo_show==true) {
    merkinfo_show=false;
    document.getElementById("merkinfo_select").src=d.icon.checkon;
  }
  else {
    merkinfo_show=true;
    document.getElementById("merkinfo_select").src=d.icon.checkoff;
  }
}

// ------------------------------------------------------------------------------------------------------------------
//  Wird immer aufgerufen wenn es was zum mitloggen gibt
//   - ruft Statistik Servlet auf
// ------------------------------------------------------------------------------------------------------------------
  function my_statistik(stat) {
//    document.getElementById("Statistik").src="Statistik?SID="+SID+"&"+stat;
  }

// ------------------------------------------------------------------------------------------------------------------
//  Wird aufgerufen wenn die Hamburger Werbebanner wechseln sollen
//    - wechselt die Banner im parent
// ------------------------------------------------------------------------------------------------------------------
  function banner_change() {
//    try {
//        parent.frames['spfsbanner_hhde'].location=('http://banner.maps.hamburg.de/?art=fs&uk='+uk_zahl);
//        parent.frames['spsky_hhde'].location=('http://banner.maps.hamburg.de/?art=sky&uk='+uk_zahl);
//        parent.frames['spsuper_hhde'].location=('http://banner.maps.hamburg.de/?art=super&uk='+uk_zahl);
//    }
//    catch(e) { }
  }

// ------------------------------------------------------------------------------------------------------------------
//  Aus dem Parent-String banner (z.B. http://www.hamburg.de/index.do?uk=21744) soll
//  die UK geparst werden und unten uebergeben werden
// ------------------------------------------------------------------------------------------------------------------
function parse_banner() {
    try {
       if (banner=="null") return;
       var bannerteile = new Array();       
       bannerteile = banner.split("uk=");
       uk_zahl = bannerteile[1];
       bannerteile=uk_zahl.split("&");
       uk_zahl=bannerteile[0];
    }
    catch(e) { }
}

// ------------------------------------------------------------------------------------------------------------------
//   - wird zur Zeit nicht benutzt !!!
// ------------------------------------------------------------------------------------------------------------------
  function empty() { } 

var numshow=0;

// ------------------------------------------------------------------------------------------------------------------
//   Funktionen von Ahmed 
// ------------------------------------------------------------------------------------------------------------------
        function my_subShow(name,show) {
         obj= document.getElementById(name);
          if (!obj || !obj.getElementsByTagName) { return; }
          var mylis = obj.getElementsByTagName("li");
          if (!mylis) { return; }
          for(var i=0;i<mylis.length;i++) {
            if((mylis[i].style.display == "block" && show!=true) || show==false) {
              obj.previousSibling.style.backgroundImage = "url("+folderOpenImg.src+")";
              mylis[i].style.display = "none";
              //numshow--;
            } else {
              mylis[i].style.display = "block";
              obj.previousSibling.style.backgroundImage = "url("+folderCloseImg.src+")";
              //numshow++;
            }
          }
          //obj= document.getElementById("legendelist");
          //mylis = obj.getElementsByTagName("li");
          //for (i=0;i<mylis.length;i++) {
          //    if (numshow==0) mylis[i].style.width = "220px"; else mylis[i].style.width = "398px";
          //}
          return false;
        }

  function getOT(val) {
    j=1;
    doc=document.ot_form.ot_sel;
    doc.options[0].text=val+":";
    doc.length=1;
    for(i=0;i<ot.length;i++) {
      tmp=ot[i].split(',');
      if(tmp[0] == val) {
        doc.length++;
        doc.options[j].value=tmp[2]+","+tmp[3];
        doc.options[j].text=tmp[1];
        j++;
      }
    }
    doc.options[0].text= '' +(j-1)+' Ortsteile' ;
  }

  function setXY(val) {
    var xy=val.split(',');
//    parent.myWMS[0][5]=true;
    parent.my_repaintXYSc(xy[0]*1,xy[1]*1,3000);
    //document.ot_form.ot_sel.selectedIndex = 0;
  }

// ------------------------------------------------------------------------------------------------------------------
//   - wird aufgerufen, wenn der Benutzer auf ein Icon in der Karte klickt (zum Oeffnen von PDFs)
//   - Oeffnet Infobox mit Link (Text und URL)
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_infobox(Text,PDF) {
    eventID=1;
    curCID=0;
    infobox_is_open=true;
    document.getElementById("divInfoBox").style.overflow="hidden";
    document.getElementById("divInfoBox").innerHTML="<div id='divInfoBoxTag' onmousedown='my_moveIFrame()'>"+document.getElementById("divInfoBoxTag").innerHTML+"</div><div id='divInfoBoxClose'><img onclick='my_infobox_close()' src='"+InfoExitImg.src+"'></div><div name='InfoBox' id='InfoBox' frameborder='0'></div>";

    document.getElementById("InfoBox").innerHTML="F&uuml;r mehr Informationen klicken Sie auf <a href='"+myPDFPath+PDF+"' target=_blank>"+Text+"</a>. Es wird ein PDF-Dokument zum Download / &Ouml;ffnen angeboten.";   

    my_statistik("Text="+encodeURIComponent(Text)+"&PDF="+encodeURIComponent(PDF)+"&action=infobox_open");
    return true;
  }

// ------------------------------------------------------------------------------------------------------------------
//   - wird aufgerufen, wenn der Benutzer auf ein Icon in der Karte klickt (zum Darstellen von 4 Text-Strings)
//   - Oeffnet Infobox mit Link (Text)
//   - Aufruf des Statistik-Servlets zum Loggen
// ------------------------------------------------------------------------------------------------------------------
  function my_infobox2(Text1, Text2, Text3, Text4) {
    eventID=1;
    curCID=0;
    infobox_is_open=true;
    document.getElementById("divInfoBox").style.overflow="hidden";
    document.getElementById("divInfoBox").innerHTML="<div id='divInfoBoxTag' onmousedown='my_moveIFrame()'>"+document.getElementById("divInfoBoxTag").innerHTML+"</div><div id='divInfoBoxClose'><img onclick='my_infobox_close()' src='"+InfoExitImg.src+"'></div><div name='InfoBox' id='InfoBox' frameborder='0'></div>";

    document.getElementById("InfoBox").innerHTML="Name: "+Text1+"<br>Vitalit&auml;t: "+Text2+"<br>Strasse: "+Text3+"<br>Stammumfang: "+Text4;   

    my_statistik("Text="+encodeURIComponent(Text1)+"&action=infobox_open");
    return true;
  }

  function my_centermap() {
    my_repaintXYSc((myMapBBox[0]+myMapBBox[2])/2.0,(myMapBBox[1]+myMapBBox[3])/2.0,myScales[mynumscales-1])
  }
