var map	= null;
var aPoints = new Array();

function createMarker(point, index, windowHtml, color) 
{
	if ( index > 0 )
	{
		var letteredIcon = new GIcon(G_DEFAULT_ICON);
		letteredIcon.image = 'http://www.ondernemershuiszuid.nl/file/img/ico/marker/' + color + '' + index + '.png';
		markerOptions = { icon:letteredIcon };
	}
	else
		markerOptions = {};

	var marker = new GMarker(point, markerOptions);
	
	if ( typeof(windowHtml) == 'string' && windowHtml != '' )
	{
		GEvent.addListener(marker, 'click', function() {
			marker.openInfoWindowHtml(windowHtml);
		});
		$('#v' + index).click(function(){marker.openInfoWindowHtml(windowHtml);});
		if ( $('#v' + index).find('p.click').length == 1 )
			marker.openInfoWindowHtml(windowHtml);
	}

	return marker;
}

function addOverlayByAddress(address, index, windowHtml)
{
	if (geocoder) {
		geocoder.getLatLng(
			address,
			function(point) {
			if (!point) {
				false;//alert(address + " not found");
			} else {
				aPoints[index]	= point;
				map.addOverlay( createMarker(point, index, windowHtml) );
			}
		} );
	}
}

function initializeGoogleMaps()
{
	if (GBrowserIsCompatible()) 
	{
		// className:address:addMarker:zoomLevel
		var gmapsVar	= $("[class^='gmaps:']").attr('class').split(':');
		var center 		= new GLatLng(gmapsVar[1].split(',')[0], gmapsVar[1].split(',')[1]);
		
		var zoomLevel	= gmapsVar.length > 3 && parseInt(gmapsVar[3]) < 20 ? parseInt(gmapsVar[3]): 10;
		map				= new GMap2( document.getElementById('map') );
		map.setUIToDefault();
		
		map.setCenter(center, zoomLevel);
		if ( gmapsVar.length <= 2 || gmapsVar[2] == 1 )
			map.addOverlay( createMarker(center, 0, $("[class^='gmaps:'] > address").html() ) );	// alleen centraal punt tonen indien opgegeven

		for ( i = $("ol[class^='gmaps:'] > *,ul[class^='gmaps:'] > *").length-1; i >= 0; i-- )	// for reverse ordering
		{
			var $gMaps = $("ol[class^='gmaps:'] > *:eq(" + i + "),ul[class^='gmaps:'] > *:eq(" + i + ")"); // saving jquery object in jquery var
			var color	= $gMaps.parent().attr('id') == 'groep2' ? 'orange': 'green';
			
			if ( $gMaps.find('address').length > 0 )
			{
				if ( $gMaps.find('h3').length > 0 )
				{
					var windowHtml	= '<strong><a href="' + $gMaps.find('h3').find('a').attr('href') 
						+ '">' + $gMaps.find('h3').find('a').html() + '</a></strong><br />' 
						+ $gMaps.find('address').html();
					$gMaps.css('background', "url('/file/img/ico/marker/" + (1+i) + ".png') no-repeat 555px 15px");
				}
				else
					var windowHtml	= $gMaps.find('address').html();
			}
			else if ( $gMaps.find('div.details').length > 0 )
			{
				var windowHtml	= $gMaps.find('div.details').html();
				$gMaps.css('background', "url('/file/img/ico/marker/" + (1+i) + ".png') no-repeat 555px 15px");
			}
			else
				var windowHtml	= $gMaps.html();
			
			var point	= new GLatLng($gMaps.attr('class').split(',')[0], $gMaps.attr('class').split(',')[1]);
			map.addOverlay( createMarker(point, (1+i), windowHtml, color) );
		}
	}
}
