function addMaps() {
	$$('div.map').each(function(i) {

		var options = null;
		
		try {
			var data = Base64.decode(i.get('title'));
			options = JSON.decode(data);
		} catch (e) {
			return;
		}
		
		i.erase('title');
		
		var map = new GMap2(i);
		map.setMapType(G_HYBRID_MAP);
 
		// Links oben Pfeile und "+" und "-" Tasten
		map.addControl(new GSmallMapControl());
 
		// Rechts oben Tasten "Karte", "Satellit", "Hybrid"
		map.addControl(new GMapTypeControl());
 
		// Mittelpunkt setzen
		var center = new GLatLng(options.latitude, options.longitude);
		map.setCenter(center, options.zoom);
		
		options.markers.each(function(m){
			var marker = new GMarker(new GLatLng(m.latitude, m.longitude));
			marker.info = m.html;
			marker.openInfo = function() {
				this.openInfoWindowHtml(this.info);
			}
			
			map.addOverlay(marker);
			marker.openInfo();
			GEvent.addListener(marker, "click", function() {marker.openInfo()});
		});
		
	});
}

function addFlash() {
	/*if ($$('div.flash').length > 0) {
		
	}*/
	
	$$('div.flash').each(function(i) {

		var options = null;
		
		try {
			var data = Base64.decode(i.get('title'));
			options = JSON.decode(data);
		} catch (e) {
			return;
		}
		
		i.erase('title');
		
		var min = options.min;
		var msg = options.msg;
		
		if (min) {
			if (Browser.Plugins.Flash.version < min[0] || (Browser.Plugins.Flash.version == min[0] && Browser.Plugins.Flash.build < min[2])) {
				alert(msg);
				return;
			}
		}
		
		var obj = new Swiff(options.file, {
			id: 'flash'+i.get('id'),
			params: options.params,
			vars: options.vars
		}).inject(i);
	});
}

window.addEvent('domready', function() {
	addMaps();
	addFlash();
});

window.addEvent('ajaxready', function() {
	addMaps();
	addFlash();
});