var map;

function OSMinit(cat) {

    map = new OpenLayers.Map({
        div: "map",
        allOverlays: true
    });

	
    var osm = new OpenLayers.Layer.OSM();
    var gmap = new OpenLayers.Layer.Google("Google Physical", {sphericalMercator: false });
	var wms = new OpenLayers.Layer.OSM("Kaartenlayer", "http://macq.aerypton.be/images/${z}/${x}/${y}.png", { numZoomLevels: 9 } );


    map.addLayers([osm,wms]);
   // console.log(osm);
    	
    // note that first layer must be visible
	map.setCenter(new OpenLayers.LonLat(520000, 6700000), 6);


	show_activities_on_map(cat);
	// setTimeout("show_activities_on_map(" + cat+ ")",1000);

}


function show_activities_on_map(cat) {
	
	// alert("/calendar/show-poi/cat/" + escape(cat));
	
	// de layer met de activiteiten wordt verwijderd.
	delete_activities_on_map();
	
	// de nieuwe layer met activiteiten wordt aangemaakt op basis van "calendar/show-poi"
	var activities = new OpenLayers.Layer.Vector("Activities", {
		strategies: [new OpenLayers.Strategy.BBOX({resFactor: 1.1})],
		protocol: new OpenLayers.Protocol.HTTP({
		    	url: "/nl/calendar/show-poi/" + escape(cat),
		    	format: new OpenLayers.Format.Text()
                })
	
	});
    
    
	// var activities = new OpenLayers.Layer.Text("Activities", { location: "/calendar/show-poi/cat/" + escape(cat)});
	map.addLayer(activities);

	
	// de kaart wordt terug gecentreerd op het centrum van Vlaanderen.
	map.setCenter(new OpenLayers.LonLat(520000, 6700000), 6);


	
	// Interaction; not needed for initial display.
	selectControl = new OpenLayers.Control.SelectFeature(activities);
	map.addControl(new OpenLayers.Control.MousePosition());
	map.addControl(selectControl);
	selectControl.activate();
	activities.events.on({
		'featureselected': onFeatureSelect,
		'featureunselected': onFeatureUnselect
	});
	
}


function delete_activities_on_map() {

	var layers = map.getLayersByName('Activities');
	for (var layerIndex = 0; layerIndex < layers.length; layerIndex++)
		{
		map.removeLayer(layers[layerIndex]);
		}
}

function onPopupClose(evt) {
    // 'this' is the popup.
    selectControl.unselect(this.feature);
}

function onFeatureSelect(evt) {
	showappointmenttypes(evt.feature.attributes.title);
}

function onFeatureUnselect(evt) {
    feature = evt.feature;
    if (feature.popup) {
        popup.feature = null;
        map.removePopup(feature.popup);
        feature.popup.destroy();
        feature.popup = null;
    }
}
