  
(function($)
{
	// Main plugin function
	$.fn.gMap = function(options)
	{
		// Build main options before element iteration
		var opts = $.extend({}, $.fn.gMap.defaults, options);
    	var latlng = new google.maps.LatLng(opts.latitude, opts.longitude);
    	
    	var myOptions = {
			      zoom: opts.zoom,
			      mapTypeId: google.maps.MapTypeId.ROADMAP
			    };
    	
		// Iterate through each element
		return this.each(function()
		{
			gmap = new google.maps.Map(this, myOptions);
			
			// Check for coordinates to center on
			if (opts.latitude && opts.longitude)
			{
				gmap.setCenter(latlng);
			}
			
			infowindow = new Array();
													
			// Loop through marker array
			for (var j = 0; j < opts.markers.length; j++)
			{
				// Get the options from current marker
				marker = opts.markers[j];
				
				/*
				if(marker.homepage != '')
					$web = "<div><a target='_blank' href='"+marker.homepage+"'>"+marker.homepage+"</a></div>";
				else
					$web = '';
				*/
				
				contentString = "<div class='mapInfo'><span>"+marker.registry+"</span>"+
				"<div>"+marker.street+"</div>"+
				"<div>"+marker.areacode+" "+marker.city+"</div>"+
				"<div>Telefon: "+marker.phone+"</div>"
				//+"<div><a href='"+marker.profile_url+"'>Profil ansehen</a></div>"+$web;
				+"</div>"
		  		mlatlng = new google.maps.LatLng(marker.latitude, marker.longitude);
		  		
		  		mark = new google.maps.Marker({
			    	position: mlatlng,
			    	map: gmap,
			    	title: marker.registry
				});
				
				mark.content = contentString;
				
				google.maps.event.addListener( mark, 'click', function() { myInfoWindow(this); });
				
				var infowindow = new google.maps.InfoWindow();
				
				function myInfoWindow(marker) 
				{
				    infowindow.close();
				    infowindow.setPosition(marker.getPosition());
				    infowindow.setContent(marker.content);
				    infowindow.open(gmap);
				}
				
				
				closeinfowindow = function() {
    				infowindow.close();
				}; 
				
				google.maps.event.addListener(gmap, 'click', closeinfowindow);
			}
		});
	}
		
				
	// Default settings
	$.fn.gMap.defaults =
	{
		latitude:				0,
		longitude:				0,
		zoom:					10,
		markers:				[],
		mapTypeId:				google.maps.MapTypeId.ROADMAP
	}
	
})(jQuery);
