function add_update_map(url, icons_path, map) {

  var place = new YMaps.Placemark(new YMaps.GeoPoint(50.42,30.45));
  var bounds = map.getBounds();
  pointLb = bounds.getLeftBottom();
  pointRt = bounds.getRightTop();

  url = url + '&lat1='+pointLb.getLat()+'&lat2='+pointRt.getLat()+'&lng1='+pointLb.getLng()+'&lng2='+pointRt.getLng();

  new Ajax.Request(url, {
    onCreate: function() {
      if($('loadingBox') == null) {
        var div = new Element('div', { 'id': 'loadingBox', 'style': 'visibility=visible;' }).update('<img src="/sfYandexMapPlugin/images/loading.gif">');
        $('map').appendChild(div);
      } else {
        $('loadingBox').setOpacity(100);
        $('loadingBox').style.visibility="visible";
      }
    },
    onSuccess: function(transport) {
      var res = eval(transport.responseText);
      map.removeAllOverlays();
      var t = new YMaps.Template();
      t.text = "<div><img src=\"$[style.iconStyle.href]\"\/></div>";
      YMaps.Templates.add("pointIcon", t);
      var t = new YMaps.Template();
      t.text = "<div>$[description]</div>";
      YMaps.Templates.add("balloonTemplate", t);
      for (var i = 0; i < res.length; i++) {
        s = new YMaps.Style();
        s.iconStyle = new YMaps.IconStyle("pointIcon");
        s.balloonContentStyle = new YMaps.BalloonContentStyle("balloonTemplate");
        s.iconStyle.href = icons_path + res[i][1];
        YMaps.Styles.add("pointIcon", s);
        var marker = new YMaps.Placemark(new YMaps.GeoPoint(res[i][5],res[i][4]), {style: "pointIcon", hideIcon: false});
        map.addOverlay(marker);
        marker.setIconContent(res[i][2]);
        marker.description = res[i][3];
      }
    },
    onComplete: function() {
			$('loadingBox').setOpacity(0);
      $('loadingBox').style.visibility="hidden";
      map.addOverlay(new_marker);
    }
  }
  );
}