var map, 
            trio = [{mappoint: new YMaps.GeoPoint(37.5806,55.726), point: new YMaps.GeoPoint(37.5813,55.7259), name:'Салон ТРИО<br/>на Комсомольском проспекте<br/>г. Москва, Комсомольский пр., 27'},
            {mappoint: new YMaps.GeoPoint(37.494,55.823), point: new YMaps.GeoPoint(37.4958,55.8237), name:'Салон ТРИО<br/>на Ленинградском шоссе<br/>г. Москва, Ленинградское ш., 18'},
            {mappoint: new YMaps.GeoPoint(37.628,55.739), point: new YMaps.GeoPoint(37.6286,55.73805), name:'Салон ТРИО<br/>на Пятницкой улице<br/>г. Москва, Пятницкая ул., 39'},
            {mappoint: new YMaps.GeoPoint(37.5535,55.747), point: new YMaps.GeoPoint(37.5540,55.74595), name:'Салон ТРИО<br/>на Бол. Дорогомиловской улице<br/>г. Москва,<br/>Бол. Дорогомиловская ул.,9а'}];
				function SimpleOverlay (geoPoint, name, link) {
					var map, _this = this, offset = new YMaps.Point(0, 0);

            this.onAddToMap = function (pMap, parentContainer) {
                map = pMap;
                parentContainer.appendChild(getElement());
                this.onMapUpdate();
            };

            this.onRemoveFromMap = function () {
                if (getElement().parentNode) {
                    getElement().parentNode.removeChild(getElement());
                }
            };

            this.onMapUpdate = function () {
                var position = map.converter.coordinatesToMapPixels(geoPoint).moveBy(offset);
                getElement().style.left = position.x + 'px';
                getElement().style.top = position.y + 'px';
            };

            this.openBalloon = function () {
                link.className = "active";
                getElement().style.display = "none";
                map.openBalloon(geoPoint, name, {onClose: function () {
                    link.className = getElement().style.display = "";
                }});
            };

            function getElement () {
                var element = document.createElement('div');
                element.className = 'overlay';
                element.onclick = function () {
                    _this.openBalloon();
                }
                return (getElement = function () {return element})();
            }
        }
        
        function createOverlay (trio)  {
            var link = document.createElement('a'),
                newOverlay = new SimpleOverlay(trio.point, trio.name, link);
            link.href = '#';
            link.innerHTML = trio.name;
            link.onclick = function () {
                if (link.className == "active") return;
                newOverlay.openBalloon();
            };
            return newOverlay;
        }