        var map, 
            shops = [{point: new YMaps.GeoPoint(37.636769,55.811052), name:"м. Алексеевская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Проспект Мира, 99<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.537568,55.798753), name:"м. Аэропорт", info:"<b>Форема Кухни</b><br><b>Адрес:</b> Ленинградский проспект, д. 56/2<br><b>Телефон:</b> (499) 152-06-57"},
						{point: new YMaps.GeoPoint(37.583445,55.569255), name:"м. Бульвар Дмитрия Донского", info:"<b>Форема Кухни</b><br><b>Адрес:</b> ул.Старокачаловская, д.3 корп.2<br><b>Телефон:</b> (499) 793-65-23"},
						{point: new YMaps.GeoPoint(37.489302,55.830336), name:"м. Войковская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Ленинградское шоссе, 36<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.62784,55.665868), name:"м. Каширская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Каширское шоссе, 12<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.666575,55.676052), name:"м. Коломенская", info:"<b>Форема Кухни</b><br><b>Адрес:</b> проспект Андропова, д.29, корп.2<br><b>Телефон:</b> (499) 612-68-35"},
						{point: new YMaps.GeoPoint(37.816926,55.913929), name:"г. Королев", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> ул. Пионерская, 35<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.776781,55.703403), name:"м. Кузьминки", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Волгоградский пр-т, 112<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.658823,55.760692), name:"м. Курская", info:"<b>Форема Кухни</b><br><b>Адрес:</b> Земляной вал, д.21/2<br><b>Телефон:</b> (495) 917-10-80"},
						{point: new YMaps.GeoPoint(37.538251,55.741764), name:"м. Кутузовская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Кутузовский пр-т, 30<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.69569,55.736341), name:"м. Марксистская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> ул. Нижегородская, 34<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.634398,55.675154), name:"м. Нагатинская", info:"<b>Пенев.ру</b><br><b>Адрес:</b> 1й Нагатинский пр-д, влд. 13<br><b>Телефон:</b> (495) 795-06-69"},
						{point: new YMaps.GeoPoint(37.620186,55.661689), name:"м. Нахимовский проспект", info:"<b>Giulia Novars</b><br><b>Адрес:</b> Варшавское шоссе, д. 69, корп. 1<br><b>Телефон:</b> (499) 613-11-41"},
						{point: new YMaps.GeoPoint(37.971203,55.613443), name:"п. Октябрьский", info:"<b>Форема Кухни</b><br><b>Адрес:</b> Новорязанское шоссе, 12км от МКАД<br><b>Телефон:</b> (495) 992-46-14"},
						{point: new YMaps.GeoPoint(37.77493,55.747996), name:"м. Перово", info:"<b>Народные кухни Германии</b><br><b>Адрес:</b> Зеленый проспект д.6 корп.2<br><b>Телефон:</b> (495) 368-42-95"},
						{point: new YMaps.GeoPoint(37.457897,55.777742), name:"м. Полежаевская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> пр-т маршала Жукова, 59<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.604708,55.609446), name:"м. Пражская", info:"<b>Демарк-ТВ</b><br><b>Адрес:</b> ул. Кировогдрадская, д. 15, ТВЦ Электронный рай, павильон 1а-46<br><b>Телефон:</b> (495) 507-87-21"},
						{point: new YMaps.GeoPoint(37.583787,55.672042), name:"м. Профсоюзная", info:"<b>Планета Комфорта</b><br><b>Адрес:</b> Нахимовский проспект, 24<br><b>Телефон:</b> (495) 661-89-88"},
						{point: new YMaps.GeoPoint(37.50063,55.808346), name:"м. Сокол", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Волоколамское ш., 6<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.57104,55.822999), name:"м. Тимирязевская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Дмитровское шоссе, 21<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.62095,55.705031), name:"м. Тульская", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Большая Тульская ул., 46<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.369458,55.843571), name:"м. Тушинская", info:"<b>Форема Кухни</b><br><b>Адрес:</b> ул.Митинская, д.26<br><b>Телефон:</b> (495)718-78-44"},
                        {point: new YMaps.GeoPoint(37.534065,55.681204), name:"м. Университет", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Ленинский проспект, 82<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(38.031022,55.938506), name:"г. Щелково", info:"<b>Стильные Кухни</b><br><b>Адрес:</b> Фряновское шоссе, 52<br><b>Телефон:</b> (495) 979-44-22"},
						{point: new YMaps.GeoPoint(37.369826,55.650206), name:"м. Юго-Западная", info:"<b>Форема Кухни</b><br><b>Адрес:</b> Боровское шоссе, д.18, корп.2<br><b>Телефон:</b> (499) 737-91-82, "},
						{point: new YMaps.GeoPoint(37.482493,55.651445), name:"м. Юго-Западная", info:"<b>VIP Кухни</b><br><b>Адрес:</b> Ленинский проспект, 158, офис 208<br><b>Телефон:</b> (495) 225-44-90"}];

        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
            // Создание экземпляра карты и его привязка к созданному контейнеру
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(37.72, 55.763),10);

            // Добавление элементов управления
            map.addControl(new YMaps.TypeControl());
            map.enableScrollZoom();

            // Добавление оверлеев на карту
            for (var i = 0; i < shops.length; i++) {
                map.addOverlay(createOverlay(shops[i]))
            }
        });

        // Функция для создания оверлея и ссылки на него
        function createOverlay (shops)  {
			
			var link = YMaps.jQuery("<a href=\"#\">" + shops.name + "</a>"),
                newOverlay = new SimpleOverlay(shops.point, shops.info, link);

            // Установка обработчика кликов по ссылке
            link
                .bind("click", function () {
                    if (link.hasClass("active")) return;
                    newOverlay.openBalloon();
                    return false;
                })
                .appendTo(YMaps.jQuery("#links"))

            return newOverlay;
        }
        
        // Класс пользовательского оверлея, реализующего класс YMaps.IOverlay
        function SimpleOverlay (geoPoint, name, link) {
            var map, _this = this, offset = new YMaps.Point(-10, -29);

            // Вызывается при добавления оверлея на карту 
            this.onAddToMap = function (pMap, parentContainer) {
                map = pMap;
                getElement().appendTo(parentContainer);
                this.onMapUpdate();
            };

            // Вызывается при удаление оверлея с карты
            this.onRemoveFromMap = function () {
                if (getElement().parent()) {
                    getElement().remove();
                }
            };

            // Вызывается при обновлении карты
            this.onMapUpdate = function () {
                // Смена позиции оверлея
                var position = map.converter.coordinatesToMapPixels(geoPoint).moveBy(offset);
                getElement().css({
                    left : position.x,
                    top :  position.y
                })
            };

            // Метод для открытия балуна
            this.openBalloon = function () {
                // Делаем ссылку, связанную с оверлеем, активной
                link.addClass("active");

                // Скрываем оверлей
                getElement().css("display", "none");

                // Открываем балун и по закрытию балуна возвраем в первоначальный вид
                map.openBalloon(geoPoint, name, {onClose: function () {
                    link.removeClass("active");
                    getElement().css("display", "");
                }});
            };

            // Получить ссылку на DOM-ноду оверлея
            function getElement () {
                var element = YMaps.jQuery("<div class=\"overlay\"/>");

                // Устанавливаем z-index как у метки
                element.css("z-index", YMaps.ZIndex.Overlay);

                // При щелчке на оверлеи открывается балун
                element.bind("click", function () {
                    _this.openBalloon();
                });

                // После первого вызова метода, он переопределяется, 
                // чтобы дважды не создавать DOM-ноду
                return (getElement = function () {return element})();
            }
        }