	
//<![CDATA[
	function roundTo(number, places)
		{
		  // Rounds the given number to the specifed number of decimal places.
		  //  Example: roundTo(3.1415926535, 4) = 3.1416
		  return Math.round(number * Math.pow(10, places)) / Math.pow(10, places);
		};
		
	// A TextualZoomControl is a GControl that displays textual "Zoom In"
	// and "Zoom Out" buttons (as opposed to the iconic buttons used in
	// Google Maps).
	function TextualZoomControl() {
	}
	TextualZoomControl.prototype = new GControl();
	
	// Creates a one DIV for each of the buttons and places them in a container
	// DIV which is returned as our control element. We add the control to
	// to the map container and return the element for the map class to
	// position properly.
	TextualZoomControl.prototype.initialize = function(map) {
	  var container = document.createElement("div");
	
	  var zoomInDiv = document.createElement("div");
	  this.setButtonStyle_(zoomInDiv);
	  container.appendChild(zoomInDiv);
	  zoomInDiv.appendChild(document.createTextNode("Zoom In"));
	  GEvent.addDomListener(zoomInDiv, "click", function() {
	    map.zoomIn();
	  });
	
	  var zoomOutDiv = document.createElement("div");
	  this.setButtonStyle_(zoomOutDiv);
	  container.appendChild(zoomOutDiv);
	  zoomOutDiv.appendChild(document.createTextNode("Zoom Out"));
	  GEvent.addDomListener(zoomOutDiv, "click", function() {
	    map.zoomOut();
	  });
	
	  map.getContainer().appendChild(container);
	  return container;
	}
	
	// By default, the control will appear in the top left corner of the
	// map with 7 pixels of padding.
	TextualZoomControl.prototype.getDefaultPosition = function() {
	  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
	}
	
	// Sets the proper CSS for the given button element.
	TextualZoomControl.prototype.setButtonStyle_ = function(button) {
	  button.style.textDecoration = "underline";
	  button.style.color = "#0000cc";
	  button.style.backgroundColor = "white";
	  button.style.font = "small Arial";
	  button.style.border = "1px solid black";
	  button.style.padding = "2px";
	  button.style.marginBottom = "3px";
	  button.style.textAlign = "center";
	  button.style.width = "6em";
	  button.style.cursor = "pointer";
	}	
	
    function init() {
      if (GBrowserIsCompatible()) {        
		var map = new GMap2(document.getElementById("map"));
        		   
		// Create tile layers    
	    var tileDrg= new GTileLayer(new GCopyrightCollection(""),1,17);
		tileDrg.myLayers='drg';
		tileDrg.myFormat='image/jpeg';
		tileDrg.myBaseURL='http://terraservice.net/ogcmap.ashx?';
	    tileDrg.getTileUrl=CustomGetTileUrl;
		tileDrg.getCopyright = function(a,b) {return "TerraServe USGS";}
		
		var tileDoq= new GTileLayer(new GCopyrightCollection(""),1,17);
		tileDoq.myLayers='doq';
		tileDoq.myFormat='image/jpeg';
		tileDoq.myBaseURL='http://terraservice.net/ogcmap.ashx?';
	    tileDoq.getTileUrl=CustomGetTileUrl;
		tileDoq.getCopyright = function(a,b) {return "TerraServe USGS";}
		
		var layer1=[tileDrg];		
		var custommap1 = new GMapType(layer1, G_SATELLITE_MAP.getProjection(), "Topo", G_SATELLITE_MAP);
		var layer2=[tileDoq];
		var custommap2 = new GMapType(layer2, G_SATELLITE_MAP.getProjection(), "DOQ", G_SATELLITE_MAP);		
		var OverviewMap = new GOverviewMapControl();		
		map.addControl(new TextualZoomControl());
		map.addMapType(custommap1);
		map.addMapType(custommap2);		
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl( ));
		// create a local search control and add it to your map
		// var lsc = new google.maps.LocalSearch(); 
		// map.addControl(new google.maps.LocalSearch());
		map.addControl(OverviewMap);	
		map.setCenter(new GLatLng(initLat,initLon), initZoom);		
		map.openInfoWindowHtml(map.getCenter(),
				   "<div style='white-space: nowrap;'>"+MapText+"</div>");		   
				   	
      }
    }
    //]]>
	
	
	
