
//    var markerGroups = { "1": [], "2": [], "bar": []};

    //init vars
    var myLatlng = new google.maps.LatLng(50.50649441966126, 30.789012908935547);
    var map;
    var geomarker;
    var marker = new Array();
    var infowindow = new Array();

    var iconShadow  = new google.maps.MarkerImage(prefix+'images/icon/mm_shadow_m.png',
                      new google.maps.Size(34, 18),
                      new google.maps.Point(0,0),
                      new google.maps.Point(7, 18)
                   );

    var hash;
//    var shadow = new google.maps.MarkerImage('/images/icons/shadow.png',
//    new google.maps.Size(24, 11),
//    new google.maps.Point(0,0),
//    new google.maps.Point(7, 11));


    function initialize() {
        geocoder = new google.maps.Geocoder();

        var myOptions = {
              zoom: 13,
              center: myLatlng,
              mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map"), myOptions);

    }// google()

// ### geo location ###
    function codeAddress(address) {
        if (geomarker){
            geomarker.setMap(null)
        }
        if (geocoder) {
          geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
              map.setZoom(16);
              map.panTo(results[0].geometry.location);
              geomarker = new google.maps.Marker({
                  map: map,
                  position: results[0].geometry.location
              });
            } else {
              alert("Определение координат произошло с ошибкой: " + status);
            }
          });
        }
      }

      function searchGeoStreet(){
          var toSearchGeo=true;
          var cat = $("#geoStreet").val();
          var sub = $("#geoHouse").val();
          if (cat=='Независимости'){cat='Незалежності';}
          //if (cat=='Киевская'){cat='Київська вул.';}
          var geoAddress='Бровары, '+cat+', '+sub;
          if (cat=='Промузел') {
             toSearchGeo=false;
              var geoLatlng = new google.maps.LatLng(50.527942443707595, 30.815963745117188);
          }
          if (toSearchGeo){
              codeAddress(geoAddress);
          } else {
              map.panTo(geoLatlng);
              map.setZoom(16);
              geomarker = new google.maps.Marker({
                  map: map,
                  position: geoLatlng
              });
          }

      }
//-- geo


    function removeAllMarkers() {
        for(m in marker) {
            infowindow[m].close();
            marker[m].setMap(null);
        }
    }

    function removeMarker(m) {
        infowindow[m].close();
        marker[m].setMap(null);
    }


    function addMarker(item) {
        var mrkLatlng = new google.maps.LatLng(item.lat, item.lng);
        if (typeof(item.title)=='number') item.title = item.title.toString();
        if (item.draggable == undefined) item.draggable = false;
        if (marker[item.id] != undefined) removeMarker(item.id);
        marker[item.id] = new google.maps.Marker({
                position: mrkLatlng,
                map: map,
                title: item.title,
                draggable: item.draggable,
                icon: prefix+'images/icon_map/' + item.icon + '_map.png',
                //icon: iconBlue,
                shadow: iconShadow
        });

        var htmlinfo = '<b><a href="'+prefix+lang+'/firma/'+item.href+'">' +
                    item.title + "</a></b> <br>"+ "<small>" + item.vid +
                    "</small> <br><br>" + item.address;
        infowindow[item.id] = new google.maps.InfoWindow({
            content: htmlinfo,
            maxWidth: 500
        });
        google.maps.event.addListener(marker[item.id], 'click', function() {
                for(m in infowindow) {
                        infowindow[m].close();
                }
                infowindow[item.id].open(map,marker[item.id]);
                //setEventsIW(item.id);
                //logRequest('/gmap/infowindow/' + item.id + '.html');
        });

    }


    function addMarkers(rows) {
        $.each(rows, function(i,item){
                addMarker(item);
        });
    }

    function ajax_setmarkers(ctype, ccat, csub){
        var url=prefix+"ajax_map.php";
        xhr = $.post(url, {"type": ctype, "cat": ccat, "sub": csub},  function(json) {
            removeAllMarkers();
            addMarkers(json.markers);
            //                if (json.div.id) updateDiv(json.div.id, json.div.content);
//            if (json.map.panto) {
//                    var latlng = new google.maps.LatLng(parseFloat(json.map.panto.lat), parseFloat(json.map.panto.lng));
//                    map.panTo(latlng);
//            }
        }, "json");

    }





window.onload=function(){
        initialize();

        if (!cat && !sub){
            ajax_setmarkers('company', '', '');
        } else {
            //alert(cat+' - '+sub)
            ajax_setmarkers('company', cat, sub);
        }


        hash=window.location.hash.replace('#','');
        if (hash){
            $('#geoStreet').val(hash);
            searchGeoStreet();
        }
}




