(function($) {
	jQuery.fn.locatorMapCloudmade = function(options){
		var $m = jQuery(this);
		
		var options = jQuery.extend({
			center_lat:40.711667,
			center_lng:-74.0125,
			zoom:16,
			parent:null,
			cloudmade_key:'f827e663f0175263ad50db534dce5ffc'
		},options);
		
		var marker = null;
		var map = null;
		
		if(maps_loaded == true){
			_initializeMaps();
		} else {
			$(document).bind("mapsLoaded",_initializeMaps);
		};
		
		function _initializeMaps(){
			var cloudmade = new CM.Tiles.CloudMade.Web({key: options.cloudmade_key,styleId:2830});
			var latlng = new CM.LatLng(options.center_lat, options.center_lng);
			
			map = new CM.Map($m.children("#map_internal").get(0), cloudmade);
			map.setCenter(latlng, options.zoom);
			
			map.disableDragging();
			map.disableScrollWheelZoom();
			map.disableDoubleClickZoom();
			map.disableShiftDragZoom();
			map.disableMouseZoom();
			
			setMapToPoint(new CM.LatLng(options.center_lat, options.center_lng),options.zoom);
			
			formatCopyright();
		};
		
		function setMapToPoint(point, zoom){
			if(marker == null){
				var icon = new CM.Icon();
				icon.image = "/images/presentation_map_marker_selected.png";
				icon.iconSize = new CM.Size(13, 13);
				icon.iconAnchor = new CM.Point(6.5,6.5);
				icon.shadowSize = new CM.Size(0,0);
				marker = new CM.Marker(point, {draggable:false, title: "Your Position",icon:icon});
				map.setCenter(point, zoom);
				map.addOverlay(marker);
			} else {
				marker.setLatLng(point);	
				map.setCenter(point, zoom);
			};
		};
		
		function formatCopyright(){
			var ct = '© 2009 <a href="http://cloudmade.com" target="_blank">CloudMade</a> - Map data <a href="http://creativecommons.org/licenses/by-sa/2.0/" target="_blank">CCBYSA</a> 2009 <a href="http://openstreetmap.org" target="_blank">OpenStreetMap.org</a> contributors';
			$m.find(".wml-copyright").addClass("cloudmade_copyright");
			$m.find(".wml-copyright").html(ct);
		};
		
		function hideCopyright(){
			$m.find(".wml-copyright").hide();
		};
		
		$m.showCopyright = function(){
			$m.find(".wml-copyright").show();
		};
		
		return $m;
	}
})(jQuery);