	var exml;
   var map;
    var ge;
    var hybridOverlay;
	
    function initialize() {
    var mapMinZoom = 15;
    var mapMaxZoom = 20;
	var opacity = 1.00;
 
      if (GBrowserIsCompatible()) {
      // Bug in the Google Maps: Copyright for Overlay is not correctly displayed
	      var gcr = GMapType.prototype.getCopyrights;
	      GMapType.prototype.getCopyrights = function(bounds,zoom) {
	          return [""].concat(gcr.call(this,bounds,zoom));
	      }
        map = new GMap2(document.getElementById("map_canvas"));
        var mapBounds = new GLatLngBounds(new GLatLng(40.5239239963, -90.4390031621), new GLatLng(40.531325863, -90.4284573807));
	    map.setMapType(G_SATELLITE_MAP);

        map.setCenter( new GLatLng(40.528934,-90.434974), 17);

        hybridOverlay = new GTileLayerOverlay( G_HYBRID_MAP.getTileLayers()[1] );
	      GEvent.addListener(map, "maptypechanged", function() {
	        if (map.getCurrentMapType() == G_HYBRID_MAP) {
	            map.addOverlay(hybridOverlay);
	        } else {
	           map.removeOverlay(hybridOverlay);
	        }
	      } );
	      var tilelayer = new GTileLayer(GCopyrightCollection(''), mapMinZoom, mapMaxZoom);
          var mercator = new GMercatorProjection(mapMaxZoom+1);
          tilelayer.getTileUrl = function(tile,zoom) {
              if ((zoom < mapMinZoom) || (zoom > mapMaxZoom)) {
                  return "http://www.maptiler.org/img/none.png";
              } 
              var ymax = 1 << zoom;
              var y = ymax - tile.y -1;
              var tileBounds = new GLatLngBounds(
                  mercator.fromPixelToLatLng( new GPoint( (tile.x)*256, (tile.y+1)*256 ) , zoom ),
                  mercator.fromPixelToLatLng( new GPoint( (tile.x+1)*256, (tile.y)*256 ) , zoom )
              );
              if (mapBounds.intersects(tileBounds)) {
                  return "/mapdata/"+zoom+"/"+tile.x+"/"+y+".png";
              } else {
                  return "http://www.maptiler.org/img/none.png";
              }
			   
          }
          // IE 7-: support for PNG alpha channel
          // Unfortunately, the opacity for whole overlay is then not changeable, either or...
          tilelayer.isPng = function() { return true;};
          tilelayer.getOpacity = function() { return opacity; }
          overlay = new GTileLayerOverlay( tilelayer,{zPriority: -22});
         map.addOverlay(overlay);
		  
		   function side(myvar,name,type,i,graphic) {
      if (type == "marker") {
         outstring = '<div><img src="'+exml.gmarkers[i].getIcon().image+'" /><a href="javascript:GEvent.trigger('
          + myvar+ '.gmarkers['+i+'],\'click\')" ';
		 
		  if (name.length > 33) {

		  outstring += 'title="'+name+'">'+name.substring(0,30)+'...';
		  } else {
  		  outstring += '>'+name;
		  }
		  outstring += '</a></div>';
		  return outstring
      }
      return "";
}
		  
          exml = new EGeoXml("exml", map, "/mapdata/cstonemap.php?nobg=true",{icontype:"style", sidebarid: "the_side_bar", sidebarfn:side, nozoom:true } );
		  GEvent.addListener(exml, "parsed", function(){
doParsed();
} );
          exml.parse();
      //    exml.show();
		     
		
map.addControl(new GLargeMapControl3D());	  
map.addControl(new GMapTypeControl()); }
		  }
