				var map = null;
				var geocoder = null;
				var side_bar_html = "";
				// arrays to hold copies of the markers used by the side_bar
				// because the function closure trick doesnt work there
				var gmarkers = []; 				  
								  
					  
					  // A function to create the marker and set up the event window
					  function createMarker(point,html) {						
						var icon = new GIcon();
						icon.image = Js_base_site+'static/js/map/icon21.png';
						icon.shadow  = Js_base_site+'static/js/map/icon21s.png';
						icon.iconAnchor = new GPoint(16, 32);
						icon.infoWindowAnchor = new GPoint(16,0); 
						var marker = new GMarker(point,icon);
						//var marker = new GMarker(point);
						//alert(html);
						GEvent.addListener(marker, "click", function() {
						  marker.openInfoWindowHtml(html);
						});
						// save the info we need to use later for the side_bar
						gmarkers.push(marker);
						// add a line to the side_bar html
						//side_bar_html += '<li class="fleft"><a href="#map_canvas" onclick="myclick(' + (gmarkers.length-1) + ')">'+ html +'</a></li>';
						return marker;
					  }


					  // This function picks up the click and opens the corresponding info window
					  function myclick(i) {
						GEvent.trigger(gmarkers[i], "click");
					  }
					  
					function show_map(mapdiv,mapw,maph,showres,usefile,lat,lng,zoomlevel) {
						side_bar_html = ""
						var map = new GMap2(document.getElementById(mapdiv),{ size: new GSize(mapw,maph) } );
						map.setCenter(new GLatLng(lat,lng), zoomlevel);
						map.setUIToDefault();
						map.setMapType(G_HYBRID_MAP);
						if(usefile!=""){
							$.ajax({
							   type: "POST",
							   url: usefile,
							   data: 'search_text='+$("#search_map").val(),
							   success: function(msg){	
										var xml = GXml.parse(msg);								
										var markers = xml.documentElement.getElementsByTagName("marker");									
										var tot_data=0;			  
										for (var i = 0; i < markers.length; i++) {
											tot_data=tot_data+1;
										}
										if(tot_data > 0){
											for (var i = 0; i < markers.length; i++) {
												var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));
												var title=markers[i].getAttribute("title");
												var html = GXml.value(markers[i]);
												//alert(html);
												var marker = createMarker(latlng,html);
												map.addOverlay(marker);
											}	
											if(showres==""){
												$("#side_bar_html").html('<li class="result"><b>Found '+tot_data+' data..</b></li>'+side_bar_html);
											}
										}else
										{
											if(showres==""){
												$("#side_bar_html").html('<li class="result"><b>Data not found!</b></li>');
											}	
										}								
							   }
							});
						}else
						{
							var point = new GLatLng(-6.864820,107.608906);
							var marker = createMarker(point,'<div style="width:240px"><b>Padma Hotel Bandung</b><br/>Jalan Ranca Bentang <br/>56–58 Ciumbuleuit, <br/>Bandung 40142 – Indonesia <br/>Phone: +62 22 203 0333 <br/>Fax: +62 22 203 0633<\/div>')
							map.addOverlay(marker);


						}
					}