//------------------------------------------------------ MapInput -----------------------------------------------------------//
function geocodePosition(pos) {
    geocoder.geocode({
        latLng: pos
    }, function(responses) {
        if (responses && responses.length > 0) {
            updateMarkerAddress(responses[0].formatted_address);
        } else {
            updateMarkerAddress('Cannot determine address at this location.');
        }
    });
}

function updateMarkerStatus(str) {
    //document.getElementById('markerStatus').innerHTML = str;
}

function updateMarkerPosition(latLng) {
    //            document.getElementById('info').innerHTML = [
    //            latLng.lat(),
    //            latLng.lng()
    //          ].join(', ');

    document.getElementById('txtProjLat').value = latLng.lat();
    document.getElementById('txtProjLng').value = latLng.lng();
}

function updateMarkerAddress(str) {
    //document.getElementById('address').innerHTML = str;
    document.getElementById('txtProjectLocation').value = str;
}

function initialize() {
    var visitorGeolocation = new geolocate(false, true);
    var lat = visitorGeolocation.getField('latitude');
    var lng = visitorGeolocation.getField('longitude');
    var latLng;

    var callback = function() {
        lat = visitorGeolocation.getField('latitude');
        lng = visitorGeolocation.getField('longitude');
        latLng = new google.maps.LatLng(lat, lng);

    };
    visitorGeolocation.checkcookie(callback);

    var map = new google.maps.Map(document.getElementById('mapCanvas'), {
        zoom: 9,
        center: latLng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    var marker = new google.maps.Marker({
        position: latLng,
        title: 'Point A',
        map: map,
        draggable: true
    });

    // Update current position info.
    //updateMarkerPosition(latLng);
    //geocodePosition(latLng);

    // Add dragging event listeners.
    google.maps.event.addListener(marker, 'dragstart', function() {
        updateMarkerAddress('Dragging...');
    });

    google.maps.event.addListener(marker, 'drag', function() {
        updateMarkerStatus('Dragging...');
        updateMarkerPosition(marker.getPosition());
    });

    google.maps.event.addListener(marker, 'dragend', function() {
        updateMarkerStatus('Drag ended');
        geocodePosition(marker.getPosition());
    });
}


//-----------------------------------------------------------------------------------------------------------------------//


