var GoogleMapsHelper = {
	showGoogleMap:function(x,y){
		if (GBrowserIsCompatible()) {
			var map = new GMap2(document.getElementById("googlemap"));
 			var point = new GLatLng(x,y);
			map.setCenter(point, 13);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			var marker = new GMarker(point);
			map.addOverlay(marker);
		}
	},
	initMap:function(){
		map = new GMap2(document.getElementById("googlemap"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		return map;
	},
	getIcon:function(size){
		var icon = new GIcon();
		if(size=='small'){
			icon.image = "/images/icon/google_maps/small.png";
			icon.shadow = "/images/icon/google_maps/small_shadow.png";
			icon.iconSize = new GSize(12, 20);
			icon.shadowSize = new GSize(22, 20);
		}else{
			icon.image = "/images/icon/google_maps/normal.png";
			icon.iconSize = new GSize(20, 34);
		}
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);
		return icon;
	},
	addAddress:function(map,lat,lng,infoText,iconSize) {
		var geocoder = new GClientGeocoder();
		var point = new GLatLng(lat,lng);
		var marker = new GMarker(point,GoogleMapsHelper.getIcon(iconSize));
		map.addOverlay(GoogleMapsHelper.createMarker(marker,infoText));
	},
	createMarker:function(marker, text) {
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(text);
		});
		return marker;
	},
	setCenter:function(map,lat,lng) {
		var geocoder = new GClientGeocoder();
		var point = new GLatLng(lat,lng);
		map.setCenter(point, 6);
	},
	showAddress:function(address) {
		var map = this.initMap();
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(
			address,
			function(point) {
				if (point) {
					map.setCenter(point, 13);
					var marker = new GMarker(point,GoogleMapsHelper.getIcon('normal'));
					map.addOverlay(marker);
	      		}
	    	}
	  	);
	}
}