var WMS_TOPO_MAP = WMSCreateMap('Topo','Imagery by USGS / Web Service by TerraServer','http://www.terraserver-usa.com/ogcmap6.ashx','DRG',4,17,'t');

function WMSCreateMap(name,copyright,baseUrl,layer,minResolution,maxResolution,urlArg) {
var cr = new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0,copyright);
var crc = new GCopyrightCollection();
crc.addCopyright(cr);
var tileLayer = new GTileLayer(crc,minResolution,maxResolution);
tileLayer.baseUrl = baseUrl;
tileLayer.layer = layer;
tileLayer.getTileUrl = WMSGetTileUrl;
var tileLayers = [tileLayer];
return new GMapType(tileLayers,G_SATELLITE_MAP.getProjection(),name,{errorMessage:'',urlArg:'o'});}

function WMSGetTileUrl(tile,zoom) {
var southWestPixel = new GPoint(tile.x*256,(tile.y+1)*256);
var northEastPixel = new GPoint((tile.x+1)*256,tile.y*256);
var southWestCoords = G_NORMAL_MAP.getProjection().fromPixelToLatLng(southWestPixel,zoom);
var northEastCoords = G_NORMAL_MAP.getProjection().fromPixelToLatLng(northEastPixel,zoom);
var bbox = southWestCoords.lng()+','+southWestCoords.lat()+','+northEastCoords.lng()+','+northEastCoords.lat();
return this.baseUrl+'?VERSION=1.1.1&REQUEST=GetMap&LAYERS='+this.layer+'&STYLES=&SRS=EPSG:4326&BBOX='+bbox+'&WIDTH=256&HEIGHT=256&FORMAT=image/jpeg&BGCOLOR=0xCCCCCC&EXCEPTIONS=INIMAGE';}

