
function bigMap() {
    
                      
    this.init = function() {
                            
        this.map = new GMap2(document.getElementById("big_map"));   // init        
        this.map.setUIToDefault();                                      // controls 
        this.map.setMapType(G_PHYSICAL_MAP);                            // set terrein view
                
        this.baseIcon = new GIcon(G_DEFAULT_ICON);                  // Create a base icon
        this.geocoder = new GClientGeocoder();                          // geocoder object
        
        
        this.map.setCenter(new GLatLng(52.162562, -52.062562), 2);      // set center of the map 
        
                      
        // In a loop put markers on the map
        for(var i=0;i<aOrganisations.length;i++) {
            
            //var sAdres = aOrganisations[i].adres + ' ' + aOrganisations[i].stad + ', ' + aOrganisations[i].land;
            var sAdres = aOrganisations[i].stad + ', ' + aOrganisations[i].land;

            var sLink = oUrl + aOrganisations[i].link;        
            
            // Balloon content
            var sDescription = '<div class="balloon">';

                if(aOrganisations[i].image_in_balloon == 1 && aOrganisations[i].afbeelding != '') { 
                    sDescription += '<div class="balloonImg"><img src="images/cropped/50/50/'+ aOrganisations[i].afbeelding +'" alt="'+ aOrganisations[i].titel +'"></div>';
                }
                
                sDescription += '<div class="titel">' + aOrganisations[i].titel + '</div>';                
                sDescription += '<div class="text">' + aOrganisations[i].map_tekst + '</div>';                
                sDescription += '<a href="' + sLink + '" title="' + aOrganisations[i].titel + '">Read more</a>';                
            
            sDescription += '</div>';


            this.showAddress(sAdres, sDescription); 

        }        
        
    }
     
    
    // geocoding
    this.showAddress = function(address, sDescription) {  
        var tempadres = address;
        var self = this;
            this.geocoder.getLocations(address, function(response) {                                
                if(response.Status.code == 200) {
                    var oPoint = new GLatLng(response.Placemark[0].Point.coordinates[1],response.Placemark[0].Point.coordinates[0]);
                    self.map.addOverlay(self.createMarker(oPoint, sDescription));                      
                    
                } else {
                    setTimeout("oBMap.showAddress('" + tempadres + "', '" + sDescription + "');", 200);
                }
            });
            
                
        };
        

    // Create the marker
    this.createMarker = function(point, sDescription) {         
        
        // Create an icon
        var markerIcon = new GIcon(this.baseIcon);
        markerIcon.image = rooturl + "images/organisatie.png";            // icon image
        markerIcon.shadow = rooturl + "images/organisatie_shadow.png";    // shadow image
        markerIcon.shadowSize = new GSize(1, 1);                           // shadow size
        markerIcon.iconAnchor = new GPoint(12, 16);                          // icon position on the map
        markerIcon.iconSize = new GSize(19, 18);                            // icon size

        // Set up our GMarkerOptions object
        markerOptions = { icon:markerIcon };
        var marker = new GMarker(point, markerOptions);

        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(sDescription);
        });

        return marker;
    }

}


