function initInline(){
    var map = new YMaps.Map(YMaps.jQuery(".inline-yandex-map-current")[0]);
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.MiniMap());
    map.addControl(new YMaps.ScaleLine());
    map.setCenter(new YMaps.GeoPoint(49.667232, 58.603394), 15);
    address_url = $(".inline-yandex-map-current").parents("li:first").find(".on-map a").attr("href") + '&getyandexmapaddress=1';
    var geopos_string = $(".inline-yandex-map-current").parents("li:first").find("span.geocoder").text();
    var geopos = geopos_string.split(",");
    geopoint = new YMaps.GeoPoint(geopos[0], geopos[1]);
    var placemark = new YMaps.Placemark(geopoint);
    title_text = $(".inline-yandex-map-current").parents("li:first").find("h2").text();
    title_url = $(".inline-yandex-map-current").parents("li:first").find("h2 a").attr("href");
    description_text = $(".inline-yandex-map-current").parents("li:first").find("address").html();
    description_text += '<p>' + $(".inline-yandex-map-current").parents("li:first").find("p.phone").text() + '</p>';
    placemark.setIconContent(title_text);
    placemark.name = '<a href="' + title_url + '">' + title_text + '</a>';
    placemark.description = description_text;
    map.addOverlay(placemark);
    map.panTo(geopoint);
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function(error){
        $(".inline-yandex-map-current").parents("li:first").find(".inline-yandex-map-error").text("Извините, произошла досадная ошибка, карта временно недоступна");
    });
}


$(document).ready(function(){
    elt_toggle = $(".on-map a");
    $(elt_toggle).css("text-decoration", "none");
    $(elt_toggle).css("border-bottom", "1px dotted #777");
    $(elt_toggle).click(function(event){
        event.stopPropagation();
        event.preventDefault();
        $(".inline-yandex-map-current").removeClass("inline-yandex-map-current");
        elt = $(this).parents("li:first").find(".inline-yandex-map");
        if ($(elt).length == 0) {
            $(this).parents("li:first").append('<div class="inline-yandex-map"><span class="loader"></span></div><div class="inline-yandex-map-error"></div>');
            elt = $(this).parents("li:first").find(".inline-yandex-map");
        }
        else {
            $(elt).toggle();
            $(elt).toggleClass("expand");
        }
        $(elt).addClass("inline-yandex-map-current");
        if ($(elt).text() == "") {
            YMaps.load(initInline);
        }
    });
});





function initAllOnMap(){
    var map = new YMaps.Map(YMaps.jQuery(".all-on-map .map-container")[0]);
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.ToolBar());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.MiniMap());
    map.addControl(new YMaps.ScaleLine());
    map.setCenter(new YMaps.GeoPoint(49.667232, 58.603394), 12);
    var placemarks_array = new Array;
    $(".comlist li").each(function(){
        if ($(this).find("span.geocoder")) {
            var current_elt = $(this);
            var geopos_string = $(this).find("span.geocoder").text();
            var geopos = geopos_string.split(",");
            if (placemarks_array[geopos_string] != null) {
                placemark = placemarks_array[geopos_string];
            }
            else {
                var placemark = new YMaps.Placemark(new YMaps.GeoPoint(geopos[0], geopos[1]));
                placemarks_array[geopos_string] = placemark;
                map.addOverlay(placemark);
            }
            title_text = $(current_elt).find("h2").text();
            title_url = $(current_elt).find("h2 a").attr("href");
            description_text = $(current_elt).find(".address").html();
            description_text += '<p>' + $(current_elt).find(".phone").text() + '</p>';
            if (placemark.description != null) {
                placemark.setIconContent(placemark.getIconContent() + '<br />' + title_text);
                placemark.description = placemark.description + '<br /><h2><a href="' + title_url + '">' + title_text + '</a></h2>' + description_text;
            }
            else {
                placemark.setIconContent(title_text);
                placemark.description = '<h2><a href="' + title_url + '">' + title_text + '</a></h2>' + description_text;
            }
        }
    })
}


$(document).ready(function(){
    elt_toggle = $(".all-on-map-expander");
    $(elt_toggle).css("text-decoration", "none");
    $(elt_toggle).css("border-bottom", "1px dotted #777");
    $(elt_toggle).click(function(event){
        event.stopPropagation();
        event.preventDefault();
        map_container = $(".all-on-map");
        $(map_container).toggleClass("expand");
        if ($(map_container).text() == "") {
            YMaps.load(initAllOnMap);
        }
        if ($(map_container).hasClass("expand")) {
            $(".comlist").hide();
        }
        else {
            $(".comlist").show();
        }
    });
});

