// directions.js: Google Map with travel directions
document.observe('dom:loaded', function() {new GoogleMap();});
var GoogleMap = Class.create({
    initialize: function(el)
    {
        // Google map
        if ($('gmap'))
            this.loadMap();
    },
    // load Google map
    loadMap: function()
    {
        if (GBrowserIsCompatible()) {
            document.observe('unload', GUnload, false);
            // coordinates
            var coords = $('gmap').title.split(',');
            var point = new GLatLng(parseFloat(coords[0]), parseFloat(coords[1]));
            // display map
            var map = new GMap2($('gmap'));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
            map.enableScrollWheelZoom();
            map.setCenter(point, 15);
            // add marker
            var myIcon = new GIcon();
            myIcon.image = "../../images/general/gmaps-pointer.png";
            myIcon.iconSize = new GSize(160, 91);
            myIcon.iconAnchor = new GPoint(34, 90);
            map.addOverlay(new GMarker(point, myIcon));
            // add directions
            var directions = new GDirections(map, $('gdirections'));
            $('routeform').observe('submit', function(e)
            {
                var elm = Event.element(e);
                directions.load('from: ' 
                    + elm.routefrom.value.replace(/(\d{4})\W+([A-Za-z]{2})/, "$1$2")
                    + ' to: ' + elm.routeto.value, {locale: 'nl_NL'});
                Event.stop(e);
            });
        }
    }
});

