	window.defaultStatus="You are surfing http://map.midland.com.cn";
	document.write("<script   type=\"text/javascript\"   src=\"lib/OpenLayers.js\"></scr"+"ipt>");
	 var map, layer, icon; 
     function init(){ 
		var pdfTileSize = new OpenLayers.Size(240, 240);
	 var pdfResolutions = [ 
							0.000965591666666666,
							0.000481667129629624,
							0.000240551936274512,
							0.000120206767676767,
							0.0000601287628205127,
							0.0000300389470284234,
							0.0000150420265888456,
							0.00000752092511371022
						  ];

	 var pdfResolutions_y = [ 
							0.000892900025,
							0.000446807796296296,
							0.000223493357843137,
							0.000111766661616162,
							0.0000558646294871795,
							0.0000279458249354005,
							0.0000140041639105058,
							0.00000700208650097466
						  ];

	 var options = {
            controls: [],
			resolutions: pdfResolutions,
			resolutions_y: pdfResolutions_y, 
			//maxExtent: new OpenLayers.Bounds(113.7296702,22.19774064,114.664562,23.05190758),
			//maxExtent: new OpenLayers.Bounds(113.7281714,22.19194427,114.6525372,23.05236065),
			maxExtent: new OpenLayers.Bounds(113.7282714,22.19194427,114.6525372,23.05236065),
            numZoomLevels: 8,
            units: 'degrees',
            lang: _lang,
			tileSize: pdfTileSize
        };

        map = new OpenLayers.Map("map", options);
		var constantina = new OpenLayers.LonLat(114.0041, 22.682837);
		
		var midland = new OpenLayers.Layer.TMS("map", "../map_image/", 
                                          { type: 'jpg', getURL: getTileURL, displayOutsideMaxExtent: false }); 
		map.addLayer(midland);
		
			//control layer
		var overviewoptions = {
		   layers: [midland.clone()],
		   minRatio: 8,
		   maxRatio: 128
		};
		map.setCenter(constantina, 0);
		//overview.maximizeControl(); //default open overview
		

		// Add markers layer
		var markers = new OpenLayers.Layer.Markers( "Markers" );
		map.addLayer(markers);
		var size = new OpenLayers.Size(21,25);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		icon = new OpenLayers.Icon('./img/marker-blue.png',size,offset);

		// Add POI markers layer
		var POIMarkers = new OpenLayers.Layer.POIMarkers( "POIMarkers" , {retrievePOI: retrievePOIOutside});
		map.addLayer(POIMarkers);
		// Add POI markers switcher
		map.addControl(new OpenLayers.Control.POISwitcher({markerLayer:POIMarkers}));
		
		// ZoomBar
		map.addControl(new OpenLayers.Control.PanZoomBar());

		// Mouse Tool Bar (Drag function)
		map.addControl(new OpenLayers.Control.MouseToolbar());
		
		//map.addControl(new OpenLayers.Control.MousePosition());
    } 
	
	function getTileURL(bounds) { 
	 	var res = this.map.getResolution(); 
	 	var res_y = this.map.getResolutionVer(); 
	 	var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w)) ; 
	 	var y = Math.round((this.maxExtent.top - bounds.top) / (res_y * this.tileSize.h)) ; 
	 	var z = this.map.getZoom();
		z = z+2; // z start from level 2
		var maxXY = Math.pow(2,z);
		
		var tilePath = "tile/sc/";
		var returnPath = tilePath + "test." + this.type;

		if (x > -1 && y > -1 && z > -1 && x < maxXY && y < maxXY)
			returnPath = tilePath  + z + "/" + x + "/" + y + "." + this.type;

		return returnPath;
	}
	function retrievePOIOutside(POITypes, map) {
	this.POITypes = POITypes;
		var bound = map.getExtent();
		var uri = "/map_sz/markPOI.jsp?lang=" + map.lang + "&minX=" + bound.left + "&minY=" + bound.bottom + "&maxX=" + bound.right + "&maxY=" + bound.top;
		for (var i=0; i<POITypes.length; i++) {
			uri = uri + "&type=" + POITypes[i];
		}
		var results = OpenLayers.loadURL(uri, '', this, this.markPOISuccess, this.markPOIFail);
		//alert("retrievePOIOutside - " + uri + this.currentMapExtent + " - " + map.getExtent()); 
		this.currentMapExtent=map.getExtent();

		return null;

    }
