var map;
var zoomControl;

google.load("maps","2.x"); 
google.setOnLoadCallback(startMap);

function startMap()
{
	if(GBrowserIsCompatible())
	{
		counter = 0;
		
		map = new GMap2(document.getElementById("map_canvas"));
		map.setMapType(G_SATELLITE_MAP);
		map.setCenter(new GLatLng(0, 0), 1);
		map.disableDoubleClickZoom();
		loadUpComingEvents();
	}
    else
	{
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }

	
}

function resetMap()
{
	map.removeControl(zoomControl);
	map.setMapType(G_SATELLITE_MAP);
	map.setCenter(new GLatLng(0, 0), 1);
}

function loadUpComingEvents()
{

	$.ajax(
	{
		type: "POST",
		url: "ajax/get_events_latest.php",
		error: function(msg){
			alert("error in ajax request" +msg)
		},
		success: function(responseText){
				
			//events = responseText
			var events = jQuery.parseJSON(responseText);
			
			 setUpMarkers(events);
		}
	})
	
	
}

function setUpMarkers(events)
{
	for(i=0; i<events.length; i++)
	{
		if(events[i].lat != null || events[i].long != null)
		{
			createMarker(events[i]);
		}
	}
}

function createMarker(theEvent)
{
	var html   = '';
	var point  = new GLatLng(theEvent.lat,theEvent.long);
	var marker = new GMarker(point);
		
	html += '  <p><strong>'+theEvent.title+'</strong><br />';
	html +=    theEvent.dates+'<br />';
	html +=    theEvent.location+'<br /></p>';
	
	if(theEvent.website.substr(0,4) == 'mail')
	{
		html += '  <p class="owitems"><a href="mailto:'+theEvent.email+'"">Email organiser</a> | ';
	}
	else
	{
		html += '  <p class="owitems"><a href="'+theEvent.website+'" target="_blank">Website</a> | ';
	}
	
	html += '  <a href="http://www.google.com/maps?q='+theEvent.address+'" target="_blank">Google Maps</a></p>';
	
	/*
	html = html + ' | Directions: <a href="javascript:toHere('+counter+')">To here<\/a> - <a href="javascript:fromhere('+counter+')">From here<\/a></p>';
	
	
	html += 'start address:<form action="javascript:getDirections()">' +
           '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT"><br>' +
           '<input type="hidden" id="daddr" value="'+name+"@"+ point.lat() + ',' + point.lng() + '"/>';
	*/
	
	GEvent.addListener(marker, "click", function() {
		zoomControl = new GSmallZoomControl3D();
		marker.openInfoWindowHtml(html,{maxWidth:250});
	    map.setMapType(G_NORMAL_MAP);
		map.setCenter(point, 15);
		map.addControl(zoomControl);
	});
	
	GEvent.addListener(marker, "infowindowclose", function() {
		resetMap();
	});
	
	map.addOverlay(marker);
}




/*
var gdir;
gdir = new GDirections(map, document.getElementById("directions"));
function getDirections()
{
	var saddr = document.getElementById("saddr").value;
	var daddr = document.getElementById("daddr").value;
		
    gdir.load("from: "+saddr+" to: "+daddr);
	
	$('directions').show();
}
*/
