// загрузка API
google.load("maps", "2", {"language" : "ru"});
var map = null;
var existhotels = new Array();
var existsights = new Array();
var existcities = new Array();
var currentmarker = null;
var gmapzoom = 15;
var maptype = null;
var maxzoomexists = null;

// Инициализация карты
function initialize() {
    map = new google.maps.Map2(document.getElementById("gmap"));
    //map.setCenter(new google.maps.LatLng(59.9390390, 30.3157850), 13); // Санкт-Петербург
    map.setCenter(new google.maps.LatLng(center_lt, center_lg-0.001), gmapzoom);
    map.addControl(new google.maps.LargeMapControl());
    map.addControl(new google.maps.MenuMapTypeControl());
    map.setMapType(G_HYBRID_MAP);
    map.enableScrollWheelZoom();
    maptype = map.getCurrentMapType();
    //maxzoomexists = mt.getMinimumResolution();
    //alert(maxzoomexists);
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    setMainPoint();
    getMapPoints(northEast.lat(), northEast.lng(), southWest.lat(), southWest.lng());
    google.maps.Event.addListener(map, "moveend", function() {
        var bounds = map.getBounds();
        var southWest = bounds.getSouthWest();
        var northEast = bounds.getNorthEast();
        //alert(map.getZoom());
        getMapPoints(northEast.lat(), northEast.lng(), southWest.lat(), southWest.lng());
    });    
}

// Получим описание отеля
function getOneHotel(id) {
    new Ajax.Updater('hgm'+id, '/map/getHotel', {
        parameters: {id: id}
        }); 
}

// Получим точки в видимой области
function getMapPoints(lt1, lg1, lt2, lg2)
{
    //alert(map.getZoom());
    $('progressbar').style.display='';
    //alert('lt1=' + lt1 + '&lg1=' + lg1 + '&lt2=' + lt2 + '&lg2=' + lg2);
    new Ajax.Request('/map/getMapPoints', {
        asynchronous:true,
        evalScripts:true,
        onComplete:function(transport){
            //alert(transport.responseText);
            setMapPoints();
        },       
        parameters:'lt1=' + lt1 +
                '&lg1=' + lg1 +
                '&lt2=' + lt2 +
                '&lg2=' + lg2 +
                '&zoom=' + map.getZoom()
        });
    //return false;
}
// Нарисуем точки
function setMapPoints() {
    $('progressbar').style.display='none';
    //alert(json[1][0]);
}

// Dragable точка
function setPointInfo (info) {
    var point = currentmarker.getLatLng()
    info = info.stripScripts();info = info.stripTags();
    info = '<b>' + info + '</b>' + "<br>" + point.lat() + "<br>" + point.lng();
    currentmarker.bindInfoWindowHtml(info, {maxWidth: 200});
    map.closeInfoWindow();
}
function setPointOnMap() {
    $('markerinfo').style.display='';
    var center = map.getCenter();
    var marker = new google.maps.Marker(center, {draggable: true});
    currentmarker = marker;
    google.maps.Event.addListener(marker, "dragstart", function() {
        map.closeInfoWindow();
    });
    google.maps.Event.addListener(marker, "dragend", function() {
        marker.openInfoWindowHtml('Это место назвается: <form><input type="text" size="10" id="newpointname"><input type="submit" value="&#187;" onclick="javascript:var npn = $(\'newpointname\').value;setPointInfo(npn)"></form>');
        $('markerinfo').style.display='none';
        $('setmarker').innerHTML = 'Поставить еще одну точку на карту';
    });
   map.addOverlay(marker);    
}


// Установка инициализации на згрузку старницы
google.setOnLoadCallback(initialize);
