var xObj;

function YahooLoadCrimes()
{
	xObj = YAHOO.util.Connect.asyncRequest('GET',"scripts/gcrimetest.php",crime_callback,null);
}

var crimeResponseSuccess = function(o)
{
	LoadCrimes(o);
}
var crimeResponseFailure = function(o)
{
	alert(o.statusText);
}
var crime_callback = { success : crimeResponseSuccess, failure : crimeResponseFailure };

function LoadCrimes(o) 
{
	//var crimeIcon = new GIcon();
	//crimeIcon.image = "images/star-blue.gif";
	//crimeIcon.iconSize = new GSize(29, 29);
	//crimeIcon.iconAnchor = new GPoint(6, 20);
	//crimeIcon.infoWindowAnchor = new GPoint(5, 1);

	var xmlDoc = o.responseXML;
	var xmlgroups = xmlDoc.documentElement.getElementsByTagName("group");
	var crimeicons = new Array();
					
	for (var i = 0; i < xmlgroups.length; i++) 
	{
		var cattitle = xmlgroups[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
		//crimeicons[cattitle] = new GIcon();
		crimeicons[cattitle] = xmlgroups[i].getElementsByTagName("baseicon")[0].childNodes[0].nodeValue;
		//crimeicons.iconSize = new GSize(16, 16);
	}
	
	var xmlcrimes = xmlDoc.documentElement.getElementsByTagName("item");
	for (var i = 0; i < xmlcrimes.length; i++)
	{
		var crimegroup = xmlcrimes[i].getElementsByTagName("ymapsGroupId")[0].childNodes[0].nodeValue;
		var lat = xmlcrimes[i].getElementsByTagName("geolat")[0].childNodes[0].nodeValue;
		var long = xmlcrimes[i].getElementsByTagName("geolong")[0].childNodes[0].nodeValue;
		var point = new GPoint(parseFloat(long), parseFloat(lat));	
		var crimetitle = xmlcrimes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
		var msg = xmlcrimes[i].getElementsByTagName("description")[0].childNodes[0].nodeValue;
		var formattedmsg = "<b>" + crimetitle + "</b><br/>" + msg;
		var thisiconimg = crimeicons[crimegroup];
		markers[10][i] = createMarkerFromImageUrl(point,thisiconimg,formattedmsg);
	}
}

// Creates one of our tiny markers at the given point
function createMarkerFromImageUrl(point,imageurl,message) 
{
	var crimeIcon = new GIcon();
	crimeIcon.image = imageurl;
	crimeIcon.iconSize = new GSize(16, 16);
	crimeIcon.iconAnchor = new GPoint(8, 8);
	crimeIcon.infoWindowAnchor = new GPoint(2, 2);

	var marker = new GMarker(point, crimeIcon);
	map.addOverlay(marker);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(message);
	});
	return(marker);
}



