var geoCoder;
var map;
var mymarkers = new Array();
var batch = [];
var continenti = { 'AFRICA': { lat: 28.0, lng: 0, zoom: 3 }
				, 'ASIA': { lat: 100.6196553, lng: 34.047863, zoom: 2 }
				, 'EUROPE': { lat: 15.2551187, lng: 54.5259614, zoom: 3 }
				, 'ITALIA': { lat: 12.56738, lng: 41.87194, zoom: 5 }
				, 'NORTH AMERICA': { lat: -105.2551187, lng: 54.5259614, zoom: 3 }
				, 'OCEANIA': { lat: 145.491477, lng: -29.5328037, zoom: 3 }
				, 'SOUTH AMERICA': { lat: -55.491477, lng: -8.783195, zoom: 3 }
};


$(function() {
    $("#accordion_contintenti").accordion({ header: "h4", active: false, autoHeight: false, collapsible: true });
    $("#accordion_contintenti h5").click(function() {
        $(this).parent().children("span").slideToggle();
    });
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_retevendita"));
        map.setCenter(new GLatLng(0, 0), 1);
        map.setUIToDefault();
        var latlng;
        var clust = Array();
        // var marker;
        //geoCoder = new GClientGeocoder();
		var i_unique = '';
        // all_makeres = new MarkerManager(map);
        for (i = 0; i < mymarkers.length; i++) {
        	i_unique = mymarkers[i].lat+' '+mymarkers[i].lng;
        	if( jQuery.inArray( i_unique, clust) < 0) {	
        		clust.push( i_unique);
        	} else {
        		mymarkers[i].lat -= 0.001;
        		mymarkers[i].lng -= 0.12;
        	}
            var point = new GLatLng(mymarkers[i].lat, mymarkers[i].lng);
            var marker = createMarker(point, mymarkers[i].mwindow);
            map.addOverlay(marker);
            batch[mymarkers[i].vid] = marker;
            //  batch.push(amarker);
        }
        //all_makeres.addMarkers(batch,0,17);
        //all_makeres.refresh();
    }

    $("h4 a").click(function() {
        var clicked = $(this).html();
        if (continenti[clicked]) {
            latlng = new GLatLng(continenti[clicked].lng, continenti[clicked].lat);
            map.setZoom(continenti[clicked].zoom);
            map.panTo(latlng);

        } else {
            alert(clicked);
            geoCoder = new GClientGeocoder();
            geoCoder.getLatLng(clicked, function(point) {
                alert(point);
                if (!point) {

                } else {
                    map.panTo(point);
                    map.setZoom(2);
                }
            });
        }
    });


    $(".name").click(function() {
        var nameid = $(this).attr('rel');
        GEvent.trigger( batch[nameid], "click");
    });

    $(".sidebar").hide(function() { $(".main-column").css('width', '100%'); });
    $(".blank").attr('target', '_blank');
});



function addMyMarker(vid, lat, lng, vinfo) {
    if (lat && lng) {
        var tmp = new Object;
        tmp.lat = lat;
        tmp.lng = lng;
        tmp.vid = vid;
        tmp.mwindow = vinfo;
        mymarkers.push(tmp);
    }
}

function createMarker(point, html) {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html + "<br /><br />");
    });
    return marker;
}

