	
	function MarkerManager(master)
	{
		var self=this;
		this.init=function()
		{
			self.marker_groups={};
			self.markers={};
			self.loadAllMarkers();
		}
		self.loadAllMarkers=function()
		{
			
		}
		self.addMarkers=function(data, label)
		{
			self.clusterMarkerArray=[];
			for(var p in self.marker_groups[label])
				self.clusterMarkerArray.push(	Marker(self.marker_groups[label][p], master)		);
	
			self.reloadCluster(self.clusterMarkerArray);
		}
		self.getMarkerFromCluster=function(id)
		{
			for(var i=0;i<self.clusterMarkerArray.length;i++)
			{
				if(self.clusterMarkerArray[i].id==id)
					return self.clusterMarkerArray[i];
			}
			return false;
		}
		self.reloadCluster=function(markers)
		{
			self.cluster=new ClusterMarker(master.map.map, { markers:markers} );
			self.cluster.fitMapToMarkers();
		}
		self.init();
	}
	
	
	function Marker(marker, master)
	{
		var new_marker=new GMarker(new GLatLng(marker.lat, marker.long), {	id:marker.id, icon:MarkerIcon(), draggable: true	});
		
		GEvent.addListener(new_marker, "click", function()
		{
        	master.markers.getMarker(new_marker, master.markers.showMarkerClickMenu);
        	master.map.goto(new_marker);
        });
        
        GEvent.addListener(new_marker, "dragstart", function()
        {
        	master.map.map.closeInfoWindow();
        });

        GEvent.addListener(new_marker, "dragend", function()
        {
        	master.markers.getMarkerMoved(new_marker);
        	master.map.goto(new_marker);
        });

		return new_marker;
	}
	
	function MarkerIcon()
	{
		var markerIcon = new GIcon();
		markerIcon.iconSize = new GSize(20, 20);
		markerIcon.iconAnchor = new GPoint(10, 10);
		markerIcon.infoWindowAnchor = new GPoint(9, 2);
		markerIcon.image = "/nikebasketball/emea/assets/global/images/maps/marker.png";
		return markerIcon;
	}
	
	
	
	
	
	
	
	
	
