function voidDoOnResize() {
    var w = document.body.offsetWidth - 4;
    var h;
    if (window.innerHeight) {
        h = window.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        h = document.documentElement.clientHeight;
    }
    h -= ($("toolbar").offsetHeight + 4);

    if (esoso) {
        esoso.resizeTo(w, h);
    }
}

var g_fltIeVersion = checkIeVersion();
function checkIeVersion() {
    if (navigator.appName == "Microsoft Internet Explorer") {
        ver = navigator.appVersion;

        if (ver.indexOf("MSIE 4") != -1) {
            return 4;
        }
        else if (ver.indexOf("MSIE 5") != -1) {
            if (ver.indexOf("MSIE 5.5") != -1) {
                return 5.5;
            }
            else {
                return 5;
            }
        }
        else {
            var re = /MSIE \b(\d\.*\d*);/gi;
            var ary = re.exec(ver);

            return parseFloat(RegExp.$1);
        }
    }

    else return 3;
}

var map, esoso, its_bgMapType, bgMapType, its_stMapType, stMapType;
function createMap() {
    map = new GMap2($("map"));
    map.getMapTypes().length = 0;

    var bgLayer = new GTileLayer(new GCopyrightCollection(""), MIN_ZOOM_LEVEL, MAX_ZOOM_LEVEL);
    bgLayer.isPng = function() {
        return true;
    };
    bgLayer.getOpacity = function() {
        return 1.0;
    };
    bgLayer.myBaseURL = _mRootPath + "Kmis2Wms.aspx?";
    bgLayer.getTileUrl = CustomGetTileUrl;
    bgLayer.myFormat = "image/png";
    bgLayer.myMercZoomLevel = 5;
    bgLayer.myMapname = "map";

    var itsLayer = new GTileLayer(new GCopyrightCollection(""), MIN_ZOOM_LEVEL, MAX_ZOOM_LEVEL);
    itsLayer.myBaseURL = _mRootPath + "WRTMS.aspx?";
    itsLayer.getTileUrl = CustomGetTileUrl;
    itsLayer.myFormat = "image/png";
    itsLayer.myMercZoomLevel = 5;
    itsLayer.myMapname = "map";
    itsLayer.myMapRoadIsWide = "-1";
    itsLayer.myMapIsAA = "TRUE";
    if (Prototype.Browser.IE && g_fltIeVersion < 7) {
        itsLayer.myMapIsTrans = "FALSE";
    }

    its_bgMapType = new GMapType([bgLayer, itsLayer], G_NORMAL_MAP.getProjection(), "平面地图", G_NORMAL_MAP);
    map.addMapType(its_bgMapType);
    map.setMapType(its_bgMapType);

    bgMapType = new GMapType([bgLayer], G_NORMAL_MAP.getProjection(), "平面地图", G_NORMAL_MAP);

    var stLayer = new GTileLayer(new GCopyrightCollection(""), MIN_ZOOM_LEVEL, MAX_ZOOM_LEVEL);
    stLayer.isPng = function() {
        return true;
    };
    stLayer.getOpacity = function() {
        return 1.0;
    };
    stLayer.getTileUrl = function(tile, zoomlevel, x) {
        //return G_SATELLITE_MAP.getTileLayers()[0].getTileUrl(tile, zoomlevel, x);
        var url = G_SATELLITE_MAP.getTileLayers()[0].getTileUrl(tile, zoomlevel);
        var temp = "http://khm%.google.cn/kh/v=%&x=%&y=%&z=%";
        var re = "^http://khm([0-9]+)";
        url = temp.format("%", url.match(re)[1], "41", tile.x, tile.y, zoomlevel);
        return url;
    };

//    its_stMapType = new GMapType([stLayer, itsLayer], G_SATELLITE_MAP.getProjection(), "谷歌卫星", G_SATELLITE_MAP);
//    map.addMapType(its_stMapType);
//
//    stMapType = new GMapType([stLayer], G_NORMAL_MAP.getProjection(), "谷歌卫星", G_SATELLITE_MAP);

    map.disableContinuousZoom();
    map.enableScrollWheelZoom();
    map.enableInfoWindow();
    var controls = [new GLargeMapControl(), new GMapTypeControl(), new GScaleControl()];
    esoso = new EwMapControl("esoso", map, controls);
    esoso.setLeftInRightOutZoom(true);
    esoso.setCenter(new GLatLng(39.102074, 117.380026), 11);
    GEvent.addListener(map, "maptypechanged", doOnMapCreate);
    GEvent.addListener(map, "zoomend", adjustBusStep);
}

function doOnMapCreate() {
    if (Prototype.Browser.IE && g_fltIeVersion < 7) {
        var mapcont = map.getContainer().firstChild.firstChild.childNodes[1];
        if (mapcont && mapcont.childNodes[1]) {
            var div = mapcont.childNodes[1];
            var img;
            for (var i = 0; i < div.childNodes.length; i++) {
                img = div.childNodes[i];
                img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.Chroma(color='#FFFFFF')";
            }
        }
    }
}

function doPrint() {
    var body = $("map").childNodes[0].innerHTML;
    var css;
    var str = "<html>\r\n";
    str += "<head>\r\n";
    str += "<meta http-equiv=\"content-type\" content=\"text/html; charset=" + document.charset + "\">\r\n";
    str += "<title>" + document.title + "</title>\r\n";
    str += "<link rel=\"stylesheet\" href=\"print.css\" type=\"text/css\"/>\r\n";
    str += "<body bgcolor=\"#ffffff\" topmargin=\"30\" leftmargin=\"5\" marginheight=\"50\" marginwidth=\"5\" onLoad=\"onMapLoad();\">\r\n";
    str += "\r\n<div id=\"mapcontainer\" style=\"position: absolute;width:1024px; height:768px;overflow:hidden;\">";
    str += body;
    str += "<\/div>";
    str += "<script type=\"text/javascript\" language=\"javascript\">";
    str += "function onMapLoad(){if (navigator.appName == \"Microsoft Internet Explorer\") {";
    str += "var ver = navigator.appVersion;";
    str += "if(ver.indexOf(\"MSIE 6.0\") != -1){";
    str += "var div = document.getElementById(\"mapcontainer\").firstChild.childNodes[1].childNodes[1];";
    str += "var img;";
    str += "for (var i = 0; i < div.childNodes.length; i++) {";
    str += "  img = div.childNodes[i];";
    str += "  img.style.filter = \"progid:DXImageTransform.Microsoft.Chroma(color='#FFFFFF')\";";
    str += "}";
    str += "}";
    str += "} window.print();}";
    str += "<\/script>\r\n";
    str += "</body>\r\n<\/html>";
    document.write(str);
    document.close();
}
