function createMarker (map, lat, log , markerOptions, tooltip, i)
{
	var mapId = map.getSize();
	if (mapArray[mapId+i] == undefined)
	{
		mapArray[mapId+i] = new GMarker(new GLatLng(lat, log), markerOptions); 
		
		map.addOverlay(mapArray[mapId+i]);
		
		GEvent.addListener(mapArray[mapId+i], "click", function () {
			mapArray[mapId+i].openInfoWindowHtml(tooltip);
		});
	}
	else
	{
		current = mapId+i;
	}
}

function deleteMarker (map, i)
{
	var mapId = map.getSize();
	if ((mapId+i) != current)
	{
		map.removeOverlay(mapArray[mapId+i]);
		mapArray[mapId+i] = undefined;
	}
}

function loadMarkers(cat,check, user){
	$.post(
 			'/gmap/c.json',
	 		{
				c: cat,
				m: user
	 		},
	 		function(markers)
	 		{
	 			var markerOptions = { icon: myIcon[cat] };
	 			for (i in markers)
				{
					var tooltip = markers[i]['tooltip'];

					var slug = markers[i]['slug'];
					
					if (check){	
						createMarker (map, markers[i]['lat'], markers[i]['log'], markerOptions, tooltip, slug);
					}
					else{
						deleteMarker(map, slug);
					}
				}
			},
			'json'
			);
}

var mapArray = new Array();

var current;

$(document).ready(function() {

	var firstTime = false;

	var you_here = ($("#map2").attr('class'));
	
	var $coll = $("#gmap-controls input");

	$coll.each(function() {

		$(this).click(function() {
			
			var cat = $(this).attr('id').replace('gc-', '');
			
			var user = 0;

			if ($("#gmap-controls").hasClass('just-user')){
				user = 1;
			}

			//user = 1;	

			if (!firstTime && !you_here){	
				map.clearOverlays();
				firstTime = true;
			}

			var check = $(this).attr('checked');

			loadMarkers(cat,check,user);
			
		});
		
	});

});

