function updatePosAdmin(p) {
    var pos = null;
    if (!p) {
        pos = m.getLatLng();
    } else {
        pos = p;
    }
    document.getElementById("id_lat").value = pos.lat();
    document.getElementById("id_lng").value = pos.lng();
}

function getPosAdmin() {
    var lat = document.getElementById("id_lat").value;
    var lng = document.getElementById("id_lng").value;
    if (lat && lng) return new GLatLng(lat, lng);
    return null;
}

function clickAdmin(marker, pos) {
    if (m == null) {
        updatePosAdmin(pos);
        setMarkerAdmin();
    }
}

function setMarkerAdmin() {
    var pos = getPosAdmin();
    if (pos) {
         m = new GMarker(pos, {draggable:true});
         GEvent.addListener(m, 'dragend', updatePosAdmin);
         map.addOverlay(m);
         map.setCenter(pos);
    }
}

function initMarkersAdmin() {
    setMarkerAdmin();
    if (m == null) {
        GEvent.addListener(map, 'click', clickAdmin);
    }
}
