var doturl	=	null;


$(document).ready(function(){
	if ($('#map').length > 0) {
		setupMap();
	}
	
	if ($('#address-map').length > 0) {
		setupAddressMap();
	}
	
	$('a.preview-link-image').click(function (e) {
		showDetails(this.id.split('-')[1]);
		e.stop();
	});
	
});


var map			=	null;
var mgr			=	null;
var _MARKERS	=	[];

function setupAddressMap ( ) {
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("address-map"));
        map.setCenter(new GLatLng(lat, lng), 17);
        map.disableDoubleClickZoom();
		map.setMapType(G_PHYSICAL_MAP);	
		
		mgr	=	new MarkerManager(map);
		
		marker		=	new GMarker(new GLatLng(lat, lng), { icon: getIcon(), clickable: false, title: title });			
		mgr.addMarker(marker, 3);	
	}
}

function setupMap ( ) {
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(52.435822, 7.071698), 17);
        map.disableDoubleClickZoom();
		map.setMapType(G_PHYSICAL_MAP);
		
		/*
		GEvent.addListener(map, "click", function ( overlay, latlng ) {
			if (overlay) {
				showDetails(overlay.id);
			}
			else {
				$('details-content').css('display', 'none');
				$('img.preview-image').removeClass('active');
				
				// Clear markers
				for (i = 0; i < _MARKERS.length; ++i) {
					mymarker	=	_MARKERS[i];
					icon		=	mymarker.getIcon();
					icon.image = serverpath + "/cms/plugins/AdressDatabase/images/dot.png";
				}
				mgr.refresh();
			}
		});
		*/
		
        window.setTimeout(setupWeatherMarkers, 0);
	}
}

function getIcon() {
	
	
	doturl			=	doturl ? doturl : serverpath + "/cms/plugins/AdressDatabase/images/dot.png";
	
	var icon		=	new GIcon();
	icon.image		=	doturl
	icon.iconAnchor	=	new GPoint(16, 16);
	icon.infoWindowAnchor = new GPoint(16, 0);
	icon.iconSize = new GSize(22, 22);
	//icon.shadow = serverpath + "/cms/plugins/AdressDatabase/images/sun-shadow.png";
	//icon.shadowSize = new GSize(59, 32);
	
	return icon;
}


/**
 * Place markers
 */
function setupWeatherMarkers() {
	
	if (markers.length > 0) {
		mgr	=	new MarkerManager(map);
		
		for (i = 0; i < markers.length; ++i) {
			marker		=	new GMarker(new GLatLng(markers[i].lat, markers[i].lng), { icon: getIcon(), title: markers[i].title });
			marker.id	=	i;			
			mgr.addMarker(marker, 3);
			
			_MARKERS[i]	=	marker;
		}		
		
		mgr.refresh();
	}
}

function showDetails ( id ) {
	
	// Clear markers
	for (i = 0; i < _MARKERS.length; ++i) {
		mymarker	=	_MARKERS[i];
		icon		=	mymarker.getIcon();
		icon.image = serverpath + "/cms/plugins/AdressDatabase/images/dot.png";
	}
	
	
	// Mark current icon active	
	mymarker	=	_MARKERS[id];
	icon		=	mymarker.getIcon();
	icon.image = serverpath + "/cms/plugins/AdressDatabase/images/dot-active.png";
	mgr.refresh();
	
	
	// Mark current thumbnail active
	$('img.preview-image').removeClass('active');
	$('preview-image-' + id).addClass('active');
	
	$('details-content').css('display', 'block');
	
	marker		=	markers[id];
	
	$('#preview-text').innerHTML		=	marker.text;
	$('#preview-title').innerHTML	=	marker.title;
	
	url = serverpath + '/cms/media/thumbnail_' + marker.image + '_w_200_h_90_c_1.jpg';
	$('#preview-logo').src	=	url;
	$('#preview-link').href	=	serverpath + '/' + marker.alias;
}
