GEvent.addDomListener(window,'load',loadMap);
GEvent.addDomListener(window,'unload',GUnload);

var map;
function loadMap() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("side_map"));
	    map.enableScrollWheelZoom();
		map.addControl(new GLargeMapControl3D());
        map.setCenter(new GLatLng(buoy_lat, buoy_lng), 6)
        GDownloadUrl("/data/all",
        function(data) {
            buoys = eval(data);
             for (var i = 0; i < buoys.length; i++) {
		           var point = new GLatLng(parseFloat(buoys[i].lat), parseFloat(buoys[i].lng));
		           var marker = createMarker(point, buoys[i].id, buoys[i].n);
						
		      }
        })
    }
}
function createMarker(point, id, name) {
    var marker = new PdMarker(point);
    marker.setTooltip(name);
    marker.setHoverImage("/i/map/buoy_icon.png");
    map.addOverlay(marker);
    GEvent.addListener(marker, 'click',
    function() {
  	  window.location.href = '/buoy/'+id;
    });
    return marker;
}
var Cookie = {
    set: function(name, value, daysToExpire) {
        var expire = '';
        if (daysToExpire != undefined) {
            var d = new Date();
            d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
            expire = '; expires=' + d.toGMTString()
        }
        return (document.cookie = escape(name) + '=' + escape(value || '') + expire)
    },
    get: function(name) {
        var cookie = document.cookie.match(new RegExp('(^|;)\s*' + escape(name) + '=([^;\s]*)'));
        return (cookie ? unescape(cookie[2]) : null)
    },
    erase: function(name) {
        var cookie = Cookie.get(name) || true;
        Cookie.set(name, '', -1);
        return cookie
    },
    accept: function() {
        if (typeof navigator.cookieEnabled == 'boolean') {
            return navigator.cookieEnabled
        }
        Cookie.set('_test', '1');
        return (Cookie.erase('_test') === '1')
    }
};
function baSetDefaultLocation() {
    var bounds = map.getBounds();
    var sw = bounds.getSouthWest();
    var ne = bounds.getNorthEast();
    var zoom = map.getZoom();
    var d_lon = (ne.lng() + sw.lng()) / 2;
    var d_lat = (sw.lat() + ne.lat()) / 2;
    Cookie.set('d_lon', d_lon, 60);
    Cookie.set('d_lat', d_lat, 60);
    Cookie.set('d_zoom', zoom, 60);
    alert('Your default location has been saved')
}
function ZoomToDefault() {
    var d_lon = Cookie.get('d_lon');
    var d_lat = Cookie.get('d_lat');
    var d_zoom = Cookie.get('d_zoom');
    var zLevel = Math.min(9, d_zoom);
    map.setCenter(new GLatLng(d_lat, d_lon), zLevel)
}
