	function createMarker(latitude, longitude, name, info, iconType) {
		var marker = new PdMarker(new GLatLng(latitude, longitude), getIcon(iconType));
		marker.setTooltip(name);
		marker.setOpacity(85);
		marker.setTooltipHiding(true);
		marker.display(true);

		if (info) {
			GEvent.addListener(marker, "mouseover", function() { marker.showTooltip; });
			GEvent.addListener(marker, "mouseout", function() { marker.hideTooltip(); });
			GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(info); map.setCenter(new GLatLng(latitude, longitude)); marker.hideTooltip(); });
			marker.infoHtml = info;
		} else {
			GEvent.addListener(marker, "mouseover", function() { void(0); });
			GEvent.addListener(marker, "mouseout", function() { void(0); });
			GEvent.addListener(marker, "click", function() { void(0); });
		}

		return marker;
	}

	function getIcon(type){
		var icon = new GIcon(G_DEFAULT_ICON);
		icon.image = "/static/images/googleMaps/"+type+".png";

		var iconHeight = 32;
		if (type == "airport" || type == "skiing")
			iconHeight = 37;

		icon.iconSize = new GSize(32, iconHeight);
		/*
		icon.shadow = "/static/images/googleMaps/"+type+"_shadow.png";
		icon.shadowSize = new GSize(32, 32);
		icon.image = "/static/images/googleMaps/location.png";
		icon.shadow = "/static/images/googleMaps/locationShadow.png";
		icon.iconSize = new GSize(12, 12);
		icon.shadowSize = new GSize(7, 7);
		icon.infoWindowAnchor = new GPoint(10, 5);
		*/
		return icon;
	}

	function fixTooltipPosition(marker) {
		marker.tooltipObject.style.left = parseInt(marker.tooltipObject.style.left)-10;
		marker.tooltipObject.style.top = parseInt(marker.tooltipObject.style.top)-10;
	}

	function setZoomClick(marker, map) {
		GEvent.addListener(marker, "click", function() { /*map.setZoom(8);*/ map.setCenter(marker.getLatLng()); });
	}

	function locationClick(marker, map, zoom) {
		marker.openInfoWindowHtml(marker.infoHtml);
		map.setCenter(marker.getLatLng());
		map.setZoom( (zoom ? zoom : 8) );
		marker.hideTooltip();
	}