
var directionDisplay;
var directionsService;
var map;
var error;
var zoomlevel = 13;

function showAddress(address) {
    var map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    if (geocoder) {
        geocoder.getLatLng(
            address,
            function(point) {
                if (!point) {
                    alert(address + " not found");
                } else {
                    document.getElementById("lat").innerHTML = point.lat().toFixed(5);
                    document.getElementById("lng").innerHTML = point.lng().toFixed(5);
                    map.clearOverlays()
                    map.setCenter(point, 14);
                    var marker = new GMarker(point, {
                        draggable: true
                    });
                    map.addOverlay(marker);

                    GEvent.addListener(marker, "dragend", function() {
                        var pt = marker.getPoint();
                        map.panTo(pt);
                        document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
                        document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
                    });


                    GEvent.addListener(map, "moveend", function() {
                        map.clearOverlays();
                        var center = map.getCenter();
                        var marker = new GMarker(center, {
                            draggable: true
                        });
                        map.addOverlay(marker);
                        document.getElementById("lat").innerHTML = center.lat().toFixed(5);
                        document.getElementById("lng").innerHTML = center.lng().toFixed(5);

                        GEvent.addListener(marker, "dragend", function() {
                            var pt = marker.getPoint();
                            map.panTo(pt);
                            document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
                            document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
                        });

                    });

                }
            }
            );
    }
}
// Dit is voor de long/ lattitude

function gmaps() {
    directionsDisplay = new google.maps.DirectionsRenderer();
    directionsService = new google.maps.DirectionsService();
    var location = new google.maps.LatLng(51.4309158, 5.4537362);
    var myOptions = {
        zoom: zoomlevel,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        center: location
    }
    // gmaps hieronder is de divnaam waar het in komt geladen
    map = new google.maps.Map(document.getElementById("gmaps"), myOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("navigation"));
    createMarker(location);
}

function createMarker(latLng) {
    var contentString = '<div id="marker">'+
	'<img src="uploads/default/files/hvproductions_logo.jpg" width="200" alt="HV Productions logo" />'
	'</div>';
    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });
	
    var marker = new google.maps.Marker({
        position: latLng,
        map: map,
        title:"HV Productions"
    });
    infowindow.open(map,marker);
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
    });
}

function calcRoute() {
    var start = document.getElementById("start").value;
	
    if (start == '') {
        error = 'Vul a.u.b. een vertrekpunt in.';
        document.getElementById('gmapserror').style.display = 'block';
        document.getElementById('gmapserror').innerHTML = error;
    }
    else {
        var request = {
            origin:start,
            destination:'Beemdstraat 1b',
            travelMode: google.maps.DirectionsTravelMode.DRIVING
        };

        directionsService.route(request, function(response, status) {
            if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(response);
                document.getElementById('gmapserror').style.display = 'none';
            }
            else if (status == google.maps.DirectionsStatus.INVALID_REQUEST || status == google.maps.DirectionsStatus.NOT_FOUND) {
                error = 'De opgegeven locatie is ongeldig, controleer of het opgegeven adres goed gespeld is en probeer het opnieuw.';
                document.getElementById('gmapserror').style.display = 'block';
            }
            else if (status == google.maps.DirectionsStatus.ZERO_RESULTS) {
                error = 'Er kan geen route worden gemaakt, probeer het opnieuw.';
                document.getElementById('gmapserror').style.display = 'block';
            }
            else {
                error = 'Er is een fout opgetreden, probeer het opnieuw.';
                document.getElementById('gmapserror').style.display = 'block';
            }
            document.getElementById('gmapserror').innerHTML = error;
            zoomlevel=12;
        });
    }
}
