// -*-c-*-

function initmap(ab_kode) {
    var info; 
    var popup;
 
    //var mybounds = new OpenLayers.Bounds(0,6746275.841017158,3339584.723798207,11432243.111992031); 
    var mybounds = new OpenLayers.Bounds(-1892431.3434856508,4163881.144064294,3339584.723798207,11753184.61533845); 
    
    var mapoptions = {
        div: "map",
        projection: new OpenLayers.Projection("EPSG:900913"),  
        units: "m",
       // maxResolution: 156543.0339,
        maxExtent: mybounds                    
    }; 
        
    var map = new OpenLayers.Map('map', mapoptions); 

    
    var layers = {};

//    layers.bakgrunn_google = new OpenLayers.Layer.Google("Google terrain map", { 'type': G_PHYSICAL_MAP, 'sphericalMercator': true   }     );
     layers.bakgrunn_google = new OpenLayers.Layer.Google("Google terrain map", { type: google.maps.MapTypeId.TERRAIN, 'sphericalMercator': true   }     );
     layers.bakgrunn_google2 = new OpenLayers.Layer.Google("Google map",   { 'sphericalMercator': true   }  );

  //    layers.bakgrunn_google2.setOpacity(0.5);

     layers.nml_aktivitet = new OpenLayers.Layer.WMS ('Tre phenology',
                                                    '/wms/aktiviteter/server.php?a=LN22',
                                                 { layers: "nml_aktivitet",
                                                           transparent: true 
                                                 }, {singleTile: true });

     //map.addLayers([layers.bakgrunn_google2, layers.bakgrunn_google,layers.nml_aktivitet]);
    for (var i in layers)   {
        map.addLayer(layers[i]);
    }
    
     map.addControl(new OpenLayers.Control.LayerSwitcher());
     map.addControl(new OpenLayers.Control.MousePosition());
     map.addControl(new OpenLayers.Control.ScaleLine({bottomOutUnits:'',bottomInUnits:''}));
     map.addControl(new OpenLayers.Control.KeyboardDefaults());
     map.addControl(new OpenLayers.Control.Permalink());

     var  showInfo = function(evt) {
          if(popup != null) {
               popup.destroy();
               popup = null;
          }
          
          if(evt.text.length ) {
               popup = new OpenLayers.Popup.FramedCloud("fipopup",
                                                        map.getLonLatFromPixel(new OpenLayers.Pixel(evt.xy.x,evt.xy.y)),
                                                        new OpenLayers.Size(200,200),
                                                        evt.text,
                                                        null,
                                                        true
                                                        );
               map.addPopup(popup);
          }      
     }
     
     info = new OpenLayers.Control.WMSGetFeatureInfo({
        url: '/wms/aktiviteter/br9.php',
        title: 'Klikk for info',
        clickTolerance: 15,     
        queryVisible: true,
            eventListeners: {
                getfeatureinfo: function(event) {
                    map.addPopup(new OpenLayers.Popup.FramedCloud( "test",
                                                                  map.getLonLatFromPixel(event.xy),
                                                                  null,
                                                                  event.text,
                                                                  null,
                                                                  true
                                                                  )); 
                }
            }
    }); 
    
     
    var infoControls = {
         click: new OpenLayers.Control.WMSGetFeatureInfo({ 
              title: 'Info om aktiviteten', 
                   layers: [layers.nml_aktivitet],
                   infoFormat: 'text/html',
                   queryVisible: true 
     })
    }
    
    for(var i in infoControls) {
        infoControls[i].events.register("getfeatureinfo", this, showInfo);
        map.addControl(infoControls[i]); 

    }
    
    
    infoControls.click.activate();
     if(! map.getCenter()){
          map.zoomToExtent(mybounds);
     }
            
    return map;     
}

