function gmaps_init(logIds) {
	if (GBrowserIsCompatible()) {
		GDownloadUrl('/component/gmaps/forMyGalleryMain.do?blogId=' + _gmaps_blogId + '&logIds=' + logIds, gmaps_getInitData);
	}
}

var _gmaps;
var _gmaps_geocoder;
var _gmaps_json;
function gmaps_getInitData(data, status) {
	if (data) {
		_gmaps = new GMap2(document.getElementById("gmaps"));
		_gmaps.disableDragging();
		
		_gmaps_json = eval('(' + data + ')');
		
		if (_gmaps_json.imageData && _gmaps_json.imageData.length > 0) {
			_gmaps_json = _gmaps_json.imageData;
			gmaps_drawMarker();
		} else if (_gmaps_json.userArea) {
			_gmaps_geocoder = new GClientGeocoder();
			_gmaps_geocoder.setBaseCountryCode('GB');
			_gmaps_geocoder.getLocations(_gmaps_json.userArea, gmaps_findLocation);
		} else {
			_gmaps.setCenter(new GLatLng(34, 0), 2);
		}
	}
}


function gmaps_findLocation(data) {
	if (!data || data.Status.code != 200) {
		_gmaps.setCenter(new GLatLng(34, 0), 2);
	} else {
		var gmaps_place = data.Placemark[0];
		if (gmaps_place.ExtendedData) {
			var south = gmaps_place.ExtendedData.LatLonBox.south;
			var west = gmaps_place.ExtendedData.LatLonBox.west;
			var north = gmaps_place.ExtendedData.LatLonBox.north;
			var east = gmaps_place.ExtendedData.LatLonBox.east;
			var bounds = new GLatLngBounds(new GLatLng(south, west), new GLatLng(north, east));
			
			var zoom = _gmaps.getBoundsZoomLevel(bounds);
			var center = new GLatLng(gmaps_place.Point.coordinates[1], gmaps_place.Point.coordinates[0]);
			_gmaps.setCenter(center, (zoom - 2));
		}		 
	}
}

function gmaps_drawMarker() {
	var bounds = new GLatLngBounds();	
	for (var i = 0; i < _gmaps_json.length; i++) {
		var latLng = new GLatLng(_gmaps_json[i].latitude, _gmaps_json[i].longitude);
		var icon = gmaps_getIcon(_gmaps_json[i].publicFlag, _gmaps_json[i].mediaType);
		_gmaps.addOverlay(new GMarker(latLng, { icon : icon, clickable : false }));
		bounds.extend(latLng);
	}
	
	_gmaps.setCenter(bounds.getCenter(), (_gmaps.getBoundsZoomLevel(bounds) - 2));
}

function gmaps_getIcon(publicFlag, mediaType) {
	var icon = new GIcon();
	
	if (publicFlag) {
		if (mediaType == _gmaps_type_media.PHOTO) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_stv.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_stv_bg.png';
			icon.iconSize = new GSize(23, 23);
			icon.shadowSize = new GSize(33, 24);
			icon.iconAnchor = new GPoint(12, 12);
			icon.infoWindowAnchor = new GPoint(18, 12);
		} else if (mediaType == _gmaps_type_media.VIDEO) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_splayer.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_splayer_bg.png';
			icon.iconSize = new GSize(27, 27);
			icon.shadowSize = new GSize(33, 27);
			icon.iconAnchor = new GPoint(13, 13);
			icon.infoWindowAnchor = new GPoint(22, 13);
		} else if (mediaType == _gmaps_type_media.SLIDE) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_sdotplayer.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_sdotplayer_bg.png';
			icon.iconSize = new GSize(26, 26);
			icon.shadowSize = new GSize(33, 29);
			icon.iconAnchor = new GPoint(13, 13);
			icon.infoWindowAnchor = new GPoint(21, 13);
		}
	} else {
		if (mediaType == _gmaps_type_media.PHOTO) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_stvred.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_stv_bg.png';
			icon.iconSize = new GSize(23, 23);
			icon.shadowSize = new GSize(33, 24);
			icon.iconAnchor = new GPoint(12, 12);
			icon.infoWindowAnchor = new GPoint(18, 12);
		} else if (mediaType == _gmaps_type_media.VIDEO) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_splayerred.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_splayer_bg.png';
			icon.iconSize = new GSize(28, 26);
			icon.shadowSize = new GSize(33, 27);
			icon.iconAnchor = new GPoint(14, 13);
			icon.infoWindowAnchor = new GPoint(23, 13);
		} else if (mediaType == _gmaps_type_media.SLIDE) {
			icon.image = _gmaps_m_imgserver + '/img/community/worldmap/icon_sdotplayerred.png';
			icon.shadow = _gmaps_m_imgserver + '/img/community/worldmap/icon_sdotplayer_bg.png';
			icon.iconSize = new GSize(27, 26);
			icon.shadowSize = new GSize(33, 29);
			icon.iconAnchor = new GPoint(13, 13);
			icon.infoWindowAnchor = new GPoint(22, 13);
		}
	}
	
	return icon;
}
