    var map = null;
    var mgr = null;
    var xmlhttp = null;
    var batch = [];

    function setupMap() {
        var mapopts = {
         googleBarOptions : {
           style : 'new',
           adsOptions : {
             client :  "pub-7691570638849268"
           }
         }
        }

      if (GBrowserIsCompatible()) {

        map = new GMap2(document.getElementById("map"), mapopts  );
        //map.addControl(new GLargeMapControl());
        //map.setCenter(new GLatLng( 7.9286, 98.3413 ), 13 );
		map.setCenter(new GLatLng( 13.8588, 100.5705 ), 4 );
        map.enableDoubleClickZoom();
        map.setUIToDefault();
        map.enableGoogleBar();
        map.addControl(new GScaleControl() , new GControlPosition( G_ANCHOR_TOP_LEFT, new GSize(65,15) ) ); 

        mgr = new MarkerManager(map);
        getHotelMarkers();

      }
    }

    function getHotelMarkers() {
      var pURL = "/readxml2json.php?v="+ iprovinceid ; 
      if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
        xmlhttp.onreadystatechange= function() { addhotels(); }
        xmlhttp.open("GET", pURL, true);
        xmlhttp.send(null);
      } else if (window.ActiveXObject) {
        xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
        if (xmlhttp) {
            xmlhttp.onreadystatechange= function() { addhotels(); }
            xmlhttp.open('GET', pURL, false);
            xmlhttp.send();
        }
      }
    }

    function addhotels() {
        if (xmlhttp.readyState==4) { 
            if (xmlhttp.status==200) { 
              p = eval( "(" + xmlhttp.responseText + ")" );
              if ( p.hotel )
              {
				//avg_lat = 0.0;
				//avg_long = 0.0;
                for  (i=0;i< p.hotel.length ; i++)
                 {
				 	if (i == 0)
					{
						map.setCenter(new GLatLng( p.hotel[0].geo_lat , p.hotel[0].geo_long ), 9 );
					}
                    hhotellink = p.hotel[i].hotellink;
                    hhotelname = p.hotel[i].hotelname;
                    hminrate_us = p.hotel[i].minrate_us;
					//avg_lat += p.hotel[i].geo_lat;
					  //avg_long += p.hotel[i].geo_long;
                      var latlng = new GLatLng( p.hotel[i].geo_lat, p.hotel[i].geo_long );
					  //var latlngpoint = createMarker(latlng,'<div style="height: 150px"><div style="float:left;margin:2px;"><img src="http://th.r24.org/R24thumb.php?h='+p.hotel[i].hno+'&x=120&y=100" /></div><div><a target="_blank" href="/'+ p.hotel[i].prov_en + '-' + p.hotel[i].prov_id +'/'+ p.hotel[i].hoteltag + '-' + p.hotel[i].hno +'">'+ hhotelname +'</a> from $' +hminrate_us +'</div></div>');
					  var latlngpoint = createMarker(latlng,'<div style="height: 130px"><div style="float:left;margin:2px;"><img src="http://th.r24.org/R24thumb.php?h='+p.hotel[i].hno+'&x=120&y=100" /></div><div><a target="_blank" href="/' + p.hotel[i].prov_id +'/'+ p.hotel[i].hno +'">'+ hhotelname +'</a><br/>from $' +hminrate_us +'</div></div>');
                      batch.push ( latlngpoint );
                 }
                 mgr.addMarkers(batch, 4);
                 mgr.refresh();
				//map.setCenter(new GLatLng( avg_lat / p.hotel.length , avg_long / p.hotel.length ), 11 );
              }

            }
        } 
    }

    function createMarker(point,html) {
      var newIcon = MapIconMaker.createMarkerIcon({width: 30, height: 30, primaryColor: "#EF86E3"});
      var marker = new GMarker( point , {icon: newIcon});


        GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
        return marker;
    } 


