function resetMarker(point)
{
    if (marker!=null)
    { 
        map.removeOverlay(marker);
    }
    
    marker = new GMarker(point,{draggable: true});
    marker.enableDragging();
    
    GEvent.addListener(marker, "drag", function(){
        var val = marker.getPoint();
        
        document.getElementById("lat").value=val.lat();
        document.getElementById("lng").value=val.lng();
	});

    map.addOverlay(marker);
    map.setCenter(point);
    
    document.getElementById("lat").value=point.lat();
    document.getElementById("lng").value=point.lng();
}//resetMarker

var mapSwap = 0;
var map     = null;
var marker  = null;
var point   = null;

function swapMap()
{
    mapSwap = 1;
    
    if (map == null)
    {
       	map = new GMap2(document.getElementById("map"));
     	map.addControl(new GLargeMapControl());
    	map.addControl(new GOverviewMapControl());
    	map.enableScrollWheelZoom();
    	
    	if (document.getElementById("lat").value && document.getElementById("lng").value)
        {
    		var startpoint = new GLatLng(document.getElementById("lat").value, document.getElementById("lng").value);
    		
    		map.setCenter(startpoint,12);
    	    resetMarker(startpoint);
    	}
        else
        {
    		var geocoder = new GClientGeocoder();
    		
    		geocoder.getLatLng("Slovensko",
    		function(point){
        		if (point)
                {
     			map.setCenter(point, 7);
                }
            });
        }
    
        map.disableDoubleClickZoom();
        map.enableContinuousZoom();
    
        GEvent.addDomListener(map.getContainer(),"DOMMouseScroll", doNotPropagate);
        map.getContainer().onmousewheel = doNotPropagate;
    
        GEvent.addListener(map, "dblclick", function(marker, point) {
            resetMarker(point);
        });
    }
}//swapMap

function loadPointMap()
{
    if (map == null)
    {
       	map = new GMap2(document.getElementById("map"));
     	map.addControl(new GLargeMapControl());
    	map.addControl(new GOverviewMapControl());
    	map.enableScrollWheelZoom();
    	
    	var geocoder = new GClientGeocoder();
    		
		geocoder.getLatLng("Slovensko",
		function(point){
    		if (point)
            {
 			map.setCenter(point, 7);
            }
        });
    
        map.disableDoubleClickZoom();
        map.enableContinuousZoom();
    
        GEvent.addDomListener(map.getContainer(),"DOMMouseScroll", doNotPropagate);
        map.getContainer().onmousewheel = doNotPropagate;
    }

    //var map = new GMap2(document.getElementById("map"));
    GDownloadUrl(web_root + "mapdata.xml", function(data, responseCode) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        map.addOverlay(new GMarker(point));
      }
    });
}//loadPointMap

function showMap()
{
    mapSwap = 1;
    
    if (map == null)
    {
       	map = new GMap2(document.getElementById("map"));
     	map.addControl(new GLargeMapControl());
    	map.addControl(new GOverviewMapControl());
    	map.enableScrollWheelZoom();
    	
    	if (document.getElementById("lat").value && document.getElementById("lng").value)
        {
    		var startpoint = new GLatLng(document.getElementById("lat").value, document.getElementById("lng").value);
    		
    		map.setCenter(startpoint,12);
    	    resetMarker(startpoint);
    	}
        else
        {
    		var geocoder = new GClientGeocoder();
    		
    		geocoder.getLatLng("Slovensko",
    		function(point){
        		if (point)
                {
     			map.setCenter(point, 7);
                }
            });
        }
    
        map.enableContinuousZoom();
    
        GEvent.addDomListener(map.getContainer(),"DOMMouseScroll", doNotPropagate);
        map.getContainer().onmousewheel = doNotPropagate;
    }
}//showMap
  
function doNotPropagate(e)
{
	if (!e)
    {
		e = window.event;
	}
	
	if (e.preventDefault)
    {
		e.preventDefault()
	}
	
	e.returnValue = false;
}//doNotPropagate

function GgLoad()
{
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById("map"));
        
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
    }
}//GgLoad
