/***********************************/
/* Mapa pokazujaca gdzie mieszkaja */
/* uzytkownicy serwisu             */
/*                                 */
/* Autor: Tomasz Nabrzeski         */
/* Email: tnabrzeski@gmail.com     */
/* www..: www.nabrzeski.info       */
/***********************************/
function addUser(longitude, latitude, description)
{
    var marker = new GMarker(new GLatLng(longitude, latitude));
    GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(description) });
    UMap.map.addOverlay(marker);
}

var UMap = {
    map: null,
    
    init: function() {
        if (GBrowserIsCompatible()) {
            UMap.map = new GMap2(document.getElementById("map"));
            UMap.map.addControl(new GOverviewMapControl());
            UMap.map.addControl(new GMapTypeControl());
            UMap.map.addControl(new GLargeMapControl());

            UMap.map.setCenter(new GLatLng(52.133488040771496, 19.1162109375), 6);

            UMap.getUsers();

            GEvent.addListener(UMap.map, "moveend" , function() {
                if (UMap.map.getInfoWindow().isHidden()) UMap.getUsers();
            });
        }
    },

    getUsers: function() {
        $.ajax({
            type: "POST",
            url: "/get-users-on-map/",
            cache: false,
            data: "bounds=" + UMap.map.getBounds(),
            dataType: "json",
            success: UMap.showUsers
        });
    },

    showUsers: function(json) {
        UMap.map.clearOverlays();
        
        for(i = 0; i < json.length; i++) {
            addUser(json[i]['google_w'], json[i]['google_h'], '<center><b>' + json[i]['nick'] + '</b><br /><a href="http://'+ json[i]['nick'].toLowerCase() +'.ulubieni.pl"><img class="avatar" src="/avatars/' + json[i]['avatar'] + '.jpg" alt="" /></a><br />'+ json[i]['nick'].toLowerCase() +'.ulubieni.pl</center>');
        }
    }
}

$(document).ready(function(){
    UMap.init();
});
