// JavaScript Document

var map;
 
var mlon, mlat;

var changed = false;
var baselayer;
 
var layer_marker;
var layer_local;
var marker;
var edit_marker;







 function setHome( e ) { 
    
	if (edit_marker == "true")
	{
   
   var lonlat  = getEventPosition(e);
	 
	 mlat = lonlat.lat;
	 mlon = lonlat.lon
	 changed = true;
	 
	  setMarker();
	  
	}
	 
	
 
 
  }
  
  
  
 
function InitMap(lat,lon,zoom,edit) {
    OpenLayers.Lang.setCode('de');
   // var lon = 6.81901;
   // var lat = 50.80771;
    //var zoom = 13;
	changed = false;
	edit_marker = edit;
	
	mlon = lon; mlat = lat;
 
    parseParams(function(param, v) {
        switch (param) {
            case 'type': baselayer = v;           break;
            case 'lon':        lon = Number(v);   break;
            case 'lat':        lat = Number(v);   break;
            case 'zoom':      zoom = parseInt(v); break;
            case 'z':         zoom = parseInt(v); break;
            case 'mlon':      mlon = Number(v);   break;
            case 'mlat':      mlat = Number(v);   break;
        }
    });
 
    map = new OpenLayers.Map('map', {
        projection: projmerc,
        displayProjection: proj4326,
        controls: [
            	new OpenLayers.Control.LayerSwitcher(),
              new OpenLayers.Control.Navigation(),
              new OpenLayers.Control.PanZoomBar(),
              new OpenLayers.Control.Permalink(),
              new OpenLayers.Control.ScaleLine(),
              new OpenLayers.Control.MousePosition(),
              new OpenLayers.Control.KeyboardDefaults()
        ],
        maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34, 20037508.34, 20037508.34),
        numZoomLevels: 18,
        maxResolution: 156543,
        units: 'm'
    });
 
    map.addLayers([
 
        new OpenLayers.Layer.OSM.Mapnik("Friendmap Openstreetmap", { attribution: '', keyname: 'Openstreetmap Strassenkarte' }),
		new OpenLayers.Layer.Google("Google Gel&auml;ndekarte", {
       type: G_PHYSICAL_MAP,
	   sphericalMercator: true }),
		new OpenLayers.Layer.Google("Google Luftbildkarte", {
       type: G_SATELLITE_MAP,
	   sphericalMercator: true }),
		new OpenLayers.Layer.Google("Google Strassenkarte", {
       type: G_NORMAL_MAP,
	   sphericalMercator: true }),
			new OpenLayers.Layer.Google("Google Hybridkarte", {
       type: G_HYBRID_MAP,
	   sphericalMercator: true })
		
       
    ]);
	
	

	 

 
    jumpTo(lon, lat, zoom);
	
	//addMarker(layer_local, lon, lat, '<p>Friendmap.de<br/><b style="font-size: 120%;"><a href="http://www.friendmap.de">friendmap.de</a></b></p><p>Thomas Kaulen</p>');
    
    
   map.events.register("click", map, setHome);
	
	
	
 
    layer_local = new OpenLayers.Layer.Markers("friendmap Gruppen", { visibility: true });
    map.addLayer(layer_local);
  //  addMarker(layer_local, 6.81461, 50.81357, '<p>Friendmap.de<br/><b style="font-size: 120%;"><a href="http://www.friendmap.de">friendmap.de</a></b></p><p>Thomas Kaulen</p>');
 
    layer_marker = new OpenLayers.Layer.Markers("Marker");
    map.addLayer(layer_marker);

 
    if (mlon != null && mlat != null) {
        setMarker();
    }
 
    /*map.events.register('move', null, mapMoved); */
    /*map.events.register('zoomend', null, function() { updateMapKey(false); } ); */
    /*mapMoved();*/
 
jQuery('#mapkey_button').bind('click', function() {
        if (jQuery('#mapkey_area iframe').size() == 0) {
            jQuery('#mapkey_button').html('Legende ausblenden');
            updateMapKey(true);
        } else {
            jQuery('#mapkey_button').html('Legende<br/>einblenden');
            jQuery('#mapkey_area').html('');
        }
 
   
    });
}
