    var mapp_map
    var mapp_start_point
    var mapp_marker
    var mapp_update_location
    
    function mapp_init(div_id)
    {
        if (!GBrowserIsCompatible())
        {
            alert('You can not use Google Maps on this browser');
            return;
        }

        mapp_map = new GMap2(document.getElementById(div_id));
        mapp_map.enableGoogleBar()


        // Custom UI
        var ui = mapp_map.getDefaultUI()
        ui.smallzoomcontrol3d  = true
        ui.zoom.scrollwheel  = false
        ui.zoom.doubleclick = false
        ui.keyboard  = false
        mapp_map.setUI(ui)

        if (!mapp_start_point)
            mapp_start_point = new GLatLng(48.001990499791695, 37.80512452125549);
            
        mapp_map.setCenter(mapp_start_point, 12);

        mapp_marker = new GMarker(mapp_start_point, {draggable: true } );

        GEvent.addListener(mapp_marker, "dragend", function() { mapp_update(mapp_marker.getLatLng(), false); } );

        GEvent.addListener(mapp_map, "dragend", function() { mapp_update(mapp_map.getCenter(), true); } );
        GEvent.addListener(mapp_map, "moveend", function() { mapp_update(mapp_map.getCenter(), true); } );

        mapp_map.addOverlay(mapp_marker);
    }
    
    function mapp_static_init(div_id, lat, lng)
    {
      if (!GBrowserIsCompatible())
        {
            alert('You can not use Google Maps on this browser');
            return;
        }

        mapp_map = new GMap2(document.getElementById(div_id));
        //mapp_map.enableGoogleBar()


        // Custom UI
        var ui = mapp_map.getDefaultUI()
        ui.smallzoomcontrol3d  = true
        ui.zoom.scrollwheel  = true
        ui.zoom.doubleclick = false
        ui.keyboard  = false
        mapp_map.setUI(ui)

        if (!mapp_start_point)
            mapp_start_point = new GLatLng(lat, lng);
            
        mapp_map.setCenter(mapp_start_point, 15);
        mapp_marker = new GMarker(mapp_start_point, {draggable: true} );
        mapp_map.addOverlay(mapp_marker);
    }

    function mapp_update(LatLng, mark_or_pan)
    {
        if (mark_or_pan)
            mapp_marker.setLatLng(LatLng)
        else
            mapp_map.panTo(LatLng);
        if (mapp_update_location)
            mapp_update_location(LatLng.lng(), LatLng.lat())
    }
    
    function mapp_update_location(lng, lat)
    {
        document.getElementById('map_lng').value = lng
        document.getElementById('map_lat').value = lat
    }
