			function objectMapClass() {
				var categories = new Array();
				var activeCategory = 0;
				var currentPage = 1;
				var listScrolling = false;
				
				this.init = function() {
					if (GBrowserIsCompatible()) {
				       	this.map = new GMap2(document.getElementById(this.mapId));
						this.map.setCenter(new GLatLng(54.0924891, 12.1400887), 15);
				        this.map.enableDragging();
			      	}					
				}
				
				this.setActiveCategory = function(categoryId) {
					activeCategory = categoryId;
					
					this.fillObjectList();
				}
				
				this.fillObjectList = function() {
					currentPage = 1;
					
					// Empty Object-List
					document.getElementById(this.listId).innerHTML = '';

					// Delete Markers from Map
					this.map.clearOverlays();

					// Check if there are entries for selected Category
					if(categories[activeCategory]["entries"].length > 0) {
					
						var bounds = new GLatLngBounds();	

						// Scroll List to first page
						document.getElementById(this.listId).style.top = '0px'; 

						for(entryCnt = 0; entryCnt < categories[activeCategory]["entries"].length; entryCnt++) {

							entryContainer = document.createElement("DIV");
							entryContainer.id = this.id + 'listEntry' + entryCnt;
							entryContainer.className = 'object';
							
							eval("entryContainer.onmouseover = function() { " + this.name + ".hoverOverEntry(" + activeCategory + ", " + entryCnt + ", false); }; ");
							eval("entryContainer.onmouseout = function() { " + this.name + ".unHoverOverEntry(" + activeCategory + ", " + entryCnt + "); }; ");
							eval("entryContainer.onclick = function() { document.location.href = '" + categories[activeCategory]["entries"][entryCnt]["url"] + "'; }; ");
							
							entryThumbnailContainer = document.createElement("DIV");
							entryThumbnailContainer.className = 'icon';
							
							if(categories[activeCategory]["entries"][entryCnt]["thumbnailPath"] && categories[activeCategory]["entries"][entryCnt]["thumbnailPath"]!='' && categories[activeCategory]["entries"][entryCnt]["thumbnailPath"] != 'http://www.ziemo.de') {
								entryThumbnail = document.createElement("IMG");
								entryThumbnail.src = categories[activeCategory]["entries"][entryCnt]["thumbnailPath"];
								entryThumbnailContainer.appendChild(entryThumbnail);
							}
							
							entryTitle = document.createElement("DIV");
							entryTitle.className = 'title';
							entryTitle.innerHTML = categories[activeCategory]["entries"][entryCnt]["title"] + "<br />";
							
							entrySubTitle = document.createElement("SPAN");
							entrySubTitle.className = 'subTitle';
							entrySubTitle.innerHTML = categories[activeCategory]["entries"][entryCnt]["subTitle"];
							
							entryTitle.appendChild(entrySubTitle);
							
							entryContainer.appendChild(entryThumbnailContainer);
							entryContainer.appendChild(entryTitle);
							
							document.getElementById(this.listId).appendChild(entryContainer);

							// Create Marker for Object:
							point = new GLatLng(categories[activeCategory]["entries"][entryCnt]["latitude"], categories[activeCategory]["entries"][entryCnt]["longitude"]);
							// Expand Boundaries of Map
							bounds.extend(point);
							// Save Marker in Object-Array
							marker = new GMarker(point, {draggable: false});
							
							categories[activeCategory]["entries"][entryCnt]["marker"] = new GMarker(point, {draggable: false});	

							eval("GEvent.addListener(marker, 'mouseover', function() { " + this.name + ".hoverOverEntry(" + activeCategory + ", " + entryCnt + ", true); });"); 
							eval("GEvent.addListener(marker, 'mouseout', function() { " + this.name + ".unHoverOverEntry(" + activeCategory + ", " + entryCnt + "); });"); 
														
							categories[activeCategory]['entries'][entryCnt]['marker'] = marker;
							
							// Add Marker
							this.map.addOverlay(categories[activeCategory]["entries"][entryCnt]["marker"]);
							this.map.setZoom(this.map.getBoundsZoomLevel(bounds));
							this.map.setCenter(bounds.getCenter());														
						}
					}
				}

				this.hoverOverEntry = function(catId, entryId, scrollList) {
					categories[catId]["entries"][entryId]["marker"].setImage('/images/icons/greyMarker.png');
				}

				this.unHoverOverEntry = function(catId, entryId) {
					categories[catId]["entries"][entryId]["marker"].setImage('http://maps.gstatic.com/intl/de_ALL/mapfiles/marker.png');
				}
				
				this.addCategory = function(name) {
					index = categories.length;
					
					categories[index] = new Array();
					
					categories[index]["name"] = name;
					categories[index]["entries"] = new Array();
					
					return(index);
				}
				
				this.addObject = function(categoryIndex, title, subTitle, url, thumbnailPath, latitude, longitude) {
					index = categories[categoryIndex]["entries"].length;
					categories[categoryIndex]["entries"][index] = new Array();
					categories[categoryIndex]["entries"][index]["title"] = title;
					categories[categoryIndex]["entries"][index]["subTitle"] = subTitle;
					categories[categoryIndex]["entries"][index]["latitude"] = latitude;
					categories[categoryIndex]["entries"][index]["longitude"] = longitude;
					categories[categoryIndex]["entries"][index]["url"] = url;
					categories[categoryIndex]["entries"][index]["thumbnailPath"] = thumbnailPath
 				}
			}