jQuery(document).ready(function() {
    

        $("#mapblockcategory a.acat").click(function(){
            $("#mapblockcategory .bold").removeClass("bold");
            var relcat=$(this).attr("rel");
            ajax_setmarkers('company', relcat, '');
            $(this).addClass("bold");
            return false;
        })
        $("#mapblockcategory .ulsubcat a").click(function(){
            $("#mapblockcategory .bold").removeClass("bold");
             var relsub=$(this).attr("rel").split('-');
            ajax_setmarkers('company', relsub[0], relsub[1]);
            $(this).addClass("bold");
            return false;
        })



        $("#buttonGeoCodeFind").click(function(){
            searchGeoStreet();
        })
        $("#geoHouse").bind('keypress', function(e){
            if(e.keyCode==13){
                searchGeoStreet();
            }
        })


        $('#geoStreet').autocomplete({
            //serviceUrl: 'ajax.php', // Страница для обработки запросов автозаполнения
            minChars: 1, // Минимальная длина запроса для срабатывания автозаполнения
            delimiter: /(,|;)\s*/, // Разделитель для нескольких запросов, символ или регулярное выражение
            maxHeight: 400, // Максимальная высота списка подсказок, в пикселях
            width: 130, // Ширина списка
            zIndex: 9999, // z-index списка
            deferRequestBy: 100, // Задержка запроса (мсек), на случай, если мы не хотим слать миллион запросов, пока пользователь печатает. Я обычно ставлю 300.
            //params: { type: 'aсGeoStreet'}, // Дополнительные параметры
            onSelect: function(data, value){ searchGeoStreet(); }, // Callback функция, срабатывающая на выбор одного из предложенных вариантов,
            lookup: ['1-го Мая','22-го съезда','40 лет Октября','60лет СССР','8-го Марта','8-го Сьезда','Абон.Ящик','Авиационная','Андреева','Андреевская','Б. Хмельницкого','Басова','Бедного','Безсмертной','Белинского','Бело-дубравная','Береговая','Березнева','Блока','Бобрицкая','Богдановская','Богунского','Боженка','Бредака','Броварская','Буденного','Бузковая','В-Ч 161','Вавилова','Ватутина','Вербная','Вересневая','Весенняя','Винниченка','Виноградная','Вишнёвая','Воен.городок','Вокзальная','Волошковая','Воробьёва','Воровского','Ворошилова','Воссоединения','Гагарина','Гальбича','Гастелло','Гвардейская','Геологов','Героев Революции','Героев Сталинграда','Герцена','Глинки','Гоголевская','Гоголя','Гонты','Горького','Грушевского','Дарвина','Дачная','Декабристов','Деснянская','Деснянский пр.','Дзержинского','Димитрова','Днепровская','Довженка','Докучаева','Дорошенко','Дружбы','Евтушенко','Есенина','Есенина пр.','Жданова','Железнодорожная','Железнодорожников','Заводская','Залесская','Зализнычный пер.','Заличная','Запорожская','Заслонова','Зелёная','Зелёного','Игорева','Интернационалистов','Калинина','Калиновская','Карбышева','Карла-Маркса','Кармелюка','Каширина','Каштановая','Квитневая','Киевская','Кирова','Кирпоноса','Княжицкая','Кобзаря','Ковпака','Кокинаки','Коммунаров','Комсомольская','Комунальная','Кооперативная','Королёва','Короленко','Космодемьянской','Космонавтов','Котовского','Коцюбинского','Красная','Красноармейская','Красовского','Крупской','Куйбышева','Курчатова','Кутузова','Л.Украинки','Лагуновой','Лазо','Леваницкого','Левицкого','Ленина','Леонтовича','Лермонтова','Лесная','Лесничество','Летковская','Лидице','Ломоносова','Луговая','Лысенко','Львовская','Майская','Макаренко','Матросова','Машиностроительная','Маяковского','Металлургов','Механизаторов','Мира','Мичурина','Молодёжная','Молодёжный пер.','Морозова','Московская','Независимости','Некрасова','Николаева','Новая','Оболонский пер.','Оболоньская','Огородная','Озёрная','Озёрный пер.','Окружная','Окружная дорога','Октябрьская','Октябрьской Революции','Олимпийская','Онежский пер.','Освиты','Осипова','Островского','П. Мирного','П. Могилы','Павлова','Папанина','Парковая','Парниковая','Партизанская','Пархоменко','Первомайская','Перонная','Песчаная','Петровского','Пивдена','Пинчука','Пионерский пр.','Пирогова','Пластунская','Плеханова','Победы','Покровская','Полевая','Полевой пер.','Полярников','Поповича','Попудренка','Порошковая','Постышева','Почтовая','Почтовый пер.','Прилуцкая','Пролисковая','Промузел','Прорезная','Пугачёва','Пушкина','Р. Люксембург','Радгоспна','Радистов','Расковой','Ремонтников','Рожевская','Рокоссовского','Русановская','С. Разина','Садовая','Свердлова','Седова','Семашко','Семьи Сидоренко','Серова','Симоненка','Сирко','Сичневая','Сковороды','Скока','Советская','Совхозная','Солнечная','Старотроитская','Старченко','Стельмаха','Стогния','Строительная','Суворова','Таращанская','Тельмана','Тихий пер.','Толстого','Тополиная','Тракторный пер.','Тупой пер.','Тургенева','Турчановского','Ульяновых','Фабричная','Филатова','Франка','Фрунзе','Фурманова','Чайковского','Чапаева','Челюскина','Чепурного','Черниговская','Чернышевского','Черняховского','Чехова','Чкалова','Чубаря','Шевченко','Школьная','Шолом-Алейхема','Шпилевая','Щёлковская','Щербакова','Щорса','Электриков','Энгельса','Юбилейный пер.','Южная','Ялынкова']
        });

});