/**
* Mobilitaetsportal Rheinland-Pfalz
* 
* @version $Id: openlayers_init_vdis.js 381 2009-10-06 12:24:07Z wolt $
*/


/* globals: Layer */ 
var map,rlp,bgtile,labelingtile,vdis; 
var popup;

function init(){
  /* set map height */
  //FensterResize();
  
  // proxy host
  OpenLayers.ProxyHost = "/www/cgi-bin/proxy.cgi?url=";
  
  var options = {
                maxExtent: new OpenLayers.Bounds(2365887,5310674,2817545,5762332)
                ,maxResolution: "auto"
                ,scales: [1000000,500000,250000,100000,50000,25000,10000]
                ,units: 'm'
                ,projection: 'EPSG:31466'
                ,controls: []
                };

  map = new OpenLayers.Map('map', options);
  OpenLayers.IMAGE_RELOAD_ATTEMPTS = 10;
  OpenLayers.Util.onImageLoadErrorColor = "transparent";

                 
  /* Background */
  bgtile = new OpenLayers.Layer.WMS(
                "Background Tile"
                ,urlArray
                ,{
                  layers:'bg',
                  format:'image/png',
                  projection:'EPSG:31466'
                }
                ,{'buffer':0, transitionEffect: 'resize'}
                );
         
  /* Overlays: transparent: true */
  /* Labeling */
  labelingtile = new OpenLayers.Layer.WMS(
                "Beschriftung"
                ,urlArray
                ,{
                  layers:'labeling',
                  format:'image/png', 
                  projection:'EPSG:31466',
                  transparent: true
                 }
                ,{'buffer':0}
                );  

  lzzurl= urlMapserver+"map=/home/traffgo/www/actual/map/lzz_2009.map";            
  lzz = new OpenLayers.Layer.WMS(
                "LZZ"
                ,lzzurl
                ,{
                  layers:'lzzsmall,lzzbig,maske',
                  format:'image/png',
                  projection:'EPSG:31466',
                  transparent: true
                 }
                ,{'singleTile': true}
                );             
  
  /* Add Layers */		
  map.addLayers([bgtile, labelingtile, lzz]);



  /* Controls */			
  map.addControl(new OpenLayers.Control.PanZoomBar());
  map.addControl(new OpenLayers.Control.MouseDefaults());
  map.addControl(new OpenLayers.Control.Permalink('permalink'));
  //map.addControl(new OpenLayers.Control.MousePosition());
  //map.addControl(new OpenLayers.Control.Scale());


  /* Popup-style 259,160*/
  OpenLayers.Popup.HEIGHT = 230;
  OpenLayers.Popup.WIDTH = 280;
  OpenLayers.Popup.COLOR = "#f8f8f8";
  OpenLayers.Popup.BORDER = "1px #386090 solid";
  OpenLayers.Popup.OPACITY = "1.0";


  /* set startpoint and zoom */ 
  //map.setCenter(new OpenLayers.LonLat(2592821,5561988),1);
  //map.setCenter(new OpenLayers.LonLat(2597584,5535000),0);
  if(!map.getCenter()) map.zoomToMaxExtent();
  
  
  
  /* register mouseclick for tooltips: removes tooltip */
  map.events.register('click', map, function (e) {  
    if(this.popups.length>0){
      for (var i = this.popups.length - 1; i >= 0; --i) {
        this.removePopup(this.popups[i]);
      }
    } else {
     
      
      var lonlat = map.getLonLatFromViewPortPx(e.xy);
      //var dist = document.getElementById('distance').value;
      //alert("You clicked near " + lonlat.lat + " N, " + lonlat.lon + " E");
      urlstring='lzz.php'+"?lon="+Math.floor(lonlat.lon)+"&lat="+Math.floor(lonlat.lat)+"&scale="+map.getScale();

      if(lzz.getVisibility()==true){
        //alert(urlstring);
        loadData2(urlstring,'vss_date');
      }

    
    }
  }); 
 
 
}


function parseXML(xmlstring){
  var name="";
  var descrip="";
  var xmlDoc=xmlstring;
  var elDocRoot=xmlDoc.getElementsByTagName("loops")[0];
  var loopcount=0;

  if (elDocRoot){

    for(i=0;i<elDocRoot.childNodes.length;i++){
      elChild=elDocRoot.childNodes[i];
      if (elChild.nodeName=="loop"){
      loopcount++;
      attr=elChild.attributes;
    id=attr.getNamedItem("id").value;
    de=attr.getNamedItem("de").value;
    geom=attr.getNamedItem("geom").value;
        // descrip+="<a href=127.0.0.1/?id="+id+"&de="+de+">"+id+"_"+de+"</a><br>\n";
        descrip+="<input class=\"loopbutton\" type=\"button\" value=\""+id+"_"+de+"\" onclick=\"loadPic("+id+","+de+")\"/>\n";
        if((i+1)%8==0){
          descrip+="<br>";
        }
      }
    }

  if(loopcount==0){
    descrip="Keine Z&auml;hlschleifen im Suchradius!";
  }
  }else{
    alert("no document");
  }
  document.getElementById('lzz_info').innerHTML = descrip;
}

function loadData2(url,element){
  var req = new OpenLayers.Ajax.Request(
    url,
  {
    method: "GET",
    onComplete: function(){
      //alert(req.transport.responseText);
      //parseXML(req.transport.responseXML);
      document.getElementById('lzz_info').innerHTML = req.transport.responseText;
    },
    onCreate: function(){
      
    },
    onLoading: function(){
      //document.getElementById('lzz_info').innerHTML = "suche Z&auml;hlschleifen...";
      document.getElementById('lzz_info').innerHTML = "<img src=\"img/loading3.gif\" alt=\"loading\" width=\"20px\" height=\"20px\"></img>";
    }
  }
  );
}


/*#################################################################*/
/* toggle visibility */
/*#################################################################*/
function toggleVisibility(layer, buttonname){
  if(document.getElementById(buttonname).checked==false){
    layer.setVisibility(false);
  } else {
    layer.setVisibility(true);
  }
}
function toggleIcon(layer, buttonname, element, iconon, iconoff){
  if(document.getElementById(buttonname).checked==false){
    document.getElementById(element).src=iconon;
  } else {
    document.getElementById(element).src=iconoff;
  }
}





//<input id=check_kllos type=checkbox name=\"check_klplos\"
function updateCheckButtons(){
    document.getElementById('check_beschriftung').checked=labelingtile.getVisibility();
    document.getElementById('check_lzz').checked=lzz.getVisibility();
}


