var map = null;
var marker = null;
var pw = null;
var pe = null;
var ps = null;
var pn = null;
var markers = null;


function jumpToLatLong(lat,lng) {
		if (!map) {
			loadMap();
		}
		var point = new GLatLng(parseFloat(lat), parseFloat(lng));

		GEvent.addListener(map, "moveend", function() {
			var center = map.getCenter();
			var bounds = map.getBounds();
			var sw = bounds.getSouthWest();
			var ne = bounds.getNorthEast();
			var w = Math.round(sw.lng()-0.5);
			var s = Math.round(sw.lat()-0.5);
			var e = Math.round(ne.lng()+0.5);
			var n = Math.round(ne.lat()+0.5);
			if (w<pw || pw == null || e>pe || pe==null || s<ps || ps==null || n>pn || pn==null) {
				pw = w; pe = e; ps = s; pn = n;
				map.clearOverlays();
		for (var fi = 0; fi < xMapFeeds.length; fi++ ) {
				// --------------------------------------------------
				// alert(xMapFeeds[fi]+"?e="+e+"&w="+w+"&n="+n+"&s="+s); 
				// -------------------------------------------------- 
				GDownloadUrl(xMapFeeds[fi]+"?e="+e+"&w="+w+"&n="+n+"&s="+s, function(data, responseCode) {
					var xml = GXml.parse(data);
					markerspecs = xml.documentElement.getElementsByTagName("marker");
					var icon=null;
					if (markerspecs.length>0) {
						icon = new GIcon();
						icon.image = markerspecs[0].getAttribute('image');
						if (markerspecs[0].getAttribute('shadow')) {
							icon.shadow = markerspecs[0].getAttribute('shadow');
						};
						icon.iconSize = new GSize(
							parseInt(markerspecs[0].getAttribute('sizex'))
							, parseInt(markerspecs[0].getAttribute('sizey'))
						);
						icon.iconAnchor = new GPoint(
							parseInt(markerspecs[0].getAttribute('anchorx'))
							, parseInt(markerspecs[0].getAttribute('anchory'))
						);
						icon.infoWindowAnchor = new GPoint(
							parseInt(markerspecs[0].getAttribute('infox'))
							, parseInt(markerspecs[0].getAttribute('infoy'))
						);
					}
					markers = xml.documentElement.getElementsByTagName("item");
					for (var i = 0; i < markers.length; i++) {
						var info =
							'<strong><a href="'
							+ markers[i].getAttribute('item_url')
							+ '">'
							+ markers[i].getAttribute('item_name')
							+ '</a></strong>'
							+ '<br />'
							+ ''
							+ markers[i].getAttribute('item_teaser')
						;
						var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("long")));
						var marker = createMarker(point, info, icon);

						map.addOverlay(marker)
						
						if ( 
							( xMapURL == markers[i].getAttribute('item_url') )
							|| ( xMapURL.replace(/http:\/\/work/,'http://www') == markers[i].getAttribute('item_url') )
						) {
							marker.openInfoWindowHtml(info);
						}

					}
				});
			}
			}
		});
		map.setCenter(point, xMapDefaultZoom);
}

function createMarker(point,info,icon) {
var icon;
	// --------------------------------------------------
	// var icon = new GIcon();
	// icon.image = "http://www.worldgolf.com/images/maps/flag.png";
	// icon.iconSize = new GSize(22, 22);
	// icon.iconAnchor = new GPoint(11, 11);
	// icon.infoWindowAnchor = new GPoint(11, 11);
	// var marker = new GMarker(point, icon);
	// -------------------------------------------------- 
var marker;
if (icon) {
	marker = new GMarker(point, icon);
} else {
	marker = new GMarker(point);
}
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(info);
	});
	return marker; 
}

function loadMap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		var mt = map.getMapTypes(); 
		for (var i=0; i<mt.length; i++) { 
			mt[i].getMinimumResolution = function() {return 6;} 
		} 
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		// --------------------------------------------------
		// map.addControl(new GOverviewMapControl());
		// -------------------------------------------------- 
	}
}

