
function googlemap_load() {
	
	var map;
	var i;
	var props;
	var latlong;
	
	if (!GBrowserIsCompatible()) { return; }
	
	// for each map to init
	for(i=0;props=document.googlemap_registerlist[i];i++) {
		
		// create map
		map = new GMap2(document.getElementById("googlemap_container_"+props.id));
		//map.setCenter(null, props.zoom);
		
		// get lat long position
		if (props.lat == undefined || props.long == undefined) {
			var gcode = new GClientGeocoder;
			latlong = gcode.getLatLng(
				props.address,
				function(point) {
					if (!point) {
						alert("Address not found");
					} else {
						map.setCenter(point);
					}
				}
			);
		} else {
			latlong = new GLatLng(props.lat,props.long);
			map.setCenter(latlong, props.zoom);
		}
		
		// add controls
		if (props.changeview) {
			map.addControl(new GMapTypeControl());
		}
		
		switch(props.showcontrol) {
			case "smallcontrol":
				map.addControl(new GSmallMapControl());
			break;
			case "largecontrol":
				map.addControl(new GLargeMapControl());
			break;
		}
		
		// set default view
		switch(props.view) {
			case "satellite":
				map.setMapType(G_SATELLITE_MAP);
			break;
			case "hybrid":
				map.setMapType(G_HYBRID_MAP);
			break;
		}
		
		// disable?
		if (props.disable) {
			map.disableDragging();
			map.disableDoubleClickZoom();
			map.disableContinuousZoom();
			map.disableScrollWheelZoom();
		}
		
		// add custom marker?
		if (props.marker) {
			
			map.openInfoWindow(latlong,props.marker.text);
			var p = props;
			
			GEvent.addListener(map,"zoomend",function() {
				map.openInfoWindow(latlong,p.marker.text);
			});
			
			//var marker = new GMarker(latlong);
			////map.addOverlay(marker);
			//marker.hide();
			//marker.openInfoWindowHtml("HWLLO");
		}
		
		
	}
	
}




function googlemap_register(id,props) {
	
	// create register
	if (document.googlemap_registerlist == undefined) {
		document.googlemap_registerlist = new Array();
	}
	
	props["id"] = id;
	
	// add register to list
	document.googlemap_registerlist.push(props);
}

onionaddload(googlemap_load);
onionaddunload(GUnload);
