	function zoomToMarkers(bounds){
		oldbounds=bounds;
		var maxX=bounds.maxY;
		var maxY=bounds.minY;
		var minX=bounds.maxX;
		var minY=bounds.minX;

		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var bounds = new GBounds(southWest.lat(), southWest.lng(),
		northEast.lat(), northEast.lng());
		var curmaxX=bounds.maxX;
		var curmaxY=bounds.maxY;
		var curminX=bounds.minX;
		var curminY=bounds.minY;
        zoom=map.getZoom();
		while(maxX>curmaxX || maxY>curmaxY || minX<curminX || minY<curminY){
			zoom--;
		if(zoom<=5){
			break;
		}
        	map.setZoom(zoom);
			bounds = map.getBounds();
			southWest = bounds.getSouthWest();
			northEast = bounds.getNorthEast();
			var bounds = new GBounds(southWest.lat(), southWest.lng(),
			northEast.lat(), northEast.lng());
			curmaxX=bounds.maxX;
			curmaxY=bounds.maxY;
			curminX=bounds.minX;
			curminY=bounds.minY;
		}
	}

    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(48.92295044225694, 24.746017456054688), 6);
        map.setMapType(G_HYBRID_MAP);
	    pointer = new GIcon();
	    pointer.image="/pointer.png";
	    pointer.iconSize = new GSize(25, 21);
	    pointer.shadow="/pointer_shadow.png";
	    pointer.shadowSize = new GSize(25, 21);
		pointer.iconAnchor = new GPoint(9, 21);
		pointer.infoWindowAnchor = new GPoint(9, 21);
		var mapControl = new GMapTypeControl();
		map.addControl(mapControl);
		map.addControl(new GLargeMapControl());
		map.addMapType(G_PHYSICAL_MAP);
		map.removeMapType(G_NORMAL_MAP);
	    map.addControl(new GOverviewMapControl());
   		mgr = new MarkerManager(map);
   		drawmarkers('lands');
      }
    }


    function createPoint(data){
    	var coord=new GLatLng(data[0], data[1]);
        var point=new GMarker(coord, pointer);
		GEvent.addListener(point, "click", function(){
				point.openInfoWindow(data[3]+"<br>"+data[4]);
				map.panTo(coord);
			}
		);
        return point;
    }


    function drawmarkers(type){
        mgr.clearMarkers();
        var batch = [];
    	if(type=='houseapps'){
    		var arr=houseapps;
    	}
    	if(type=='lands'){
    		var arr=lands;
    	}
    	if(type=='commercial'){
    		var arr=commercial;
    	}
    	if(type=='ips'){
    		var arr=ips;
    	}
    	$(".llink").css("font-weight", "normal");
   		$("#"+type).css("font-weight", "bold");
       	var midLat=0;
       	var midLon=0;
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		bounds = new GBounds(southWest.lat(), southWest.lng(),
		northEast.lat(), northEast.lng());
        for (var i = 0; i < arr.length; i++){
            	var point=createPoint(arr[i]);
            	if(midLat==0){
            		midLat=arr[i][0];
            	}else{
            		midLat=(midLat+arr[i][0])/2;
            	}
	           	if(midLon==0){
            		midLon=arr[i][1];
            	}else{
            		midLon=(midLon+arr[i][1])/2;
            	}
            	bounds.extend(new GLatLng(arr[i][0], arr[i][1]));
            	batch.push(point);
    	}
	if(arr.length!=0){
    	zoomToMarkers(bounds);
	    map.setCenter(new GLatLng(midLat, midLon));
	}
    	mgr.addMarkers(batch, 1, 17);
     	mgr.refresh();
	parent.clear_full();

    }


