function locmap() {
            var map = new YMaps.Map(document.getElementById("YMapsID"));
	    map.setType(YMaps.MapType.MAP); // MAP,SATELLITE,HYBRID
            map.setCenter(new YMaps.GeoPoint(30.298874, 59.96551), 15);

	           var styleKeys = [
                        "default#lightbluePoint", "default#whitePoint", "default#greenPoint",
                        "default#redPoint", "default#yellowPoint",
                        "default#darkbluePoint", "default#nightPoint",
                        "default#greyPoint", "default#bluePoint",
                        "default#orangePoint", "default#darkorangePoint",
                        "default#pinkPoint", "default#violetPoint"
       	             ];

		   var lev = new YMaps.Style();
		   lev.iconStyle = new YMaps.IconStyle();
		   lev.balloonContentStyle = new YMaps.BalloonContentStyle(
				   new YMaps.Template("<div align='center'>ООО ЕВРОСПОРТ</div><div align='center'><img src='/images/euroshop-entrance-m.jpg'></div><div align='center'>Всё для Спорта и Победы!</div>")
				   );

		   var ska = new YMaps.Style();
		   ska.iconStyle = new YMaps.IconStyle();
		   ska.balloonContentStyle = new YMaps.BalloonContentStyle(
				   new YMaps.Template("<div align='center'>ООО ЕВРОСПОРТ</div><div align='center'><img src='/images/ska-shop-entrance0-m.jpg'></div><div align='center'>Всё для Спорта и Победы!</div>")
				   );

		   var fit = new YMaps.Style();
		   fit.iconStyle = new YMaps.IconStyle();
		   fit.balloonContentStyle = new YMaps.BalloonContentStyle(
				   new YMaps.Template("<div align='center'>ООО ЕВРОСПОРТ</div><div align='center'><img src='/images/fitness-signboard1-m.jpg'></div><div align='center'>Всё для Спорта и Победы!</div>")
				   );
		   var ecip = new YMaps.Style();
		   ecip.iconStyle = new YMaps.IconStyle();
		   ecip.balloonContentStyle = new YMaps.BalloonContentStyle(
				   new YMaps.Template("<div align='center'>ООО ЕВРОСПОРТ</div><div align='center'><img src='/images/plan-m2.jpg'></div><div align='center'>Всё для Спорта и Победы!</div>")
				   );

		var shops = new YMaps.GeoObjectCollection();
		shops.add(createPlacemark(new YMaps.GeoPoint(30.290162, 59.966575), 'Спортивный магазин, Левашовский 11/7', '', lev,'<div align="center">ООО ЕВРОСПОРТ</div><br><img src="/images/logo-evrosport-80x79.jpg"><br><div align="center">Левашовский пр.<br> 11/7 офис 101</div>'));
		shops.add(createPlacemark(new YMaps.GeoPoint(30.290763, 59.950084), 'Спортивный магазин "СКА", ДС "Юбилейный", Малая Арена', '', ska,'<div align="center">ООО ЕВРОСПОРТ</div><br><img src="/images/logo-evrosport-80x79.jpg"><br><div align="center">ДС "Юбилейный"<br> Малая Арена</div>'));
		shops.add(createPlacemark(new YMaps.GeoPoint(30.329065, 59.936234), 'Фитнесс-центр, Невский 32', '', fit,'<div align="center">ООО ЕВРОСПОРТ</div><br><img src="/images/logo-evrosport-80x79.jpg"><br><div align="center">Невский 32</div>'));
		shops.add(createPlacemark(new YMaps.GeoPoint(30.205819, 59.990798), 'Экипировочный центр "ВСЁ ДЛЯ СПОРТА", ул. Савушкина, 141', '', ecip,'<div align="center">ООО ЕВРОСПОРТ</div><br><img src="/images/logo-evrosport-80x79.jpg"><br><div align="center">ул. Савушкина, 141</div>'));
	
		map.addOverlay(shops);

            	map.addControl(new OfficeNavigator(shops));
	
		var route = new YMaps.Polyline([ new YMaps.GeoPoint(30.311056, 59.966332),
						 new YMaps.GeoPoint(30.309403, 59.967966),
						 new YMaps.GeoPoint(30.29949, 59.966277),
						 new YMaps.GeoPoint(30.290146, 59.966309)]);

		var route2 = new YMaps.Polyline([ new YMaps.GeoPoint(30.291922, 59.961475),
						 new YMaps.GeoPoint(30.288188, 59.963434),
						 new YMaps.GeoPoint(30.291368, 59.96537),
						 new YMaps.GeoPoint(30.291668, 59.966306)]);

		var route3 = new YMaps.Polyline([ new YMaps.GeoPoint(30.327048, 59.935335),
						 new YMaps.GeoPoint(30.328561, 59.935178),
						 new YMaps.GeoPoint(30.328743, 59.935556),
						 new YMaps.GeoPoint(30.328652, 59.935572),
						 new YMaps.GeoPoint(30.328963, 59.936266)]);

		var route4 = new YMaps.Polyline([ new YMaps.GeoPoint(30.333706, 59.934096),
						 new YMaps.GeoPoint(30.330541, 59.934511),
						 new YMaps.GeoPoint(30.330154, 59.934995),
						 new YMaps.GeoPoint(30.328561, 59.935178)]);

		map.addOverlay(route);
		map.addOverlay(route2);
		map.addOverlay(route3);
		map.addOverlay(route4);
		map.addControl(new YMaps.Zoom(), new YMaps.ControlPosition(YMaps.ControlPosition.BOTTOM_LEFT));
	
	};

        function createPlacemark (geoPoint, name, desc, style, icon) {
		var placemark = new YMaps.Placemark(geoPoint, {style: style});
		placemark.name = name;
	    placemark.setIconContent(icon);

            return placemark;
        }

        function OfficeNavigator (offices) {

            this.onAddToMap = function (map, position) {
                    this.container = YMaps.jQuery("<ul></ul>")
                    this.map = map;
                    this.position = position || new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(10, 340));

                    this.container.css({
                        position: "absolute",
                        zIndex: YMaps.ZIndex.CONTROL,
                        background: '#fff',
                        listStyle: 'none',
                        padding: '10px',
                        margin: 0
                    });
                    
                    this._generateList();
                    this.position.apply(this.container);
                    this.container.appendTo(this.map.getContainer());
            }

            this.onRemoveFromMap = function () {
                this.container.remove();
                this.container = this.map = null;
            };

            this.isFlying = 0;

            this._generateList = function () {
                var _this = this;

                offices.forEach(function (obj) {
                    var li = YMaps.jQuery("<li><a href=\"#\">" + obj.name + "</a></li>"),
                        a = li.find("a"); 
                    
                    li.bind("click", function () {
                        if (!_this.isFlying) {
                            _this.isFlying = 1;
                            _this.map.panTo(obj.getGeoPoint(), {
                                flying: 1,
                                callback: function () {
                                    obj.openBalloon();
                                    _this.isFlying = 0;
                                }
                            });
                        }
                        return false;
                    });
                    
                    YMaps.Events.observe(obj, obj.Events.BalloonOpen, function () {
                        a.css("text-decoration", "none");
                    });
                    
                    YMaps.Events.observe(obj, obj.Events.BalloonClose, function () {
                        a.css("text-decoration", "");
                    });
                    
                    li.appendTo(_this.container);
                });
            };
}

