  var lon_map = 44.781939470705;
  var lat_map = 41.72324001238;
  var zoom= 13;
  var features = ""; //:3;1:1;1:2;2:4;5:17;5:18;3:8;3:9;3:10";
 
  var map;
  var POI;

  function get_osm_url (bounds)
  {
    var res = this.map.getResolution();
    var x = Math.round ((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
    var y = Math.round ((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
    var z = this.map.getZoom();
    var path =  z + "/" + x + "/" + y ;
    var url = this.url;
    if (url instanceof Array) 
	{
      url = this.selectUrl(path, url);
    }
    return url + path;
  }
  
  function get_poi_url (bounds) 
  {
    var res = this.map.getResolution();
    var z = this.map.getZoom();
    var path = "?lang="+ language +"&z=" + z
    + "&l=" + getLeft(bounds)
    + "&t=" + getTop(bounds)
    + "&r=" + getRight(bounds)
    + "&b=" + getBottom(bounds)
    + "&f=" + features;
    var url = "markers.php";
    return url + path;
  }

  function init()
  {
    OpenLayers.Util.onImageLoadErrorColor= "#E7FFC2";
	
    OpenLayers.Util.onImageLoadError = function()
    {
      this.style.backgroundColor= null;
      this.src = "img/my404t.png";
    }
  
    map = new OpenLayers.Map ("map", {
                controls:[
                    new OpenLayers.Control.Navigation(),
                    new OpenLayers.Control.PanZoomBar()
					],
                maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
                maxResolution: 156543.0399,
                numZoomLevels: 19,
                units: 'm',
                projection: new OpenLayers.Projection("EPSG:900913")//,
                //displayProjection: new OpenLayers.Projection("EPSG:4326")
            } );


    var tileServer = 'http://tile.mapspot.ge/' + (language == 'geo' ? 'new_ka' : 'new_en') + '/'
	
	layerm1 = new OpenLayers.Layer.TMS( "OpenMapsCaucasus",
    tileServer,
    {
      type:'png',
      getURL: get_osm_url
    });
  
    layerm1.setVisibility(true);
    
	// create POI layer
    POI = new OpenLayers.Layer.MarkerGrid( "POI",
    {
      type:'txt',
      getURL: get_poi_url,
      attribution: "OMC",
      buffer: 0
    });
    
    POI.setIsBaseLayer(false);
    POI.setVisibility(true);
    map.addLayers([layerm1, POI]);
    if( flag ) {
    	var cur = $.cookie('spot').split(' ');
    	lon_map = cur[0];
    	lat_map = cur[1];
    	zoom = cur[2];
	}
    var lonLat = new OpenLayers.LonLat(lon_map, lat_map).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
    map.setCenter(lonLat , zoom);
	
	placeTmpMarker();
  }

