var map;
var bounds;
var lat = "34.00";
var long = "-117.43";
var zoom = 8;
var layerMapnik;
var popup;

function map_init(){


			map = new OpenLayers.Map ("map", {
				controls:[
					new OpenLayers.Control.Navigation(),
					new OpenLayers.Control.PanZoomBar()],
				projection: new OpenLayers.Projection("EPSG:4326"), // EPSG:900913
				displayProjection: new OpenLayers.Projection("EPSG:4326"), // EPSG:4326
				units: "m",
				numZoomLevels: 20,
				maxResolution: 156543.0339,
				maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34)				
			} );
			
			//OpenLayers.ImgPath = "/images/openlayers/";
			
			map.addControl(new OpenLayers.Control.LayerSwitcher());
			map.addControl(new OpenLayers.Control.MousePosition());
			
			layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Open Street Maps");
			map.addLayer(layerMapnik);			

			layerMarkers = new OpenLayers.Layer.Markers("Meetings");
			map.addLayer(layerMarkers);
 
			var lonLat = new OpenLayers.LonLat(long, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
			map.setCenter (lonLat, zoom);
			
		get_markers();
}

function get_markers(){


	var  responseObj = new OpenLayers.Ajax.Request('markers.php',
        {       method:'post',
                postBody:'',
                onComplete:function(transport) {
                	var format = new OpenLayers.parseXMLString(transport.responseText);
                	var unit = format.documentElement.getElementsByTagName("m");

                	for (var i = 0; i < unit.length; i++) {
                		add_single_marker(unit[i].getAttribute("lat"), unit[i].getAttribute("long"), unit[i].getAttribute("label"),unit[i].getAttribute("url"));
                	}

						
	            },
                onFailure:function(transport) { alert('failed to load map items'); }        
		});


}//get_markers

function add_single_marker(lat,long,label,url){
	var len = label.length;
	len = (len * 12) + 2;
	
	var latlong = new OpenLayers.LonLat(long, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());

	var size = new OpenLayers.Size(14,14);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	var icon = new OpenLayers.Icon('/images/tux.png',size,offset);// icon
			 
	var marker = new OpenLayers.Marker(latlong, icon.clone());
	marker.label = label;
	marker.width = len;
	marker.url = url;
	
	layerMarkers.addMarker(marker);
	
	mouseclick(marker);

	jQuery(marker.icon.imageDiv).css("width", len);
	jQuery(marker.icon.imageDiv).append('<span class="map_marker_label" style="width:'+ len +';">'+ label +'</span>');	 
	
	return marker;

}//add_single_marker

function mouseclick(marker){
	marker.events.register("mousedown", marker, 
		function(evt){
			//console.log(marker);
			
			if(popup != null){
				popup.destroy();
				popup = null;
			}
			
				var feature = new OpenLayers.Feature(layerMarkers, marker.lonlat);
				popup = feature.createPopup(true);
				popup.setContentHTML("<div class='map_popup'><b>"+ marker.label +"</b><br><a href='"+ marker.url +"'>"+ marker.url +"</a></div>");
				popup.setBackgroundColor("white");
				popup.setOpacity(1);
				popup.closeOnMove = true;
				popup.autoSize = true;
				popup.keepInMap = true;
				popup.panMapIfOutOfView = true;
				layerMarkers.map.addPopup(popup);

			
		OpenLayers.Event.stop(evt);
            			
		}//function
	);//event
}

