

$(window).load(function(){
    var map = $("#lamusoftware-map");

    console.log("new all acripts ...");

    var center = new google.maps.LatLng(-1.2880384688779172, 35.2935791015625);

    var myOptions = {
        zoom: 10,
        center: center,
        mapTypeId: google.maps.MapTypeId.HYBRID
    }

    var map = new google.maps.Map(map.get(0), myOptions);

    var user_checked = new Array();
    var all_amenities_markers = new Array();
    var all_accommodations_markers = new Array();

    var bounds = new google.maps.LatLngBounds();

    var size = new google.maps.Size(32, 32);

    var greenicon = new google.maps.MarkerImage("/static/gmaps/images/icons/green-dot.png");
    var redicon = new google.maps.MarkerImage("/static/gmaps/images/icons/red-dot.png");
    var orangeicon = new google.maps.MarkerImage("/static/gmaps/images/icons/orange-dot.png");
    var blueicon = new google.maps.MarkerImage("/static/gmaps/images/icons/blue-dot.png");

    function rotate(x, y, xm, ym, a) {
        var cos = Math.cos,
            sin = Math.sin,

            a = a * Math.PI / 180, // Convert to radians because that's what
                                   // JavaScript likes

            // Subtract midpoints, so that midpoint is translated to origin
            // and add it in the end again
            xr = (x - xm) * cos(a) - (y - ym) * sin(a)   + xm,
            yr = (x - xm) * sin(a) + (y - ym) * cos(a)   + ym;

        return [xr, yr];
    }

    function recomputeBounds(){
        var temp_bounds = new google.maps.LatLngBounds();
        var temp_visible = new Array();
        $.each(user_checked, function(i,e){
            temp_visible.push(e);
        });
        $.each(temp_visible, function(i,e){ temp_bounds.extend(e.getPosition()) });

        if(temp_visible.length > 1) map.fitBounds(temp_bounds);
        else {
            if(temp_visible.length == 1){
                only = temp_visible[0];
                map.setCenter(only.getPosition());
            }
            else{
                map.setCenter(center);
            }
            map.setZoom(8);

        }
    }

    
    
    var gate_markers = new Array();
    
    
    
    var luxury_markers = new Array();
    
    
    
    var mid_range_markers = new Array();
    
    
    
    var kenya_campsites_markers = new Array();
    
    
    
    var private_cottages_markers = new Array();
    
    
    
    var budget_markers = new Array();
    
    
    
    var deluxe_markers = new Array();
    
    

    var infoboxOptions = {
        closeBoxURL: "",
        infoBoxClearance: new google.maps.Size(1, 1),
        isHidden: true,
        maxWidth: 0,
        enableEventPropagation: true
    };

    var infobox = $('<div style="text-transform:capitalize;text-align:center;font-weight:bold;color:white;font-size:12px;font-family:\'Lucida Console\', Monaco\'Courier New\',Courier,monospace;border:1px solid black;background:url(/static/gmaps/images/green_opacity.png)"></div>');

    var infowindows = new Array();
    function closeAll(){
        $.each(infowindows, function(i,e) { e.setMap(null); });
    }

    
    
    l = new google.maps.LatLng(-1.360289, 35.215816);
    

    

    var kicheche_bush_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kicheche Bush Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kicheche_bush_camp. Width is",c.width());
    var kicheche_bush_camp_ib_content = c.get(0);
    kicheche_bush_camp_ib.setContent(kicheche_bush_camp_ib_content);
    kicheche_bush_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kicheche_bush_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var kicheche_bush_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kicheche_bush_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kicheche Bush Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kicheche_bush_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kicheche_bush_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_bush_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_bush_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_bush_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_bush_camp_marker_deluxe.setIcon(kicheche_bush_camp_marker_deluxe_normalmarker);
        }
        else{
            kicheche_bush_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kicheche_bush_camp_icon_url, null, null, null, size);
            kicheche_bush_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kicheche_bush_camp_icon_hover_url, null, null, null, size);
            kicheche_bush_camp_marker_deluxe.setIcon(kicheche_bush_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        kicheche_bush_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kicheche_bush_camp_icon_url, null, null, null, size);
        kicheche_bush_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kicheche_bush_camp_icon_hover_url, null, null, null, size);
        kicheche_bush_camp_marker_deluxe.setIcon(kicheche_bush_camp_marker_deluxe_normalmarker);
    }

    kicheche_bush_camp_ib.open(map, kicheche_bush_camp_marker_deluxe);
    user_checked.push(kicheche_bush_camp_marker_deluxe);
    deluxe_markers.push(kicheche_bush_camp_marker_deluxe);
    all_accommodations_markers.push(kicheche_bush_camp_marker_deluxe);

    kicheche_bush_camp_ib.open(map, kicheche_bush_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kicheche-bush-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/maasai_mara_kicheche_bush_camp_masai_8_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var kicheche_bush_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kicheche Bush Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKicheche Bush Camp is a small, classic and intimate camp located within the Olare Orok conservancy.\u003C/p\u003E' +
            read_more +
        '</div>';

        var kicheche_bush_camp_iw = new google.maps.InfoWindow({content: kicheche_bush_camp_iw_content});
        infowindows.push(kicheche_bush_camp_iw);


    google.maps.event.addListener(kicheche_bush_camp_marker_deluxe, 'click', function() { closeAll(); kicheche_bush_camp_iw.open(map,kicheche_bush_camp_marker_deluxe); });
    //~ google.maps.event.addListener(kicheche_bush_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kicheche_bush_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kicheche_bush_camp_marker_deluxe.setIcon(kicheche_bush_camp_marker_deluxe_hovermarker);
        kicheche_bush_camp_ib.show();
    });
    google.maps.event.addListener(kicheche_bush_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kicheche_bush_camp_marker_deluxe.setIcon(kicheche_bush_camp_marker_deluxe_normalmarker);
        kicheche_bush_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.424771, 35.074454);
    

    

    var little_naibor_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Little Naibor").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for little_naibor. Width is",c.width());
    var little_naibor_ib_content = c.get(0);
    little_naibor_ib.setContent(little_naibor_ib_content);
    little_naibor_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var little_naibor_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var little_naibor_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover_1.png";
    var little_naibor_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Little Naibor"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+little_naibor_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            little_naibor_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+little_naibor_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            little_naibor_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+little_naibor_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            little_naibor_marker_deluxe.setIcon(little_naibor_marker_deluxe_normalmarker);
        }
        else{
            little_naibor_marker_deluxe_normalmarker = new google.maps.MarkerImage(little_naibor_icon_url, null, null, null, size);
            little_naibor_marker_deluxe_hovermarker = new google.maps.MarkerImage(little_naibor_icon_hover_url, null, null, null, size);
            little_naibor_marker_deluxe.setIcon(little_naibor_marker_deluxe_normalmarker);
        }
    }
    else{
        little_naibor_marker_deluxe_normalmarker = new google.maps.MarkerImage(little_naibor_icon_url, null, null, null, size);
        little_naibor_marker_deluxe_hovermarker = new google.maps.MarkerImage(little_naibor_icon_hover_url, null, null, null, size);
        little_naibor_marker_deluxe.setIcon(little_naibor_marker_deluxe_normalmarker);
    }

    little_naibor_ib.open(map, little_naibor_marker_deluxe);
    user_checked.push(little_naibor_marker_deluxe);
    deluxe_markers.push(little_naibor_marker_deluxe);
    all_accommodations_markers.push(little_naibor_marker_deluxe);

    little_naibor_ib.open(map, little_naibor_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/little-naibor" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/little-naibor-masai-mara-1_1_jpg_80x80_q85.jpg" alt="" width="80" height="59" />';
        

        var little_naibor_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Little Naibor</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ELittle Naibor is located within the immediate vicinity of Naibor Camp.\u003C/p\u003E' +
            read_more +
        '</div>';

        var little_naibor_iw = new google.maps.InfoWindow({content: little_naibor_iw_content});
        infowindows.push(little_naibor_iw);


    google.maps.event.addListener(little_naibor_marker_deluxe, 'click', function() { closeAll(); little_naibor_iw.open(map,little_naibor_marker_deluxe); });
    //~ google.maps.event.addListener(little_naibor_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(little_naibor_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        little_naibor_marker_deluxe.setIcon(little_naibor_marker_deluxe_hovermarker);
        little_naibor_ib.show();
    });
    google.maps.event.addListener(little_naibor_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        little_naibor_marker_deluxe.setIcon(little_naibor_marker_deluxe_normalmarker);
        little_naibor_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.70426, 35.407519);
    

    

    var muthaiga_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Muthaiga Safari Camp").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for muthaiga_safari_camp. Width is",c.width());
    var muthaiga_safari_camp_ib_content = c.get(0);
    muthaiga_safari_camp_ib.setContent(muthaiga_safari_camp_ib_content);
    muthaiga_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var muthaiga_safari_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var muthaiga_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var muthaiga_safari_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Muthaiga Safari Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+muthaiga_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            muthaiga_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+muthaiga_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            muthaiga_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+muthaiga_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            muthaiga_safari_camp_marker_deluxe.setIcon(muthaiga_safari_camp_marker_deluxe_normalmarker);
        }
        else{
            muthaiga_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(muthaiga_safari_camp_icon_url, null, null, null, size);
            muthaiga_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(muthaiga_safari_camp_icon_hover_url, null, null, null, size);
            muthaiga_safari_camp_marker_deluxe.setIcon(muthaiga_safari_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        muthaiga_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(muthaiga_safari_camp_icon_url, null, null, null, size);
        muthaiga_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(muthaiga_safari_camp_icon_hover_url, null, null, null, size);
        muthaiga_safari_camp_marker_deluxe.setIcon(muthaiga_safari_camp_marker_deluxe_normalmarker);
    }

    muthaiga_safari_camp_ib.open(map, muthaiga_safari_camp_marker_deluxe);
    user_checked.push(muthaiga_safari_camp_marker_deluxe);
    deluxe_markers.push(muthaiga_safari_camp_marker_deluxe);
    all_accommodations_markers.push(muthaiga_safari_camp_marker_deluxe);

    muthaiga_safari_camp_ib.open(map, muthaiga_safari_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/muthaiga-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/33_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var muthaiga_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Muthaiga Safari Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMuthaiga Safari Camp is like feeling at home in the Maasai Mara!!The landscape is extremely charming with luxuriant vegetation, sweet slopes and  grassy hills. 1600 meters high, malaria free ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var muthaiga_safari_camp_iw = new google.maps.InfoWindow({content: muthaiga_safari_camp_iw_content});
        infowindows.push(muthaiga_safari_camp_iw);


    google.maps.event.addListener(muthaiga_safari_camp_marker_deluxe, 'click', function() { closeAll(); muthaiga_safari_camp_iw.open(map,muthaiga_safari_camp_marker_deluxe); });
    //~ google.maps.event.addListener(muthaiga_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(muthaiga_safari_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        muthaiga_safari_camp_marker_deluxe.setIcon(muthaiga_safari_camp_marker_deluxe_hovermarker);
        muthaiga_safari_camp_ib.show();
    });
    google.maps.event.addListener(muthaiga_safari_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        muthaiga_safari_camp_marker_deluxe.setIcon(muthaiga_safari_camp_marker_deluxe_normalmarker);
        muthaiga_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.092001, 35.197438);
    

    

    var ngerende_island_loge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ngerende Island Lodge").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ngerende_island_loge. Width is",c.width());
    var ngerende_island_loge_ib_content = c.get(0);
    ngerende_island_loge_ib.setContent(ngerende_island_loge_ib_content);
    ngerende_island_loge_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ngerende_island_loge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var ngerende_island_loge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var ngerende_island_loge_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ngerende Island Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ngerende_island_loge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ngerende_island_loge_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ngerende_island_loge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ngerende_island_loge_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ngerende_island_loge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ngerende_island_loge_marker_luxury.setIcon(ngerende_island_loge_marker_luxury_normalmarker);
        }
        else{
            ngerende_island_loge_marker_luxury_normalmarker = new google.maps.MarkerImage(ngerende_island_loge_icon_url, null, null, null, size);
            ngerende_island_loge_marker_luxury_hovermarker = new google.maps.MarkerImage(ngerende_island_loge_icon_hover_url, null, null, null, size);
            ngerende_island_loge_marker_luxury.setIcon(ngerende_island_loge_marker_luxury_normalmarker);
        }
    }
    else{
        ngerende_island_loge_marker_luxury_normalmarker = new google.maps.MarkerImage(ngerende_island_loge_icon_url, null, null, null, size);
        ngerende_island_loge_marker_luxury_hovermarker = new google.maps.MarkerImage(ngerende_island_loge_icon_hover_url, null, null, null, size);
        ngerende_island_loge_marker_luxury.setIcon(ngerende_island_loge_marker_luxury_normalmarker);
    }

    ngerende_island_loge_ib.open(map, ngerende_island_loge_marker_luxury);
    user_checked.push(ngerende_island_loge_marker_luxury);
    luxury_markers.push(ngerende_island_loge_marker_luxury);
    all_accommodations_markers.push(ngerende_island_loge_marker_luxury);

    ngerende_island_loge_ib.open(map, ngerende_island_loge_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/ngerende-island-loge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/ngerendeislandlodge9_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var ngerende_island_loge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ngerende Island Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENgerende Island Lodge is located in the Ol Choro\u002DOirogua Conservancy, which borders the Maasai Mara National Reserve. \u003C/p\u003E' +
            read_more +
        '</div>';

        var ngerende_island_loge_iw = new google.maps.InfoWindow({content: ngerende_island_loge_iw_content});
        infowindows.push(ngerende_island_loge_iw);


    google.maps.event.addListener(ngerende_island_loge_marker_luxury, 'click', function() { closeAll(); ngerende_island_loge_iw.open(map,ngerende_island_loge_marker_luxury); });
    //~ google.maps.event.addListener(ngerende_island_loge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ngerende_island_loge_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ngerende_island_loge_marker_luxury.setIcon(ngerende_island_loge_marker_luxury_hovermarker);
        ngerende_island_loge_ib.show();
    });
    google.maps.event.addListener(ngerende_island_loge_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ngerende_island_loge_marker_luxury.setIcon(ngerende_island_loge_marker_luxury_normalmarker);
        ngerende_island_loge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.382941, 35.221481);
    

    

    var nyumbu_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Nyumbu Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for nyumbu_camp. Width is",c.width());
    var nyumbu_camp_ib_content = c.get(0);
    nyumbu_camp_ib.setContent(nyumbu_camp_ib_content);
    nyumbu_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var nyumbu_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var nyumbu_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var nyumbu_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Nyumbu Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+nyumbu_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            nyumbu_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+nyumbu_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            nyumbu_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+nyumbu_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            nyumbu_camp_marker_budget.setIcon(nyumbu_camp_marker_budget_normalmarker);
        }
        else{
            nyumbu_camp_marker_budget_normalmarker = new google.maps.MarkerImage(nyumbu_camp_icon_url, null, null, null, size);
            nyumbu_camp_marker_budget_hovermarker = new google.maps.MarkerImage(nyumbu_camp_icon_hover_url, null, null, null, size);
            nyumbu_camp_marker_budget.setIcon(nyumbu_camp_marker_budget_normalmarker);
        }
    }
    else{
        nyumbu_camp_marker_budget_normalmarker = new google.maps.MarkerImage(nyumbu_camp_icon_url, null, null, null, size);
        nyumbu_camp_marker_budget_hovermarker = new google.maps.MarkerImage(nyumbu_camp_icon_hover_url, null, null, null, size);
        nyumbu_camp_marker_budget.setIcon(nyumbu_camp_marker_budget_normalmarker);
    }

    nyumbu_camp_ib.open(map, nyumbu_camp_marker_budget);
    user_checked.push(nyumbu_camp_marker_budget);
    budget_markers.push(nyumbu_camp_marker_budget);
    all_accommodations_markers.push(nyumbu_camp_marker_budget);

    nyumbu_camp_ib.open(map, nyumbu_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/nyumbu-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/beds_jpg_80x80_q85.jpg" alt="" width="80" height="55" />';
        

        var nyumbu_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Nyumbu Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENyumbu Camp is located in the Ngila plains at the edge of Maasai Mara National Reserve overlooking magnificent view of hills and plains in a prime wildlife area (near Talek ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var nyumbu_camp_iw = new google.maps.InfoWindow({content: nyumbu_camp_iw_content});
        infowindows.push(nyumbu_camp_iw);


    google.maps.event.addListener(nyumbu_camp_marker_budget, 'click', function() { closeAll(); nyumbu_camp_iw.open(map,nyumbu_camp_marker_budget); });
    //~ google.maps.event.addListener(nyumbu_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(nyumbu_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        nyumbu_camp_marker_budget.setIcon(nyumbu_camp_marker_budget_hovermarker);
        nyumbu_camp_ib.show();
    });
    google.maps.event.addListener(nyumbu_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        nyumbu_camp_marker_budget.setIcon(nyumbu_camp_marker_budget_normalmarker);
        nyumbu_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.269504, 35.150585);
    

    

    var offbeat_mara_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Offbeat Mara Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for offbeat_mara_camp. Width is",c.width());
    var offbeat_mara_camp_ib_content = c.get(0);
    offbeat_mara_camp_ib.setContent(offbeat_mara_camp_ib_content);
    offbeat_mara_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var offbeat_mara_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var offbeat_mara_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var offbeat_mara_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Offbeat Mara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+offbeat_mara_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            offbeat_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+offbeat_mara_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            offbeat_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+offbeat_mara_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            offbeat_mara_camp_marker_mid_range.setIcon(offbeat_mara_camp_marker_mid_range_normalmarker);
        }
        else{
            offbeat_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(offbeat_mara_camp_icon_url, null, null, null, size);
            offbeat_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(offbeat_mara_camp_icon_hover_url, null, null, null, size);
            offbeat_mara_camp_marker_mid_range.setIcon(offbeat_mara_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        offbeat_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(offbeat_mara_camp_icon_url, null, null, null, size);
        offbeat_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(offbeat_mara_camp_icon_hover_url, null, null, null, size);
        offbeat_mara_camp_marker_mid_range.setIcon(offbeat_mara_camp_marker_mid_range_normalmarker);
    }

    offbeat_mara_camp_ib.open(map, offbeat_mara_camp_marker_mid_range);
    user_checked.push(offbeat_mara_camp_marker_mid_range);
    mid_range_markers.push(offbeat_mara_camp_marker_mid_range);
    all_accommodations_markers.push(offbeat_mara_camp_marker_mid_range);

    offbeat_mara_camp_ib.open(map, offbeat_mara_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/offbeat-mara-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/the_camp_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var offbeat_mara_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Offbeat Mara Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOffbeat Mara Camp is a seasonal camp, which lies on the river on the Olare Orok Koyiaki Group Ranch (adjacent to the Maasai Mara National Reserve).\u003C/p\u003E' +
            read_more +
        '</div>';

        var offbeat_mara_camp_iw = new google.maps.InfoWindow({content: offbeat_mara_camp_iw_content});
        infowindows.push(offbeat_mara_camp_iw);


    google.maps.event.addListener(offbeat_mara_camp_marker_mid_range, 'click', function() { closeAll(); offbeat_mara_camp_iw.open(map,offbeat_mara_camp_marker_mid_range); });
    //~ google.maps.event.addListener(offbeat_mara_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(offbeat_mara_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        offbeat_mara_camp_marker_mid_range.setIcon(offbeat_mara_camp_marker_mid_range_hovermarker);
        offbeat_mara_camp_ib.show();
    });
    google.maps.event.addListener(offbeat_mara_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        offbeat_mara_camp_marker_mid_range.setIcon(offbeat_mara_camp_marker_mid_range_normalmarker);
        offbeat_mara_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.60010515292, 35.1318526268);
    

    

    var salas_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sala's Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for salas_camp. Width is",c.width());
    var salas_camp_ib_content = c.get(0);
    salas_camp_ib.setContent(salas_camp_ib_content);
    salas_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var salas_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var salas_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var salas_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sala&#39;s Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+salas_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            salas_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+salas_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            salas_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+salas_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            salas_camp_marker_deluxe.setIcon(salas_camp_marker_deluxe_normalmarker);
        }
        else{
            salas_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(salas_camp_icon_url, null, null, null, size);
            salas_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(salas_camp_icon_hover_url, null, null, null, size);
            salas_camp_marker_deluxe.setIcon(salas_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        salas_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(salas_camp_icon_url, null, null, null, size);
        salas_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(salas_camp_icon_hover_url, null, null, null, size);
        salas_camp_marker_deluxe.setIcon(salas_camp_marker_deluxe_normalmarker);
    }

    salas_camp_ib.open(map, salas_camp_marker_deluxe);
    user_checked.push(salas_camp_marker_deluxe);
    deluxe_markers.push(salas_camp_marker_deluxe);
    all_accommodations_markers.push(salas_camp_marker_deluxe);

    salas_camp_ib.open(map, salas_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/salas-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/salas_camp_masai_mara_accomodation_jpg_80x80_q85.jpg" alt="" width="80" height="50" />';
        

        var salas_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sala\u0027s Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ELocated in an extremely private area of the renowned Maasai Mara, Sala’s Camp rests on the banks of the Sand and Keekorok rivers looking into Tanzania’s Serengeti on ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var salas_camp_iw = new google.maps.InfoWindow({content: salas_camp_iw_content});
        infowindows.push(salas_camp_iw);


    google.maps.event.addListener(salas_camp_marker_deluxe, 'click', function() { closeAll(); salas_camp_iw.open(map,salas_camp_marker_deluxe); });
    //~ google.maps.event.addListener(salas_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(salas_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        salas_camp_marker_deluxe.setIcon(salas_camp_marker_deluxe_hovermarker);
        salas_camp_ib.show();
    });
    google.maps.event.addListener(salas_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        salas_camp_marker_deluxe.setIcon(salas_camp_marker_deluxe_normalmarker);
        salas_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.618037, 35.384807);
    

    

    var ololaimutiek_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ololaimutiek Gate").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ololaimutiek_gate. Width is",c.width());
    var ololaimutiek_gate_ib_content = c.get(0);
    ololaimutiek_gate_ib.setContent(ololaimutiek_gate_ib_content);
    ololaimutiek_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ololaimutiek_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var ololaimutiek_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var ololaimutiek_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ololaimutiek Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ololaimutiek_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ololaimutiek_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ololaimutiek_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ololaimutiek_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ololaimutiek_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ololaimutiek_gate_marker_gate.setIcon(ololaimutiek_gate_marker_gate_normalmarker);
        }
        else{
            ololaimutiek_gate_marker_gate_normalmarker = new google.maps.MarkerImage(ololaimutiek_gate_icon_url, null, null, null, size);
            ololaimutiek_gate_marker_gate_hovermarker = new google.maps.MarkerImage(ololaimutiek_gate_icon_hover_url, null, null, null, size);
            ololaimutiek_gate_marker_gate.setIcon(ololaimutiek_gate_marker_gate_normalmarker);
        }
    }
    else{
        ololaimutiek_gate_marker_gate_normalmarker = new google.maps.MarkerImage(ololaimutiek_gate_icon_url, null, null, null, size);
        ololaimutiek_gate_marker_gate_hovermarker = new google.maps.MarkerImage(ololaimutiek_gate_icon_hover_url, null, null, null, size);
        ololaimutiek_gate_marker_gate.setIcon(ololaimutiek_gate_marker_gate_normalmarker);
    }

    ololaimutiek_gate_ib.open(map, ololaimutiek_gate_marker_gate);
    user_checked.push(ololaimutiek_gate_marker_gate);
    gate_markers.push(ololaimutiek_gate_marker_gate);
    all_amenities_markers.push(ololaimutiek_gate_marker_gate);

    ololaimutiek_gate_ib.open(map, ololaimutiek_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var ololaimutiek_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ololaimutiek Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var ololaimutiek_gate_iw = new google.maps.InfoWindow({content: ololaimutiek_gate_iw_content});
        infowindows.push(ololaimutiek_gate_iw);


    google.maps.event.addListener(ololaimutiek_gate_marker_gate, 'click', function() { closeAll(); ololaimutiek_gate_iw.open(map,ololaimutiek_gate_marker_gate); });
    //~ google.maps.event.addListener(ololaimutiek_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ololaimutiek_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ololaimutiek_gate_marker_gate.setIcon(ololaimutiek_gate_marker_gate_hovermarker);
        ololaimutiek_gate_ib.show();
    });
    google.maps.event.addListener(ololaimutiek_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ololaimutiek_gate_marker_gate.setIcon(ololaimutiek_gate_marker_gate_normalmarker);
        ololaimutiek_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.467984, 35.277368);
    

    

    var mara_eden_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Eden Safari Camp").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_eden_safari_camp. Width is",c.width());
    var mara_eden_safari_camp_ib_content = c.get(0);
    mara_eden_safari_camp_ib.setContent(mara_eden_safari_camp_ib_content);
    mara_eden_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_eden_safari_camp_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var mara_eden_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover_1.png";
    var mara_eden_safari_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Eden Safari Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_eden_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_eden_safari_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_eden_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_eden_safari_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_eden_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_eden_safari_camp_marker_budget.setIcon(mara_eden_safari_camp_marker_budget_normalmarker);
        }
        else{
            mara_eden_safari_camp_marker_budget_normalmarker = new google.maps.MarkerImage(mara_eden_safari_camp_icon_url, null, null, null, size);
            mara_eden_safari_camp_marker_budget_hovermarker = new google.maps.MarkerImage(mara_eden_safari_camp_icon_hover_url, null, null, null, size);
            mara_eden_safari_camp_marker_budget.setIcon(mara_eden_safari_camp_marker_budget_normalmarker);
        }
    }
    else{
        mara_eden_safari_camp_marker_budget_normalmarker = new google.maps.MarkerImage(mara_eden_safari_camp_icon_url, null, null, null, size);
        mara_eden_safari_camp_marker_budget_hovermarker = new google.maps.MarkerImage(mara_eden_safari_camp_icon_hover_url, null, null, null, size);
        mara_eden_safari_camp_marker_budget.setIcon(mara_eden_safari_camp_marker_budget_normalmarker);
    }

    mara_eden_safari_camp_ib.open(map, mara_eden_safari_camp_marker_budget);
    user_checked.push(mara_eden_safari_camp_marker_budget);
    budget_markers.push(mara_eden_safari_camp_marker_budget);
    all_accommodations_markers.push(mara_eden_safari_camp_marker_budget);

    mara_eden_safari_camp_ib.open(map, mara_eden_safari_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-eden-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/mara-eden-safari-camp-masai-mara_2_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var mara_eden_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Eden Safari Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Eden Safari Camp is located along Talek River, Irbaan area opposite the Irbaan School.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_eden_safari_camp_iw = new google.maps.InfoWindow({content: mara_eden_safari_camp_iw_content});
        infowindows.push(mara_eden_safari_camp_iw);


    google.maps.event.addListener(mara_eden_safari_camp_marker_budget, 'click', function() { closeAll(); mara_eden_safari_camp_iw.open(map,mara_eden_safari_camp_marker_budget); });
    //~ google.maps.event.addListener(mara_eden_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_eden_safari_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_eden_safari_camp_marker_budget.setIcon(mara_eden_safari_camp_marker_budget_hovermarker);
        mara_eden_safari_camp_ib.show();
    });
    google.maps.event.addListener(mara_eden_safari_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_eden_safari_camp_marker_budget.setIcon(mara_eden_safari_camp_marker_budget_normalmarker);
        mara_eden_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.413145, 35.378981);
    

    

    var kicheche_naboisho_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kicheche Valley Camp").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kicheche_naboisho_camp. Width is",c.width());
    var kicheche_naboisho_camp_ib_content = c.get(0);
    kicheche_naboisho_camp_ib.setContent(kicheche_naboisho_camp_ib_content);
    kicheche_naboisho_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kicheche_naboisho_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var kicheche_naboisho_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kicheche_naboisho_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kicheche Valley Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kicheche_naboisho_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kicheche_naboisho_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_naboisho_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_naboisho_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_naboisho_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_naboisho_camp_marker_deluxe.setIcon(kicheche_naboisho_camp_marker_deluxe_normalmarker);
        }
        else{
            kicheche_naboisho_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kicheche_naboisho_camp_icon_url, null, null, null, size);
            kicheche_naboisho_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kicheche_naboisho_camp_icon_hover_url, null, null, null, size);
            kicheche_naboisho_camp_marker_deluxe.setIcon(kicheche_naboisho_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        kicheche_naboisho_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kicheche_naboisho_camp_icon_url, null, null, null, size);
        kicheche_naboisho_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kicheche_naboisho_camp_icon_hover_url, null, null, null, size);
        kicheche_naboisho_camp_marker_deluxe.setIcon(kicheche_naboisho_camp_marker_deluxe_normalmarker);
    }

    kicheche_naboisho_camp_ib.open(map, kicheche_naboisho_camp_marker_deluxe);
    user_checked.push(kicheche_naboisho_camp_marker_deluxe);
    deluxe_markers.push(kicheche_naboisho_camp_marker_deluxe);
    all_accommodations_markers.push(kicheche_naboisho_camp_marker_deluxe);

    kicheche_naboisho_camp_ib.open(map, kicheche_naboisho_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kicheche-naboisho-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/maasai_mara_kicheche_naboisho_camp_masai_2_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var kicheche_naboisho_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kicheche Valley Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKicheche Valley Camp is located within Naboisho Conservancy. The camp is set on the Eastern side in a beautiful secluded valley dotted with Acacia trees. \u003C/p\u003E' +
            read_more +
        '</div>';

        var kicheche_naboisho_camp_iw = new google.maps.InfoWindow({content: kicheche_naboisho_camp_iw_content});
        infowindows.push(kicheche_naboisho_camp_iw);


    google.maps.event.addListener(kicheche_naboisho_camp_marker_deluxe, 'click', function() { closeAll(); kicheche_naboisho_camp_iw.open(map,kicheche_naboisho_camp_marker_deluxe); });
    //~ google.maps.event.addListener(kicheche_naboisho_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kicheche_naboisho_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kicheche_naboisho_camp_marker_deluxe.setIcon(kicheche_naboisho_camp_marker_deluxe_hovermarker);
        kicheche_naboisho_camp_ib.show();
    });
    google.maps.event.addListener(kicheche_naboisho_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kicheche_naboisho_camp_marker_deluxe.setIcon(kicheche_naboisho_camp_marker_deluxe_normalmarker);
        kicheche_naboisho_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.608256, 35.392563);
    

    

    var masai_mara_manyatta_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Masai Mara Manyatta Camp ").width((25*12*0.7).toString()+"px");
    console.log("Cloned infobox div for masai_mara_manyatta_camp. Width is",c.width());
    var masai_mara_manyatta_camp_ib_content = c.get(0);
    masai_mara_manyatta_camp_ib.setContent(masai_mara_manyatta_camp_ib_content);
    masai_mara_manyatta_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(25*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var masai_mara_manyatta_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var masai_mara_manyatta_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var masai_mara_manyatta_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Masai Mara Manyatta Camp "
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+masai_mara_manyatta_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            masai_mara_manyatta_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+masai_mara_manyatta_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            masai_mara_manyatta_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+masai_mara_manyatta_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            masai_mara_manyatta_camp_marker_budget.setIcon(masai_mara_manyatta_camp_marker_budget_normalmarker);
        }
        else{
            masai_mara_manyatta_camp_marker_budget_normalmarker = new google.maps.MarkerImage(masai_mara_manyatta_camp_icon_url, null, null, null, size);
            masai_mara_manyatta_camp_marker_budget_hovermarker = new google.maps.MarkerImage(masai_mara_manyatta_camp_icon_hover_url, null, null, null, size);
            masai_mara_manyatta_camp_marker_budget.setIcon(masai_mara_manyatta_camp_marker_budget_normalmarker);
        }
    }
    else{
        masai_mara_manyatta_camp_marker_budget_normalmarker = new google.maps.MarkerImage(masai_mara_manyatta_camp_icon_url, null, null, null, size);
        masai_mara_manyatta_camp_marker_budget_hovermarker = new google.maps.MarkerImage(masai_mara_manyatta_camp_icon_hover_url, null, null, null, size);
        masai_mara_manyatta_camp_marker_budget.setIcon(masai_mara_manyatta_camp_marker_budget_normalmarker);
    }

    masai_mara_manyatta_camp_ib.open(map, masai_mara_manyatta_camp_marker_budget);
    user_checked.push(masai_mara_manyatta_camp_marker_budget);
    budget_markers.push(masai_mara_manyatta_camp_marker_budget);
    all_accommodations_markers.push(masai_mara_manyatta_camp_marker_budget);

    masai_mara_manyatta_camp_ib.open(map, masai_mara_manyatta_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/masai-mara-manyatta-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/manyatta_camp_pic7_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var masai_mara_manyatta_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Masai Mara Manyatta Camp </h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMasai Mara Manyatta Camp is a new concept in the world famous Maasai Mara National Reserve.The camp is locate near the Ololamutiek Gate of the Maasai Mara Natonal Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var masai_mara_manyatta_camp_iw = new google.maps.InfoWindow({content: masai_mara_manyatta_camp_iw_content});
        infowindows.push(masai_mara_manyatta_camp_iw);


    google.maps.event.addListener(masai_mara_manyatta_camp_marker_budget, 'click', function() { closeAll(); masai_mara_manyatta_camp_iw.open(map,masai_mara_manyatta_camp_marker_budget); });
    //~ google.maps.event.addListener(masai_mara_manyatta_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(masai_mara_manyatta_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        masai_mara_manyatta_camp_marker_budget.setIcon(masai_mara_manyatta_camp_marker_budget_hovermarker);
        masai_mara_manyatta_camp_ib.show();
    });
    google.maps.event.addListener(masai_mara_manyatta_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        masai_mara_manyatta_camp_marker_budget.setIcon(masai_mara_manyatta_camp_marker_budget_normalmarker);
        masai_mara_manyatta_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.45004, 34.963989);
    

    

    var maasai_mara_national_reserve_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Maasai Mara National Reserve").width((28*12*0.7).toString()+"px");
    console.log("Cloned infobox div for maasai_mara_national_reserve. Width is",c.width());
    var maasai_mara_national_reserve_ib_content = c.get(0);
    maasai_mara_national_reserve_ib.setContent(maasai_mara_national_reserve_ib_content);
    maasai_mara_national_reserve_ib.setOptions({pixelOffset: new google.maps.Size(-(28*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.329226, 35.205688);
    

    

    var olaro_orok_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olaro Orok Conservancy").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olaro_orok_conservancy. Width is",c.width());
    var olaro_orok_conservancy_ib_content = c.get(0);
    olaro_orok_conservancy_ib.setContent(olaro_orok_conservancy_ib_content);
    olaro_orok_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(22*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.407482, 35.416832);
    

    

    var ol_kenyei_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ol Kenyei Conservancy").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ol_kenyei_conservancy. Width is",c.width());
    var ol_kenyei_conservancy_ib_content = c.get(0);
    ol_kenyei_conservancy_ib.setContent(ol_kenyei_conservancy_ib_content);
    ol_kenyei_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.147565, 35.374603);
    

    

    var saruni_wild_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Saruni Wild Safari Camp").width((23*12*0.7).toString()+"px");
    console.log("Cloned infobox div for saruni_wild_safari_camp. Width is",c.width());
    var saruni_wild_safari_camp_ib_content = c.get(0);
    saruni_wild_safari_camp_ib.setContent(saruni_wild_safari_camp_ib_content);
    saruni_wild_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(23*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var saruni_wild_safari_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var saruni_wild_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var saruni_wild_safari_camp_marker_private_cottages = new google.maps.Marker({
        position: l,
        map: map,
        title: "Saruni Wild Safari Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+saruni_wild_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            saruni_wild_safari_camp_marker_private_cottages_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+saruni_wild_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            saruni_wild_safari_camp_marker_private_cottages_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+saruni_wild_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            saruni_wild_safari_camp_marker_private_cottages.setIcon(saruni_wild_safari_camp_marker_private_cottages_normalmarker);
        }
        else{
            saruni_wild_safari_camp_marker_private_cottages_normalmarker = new google.maps.MarkerImage(saruni_wild_safari_camp_icon_url, null, null, null, size);
            saruni_wild_safari_camp_marker_private_cottages_hovermarker = new google.maps.MarkerImage(saruni_wild_safari_camp_icon_hover_url, null, null, null, size);
            saruni_wild_safari_camp_marker_private_cottages.setIcon(saruni_wild_safari_camp_marker_private_cottages_normalmarker);
        }
    }
    else{
        saruni_wild_safari_camp_marker_private_cottages_normalmarker = new google.maps.MarkerImage(saruni_wild_safari_camp_icon_url, null, null, null, size);
        saruni_wild_safari_camp_marker_private_cottages_hovermarker = new google.maps.MarkerImage(saruni_wild_safari_camp_icon_hover_url, null, null, null, size);
        saruni_wild_safari_camp_marker_private_cottages.setIcon(saruni_wild_safari_camp_marker_private_cottages_normalmarker);
    }

    saruni_wild_safari_camp_ib.open(map, saruni_wild_safari_camp_marker_private_cottages);
    user_checked.push(saruni_wild_safari_camp_marker_private_cottages);
    private_cottages_markers.push(saruni_wild_safari_camp_marker_private_cottages);
    all_accommodations_markers.push(saruni_wild_safari_camp_marker_private_cottages);

    saruni_wild_safari_camp_ib.open(map, saruni_wild_safari_camp_marker_private_cottages);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/saruni-wild-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/maasai_mara_saruni_wild_masai_1_1_jpg_80x80_q85.jpg" alt="" width="80" height="35" />';
        

        var saruni_wild_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Saruni Wild Safari Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESaruni Wild Safari Camp is a small private tented camp located in the Mara North Conservancy, in a wild, scenic valley rich both in wildlife and privacy.\u003C/p\u003E' +
            read_more +
        '</div>';

        var saruni_wild_safari_camp_iw = new google.maps.InfoWindow({content: saruni_wild_safari_camp_iw_content});
        infowindows.push(saruni_wild_safari_camp_iw);


    google.maps.event.addListener(saruni_wild_safari_camp_marker_private_cottages, 'click', function() { closeAll(); saruni_wild_safari_camp_iw.open(map,saruni_wild_safari_camp_marker_private_cottages); });
    //~ google.maps.event.addListener(saruni_wild_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(saruni_wild_safari_camp_marker_private_cottages, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        saruni_wild_safari_camp_marker_private_cottages.setIcon(saruni_wild_safari_camp_marker_private_cottages_hovermarker);
        saruni_wild_safari_camp_ib.show();
    });
    google.maps.event.addListener(saruni_wild_safari_camp_marker_private_cottages, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        saruni_wild_safari_camp_marker_private_cottages.setIcon(saruni_wild_safari_camp_marker_private_cottages_normalmarker);
        saruni_wild_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.604266, 35.387134);
    

    

    var ol_moran_tented_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ol Moran Tented Camp").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ol_moran_tented_camp. Width is",c.width());
    var ol_moran_tented_camp_ib_content = c.get(0);
    ol_moran_tented_camp_ib.setContent(ol_moran_tented_camp_ib_content);
    ol_moran_tented_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ol_moran_tented_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var ol_moran_tented_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var ol_moran_tented_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ol Moran Tented Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ol_moran_tented_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ol_moran_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ol_moran_tented_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ol_moran_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ol_moran_tented_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ol_moran_tented_camp_marker_mid_range.setIcon(ol_moran_tented_camp_marker_mid_range_normalmarker);
        }
        else{
            ol_moran_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(ol_moran_tented_camp_icon_url, null, null, null, size);
            ol_moran_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(ol_moran_tented_camp_icon_hover_url, null, null, null, size);
            ol_moran_tented_camp_marker_mid_range.setIcon(ol_moran_tented_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        ol_moran_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(ol_moran_tented_camp_icon_url, null, null, null, size);
        ol_moran_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(ol_moran_tented_camp_icon_hover_url, null, null, null, size);
        ol_moran_tented_camp_marker_mid_range.setIcon(ol_moran_tented_camp_marker_mid_range_normalmarker);
    }

    ol_moran_tented_camp_ib.open(map, ol_moran_tented_camp_marker_mid_range);
    user_checked.push(ol_moran_tented_camp_marker_mid_range);
    mid_range_markers.push(ol_moran_tented_camp_marker_mid_range);
    all_accommodations_markers.push(ol_moran_tented_camp_marker_mid_range);

    ol_moran_tented_camp_ib.open(map, ol_moran_tented_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/ol-moran-tented-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/maasai_mara_ol_moran_tented_camp_masai_mara_1_JPG_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var ol_moran_tented_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ol Moran Tented Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOl Moran Tented Camp is a sweet small camp on the eastern side of the Maasai Mara Eco\u002Dsystem on the banks of Ololaimutia River.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EOl Moran Tented Camp is an ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var ol_moran_tented_camp_iw = new google.maps.InfoWindow({content: ol_moran_tented_camp_iw_content});
        infowindows.push(ol_moran_tented_camp_iw);


    google.maps.event.addListener(ol_moran_tented_camp_marker_mid_range, 'click', function() { closeAll(); ol_moran_tented_camp_iw.open(map,ol_moran_tented_camp_marker_mid_range); });
    //~ google.maps.event.addListener(ol_moran_tented_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ol_moran_tented_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ol_moran_tented_camp_marker_mid_range.setIcon(ol_moran_tented_camp_marker_mid_range_hovermarker);
        ol_moran_tented_camp_ib.show();
    });
    google.maps.event.addListener(ol_moran_tented_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ol_moran_tented_camp_marker_mid_range.setIcon(ol_moran_tented_camp_marker_mid_range_normalmarker);
        ol_moran_tented_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.118388, 35.198779);
    

    

    var richards_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Richards Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for richards_camp. Width is",c.width());
    var richards_camp_ib_content = c.get(0);
    richards_camp_ib.setContent(richards_camp_ib_content);
    richards_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var richards_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var richards_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var richards_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Richards Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+richards_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            richards_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+richards_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            richards_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+richards_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            richards_camp_marker_luxury.setIcon(richards_camp_marker_luxury_normalmarker);
        }
        else{
            richards_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(richards_camp_icon_url, null, null, null, size);
            richards_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(richards_camp_icon_hover_url, null, null, null, size);
            richards_camp_marker_luxury.setIcon(richards_camp_marker_luxury_normalmarker);
        }
    }
    else{
        richards_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(richards_camp_icon_url, null, null, null, size);
        richards_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(richards_camp_icon_hover_url, null, null, null, size);
        richards_camp_marker_luxury.setIcon(richards_camp_marker_luxury_normalmarker);
    }

    richards_camp_ib.open(map, richards_camp_marker_luxury);
    user_checked.push(richards_camp_marker_luxury);
    luxury_markers.push(richards_camp_marker_luxury);
    all_accommodations_markers.push(richards_camp_marker_luxury);

    richards_camp_ib.open(map, richards_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/richards-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/RICH019_jpg_80x80_q85.jpg" alt="" width="79" height="53" />';
        

        var richards_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Richards Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ERichard’s Camp is situated in a conservation area North West of The Masai Mara National Reserve in Kenya. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003ERichard’s Camp is a traditional tented camp in true African ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var richards_camp_iw = new google.maps.InfoWindow({content: richards_camp_iw_content});
        infowindows.push(richards_camp_iw);


    google.maps.event.addListener(richards_camp_marker_luxury, 'click', function() { closeAll(); richards_camp_iw.open(map,richards_camp_marker_luxury); });
    //~ google.maps.event.addListener(richards_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(richards_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        richards_camp_marker_luxury.setIcon(richards_camp_marker_luxury_hovermarker);
        richards_camp_ib.show();
    });
    google.maps.event.addListener(richards_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        richards_camp_marker_luxury.setIcon(richards_camp_marker_luxury_normalmarker);
        richards_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.439572, 35.207664);
    

    

    var riverside_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Riverside camp").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for riverside_camp. Width is",c.width());
    var riverside_camp_ib_content = c.get(0);
    riverside_camp_ib.setContent(riverside_camp_ib_content);
    riverside_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var riverside_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var riverside_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var riverside_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Riverside camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+riverside_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            riverside_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+riverside_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            riverside_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+riverside_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            riverside_camp_marker_budget.setIcon(riverside_camp_marker_budget_normalmarker);
        }
        else{
            riverside_camp_marker_budget_normalmarker = new google.maps.MarkerImage(riverside_camp_icon_url, null, null, null, size);
            riverside_camp_marker_budget_hovermarker = new google.maps.MarkerImage(riverside_camp_icon_hover_url, null, null, null, size);
            riverside_camp_marker_budget.setIcon(riverside_camp_marker_budget_normalmarker);
        }
    }
    else{
        riverside_camp_marker_budget_normalmarker = new google.maps.MarkerImage(riverside_camp_icon_url, null, null, null, size);
        riverside_camp_marker_budget_hovermarker = new google.maps.MarkerImage(riverside_camp_icon_hover_url, null, null, null, size);
        riverside_camp_marker_budget.setIcon(riverside_camp_marker_budget_normalmarker);
    }

    riverside_camp_ib.open(map, riverside_camp_marker_budget);
    user_checked.push(riverside_camp_marker_budget);
    budget_markers.push(riverside_camp_marker_budget);
    all_accommodations_markers.push(riverside_camp_marker_budget);

    riverside_camp_ib.open(map, riverside_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/riverside-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/facility02_png_80x80_q85.jpg" alt="" width="80" height="40" />';
        

        var riverside_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Riverside camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ERiverside camp is situated in Olare Orok Conservancy right on the banks of the Talek River and next to the Maasai Mara ‘Talek Gate’ and is ideally placed for self ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var riverside_camp_iw = new google.maps.InfoWindow({content: riverside_camp_iw_content});
        infowindows.push(riverside_camp_iw);


    google.maps.event.addListener(riverside_camp_marker_budget, 'click', function() { closeAll(); riverside_camp_iw.open(map,riverside_camp_marker_budget); });
    //~ google.maps.event.addListener(riverside_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(riverside_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        riverside_camp_marker_budget.setIcon(riverside_camp_marker_budget_hovermarker);
        riverside_camp_ib.show();
    });
    google.maps.event.addListener(riverside_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        riverside_camp_marker_budget.setIcon(riverside_camp_marker_budget_normalmarker);
        riverside_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.142674, 35.096855);
    

    

    var royal_mara_safari_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Royal Mara Safari Lodge").width((23*12*0.7).toString()+"px");
    console.log("Cloned infobox div for royal_mara_safari_lodge. Width is",c.width());
    var royal_mara_safari_lodge_ib_content = c.get(0);
    royal_mara_safari_lodge_ib.setContent(royal_mara_safari_lodge_ib_content);
    royal_mara_safari_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(23*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var royal_mara_safari_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_bronze.png";
    var royal_mara_safari_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var royal_mara_safari_lodge_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Royal Mara Safari Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+royal_mara_safari_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            royal_mara_safari_lodge_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+royal_mara_safari_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            royal_mara_safari_lodge_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+royal_mara_safari_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            royal_mara_safari_lodge_marker_deluxe.setIcon(royal_mara_safari_lodge_marker_deluxe_normalmarker);
        }
        else{
            royal_mara_safari_lodge_marker_deluxe_normalmarker = new google.maps.MarkerImage(royal_mara_safari_lodge_icon_url, null, null, null, size);
            royal_mara_safari_lodge_marker_deluxe_hovermarker = new google.maps.MarkerImage(royal_mara_safari_lodge_icon_hover_url, null, null, null, size);
            royal_mara_safari_lodge_marker_deluxe.setIcon(royal_mara_safari_lodge_marker_deluxe_normalmarker);
        }
    }
    else{
        royal_mara_safari_lodge_marker_deluxe_normalmarker = new google.maps.MarkerImage(royal_mara_safari_lodge_icon_url, null, null, null, size);
        royal_mara_safari_lodge_marker_deluxe_hovermarker = new google.maps.MarkerImage(royal_mara_safari_lodge_icon_hover_url, null, null, null, size);
        royal_mara_safari_lodge_marker_deluxe.setIcon(royal_mara_safari_lodge_marker_deluxe_normalmarker);
    }

    royal_mara_safari_lodge_ib.open(map, royal_mara_safari_lodge_marker_deluxe);
    user_checked.push(royal_mara_safari_lodge_marker_deluxe);
    deluxe_markers.push(royal_mara_safari_lodge_marker_deluxe);
    all_accommodations_markers.push(royal_mara_safari_lodge_marker_deluxe);

    royal_mara_safari_lodge_ib.open(map, royal_mara_safari_lodge_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/royal-mara-safari-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Royal_Mara_Lodge_5_jpg_80x80_q85.jpg" alt="" width="80" height="49" />';
        

        var royal_mara_safari_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Royal Mara Safari Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EThe Royal Mara Safari Lodge is located within the Maasai Mara ecosystem in Kenya directly at the bank of the Mara River. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EGiven the position of the Royal Mara Safari ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var royal_mara_safari_lodge_iw = new google.maps.InfoWindow({content: royal_mara_safari_lodge_iw_content});
        infowindows.push(royal_mara_safari_lodge_iw);


    google.maps.event.addListener(royal_mara_safari_lodge_marker_deluxe, 'click', function() { closeAll(); royal_mara_safari_lodge_iw.open(map,royal_mara_safari_lodge_marker_deluxe); });
    //~ google.maps.event.addListener(royal_mara_safari_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(royal_mara_safari_lodge_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        royal_mara_safari_lodge_marker_deluxe.setIcon(royal_mara_safari_lodge_marker_deluxe_hovermarker);
        royal_mara_safari_lodge_ib.show();
    });
    google.maps.event.addListener(royal_mara_safari_lodge_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        royal_mara_safari_lodge_marker_deluxe.setIcon(royal_mara_safari_lodge_marker_deluxe_normalmarker);
        royal_mara_safari_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.528978, 35.318642);
    

    

    var sarova_mara_game_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sarova Mara Game Camp").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for sarova_mara_game_camp. Width is",c.width());
    var sarova_mara_game_camp_ib_content = c.get(0);
    sarova_mara_game_camp_ib.setContent(sarova_mara_game_camp_ib_content);
    sarova_mara_game_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var sarova_mara_game_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var sarova_mara_game_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var sarova_mara_game_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sarova Mara Game Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+sarova_mara_game_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            sarova_mara_game_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sarova_mara_game_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sarova_mara_game_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sarova_mara_game_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sarova_mara_game_camp_marker_mid_range.setIcon(sarova_mara_game_camp_marker_mid_range_normalmarker);
        }
        else{
            sarova_mara_game_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(sarova_mara_game_camp_icon_url, null, null, null, size);
            sarova_mara_game_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(sarova_mara_game_camp_icon_hover_url, null, null, null, size);
            sarova_mara_game_camp_marker_mid_range.setIcon(sarova_mara_game_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        sarova_mara_game_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(sarova_mara_game_camp_icon_url, null, null, null, size);
        sarova_mara_game_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(sarova_mara_game_camp_icon_hover_url, null, null, null, size);
        sarova_mara_game_camp_marker_mid_range.setIcon(sarova_mara_game_camp_marker_mid_range_normalmarker);
    }

    sarova_mara_game_camp_ib.open(map, sarova_mara_game_camp_marker_mid_range);
    user_checked.push(sarova_mara_game_camp_marker_mid_range);
    mid_range_markers.push(sarova_mara_game_camp_marker_mid_range);
    all_accommodations_markers.push(sarova_mara_game_camp_marker_mid_range);

    sarova_mara_game_camp_ib.open(map, sarova_mara_game_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/sarova-mara-game-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Sarova_Camp_-_masai_mara_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var sarova_mara_game_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sarova Mara Game Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESarova Mara Game Camp is centrally located 260 km South West of Nairobi, in the heart of the world famous Maasai Mara National Reserve.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003ESarova Mara Game Camp offers front ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var sarova_mara_game_camp_iw = new google.maps.InfoWindow({content: sarova_mara_game_camp_iw_content});
        infowindows.push(sarova_mara_game_camp_iw);


    google.maps.event.addListener(sarova_mara_game_camp_marker_mid_range, 'click', function() { closeAll(); sarova_mara_game_camp_iw.open(map,sarova_mara_game_camp_marker_mid_range); });
    //~ google.maps.event.addListener(sarova_mara_game_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(sarova_mara_game_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        sarova_mara_game_camp_marker_mid_range.setIcon(sarova_mara_game_camp_marker_mid_range_hovermarker);
        sarova_mara_game_camp_ib.show();
    });
    google.maps.event.addListener(sarova_mara_game_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        sarova_mara_game_camp_marker_mid_range.setIcon(sarova_mara_game_camp_marker_mid_range_normalmarker);
        sarova_mara_game_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.159322, 35.299158);
    

    

    var saruni_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Saruni ").width((7*12*0.7).toString()+"px");
    console.log("Cloned infobox div for saruni. Width is",c.width());
    var saruni_ib_content = c.get(0);
    saruni_ib.setContent(saruni_ib_content);
    saruni_ib.setOptions({pixelOffset: new google.maps.Size(-(7*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var saruni_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var saruni_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var saruni_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Saruni Mara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+saruni_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            saruni_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+saruni_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            saruni_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+saruni_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            saruni_marker_luxury.setIcon(saruni_marker_luxury_normalmarker);
        }
        else{
            saruni_marker_luxury_normalmarker = new google.maps.MarkerImage(saruni_icon_url, null, null, null, size);
            saruni_marker_luxury_hovermarker = new google.maps.MarkerImage(saruni_icon_hover_url, null, null, null, size);
            saruni_marker_luxury.setIcon(saruni_marker_luxury_normalmarker);
        }
    }
    else{
        saruni_marker_luxury_normalmarker = new google.maps.MarkerImage(saruni_icon_url, null, null, null, size);
        saruni_marker_luxury_hovermarker = new google.maps.MarkerImage(saruni_icon_hover_url, null, null, null, size);
        saruni_marker_luxury.setIcon(saruni_marker_luxury_normalmarker);
    }

    saruni_ib.open(map, saruni_marker_luxury);
    user_checked.push(saruni_marker_luxury);
    luxury_markers.push(saruni_marker_luxury);
    all_accommodations_markers.push(saruni_marker_luxury);

    saruni_ib.open(map, saruni_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/saruni" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Maasai_Mara_-_Saruni_Camp_1_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var saruni_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Saruni </h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESaruni is a deluxe and intimate lodge set in a private conservation area outside the Maasai Mara National Reserve.\u003Cbr /\u003ESaruni offers a new concept of safari: a real African adventure ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var saruni_iw = new google.maps.InfoWindow({content: saruni_iw_content});
        infowindows.push(saruni_iw);


    google.maps.event.addListener(saruni_marker_luxury, 'click', function() { closeAll(); saruni_iw.open(map,saruni_marker_luxury); });
    //~ google.maps.event.addListener(saruni_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(saruni_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        saruni_marker_luxury.setIcon(saruni_marker_luxury_hovermarker);
        saruni_ib.show();
    });
    google.maps.event.addListener(saruni_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        saruni_marker_luxury.setIcon(saruni_marker_luxury_normalmarker);
        saruni_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.548884, 35.373917);
    

    

    var sekenani_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sekenani Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for sekenani_camp. Width is",c.width());
    var sekenani_camp_ib_content = c.get(0);
    sekenani_camp_ib.setContent(sekenani_camp_ib_content);
    sekenani_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var sekenani_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var sekenani_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var sekenani_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sekenani Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+sekenani_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            sekenani_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sekenani_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sekenani_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sekenani_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sekenani_camp_marker_mid_range.setIcon(sekenani_camp_marker_mid_range_normalmarker);
        }
        else{
            sekenani_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(sekenani_camp_icon_url, null, null, null, size);
            sekenani_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(sekenani_camp_icon_hover_url, null, null, null, size);
            sekenani_camp_marker_mid_range.setIcon(sekenani_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        sekenani_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(sekenani_camp_icon_url, null, null, null, size);
        sekenani_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(sekenani_camp_icon_hover_url, null, null, null, size);
        sekenani_camp_marker_mid_range.setIcon(sekenani_camp_marker_mid_range_normalmarker);
    }

    sekenani_camp_ib.open(map, sekenani_camp_marker_mid_range);
    user_checked.push(sekenani_camp_marker_mid_range);
    mid_range_markers.push(sekenani_camp_marker_mid_range);
    all_accommodations_markers.push(sekenani_camp_marker_mid_range);

    sekenani_camp_ib.open(map, sekenani_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/sekenani-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Sekenani20Camp201_1_jpg_80x80_q85.jpg" alt="" width="80" height="49" />';
        

        var sekenani_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sekenani Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESekenani Camp is situated in the Maasai Mara Game Reserve, the very heart of the big game country in southern Kenya. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003ESekenani Camp is known for its magnificent setting, excellent ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var sekenani_camp_iw = new google.maps.InfoWindow({content: sekenani_camp_iw_content});
        infowindows.push(sekenani_camp_iw);


    google.maps.event.addListener(sekenani_camp_marker_mid_range, 'click', function() { closeAll(); sekenani_camp_iw.open(map,sekenani_camp_marker_mid_range); });
    //~ google.maps.event.addListener(sekenani_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(sekenani_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        sekenani_camp_marker_mid_range.setIcon(sekenani_camp_marker_mid_range_hovermarker);
        sekenani_camp_ib.show();
    });
    google.maps.event.addListener(sekenani_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        sekenani_camp_marker_mid_range.setIcon(sekenani_camp_marker_mid_range_normalmarker);
        sekenani_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.356728, 35.186419);
    

    

    var topi_house_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Topi House").width((10*12*0.7).toString()+"px");
    console.log("Cloned infobox div for topi_house. Width is",c.width());
    var topi_house_ib_content = c.get(0);
    topi_house_ib.setContent(topi_house_ib_content);
    topi_house_ib.setOptions({pixelOffset: new google.maps.Size(-(10*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var topi_house_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var topi_house_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var topi_house_marker_private_cottages = new google.maps.Marker({
        position: l,
        map: map,
        title: "Topi House"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+topi_house_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            topi_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+topi_house_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            topi_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+topi_house_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            topi_house_marker_private_cottages.setIcon(topi_house_marker_private_cottages_normalmarker);
        }
        else{
            topi_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(topi_house_icon_url, null, null, null, size);
            topi_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(topi_house_icon_hover_url, null, null, null, size);
            topi_house_marker_private_cottages.setIcon(topi_house_marker_private_cottages_normalmarker);
        }
    }
    else{
        topi_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(topi_house_icon_url, null, null, null, size);
        topi_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(topi_house_icon_hover_url, null, null, null, size);
        topi_house_marker_private_cottages.setIcon(topi_house_marker_private_cottages_normalmarker);
    }

    topi_house_ib.open(map, topi_house_marker_private_cottages);
    user_checked.push(topi_house_marker_private_cottages);
    private_cottages_markers.push(topi_house_marker_private_cottages);
    all_accommodations_markers.push(topi_house_marker_private_cottages);

    topi_house_ib.open(map, topi_house_marker_private_cottages);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/topi-house" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/633_Topi_Simon_Urwin-2_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var topi_house_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Topi House</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ETopi House is located within the 23,000 acre Olare Orok Conservancy, bordering the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var topi_house_iw = new google.maps.InfoWindow({content: topi_house_iw_content});
        infowindows.push(topi_house_iw);


    google.maps.event.addListener(topi_house_marker_private_cottages, 'click', function() { closeAll(); topi_house_iw.open(map,topi_house_marker_private_cottages); });
    //~ google.maps.event.addListener(topi_house_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(topi_house_marker_private_cottages, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        topi_house_marker_private_cottages.setIcon(topi_house_marker_private_cottages_hovermarker);
        topi_house_ib.show();
    });
    google.maps.event.addListener(topi_house_marker_private_cottages, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        topi_house_marker_private_cottages.setIcon(topi_house_marker_private_cottages_normalmarker);
        topi_house_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.258447, 34.997688);
    

    

    var oloololo_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Oloololo Gate").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for oloololo_gate. Width is",c.width());
    var oloololo_gate_ib_content = c.get(0);
    oloololo_gate_ib.setContent(oloololo_gate_ib_content);
    oloololo_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var oloololo_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var oloololo_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var oloololo_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Oloololo Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+oloololo_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            oloololo_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+oloololo_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            oloololo_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+oloololo_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            oloololo_gate_marker_gate.setIcon(oloololo_gate_marker_gate_normalmarker);
        }
        else{
            oloololo_gate_marker_gate_normalmarker = new google.maps.MarkerImage(oloololo_gate_icon_url, null, null, null, size);
            oloololo_gate_marker_gate_hovermarker = new google.maps.MarkerImage(oloololo_gate_icon_hover_url, null, null, null, size);
            oloololo_gate_marker_gate.setIcon(oloololo_gate_marker_gate_normalmarker);
        }
    }
    else{
        oloololo_gate_marker_gate_normalmarker = new google.maps.MarkerImage(oloololo_gate_icon_url, null, null, null, size);
        oloololo_gate_marker_gate_hovermarker = new google.maps.MarkerImage(oloololo_gate_icon_hover_url, null, null, null, size);
        oloololo_gate_marker_gate.setIcon(oloololo_gate_marker_gate_normalmarker);
    }

    oloololo_gate_ib.open(map, oloololo_gate_marker_gate);
    user_checked.push(oloololo_gate_marker_gate);
    gate_markers.push(oloololo_gate_marker_gate);
    all_amenities_markers.push(oloololo_gate_marker_gate);

    oloololo_gate_ib.open(map, oloololo_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var oloololo_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Oloololo Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var oloololo_gate_iw = new google.maps.InfoWindow({content: oloololo_gate_iw_content});
        infowindows.push(oloololo_gate_iw);


    google.maps.event.addListener(oloololo_gate_marker_gate, 'click', function() { closeAll(); oloololo_gate_iw.open(map,oloololo_gate_marker_gate); });
    //~ google.maps.event.addListener(oloololo_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(oloololo_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        oloololo_gate_marker_gate.setIcon(oloololo_gate_marker_gate_hovermarker);
        oloololo_gate_ib.show();
    });
    google.maps.event.addListener(oloololo_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        oloololo_gate_marker_gate.setIcon(oloololo_gate_marker_gate_normalmarker);
        oloololo_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.272191, 35.066516);
    

    

    var musiara_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Musiara Gate").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for musiara_gate. Width is",c.width());
    var musiara_gate_ib_content = c.get(0);
    musiara_gate_ib.setContent(musiara_gate_ib_content);
    musiara_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var musiara_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var musiara_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var musiara_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Musiara Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+musiara_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            musiara_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+musiara_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            musiara_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+musiara_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            musiara_gate_marker_gate.setIcon(musiara_gate_marker_gate_normalmarker);
        }
        else{
            musiara_gate_marker_gate_normalmarker = new google.maps.MarkerImage(musiara_gate_icon_url, null, null, null, size);
            musiara_gate_marker_gate_hovermarker = new google.maps.MarkerImage(musiara_gate_icon_hover_url, null, null, null, size);
            musiara_gate_marker_gate.setIcon(musiara_gate_marker_gate_normalmarker);
        }
    }
    else{
        musiara_gate_marker_gate_normalmarker = new google.maps.MarkerImage(musiara_gate_icon_url, null, null, null, size);
        musiara_gate_marker_gate_hovermarker = new google.maps.MarkerImage(musiara_gate_icon_hover_url, null, null, null, size);
        musiara_gate_marker_gate.setIcon(musiara_gate_marker_gate_normalmarker);
    }

    musiara_gate_ib.open(map, musiara_gate_marker_gate);
    user_checked.push(musiara_gate_marker_gate);
    gate_markers.push(musiara_gate_marker_gate);
    all_amenities_markers.push(musiara_gate_marker_gate);

    musiara_gate_ib.open(map, musiara_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var musiara_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Musiara Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var musiara_gate_iw = new google.maps.InfoWindow({content: musiara_gate_iw_content});
        infowindows.push(musiara_gate_iw);


    google.maps.event.addListener(musiara_gate_marker_gate, 'click', function() { closeAll(); musiara_gate_iw.open(map,musiara_gate_marker_gate); });
    //~ google.maps.event.addListener(musiara_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(musiara_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        musiara_gate_marker_gate.setIcon(musiara_gate_marker_gate_hovermarker);
        musiara_gate_ib.show();
    });
    google.maps.event.addListener(musiara_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        musiara_gate_marker_gate.setIcon(musiara_gate_marker_gate_normalmarker);
        musiara_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.443287, 35.207373);
    

    

    var talek_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Talek Gate").width((10*12*0.7).toString()+"px");
    console.log("Cloned infobox div for talek_gate. Width is",c.width());
    var talek_gate_ib_content = c.get(0);
    talek_gate_ib.setContent(talek_gate_ib_content);
    talek_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(10*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var talek_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var talek_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var talek_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Talek Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+talek_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            talek_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+talek_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            talek_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+talek_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            talek_gate_marker_gate.setIcon(talek_gate_marker_gate_normalmarker);
        }
        else{
            talek_gate_marker_gate_normalmarker = new google.maps.MarkerImage(talek_gate_icon_url, null, null, null, size);
            talek_gate_marker_gate_hovermarker = new google.maps.MarkerImage(talek_gate_icon_hover_url, null, null, null, size);
            talek_gate_marker_gate.setIcon(talek_gate_marker_gate_normalmarker);
        }
    }
    else{
        talek_gate_marker_gate_normalmarker = new google.maps.MarkerImage(talek_gate_icon_url, null, null, null, size);
        talek_gate_marker_gate_hovermarker = new google.maps.MarkerImage(talek_gate_icon_hover_url, null, null, null, size);
        talek_gate_marker_gate.setIcon(talek_gate_marker_gate_normalmarker);
    }

    talek_gate_ib.open(map, talek_gate_marker_gate);
    user_checked.push(talek_gate_marker_gate);
    gate_markers.push(talek_gate_marker_gate);
    all_amenities_markers.push(talek_gate_marker_gate);

    talek_gate_ib.open(map, talek_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var talek_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Talek Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var talek_gate_iw = new google.maps.InfoWindow({content: talek_gate_iw_content});
        infowindows.push(talek_gate_iw);


    google.maps.event.addListener(talek_gate_marker_gate, 'click', function() { closeAll(); talek_gate_iw.open(map,talek_gate_marker_gate); });
    //~ google.maps.event.addListener(talek_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(talek_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        talek_gate_marker_gate.setIcon(talek_gate_marker_gate_hovermarker);
        talek_gate_ib.show();
    });
    google.maps.event.addListener(talek_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        talek_gate_marker_gate.setIcon(talek_gate_marker_gate_normalmarker);
        talek_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.521688, 35.336819);
    

    

    var sekenani_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sekenani Gate").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for sekenani_gate. Width is",c.width());
    var sekenani_gate_ib_content = c.get(0);
    sekenani_gate_ib.setContent(sekenani_gate_ib_content);
    sekenani_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var sekenani_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var sekenani_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var sekenani_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sekenani Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+sekenani_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            sekenani_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sekenani_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sekenani_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sekenani_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sekenani_gate_marker_gate.setIcon(sekenani_gate_marker_gate_normalmarker);
        }
        else{
            sekenani_gate_marker_gate_normalmarker = new google.maps.MarkerImage(sekenani_gate_icon_url, null, null, null, size);
            sekenani_gate_marker_gate_hovermarker = new google.maps.MarkerImage(sekenani_gate_icon_hover_url, null, null, null, size);
            sekenani_gate_marker_gate.setIcon(sekenani_gate_marker_gate_normalmarker);
        }
    }
    else{
        sekenani_gate_marker_gate_normalmarker = new google.maps.MarkerImage(sekenani_gate_icon_url, null, null, null, size);
        sekenani_gate_marker_gate_hovermarker = new google.maps.MarkerImage(sekenani_gate_icon_hover_url, null, null, null, size);
        sekenani_gate_marker_gate.setIcon(sekenani_gate_marker_gate_normalmarker);
    }

    sekenani_gate_ib.open(map, sekenani_gate_marker_gate);
    user_checked.push(sekenani_gate_marker_gate);
    gate_markers.push(sekenani_gate_marker_gate);
    all_amenities_markers.push(sekenani_gate_marker_gate);

    sekenani_gate_ib.open(map, sekenani_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var sekenani_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sekenani Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var sekenani_gate_iw = new google.maps.InfoWindow({content: sekenani_gate_iw_content});
        infowindows.push(sekenani_gate_iw);


    google.maps.event.addListener(sekenani_gate_marker_gate, 'click', function() { closeAll(); sekenani_gate_iw.open(map,sekenani_gate_marker_gate); });
    //~ google.maps.event.addListener(sekenani_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(sekenani_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        sekenani_gate_marker_gate.setIcon(sekenani_gate_marker_gate_hovermarker);
        sekenani_gate_ib.show();
    });
    google.maps.event.addListener(sekenani_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        sekenani_gate_marker_gate.setIcon(sekenani_gate_marker_gate_normalmarker);
        sekenani_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.652996, 35.216055);
    

    

    var sand_river_gate_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sand River Gate").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for sand_river_gate. Width is",c.width());
    var sand_river_gate_ib_content = c.get(0);
    sand_river_gate_ib.setContent(sand_river_gate_ib_content);
    sand_river_gate_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var sand_river_gate_icon_url = "/static/uploads/gmap_icons/Gate.png";
    var sand_river_gate_icon_hover_url = "/static/uploads/gmap_icons/Gate_-_hover.png";
    var sand_river_gate_marker_gate = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sand River Gate"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+sand_river_gate_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            sand_river_gate_marker_gate_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sand_river_gate_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sand_river_gate_marker_gate_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sand_river_gate_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sand_river_gate_marker_gate.setIcon(sand_river_gate_marker_gate_normalmarker);
        }
        else{
            sand_river_gate_marker_gate_normalmarker = new google.maps.MarkerImage(sand_river_gate_icon_url, null, null, null, size);
            sand_river_gate_marker_gate_hovermarker = new google.maps.MarkerImage(sand_river_gate_icon_hover_url, null, null, null, size);
            sand_river_gate_marker_gate.setIcon(sand_river_gate_marker_gate_normalmarker);
        }
    }
    else{
        sand_river_gate_marker_gate_normalmarker = new google.maps.MarkerImage(sand_river_gate_icon_url, null, null, null, size);
        sand_river_gate_marker_gate_hovermarker = new google.maps.MarkerImage(sand_river_gate_icon_hover_url, null, null, null, size);
        sand_river_gate_marker_gate.setIcon(sand_river_gate_marker_gate_normalmarker);
    }

    sand_river_gate_ib.open(map, sand_river_gate_marker_gate);
    user_checked.push(sand_river_gate_marker_gate);
    gate_markers.push(sand_river_gate_marker_gate);
    all_amenities_markers.push(sand_river_gate_marker_gate);

    sand_river_gate_ib.open(map, sand_river_gate_marker_gate);

    
        var image = "";
        var read_more = '';

        

        var sand_river_gate_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sand River Gate</h3>'+
            '<hr/>' +
            image +
            '' +
            read_more +
        '</div>';

        var sand_river_gate_iw = new google.maps.InfoWindow({content: sand_river_gate_iw_content});
        infowindows.push(sand_river_gate_iw);


    google.maps.event.addListener(sand_river_gate_marker_gate, 'click', function() { closeAll(); sand_river_gate_iw.open(map,sand_river_gate_marker_gate); });
    //~ google.maps.event.addListener(sand_river_gate_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(sand_river_gate_marker_gate, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        sand_river_gate_marker_gate.setIcon(sand_river_gate_marker_gate_hovermarker);
        sand_river_gate_ib.show();
    });
    google.maps.event.addListener(sand_river_gate_marker_gate, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        sand_river_gate_marker_gate.setIcon(sand_river_gate_marker_gate_normalmarker);
        sand_river_gate_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.118303, 35.159426);
    

    

    var enkerende_tented_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Enkerende Tented Camp").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for enkerende_tented_camp. Width is",c.width());
    var enkerende_tented_camp_ib_content = c.get(0);
    enkerende_tented_camp_ib.setContent(enkerende_tented_camp_ib_content);
    enkerende_tented_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var enkerende_tented_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var enkerende_tented_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_1.png";
    var enkerende_tented_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Enkerende Tented Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+enkerende_tented_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            enkerende_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+enkerende_tented_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            enkerende_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+enkerende_tented_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            enkerende_tented_camp_marker_mid_range.setIcon(enkerende_tented_camp_marker_mid_range_normalmarker);
        }
        else{
            enkerende_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(enkerende_tented_camp_icon_url, null, null, null, size);
            enkerende_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(enkerende_tented_camp_icon_hover_url, null, null, null, size);
            enkerende_tented_camp_marker_mid_range.setIcon(enkerende_tented_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        enkerende_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(enkerende_tented_camp_icon_url, null, null, null, size);
        enkerende_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(enkerende_tented_camp_icon_hover_url, null, null, null, size);
        enkerende_tented_camp_marker_mid_range.setIcon(enkerende_tented_camp_marker_mid_range_normalmarker);
    }

    enkerende_tented_camp_ib.open(map, enkerende_tented_camp_marker_mid_range);
    user_checked.push(enkerende_tented_camp_marker_mid_range);
    mid_range_markers.push(enkerende_tented_camp_marker_mid_range);
    all_accommodations_markers.push(enkerende_tented_camp_marker_mid_range);

    enkerende_tented_camp_ib.open(map, enkerende_tented_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/enkerende-tented-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Enkerende_TC_-_Bush_Tent_7_JPG_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var enkerende_tented_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Enkerende Tented Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EEnkerende Tented Camp is an intimate and exclusive camp, located on Ol Choro Oirowua, one of the most privileged areas in the Maasai Mara ecosystem along the Mara river where ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var enkerende_tented_camp_iw = new google.maps.InfoWindow({content: enkerende_tented_camp_iw_content});
        infowindows.push(enkerende_tented_camp_iw);


    google.maps.event.addListener(enkerende_tented_camp_marker_mid_range, 'click', function() { closeAll(); enkerende_tented_camp_iw.open(map,enkerende_tented_camp_marker_mid_range); });
    //~ google.maps.event.addListener(enkerende_tented_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(enkerende_tented_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        enkerende_tented_camp_marker_mid_range.setIcon(enkerende_tented_camp_marker_mid_range_hovermarker);
        enkerende_tented_camp_ib.show();
    });
    google.maps.event.addListener(enkerende_tented_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        enkerende_tented_camp_marker_mid_range.setIcon(enkerende_tented_camp_marker_mid_range_normalmarker);
        enkerende_tented_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.544765, 35.400696);
    

    

    var siana_springs_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Siana Springs Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for siana_springs_camp. Width is",c.width());
    var siana_springs_camp_ib_content = c.get(0);
    siana_springs_camp_ib.setContent(siana_springs_camp_ib_content);
    siana_springs_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var siana_springs_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var siana_springs_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var siana_springs_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Siana Springs Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+siana_springs_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            siana_springs_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+siana_springs_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            siana_springs_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+siana_springs_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            siana_springs_camp_marker_mid_range.setIcon(siana_springs_camp_marker_mid_range_normalmarker);
        }
        else{
            siana_springs_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(siana_springs_camp_icon_url, null, null, null, size);
            siana_springs_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(siana_springs_camp_icon_hover_url, null, null, null, size);
            siana_springs_camp_marker_mid_range.setIcon(siana_springs_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        siana_springs_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(siana_springs_camp_icon_url, null, null, null, size);
        siana_springs_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(siana_springs_camp_icon_hover_url, null, null, null, size);
        siana_springs_camp_marker_mid_range.setIcon(siana_springs_camp_marker_mid_range_normalmarker);
    }

    siana_springs_camp_ib.open(map, siana_springs_camp_marker_mid_range);
    user_checked.push(siana_springs_camp_marker_mid_range);
    mid_range_markers.push(siana_springs_camp_marker_mid_range);
    all_accommodations_markers.push(siana_springs_camp_marker_mid_range);

    siana_springs_camp_ib.open(map, siana_springs_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/siana-springs-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/sianasprings10_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var siana_springs_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Siana Springs Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESiana Springs Camp borders the southern side of the famous Maasai Mara and Serengeti National Park.The camp\u0026#8217\u003Bs location in the heart of the Siana Group Ranch offers guests ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var siana_springs_camp_iw = new google.maps.InfoWindow({content: siana_springs_camp_iw_content});
        infowindows.push(siana_springs_camp_iw);


    google.maps.event.addListener(siana_springs_camp_marker_mid_range, 'click', function() { closeAll(); siana_springs_camp_iw.open(map,siana_springs_camp_marker_mid_range); });
    //~ google.maps.event.addListener(siana_springs_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(siana_springs_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        siana_springs_camp_marker_mid_range.setIcon(siana_springs_camp_marker_mid_range_hovermarker);
        siana_springs_camp_ib.show();
    });
    google.maps.event.addListener(siana_springs_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        siana_springs_camp_marker_mid_range.setIcon(siana_springs_camp_marker_mid_range_normalmarker);
        siana_springs_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.285293, 35.143204);
    

    

    var olumara_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olumara Camp").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olumara_camp. Width is",c.width());
    var olumara_camp_ib_content = c.get(0);
    olumara_camp_ib.setContent(olumara_camp_ib_content);
    olumara_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var olumara_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var olumara_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var olumara_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Olumara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+olumara_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            olumara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olumara_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olumara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olumara_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olumara_camp_marker_mid_range.setIcon(olumara_camp_marker_mid_range_normalmarker);
        }
        else{
            olumara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(olumara_camp_icon_url, null, null, null, size);
            olumara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(olumara_camp_icon_hover_url, null, null, null, size);
            olumara_camp_marker_mid_range.setIcon(olumara_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        olumara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(olumara_camp_icon_url, null, null, null, size);
        olumara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(olumara_camp_icon_hover_url, null, null, null, size);
        olumara_camp_marker_mid_range.setIcon(olumara_camp_marker_mid_range_normalmarker);
    }

    olumara_camp_ib.open(map, olumara_camp_marker_mid_range);
    user_checked.push(olumara_camp_marker_mid_range);
    mid_range_markers.push(olumara_camp_marker_mid_range);
    all_accommodations_markers.push(olumara_camp_marker_mid_range);

    olumara_camp_ib.open(map, olumara_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/olumara-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/bornfire_jpg_80x80_q85.jpg" alt="" width="80" height="51" />';
        

        var olumara_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Olumara Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOlumara Camp is spectacularly set along the Maasai Mara Koiyaki Lemek conservation camp, which is a vast unexplored area.The camp was specifically designed to blend with its natural surroundings ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var olumara_camp_iw = new google.maps.InfoWindow({content: olumara_camp_iw_content});
        infowindows.push(olumara_camp_iw);


    google.maps.event.addListener(olumara_camp_marker_mid_range, 'click', function() { closeAll(); olumara_camp_iw.open(map,olumara_camp_marker_mid_range); });
    //~ google.maps.event.addListener(olumara_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(olumara_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        olumara_camp_marker_mid_range.setIcon(olumara_camp_marker_mid_range_hovermarker);
        olumara_camp_ib.show();
    });
    google.maps.event.addListener(olumara_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        olumara_camp_marker_mid_range.setIcon(olumara_camp_marker_mid_range_normalmarker);
        olumara_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.237239, 35.018921);
    

    

    var olkurruk_mara_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olkurruk Mara Lodge").width((19*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olkurruk_mara_lodge. Width is",c.width());
    var olkurruk_mara_lodge_ib_content = c.get(0);
    olkurruk_mara_lodge_ib.setContent(olkurruk_mara_lodge_ib_content);
    olkurruk_mara_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(19*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var olkurruk_mara_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var olkurruk_mara_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var olkurruk_mara_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Olkurruk Mara Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+olkurruk_mara_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            olkurruk_mara_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olkurruk_mara_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olkurruk_mara_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olkurruk_mara_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olkurruk_mara_lodge_marker_mid_range.setIcon(olkurruk_mara_lodge_marker_mid_range_normalmarker);
        }
        else{
            olkurruk_mara_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(olkurruk_mara_lodge_icon_url, null, null, null, size);
            olkurruk_mara_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(olkurruk_mara_lodge_icon_hover_url, null, null, null, size);
            olkurruk_mara_lodge_marker_mid_range.setIcon(olkurruk_mara_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        olkurruk_mara_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(olkurruk_mara_lodge_icon_url, null, null, null, size);
        olkurruk_mara_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(olkurruk_mara_lodge_icon_hover_url, null, null, null, size);
        olkurruk_mara_lodge_marker_mid_range.setIcon(olkurruk_mara_lodge_marker_mid_range_normalmarker);
    }

    olkurruk_mara_lodge_ib.open(map, olkurruk_mara_lodge_marker_mid_range);
    user_checked.push(olkurruk_mara_lodge_marker_mid_range);
    mid_range_markers.push(olkurruk_mara_lodge_marker_mid_range);
    all_accommodations_markers.push(olkurruk_mara_lodge_marker_mid_range);

    olkurruk_mara_lodge_ib.open(map, olkurruk_mara_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/olkurruk-mara-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="" alt="" width="" height="" />';
        

        var olkurruk_mara_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Olkurruk Mara Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOlkurruk Lodge is set on the top of the Oloololo Escarpment at an altitude of 1,900m just outside the western boundary of the Maasai Mara National Reserve. The site ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var olkurruk_mara_lodge_iw = new google.maps.InfoWindow({content: olkurruk_mara_lodge_iw_content});
        infowindows.push(olkurruk_mara_lodge_iw);


    google.maps.event.addListener(olkurruk_mara_lodge_marker_mid_range, 'click', function() { closeAll(); olkurruk_mara_lodge_iw.open(map,olkurruk_mara_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(olkurruk_mara_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(olkurruk_mara_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        olkurruk_mara_lodge_marker_mid_range.setIcon(olkurruk_mara_lodge_marker_mid_range_hovermarker);
        olkurruk_mara_lodge_ib.show();
    });
    google.maps.event.addListener(olkurruk_mara_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        olkurruk_mara_lodge_marker_mid_range.setIcon(olkurruk_mara_lodge_marker_mid_range_normalmarker);
        olkurruk_mara_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.156705, 35.08795);
    

    

    var exploreans_mara_rianta_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Exploreans Mara Rianta Camp").width((27*12*0.7).toString()+"px");
    console.log("Cloned infobox div for exploreans_mara_rianta_camp. Width is",c.width());
    var exploreans_mara_rianta_camp_ib_content = c.get(0);
    exploreans_mara_rianta_camp_ib.setContent(exploreans_mara_rianta_camp_ib_content);
    exploreans_mara_rianta_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(27*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var exploreans_mara_rianta_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var exploreans_mara_rianta_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var exploreans_mara_rianta_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Exploreans Mara Rianta Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+exploreans_mara_rianta_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            exploreans_mara_rianta_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+exploreans_mara_rianta_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            exploreans_mara_rianta_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+exploreans_mara_rianta_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            exploreans_mara_rianta_camp_marker_luxury.setIcon(exploreans_mara_rianta_camp_marker_luxury_normalmarker);
        }
        else{
            exploreans_mara_rianta_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(exploreans_mara_rianta_camp_icon_url, null, null, null, size);
            exploreans_mara_rianta_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(exploreans_mara_rianta_camp_icon_hover_url, null, null, null, size);
            exploreans_mara_rianta_camp_marker_luxury.setIcon(exploreans_mara_rianta_camp_marker_luxury_normalmarker);
        }
    }
    else{
        exploreans_mara_rianta_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(exploreans_mara_rianta_camp_icon_url, null, null, null, size);
        exploreans_mara_rianta_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(exploreans_mara_rianta_camp_icon_hover_url, null, null, null, size);
        exploreans_mara_rianta_camp_marker_luxury.setIcon(exploreans_mara_rianta_camp_marker_luxury_normalmarker);
    }

    exploreans_mara_rianta_camp_ib.open(map, exploreans_mara_rianta_camp_marker_luxury);
    user_checked.push(exploreans_mara_rianta_camp_marker_luxury);
    luxury_markers.push(exploreans_mara_rianta_camp_marker_luxury);
    all_accommodations_markers.push(exploreans_mara_rianta_camp_marker_luxury);

    exploreans_mara_rianta_camp_ib.open(map, exploreans_mara_rianta_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/exploreans-mara-rianta-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/masai_mara_maasai_mara_mara_rianta_explorean_2_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var exploreans_mara_rianta_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Exploreans Mara Rianta Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EExploreans Mara Rianta Luxury Camp, nestled in the heart of the North Conservation\u003Cbr /\u003EMasai Mara Reserve just a few minutes’ drive from several airstrips which are serviced with daily flights. \u003C/p\u003E' +
            read_more +
        '</div>';

        var exploreans_mara_rianta_camp_iw = new google.maps.InfoWindow({content: exploreans_mara_rianta_camp_iw_content});
        infowindows.push(exploreans_mara_rianta_camp_iw);


    google.maps.event.addListener(exploreans_mara_rianta_camp_marker_luxury, 'click', function() { closeAll(); exploreans_mara_rianta_camp_iw.open(map,exploreans_mara_rianta_camp_marker_luxury); });
    //~ google.maps.event.addListener(exploreans_mara_rianta_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(exploreans_mara_rianta_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        exploreans_mara_rianta_camp_marker_luxury.setIcon(exploreans_mara_rianta_camp_marker_luxury_hovermarker);
        exploreans_mara_rianta_camp_ib.show();
    });
    google.maps.event.addListener(exploreans_mara_rianta_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        exploreans_mara_rianta_camp_marker_luxury.setIcon(exploreans_mara_rianta_camp_marker_luxury_normalmarker);
        exploreans_mara_rianta_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.379681, 35.337353);
    

    

    var koiyaki_guiding_school_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Koiyaki Guiding School").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for koiyaki_guiding_school. Width is",c.width());
    var koiyaki_guiding_school_ib_content = c.get(0);
    koiyaki_guiding_school_ib.setContent(koiyaki_guiding_school_ib_content);
    koiyaki_guiding_school_ib.setOptions({pixelOffset: new google.maps.Size(-(22*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.247536, 35.113678);
    

    

    var mara_north_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara North Conservancy").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_north_conservancy. Width is",c.width());
    var mara_north_conservancy_ib_content = c.get(0);
    mara_north_conservancy_ib.setContent(mara_north_conservancy_ib_content);
    mara_north_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(22*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.158979, 35.187836);
    

    

    var lemek_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Lemek Conservancy").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for lemek_conservancy. Width is",c.width());
    var lemek_conservancy_ib_content = c.get(0);
    lemek_conservancy_ib.setContent(lemek_conservancy_ib_content);
    lemek_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.121907, 35.224915);
    

    

    var olchorro_oirouwa_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olchorro Oirouwa").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olchorro_oirouwa. Width is",c.width());
    var olchorro_oirouwa_ib_content = c.get(0);
    olchorro_oirouwa_ib.setContent(olchorro_oirouwa_ib_content);
    olchorro_oirouwa_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.077283, 35.302505);
    

    

    var enonkishu_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Enonkishu Conservancy").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for enonkishu_conservancy. Width is",c.width());
    var enonkishu_conservancy_ib_content = c.get(0);
    enonkishu_conservancy_ib.setContent(enonkishu_conservancy_ib_content);
    enonkishu_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.277055, 35.237961);
    

    

    var motorogi_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Motorogi Conservancy").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for motorogi_conservancy. Width is",c.width());
    var motorogi_conservancy_ib_content = c.get(0);
    motorogi_conservancy_ib.setContent(motorogi_conservancy_ib_content);
    motorogi_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.397872, 35.272293);
    

    

    var naboisho_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Naboisho Conservancy").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for naboisho_conservancy. Width is",c.width());
    var naboisho_conservancy_ib_content = c.get(0);
    naboisho_conservancy_ib.setContent(naboisho_conservancy_ib_content);
    naboisho_conservancy_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    

    
    
    
    l = new google.maps.LatLng(-1.411772, 35.122433);
    

    

    var mara_explorer_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Explorer Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_explorer_camp. Width is",c.width());
    var mara_explorer_camp_ib_content = c.get(0);
    mara_explorer_camp_ib.setContent(mara_explorer_camp_ib_content);
    mara_explorer_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_explorer_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var mara_explorer_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_explorer_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Explorer Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_explorer_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_explorer_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_explorer_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_explorer_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_explorer_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_explorer_camp_marker_luxury.setIcon(mara_explorer_camp_marker_luxury_normalmarker);
        }
        else{
            mara_explorer_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_explorer_camp_icon_url, null, null, null, size);
            mara_explorer_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_explorer_camp_icon_hover_url, null, null, null, size);
            mara_explorer_camp_marker_luxury.setIcon(mara_explorer_camp_marker_luxury_normalmarker);
        }
    }
    else{
        mara_explorer_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_explorer_camp_icon_url, null, null, null, size);
        mara_explorer_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_explorer_camp_icon_hover_url, null, null, null, size);
        mara_explorer_camp_marker_luxury.setIcon(mara_explorer_camp_marker_luxury_normalmarker);
    }

    mara_explorer_camp_ib.open(map, mara_explorer_camp_marker_luxury);
    user_checked.push(mara_explorer_camp_marker_luxury);
    luxury_markers.push(mara_explorer_camp_marker_luxury);
    all_accommodations_markers.push(mara_explorer_camp_marker_luxury);

    mara_explorer_camp_ib.open(map, mara_explorer_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-explorer-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/camp_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_explorer_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Explorer Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Explorer Camp is situated on a broad thickly forest bend of the Talek River in the middle of the Maasai Mara National Reserve. \u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_explorer_camp_iw = new google.maps.InfoWindow({content: mara_explorer_camp_iw_content});
        infowindows.push(mara_explorer_camp_iw);


    google.maps.event.addListener(mara_explorer_camp_marker_luxury, 'click', function() { closeAll(); mara_explorer_camp_iw.open(map,mara_explorer_camp_marker_luxury); });
    //~ google.maps.event.addListener(mara_explorer_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_explorer_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_explorer_camp_marker_luxury.setIcon(mara_explorer_camp_marker_luxury_hovermarker);
        mara_explorer_camp_ib.show();
    });
    google.maps.event.addListener(mara_explorer_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_explorer_camp_marker_luxury.setIcon(mara_explorer_camp_marker_luxury_normalmarker);
        mara_explorer_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.20343, 35.176421);
    

    

    var kicheche_mara_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kicheche Mara Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kicheche_mara_camp. Width is",c.width());
    var kicheche_mara_camp_ib_content = c.get(0);
    kicheche_mara_camp_ib.setContent(kicheche_mara_camp_ib_content);
    kicheche_mara_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kicheche_mara_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var kicheche_mara_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kicheche_mara_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kicheche Mara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kicheche_mara_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kicheche_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_mara_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kicheche_mara_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kicheche_mara_camp_marker_mid_range.setIcon(kicheche_mara_camp_marker_mid_range_normalmarker);
        }
        else{
            kicheche_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kicheche_mara_camp_icon_url, null, null, null, size);
            kicheche_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kicheche_mara_camp_icon_hover_url, null, null, null, size);
            kicheche_mara_camp_marker_mid_range.setIcon(kicheche_mara_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        kicheche_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kicheche_mara_camp_icon_url, null, null, null, size);
        kicheche_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kicheche_mara_camp_icon_hover_url, null, null, null, size);
        kicheche_mara_camp_marker_mid_range.setIcon(kicheche_mara_camp_marker_mid_range_normalmarker);
    }

    kicheche_mara_camp_ib.open(map, kicheche_mara_camp_marker_mid_range);
    user_checked.push(kicheche_mara_camp_marker_mid_range);
    mid_range_markers.push(kicheche_mara_camp_marker_mid_range);
    all_accommodations_markers.push(kicheche_mara_camp_marker_mid_range);

    kicheche_mara_camp_ib.open(map, kicheche_mara_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kicheche-mara-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="" alt="" width="" height="" />';
        

        var kicheche_mara_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kicheche Mara Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKicheche Mara Camp is located on the Aitong Plains in the northern Koiyaki Lemek region of the famous Maasai Mara National Reserve.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EKicheche Mara Camp is hidden in a grove ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var kicheche_mara_camp_iw = new google.maps.InfoWindow({content: kicheche_mara_camp_iw_content});
        infowindows.push(kicheche_mara_camp_iw);


    google.maps.event.addListener(kicheche_mara_camp_marker_mid_range, 'click', function() { closeAll(); kicheche_mara_camp_iw.open(map,kicheche_mara_camp_marker_mid_range); });
    //~ google.maps.event.addListener(kicheche_mara_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kicheche_mara_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kicheche_mara_camp_marker_mid_range.setIcon(kicheche_mara_camp_marker_mid_range_hovermarker);
        kicheche_mara_camp_ib.show();
    });
    google.maps.event.addListener(kicheche_mara_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kicheche_mara_camp_marker_mid_range.setIcon(kicheche_mara_camp_marker_mid_range_normalmarker);
        kicheche_mara_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.25006770577, 35.010638237);
    

    

    var kichwa_tembo_tented_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kichwa Tembo Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kichwa_tembo_tented_camp. Width is",c.width());
    var kichwa_tembo_tented_camp_ib_content = c.get(0);
    kichwa_tembo_tented_camp_ib.setContent(kichwa_tembo_tented_camp_ib_content);
    kichwa_tembo_tented_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kichwa_tembo_tented_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var kichwa_tembo_tented_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kichwa_tembo_tented_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kichwa Tembo Tented Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kichwa_tembo_tented_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kichwa_tembo_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kichwa_tembo_tented_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kichwa_tembo_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kichwa_tembo_tented_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kichwa_tembo_tented_camp_marker_deluxe.setIcon(kichwa_tembo_tented_camp_marker_deluxe_normalmarker);
        }
        else{
            kichwa_tembo_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kichwa_tembo_tented_camp_icon_url, null, null, null, size);
            kichwa_tembo_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kichwa_tembo_tented_camp_icon_hover_url, null, null, null, size);
            kichwa_tembo_tented_camp_marker_deluxe.setIcon(kichwa_tembo_tented_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        kichwa_tembo_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(kichwa_tembo_tented_camp_icon_url, null, null, null, size);
        kichwa_tembo_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(kichwa_tembo_tented_camp_icon_hover_url, null, null, null, size);
        kichwa_tembo_tented_camp_marker_deluxe.setIcon(kichwa_tembo_tented_camp_marker_deluxe_normalmarker);
    }

    kichwa_tembo_tented_camp_ib.open(map, kichwa_tembo_tented_camp_marker_deluxe);
    user_checked.push(kichwa_tembo_tented_camp_marker_deluxe);
    deluxe_markers.push(kichwa_tembo_tented_camp_marker_deluxe);
    all_accommodations_markers.push(kichwa_tembo_tented_camp_marker_deluxe);

    kichwa_tembo_tented_camp_ib.open(map, kichwa_tembo_tented_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kichwa-tembo-tented-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent_2_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var kichwa_tembo_tented_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kichwa Tembo Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKichwa Tembo Tented Camp is located in the remote north western area of the Maasai Mara National Reserve. Views of both savanna and forest are breathtaking and truly give you ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var kichwa_tembo_tented_camp_iw = new google.maps.InfoWindow({content: kichwa_tembo_tented_camp_iw_content});
        infowindows.push(kichwa_tembo_tented_camp_iw);


    google.maps.event.addListener(kichwa_tembo_tented_camp_marker_deluxe, 'click', function() { closeAll(); kichwa_tembo_tented_camp_iw.open(map,kichwa_tembo_tented_camp_marker_deluxe); });
    //~ google.maps.event.addListener(kichwa_tembo_tented_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kichwa_tembo_tented_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kichwa_tembo_tented_camp_marker_deluxe.setIcon(kichwa_tembo_tented_camp_marker_deluxe_hovermarker);
        kichwa_tembo_tented_camp_ib.show();
    });
    google.maps.event.addListener(kichwa_tembo_tented_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kichwa_tembo_tented_camp_marker_deluxe.setIcon(kichwa_tembo_tented_camp_marker_deluxe_normalmarker);
        kichwa_tembo_tented_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.236403, 35.016057);
    

    

    var kilima_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kilima Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kilima_camp. Width is",c.width());
    var kilima_camp_ib_content = c.get(0);
    kilima_camp_ib.setContent(kilima_camp_ib_content);
    kilima_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kilima_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var kilima_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kilima_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kilima Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kilima_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kilima_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kilima_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kilima_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kilima_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kilima_camp_marker_mid_range.setIcon(kilima_camp_marker_mid_range_normalmarker);
        }
        else{
            kilima_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kilima_camp_icon_url, null, null, null, size);
            kilima_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kilima_camp_icon_hover_url, null, null, null, size);
            kilima_camp_marker_mid_range.setIcon(kilima_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        kilima_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kilima_camp_icon_url, null, null, null, size);
        kilima_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kilima_camp_icon_hover_url, null, null, null, size);
        kilima_camp_marker_mid_range.setIcon(kilima_camp_marker_mid_range_normalmarker);
    }

    kilima_camp_ib.open(map, kilima_camp_marker_mid_range);
    user_checked.push(kilima_camp_marker_mid_range);
    mid_range_markers.push(kilima_camp_marker_mid_range);
    all_accommodations_markers.push(kilima_camp_marker_mid_range);

    kilima_camp_ib.open(map, kilima_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kilima-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/060_Lunch_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var kilima_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kilima Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKilima Camp is an intimate and a friendly safari holidays camp located in the Masai Mara (Maasai Mara) in Kenya. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EKilima Camp is an ideal African safari camp and has ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var kilima_camp_iw = new google.maps.InfoWindow({content: kilima_camp_iw_content});
        infowindows.push(kilima_camp_iw);


    google.maps.event.addListener(kilima_camp_marker_mid_range, 'click', function() { closeAll(); kilima_camp_iw.open(map,kilima_camp_marker_mid_range); });
    //~ google.maps.event.addListener(kilima_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kilima_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kilima_camp_marker_mid_range.setIcon(kilima_camp_marker_mid_range_hovermarker);
        kilima_camp_ib.show();
    });
    google.maps.event.addListener(kilima_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kilima_camp_marker_mid_range.setIcon(kilima_camp_marker_mid_range_normalmarker);
        kilima_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.198924, 35.13786);
    

    

    var elephant_pepper_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Elephant Pepper Camp").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for elephant_pepper_camp. Width is",c.width());
    var elephant_pepper_camp_ib_content = c.get(0);
    elephant_pepper_camp_ib.setContent(elephant_pepper_camp_ib_content);
    elephant_pepper_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var elephant_pepper_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_gold_1.png";
    var elephant_pepper_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var elephant_pepper_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Elephant Pepper Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+elephant_pepper_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            elephant_pepper_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+elephant_pepper_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            elephant_pepper_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+elephant_pepper_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            elephant_pepper_camp_marker_deluxe.setIcon(elephant_pepper_camp_marker_deluxe_normalmarker);
        }
        else{
            elephant_pepper_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(elephant_pepper_camp_icon_url, null, null, null, size);
            elephant_pepper_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(elephant_pepper_camp_icon_hover_url, null, null, null, size);
            elephant_pepper_camp_marker_deluxe.setIcon(elephant_pepper_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        elephant_pepper_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(elephant_pepper_camp_icon_url, null, null, null, size);
        elephant_pepper_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(elephant_pepper_camp_icon_hover_url, null, null, null, size);
        elephant_pepper_camp_marker_deluxe.setIcon(elephant_pepper_camp_marker_deluxe_normalmarker);
    }

    elephant_pepper_camp_ib.open(map, elephant_pepper_camp_marker_deluxe);
    user_checked.push(elephant_pepper_camp_marker_deluxe);
    deluxe_markers.push(elephant_pepper_camp_marker_deluxe);
    all_accommodations_markers.push(elephant_pepper_camp_marker_deluxe);

    elephant_pepper_camp_ib.open(map, elephant_pepper_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/elephant-pepper-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai_Mara_-_Elephant-Pepper-Honeymoon-T_2_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var elephant_pepper_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Elephant Pepper Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EElephant Pepper Camp is located near the Maasai Mara (Masai Mara) in the middle of a 3,600 sq km wilderness area called the Mara North Conservancy, part of the ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var elephant_pepper_camp_iw = new google.maps.InfoWindow({content: elephant_pepper_camp_iw_content});
        infowindows.push(elephant_pepper_camp_iw);


    google.maps.event.addListener(elephant_pepper_camp_marker_deluxe, 'click', function() { closeAll(); elephant_pepper_camp_iw.open(map,elephant_pepper_camp_marker_deluxe); });
    //~ google.maps.event.addListener(elephant_pepper_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(elephant_pepper_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        elephant_pepper_camp_marker_deluxe.setIcon(elephant_pepper_camp_marker_deluxe_hovermarker);
        elephant_pepper_camp_ib.show();
    });
    google.maps.event.addListener(elephant_pepper_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        elephant_pepper_camp_marker_deluxe.setIcon(elephant_pepper_camp_marker_deluxe_normalmarker);
        elephant_pepper_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.45606842116, 35.4621938836);
    

    

    var leleshwa_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Leleshwa Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for leleshwa_camp. Width is",c.width());
    var leleshwa_camp_ib_content = c.get(0);
    leleshwa_camp_ib.setContent(leleshwa_camp_ib_content);
    leleshwa_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var leleshwa_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var leleshwa_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var leleshwa_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Leleshwa Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+leleshwa_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            leleshwa_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+leleshwa_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            leleshwa_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+leleshwa_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            leleshwa_camp_marker_deluxe.setIcon(leleshwa_camp_marker_deluxe_normalmarker);
        }
        else{
            leleshwa_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(leleshwa_camp_icon_url, null, null, null, size);
            leleshwa_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(leleshwa_camp_icon_hover_url, null, null, null, size);
            leleshwa_camp_marker_deluxe.setIcon(leleshwa_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        leleshwa_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(leleshwa_camp_icon_url, null, null, null, size);
        leleshwa_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(leleshwa_camp_icon_hover_url, null, null, null, size);
        leleshwa_camp_marker_deluxe.setIcon(leleshwa_camp_marker_deluxe_normalmarker);
    }

    leleshwa_camp_ib.open(map, leleshwa_camp_marker_deluxe);
    user_checked.push(leleshwa_camp_marker_deluxe);
    deluxe_markers.push(leleshwa_camp_marker_deluxe);
    all_accommodations_markers.push(leleshwa_camp_marker_deluxe);

    leleshwa_camp_ib.open(map, leleshwa_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/leleshwa-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai20Mara20-20Leleshwa20Camp203_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var leleshwa_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Leleshwa Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ELeleshwa Camp is located on the Siana Community Conservation Area (20,000 acres) on the North\u002DEastern edge of the Maasai Mara National Reserve in Kenya. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003ELeleshwa Camp is an intimate ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var leleshwa_camp_iw = new google.maps.InfoWindow({content: leleshwa_camp_iw_content});
        infowindows.push(leleshwa_camp_iw);


    google.maps.event.addListener(leleshwa_camp_marker_deluxe, 'click', function() { closeAll(); leleshwa_camp_iw.open(map,leleshwa_camp_marker_deluxe); });
    //~ google.maps.event.addListener(leleshwa_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(leleshwa_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        leleshwa_camp_marker_deluxe.setIcon(leleshwa_camp_marker_deluxe_hovermarker);
        leleshwa_camp_ib.show();
    });
    google.maps.event.addListener(leleshwa_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        leleshwa_camp_marker_deluxe.setIcon(leleshwa_camp_marker_deluxe_normalmarker);
        leleshwa_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.119161, 35.274353);
    

    

    var mara_house_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara House").width((10*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_house. Width is",c.width());
    var mara_house_ib_content = c.get(0);
    mara_house_ib.setContent(mara_house_ib_content);
    mara_house_ib.setOptions({pixelOffset: new google.maps.Size(-(10*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_house_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mara_house_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_house_marker_private_cottages = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara House"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_house_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_house_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_house_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_house_marker_private_cottages.setIcon(mara_house_marker_private_cottages_normalmarker);
        }
        else{
            mara_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(mara_house_icon_url, null, null, null, size);
            mara_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(mara_house_icon_hover_url, null, null, null, size);
            mara_house_marker_private_cottages.setIcon(mara_house_marker_private_cottages_normalmarker);
        }
    }
    else{
        mara_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(mara_house_icon_url, null, null, null, size);
        mara_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(mara_house_icon_hover_url, null, null, null, size);
        mara_house_marker_private_cottages.setIcon(mara_house_marker_private_cottages_normalmarker);
    }

    mara_house_ib.open(map, mara_house_marker_private_cottages);
    user_checked.push(mara_house_marker_private_cottages);
    private_cottages_markers.push(mara_house_marker_private_cottages);
    all_accommodations_markers.push(mara_house_marker_private_cottages);

    mara_house_ib.open(map, mara_house_marker_private_cottages);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-house" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/633_House_interiors_Simon_Urwin-1_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_house_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara House</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara House is a private bush home located in the Ol Chorro Losoit valley within the Lemek hills.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_house_iw = new google.maps.InfoWindow({content: mara_house_iw_content});
        infowindows.push(mara_house_iw);


    google.maps.event.addListener(mara_house_marker_private_cottages, 'click', function() { closeAll(); mara_house_iw.open(map,mara_house_marker_private_cottages); });
    //~ google.maps.event.addListener(mara_house_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_house_marker_private_cottages, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_house_marker_private_cottages.setIcon(mara_house_marker_private_cottages_hovermarker);
        mara_house_ib.show();
    });
    google.maps.event.addListener(mara_house_marker_private_cottages, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_house_marker_private_cottages.setIcon(mara_house_marker_private_cottages_normalmarker);
        mara_house_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.136839, 35.128868);
    

    

    var mara_buffalo_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Buffalo Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_buffalo_camp. Width is",c.width());
    var mara_buffalo_camp_ib_content = c.get(0);
    mara_buffalo_camp_ib.setContent(mara_buffalo_camp_ib_content);
    mara_buffalo_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_buffalo_camp_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mara_buffalo_camp_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_buffalo_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Buffalo Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_buffalo_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_buffalo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_buffalo_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_buffalo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_buffalo_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_buffalo_camp_marker_mid_range.setIcon(mara_buffalo_camp_marker_mid_range_normalmarker);
        }
        else{
            mara_buffalo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_buffalo_camp_icon_url, null, null, null, size);
            mara_buffalo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_buffalo_camp_icon_hover_url, null, null, null, size);
            mara_buffalo_camp_marker_mid_range.setIcon(mara_buffalo_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_buffalo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_buffalo_camp_icon_url, null, null, null, size);
        mara_buffalo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_buffalo_camp_icon_hover_url, null, null, null, size);
        mara_buffalo_camp_marker_mid_range.setIcon(mara_buffalo_camp_marker_mid_range_normalmarker);
    }

    mara_buffalo_camp_ib.open(map, mara_buffalo_camp_marker_mid_range);
    user_checked.push(mara_buffalo_camp_marker_mid_range);
    mid_range_markers.push(mara_buffalo_camp_marker_mid_range);
    all_accommodations_markers.push(mara_buffalo_camp_marker_mid_range);

    mara_buffalo_camp_ib.open(map, mara_buffalo_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-buffalo-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/mara_buffalo_camp_jpg_80x80_q85.jpg" alt="" width="80" height="42" />';
        

        var mara_buffalo_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Buffalo Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Buffalo Camp is situated at the base of the Ngama Hills, on the Eastern edge of the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_buffalo_camp_iw = new google.maps.InfoWindow({content: mara_buffalo_camp_iw_content});
        infowindows.push(mara_buffalo_camp_iw);


    google.maps.event.addListener(mara_buffalo_camp_marker_mid_range, 'click', function() { closeAll(); mara_buffalo_camp_iw.open(map,mara_buffalo_camp_marker_mid_range); });
    //~ google.maps.event.addListener(mara_buffalo_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_buffalo_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_buffalo_camp_marker_mid_range.setIcon(mara_buffalo_camp_marker_mid_range_hovermarker);
        mara_buffalo_camp_ib.show();
    });
    google.maps.event.addListener(mara_buffalo_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_buffalo_camp_marker_mid_range.setIcon(mara_buffalo_camp_marker_mid_range_normalmarker);
        mara_buffalo_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.18781166079, 35.0581889101);
    

    

    var karen_blixen_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Karen Blixen Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for karen_blixen_camp. Width is",c.width());
    var karen_blixen_camp_ib_content = c.get(0);
    karen_blixen_camp_ib.setContent(karen_blixen_camp_ib_content);
    karen_blixen_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var karen_blixen_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var karen_blixen_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var karen_blixen_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Karen Blixen Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+karen_blixen_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            karen_blixen_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+karen_blixen_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            karen_blixen_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+karen_blixen_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            karen_blixen_camp_marker_mid_range.setIcon(karen_blixen_camp_marker_mid_range_normalmarker);
        }
        else{
            karen_blixen_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(karen_blixen_camp_icon_url, null, null, null, size);
            karen_blixen_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(karen_blixen_camp_icon_hover_url, null, null, null, size);
            karen_blixen_camp_marker_mid_range.setIcon(karen_blixen_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        karen_blixen_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(karen_blixen_camp_icon_url, null, null, null, size);
        karen_blixen_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(karen_blixen_camp_icon_hover_url, null, null, null, size);
        karen_blixen_camp_marker_mid_range.setIcon(karen_blixen_camp_marker_mid_range_normalmarker);
    }

    karen_blixen_camp_ib.open(map, karen_blixen_camp_marker_mid_range);
    user_checked.push(karen_blixen_camp_marker_mid_range);
    mid_range_markers.push(karen_blixen_camp_marker_mid_range);
    all_accommodations_markers.push(karen_blixen_camp_marker_mid_range);

    karen_blixen_camp_ib.open(map, karen_blixen_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/karen-blixen-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Maasai-Mara-masai-mara-karen-blixen-camp_13_jpg_80x80_q85.jpg" alt="" width="80" height="51" />';
        

        var karen_blixen_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Karen Blixen Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKaren Blixen Camp is located in the Maasai Mara (Masai Mara), set on the bank of the Mara River with the great Mara plains behind the camp.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EKaren Blixen Camp ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var karen_blixen_camp_iw = new google.maps.InfoWindow({content: karen_blixen_camp_iw_content});
        infowindows.push(karen_blixen_camp_iw);


    google.maps.event.addListener(karen_blixen_camp_marker_mid_range, 'click', function() { closeAll(); karen_blixen_camp_iw.open(map,karen_blixen_camp_marker_mid_range); });
    //~ google.maps.event.addListener(karen_blixen_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(karen_blixen_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        karen_blixen_camp_marker_mid_range.setIcon(karen_blixen_camp_marker_mid_range_hovermarker);
        karen_blixen_camp_ib.show();
    });
    google.maps.event.addListener(karen_blixen_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        karen_blixen_camp_marker_mid_range.setIcon(karen_blixen_camp_marker_mid_range_normalmarker);
        karen_blixen_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.459822, 35.250492);
    

    

    var mara_leisure_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Leisure Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_leisure_camp. Width is",c.width());
    var mara_leisure_camp_ib_content = c.get(0);
    mara_leisure_camp_ib.setContent(mara_leisure_camp_ib_content);
    mara_leisure_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_leisure_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_leisure_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_leisure_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Leisure Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_leisure_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_leisure_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_leisure_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_leisure_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_leisure_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_leisure_camp_marker_mid_range.setIcon(mara_leisure_camp_marker_mid_range_normalmarker);
        }
        else{
            mara_leisure_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_leisure_camp_icon_url, null, null, null, size);
            mara_leisure_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_leisure_camp_icon_hover_url, null, null, null, size);
            mara_leisure_camp_marker_mid_range.setIcon(mara_leisure_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_leisure_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_leisure_camp_icon_url, null, null, null, size);
        mara_leisure_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_leisure_camp_icon_hover_url, null, null, null, size);
        mara_leisure_camp_marker_mid_range.setIcon(mara_leisure_camp_marker_mid_range_normalmarker);
    }

    mara_leisure_camp_ib.open(map, mara_leisure_camp_marker_mid_range);
    user_checked.push(mara_leisure_camp_marker_mid_range);
    mid_range_markers.push(mara_leisure_camp_marker_mid_range);
    all_accommodations_markers.push(mara_leisure_camp_marker_mid_range);

    mara_leisure_camp_ib.open(map, mara_leisure_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-leisure-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/mara-leisure-camp6_jpg_80x80_q85.jpg" alt="" width="80" height="59" />';
        

        var mara_leisure_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Leisure Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Leisure Camp is located along in the Talek River, at the confluence of the Maasai Mara’s four game\u002Dviewing areas on the northern boundary of the Maasai Mara National ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_leisure_camp_iw = new google.maps.InfoWindow({content: mara_leisure_camp_iw_content});
        infowindows.push(mara_leisure_camp_iw);


    google.maps.event.addListener(mara_leisure_camp_marker_mid_range, 'click', function() { closeAll(); mara_leisure_camp_iw.open(map,mara_leisure_camp_marker_mid_range); });
    //~ google.maps.event.addListener(mara_leisure_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_leisure_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_leisure_camp_marker_mid_range.setIcon(mara_leisure_camp_marker_mid_range_hovermarker);
        mara_leisure_camp_ib.show();
    });
    google.maps.event.addListener(mara_leisure_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_leisure_camp_marker_mid_range.setIcon(mara_leisure_camp_marker_mid_range_normalmarker);
        mara_leisure_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.28211764093, 35.0372028351);
    

    

    var little_governors_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Little Governors' Camp").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for little_governors_camp. Width is",c.width());
    var little_governors_camp_ib_content = c.get(0);
    little_governors_camp_ib.setContent(little_governors_camp_ib_content);
    little_governors_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(22*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var little_governors_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_2.png";
    var little_governors_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var little_governors_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Little Governors&#39; Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+little_governors_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            little_governors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+little_governors_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            little_governors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+little_governors_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            little_governors_camp_marker_deluxe.setIcon(little_governors_camp_marker_deluxe_normalmarker);
        }
        else{
            little_governors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(little_governors_camp_icon_url, null, null, null, size);
            little_governors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(little_governors_camp_icon_hover_url, null, null, null, size);
            little_governors_camp_marker_deluxe.setIcon(little_governors_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        little_governors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(little_governors_camp_icon_url, null, null, null, size);
        little_governors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(little_governors_camp_icon_hover_url, null, null, null, size);
        little_governors_camp_marker_deluxe.setIcon(little_governors_camp_marker_deluxe_normalmarker);
    }

    little_governors_camp_ib.open(map, little_governors_camp_marker_deluxe);
    user_checked.push(little_governors_camp_marker_deluxe);
    deluxe_markers.push(little_governors_camp_marker_deluxe);
    all_accommodations_markers.push(little_governors_camp_marker_deluxe);

    little_governors_camp_ib.open(map, little_governors_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/little-governors-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/bonfire_2_jpg_80x80_q85.jpg" alt="" width="80" height="58" />';
        

        var little_governors_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Little Governors\u0027 Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ELittle Governors\u0026#8217\u003B Camp is located around a watering hole, close to the Mara River in the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var little_governors_camp_iw = new google.maps.InfoWindow({content: little_governors_camp_iw_content});
        infowindows.push(little_governors_camp_iw);


    google.maps.event.addListener(little_governors_camp_marker_deluxe, 'click', function() { closeAll(); little_governors_camp_iw.open(map,little_governors_camp_marker_deluxe); });
    //~ google.maps.event.addListener(little_governors_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(little_governors_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        little_governors_camp_marker_deluxe.setIcon(little_governors_camp_marker_deluxe_hovermarker);
        little_governors_camp_ib.show();
    });
    google.maps.event.addListener(little_governors_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        little_governors_camp_marker_deluxe.setIcon(little_governors_camp_marker_deluxe_normalmarker);
        little_governors_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.34244104787, 35.164188963);
    

    

    var mara_plains_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Plains Camp").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_plains. Width is",c.width());
    var mara_plains_ib_content = c.get(0);
    mara_plains_ib.setContent(mara_plains_ib_content);
    mara_plains_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_plains_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_plains_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_plains_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Plains Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_plains_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_plains_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_plains_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_plains_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_plains_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_plains_marker_luxury.setIcon(mara_plains_marker_luxury_normalmarker);
        }
        else{
            mara_plains_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_plains_icon_url, null, null, null, size);
            mara_plains_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_plains_icon_hover_url, null, null, null, size);
            mara_plains_marker_luxury.setIcon(mara_plains_marker_luxury_normalmarker);
        }
    }
    else{
        mara_plains_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_plains_icon_url, null, null, null, size);
        mara_plains_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_plains_icon_hover_url, null, null, null, size);
        mara_plains_marker_luxury.setIcon(mara_plains_marker_luxury_normalmarker);
    }

    mara_plains_ib.open(map, mara_plains_marker_luxury);
    user_checked.push(mara_plains_marker_luxury);
    luxury_markers.push(mara_plains_marker_luxury);
    all_accommodations_markers.push(mara_plains_marker_luxury);

    mara_plains_ib.open(map, mara_plains_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-plains" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Mara_Plains_14_JPG_80x80_q85.jpg" alt="" width="80" height="46" />';
        

        var mara_plains_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Plains Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Plains Camp is located on the northern border of the Maasai Mara National Reserve in the Olare Orok Conservancy.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EMara Plains camp set right in the heart of some ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_plains_iw = new google.maps.InfoWindow({content: mara_plains_iw_content});
        infowindows.push(mara_plains_iw);


    google.maps.event.addListener(mara_plains_marker_luxury, 'click', function() { closeAll(); mara_plains_iw.open(map,mara_plains_marker_luxury); });
    //~ google.maps.event.addListener(mara_plains_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_plains_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_plains_marker_luxury.setIcon(mara_plains_marker_luxury_hovermarker);
        mara_plains_ib.show();
    });
    google.maps.event.addListener(mara_plains_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_plains_marker_luxury.setIcon(mara_plains_marker_luxury_normalmarker);
        mara_plains_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.412073, 35.404474);
    

    

    var mara_porini_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Porini Camp").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_porini_camp. Width is",c.width());
    var mara_porini_camp_ib_content = c.get(0);
    mara_porini_camp_ib.setContent(mara_porini_camp_ib_content);
    mara_porini_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_porini_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var mara_porini_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_porini_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Porini Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_porini_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_porini_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_porini_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_porini_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_porini_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_porini_camp_marker_luxury.setIcon(mara_porini_camp_marker_luxury_normalmarker);
        }
        else{
            mara_porini_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_porini_camp_icon_url, null, null, null, size);
            mara_porini_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_porini_camp_icon_hover_url, null, null, null, size);
            mara_porini_camp_marker_luxury.setIcon(mara_porini_camp_marker_luxury_normalmarker);
        }
    }
    else{
        mara_porini_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(mara_porini_camp_icon_url, null, null, null, size);
        mara_porini_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(mara_porini_camp_icon_hover_url, null, null, null, size);
        mara_porini_camp_marker_luxury.setIcon(mara_porini_camp_marker_luxury_normalmarker);
    }

    mara_porini_camp_ib.open(map, mara_porini_camp_marker_luxury);
    user_checked.push(mara_porini_camp_marker_luxury);
    luxury_markers.push(mara_porini_camp_marker_luxury);
    all_accommodations_markers.push(mara_porini_camp_marker_luxury);

    mara_porini_camp_ib.open(map, mara_porini_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-porini-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Mara-porini-camp-maasai-mara_3_jpg_80x80_q85.jpg" alt="" width="80" height="43" />';
        

        var mara_porini_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Porini Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Porini Camp has recently been set up in the exclusive wildlife conservancy of Ol Kinyei, one of the most beautiful wilderness areas in the Serengeti\u002DMara eco\u002Dsystem.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_porini_camp_iw = new google.maps.InfoWindow({content: mara_porini_camp_iw_content});
        infowindows.push(mara_porini_camp_iw);


    google.maps.event.addListener(mara_porini_camp_marker_luxury, 'click', function() { closeAll(); mara_porini_camp_iw.open(map,mara_porini_camp_marker_luxury); });
    //~ google.maps.event.addListener(mara_porini_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_porini_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_porini_camp_marker_luxury.setIcon(mara_porini_camp_marker_luxury_hovermarker);
        mara_porini_camp_ib.show();
    });
    google.maps.event.addListener(mara_porini_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_porini_camp_marker_luxury.setIcon(mara_porini_camp_marker_luxury_normalmarker);
        mara_porini_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.212011, 35.03952);
    

    

    var mara_river_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara River Camp").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_river_camp. Width is",c.width());
    var mara_river_camp_ib_content = c.get(0);
    mara_river_camp_ib.setContent(mara_river_camp_ib_content);
    mara_river_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_river_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_river_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_river_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara River Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_river_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_river_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_river_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_river_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_river_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_river_camp_marker_budget.setIcon(mara_river_camp_marker_budget_normalmarker);
        }
        else{
            mara_river_camp_marker_budget_normalmarker = new google.maps.MarkerImage(mara_river_camp_icon_url, null, null, null, size);
            mara_river_camp_marker_budget_hovermarker = new google.maps.MarkerImage(mara_river_camp_icon_hover_url, null, null, null, size);
            mara_river_camp_marker_budget.setIcon(mara_river_camp_marker_budget_normalmarker);
        }
    }
    else{
        mara_river_camp_marker_budget_normalmarker = new google.maps.MarkerImage(mara_river_camp_icon_url, null, null, null, size);
        mara_river_camp_marker_budget_hovermarker = new google.maps.MarkerImage(mara_river_camp_icon_hover_url, null, null, null, size);
        mara_river_camp_marker_budget.setIcon(mara_river_camp_marker_budget_normalmarker);
    }

    mara_river_camp_ib.open(map, mara_river_camp_marker_budget);
    user_checked.push(mara_river_camp_marker_budget);
    budget_markers.push(mara_river_camp_marker_budget);
    all_accommodations_markers.push(mara_river_camp_marker_budget);

    mara_river_camp_ib.open(map, mara_river_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-river-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/lounge_and_dining_area_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_river_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara River Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara River Camp is nestled at the foot of the Oloololo Escarpment and on the north west boundary of Kenya\u0026#8217\u003Bs famous Maasai Mara National Reserve, on a beautiful forested ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_river_camp_iw = new google.maps.InfoWindow({content: mara_river_camp_iw_content});
        infowindows.push(mara_river_camp_iw);


    google.maps.event.addListener(mara_river_camp_marker_budget, 'click', function() { closeAll(); mara_river_camp_iw.open(map,mara_river_camp_marker_budget); });
    //~ google.maps.event.addListener(mara_river_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_river_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_river_camp_marker_budget.setIcon(mara_river_camp_marker_budget_hovermarker);
        mara_river_camp_ib.show();
    });
    google.maps.event.addListener(mara_river_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_river_camp_marker_budget.setIcon(mara_river_camp_marker_budget_normalmarker);
        mara_river_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.40216180932, 35.0252723694);
    

    

    var serena_safari_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Serena Lodge").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for serena_safari_lodge. Width is",c.width());
    var serena_safari_lodge_ib_content = c.get(0);
    serena_safari_lodge_ib.setContent(serena_safari_lodge_ib_content);
    serena_safari_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var serena_safari_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_bronze.png";
    var serena_safari_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var serena_safari_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Serena Safari Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+serena_safari_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            serena_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+serena_safari_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            serena_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+serena_safari_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            serena_safari_lodge_marker_mid_range.setIcon(serena_safari_lodge_marker_mid_range_normalmarker);
        }
        else{
            serena_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(serena_safari_lodge_icon_url, null, null, null, size);
            serena_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(serena_safari_lodge_icon_hover_url, null, null, null, size);
            serena_safari_lodge_marker_mid_range.setIcon(serena_safari_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        serena_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(serena_safari_lodge_icon_url, null, null, null, size);
        serena_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(serena_safari_lodge_icon_hover_url, null, null, null, size);
        serena_safari_lodge_marker_mid_range.setIcon(serena_safari_lodge_marker_mid_range_normalmarker);
    }

    serena_safari_lodge_ib.open(map, serena_safari_lodge_marker_mid_range);
    user_checked.push(serena_safari_lodge_marker_mid_range);
    mid_range_markers.push(serena_safari_lodge_marker_mid_range);
    all_accommodations_markers.push(serena_safari_lodge_marker_mid_range);

    serena_safari_lodge_ib.open(map, serena_safari_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/serena-safari-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/02__Room_Vistaa96dedf_jpg_80x80_q85.jpg" alt="" width="80" height="25" />';
        

        var serena_safari_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Serena Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Serena safari lodge is located at the very center of the famous ‘Mara Triangle\u0026#8217\u003B of the world\u002Drenowned Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var serena_safari_lodge_iw = new google.maps.InfoWindow({content: serena_safari_lodge_iw_content});
        infowindows.push(serena_safari_lodge_iw);


    google.maps.event.addListener(serena_safari_lodge_marker_mid_range, 'click', function() { closeAll(); serena_safari_lodge_iw.open(map,serena_safari_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(serena_safari_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(serena_safari_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        serena_safari_lodge_marker_mid_range.setIcon(serena_safari_lodge_marker_mid_range_hovermarker);
        serena_safari_lodge_ib.show();
    });
    google.maps.event.addListener(serena_safari_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        serena_safari_lodge_marker_mid_range.setIcon(serena_safari_lodge_marker_mid_range_normalmarker);
        serena_safari_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.470805, 35.293407);
    

    

    var mara_simba_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Simba Lodge").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_simba_lodge. Width is",c.width());
    var mara_simba_lodge_ib_content = c.get(0);
    mara_simba_lodge_ib.setContent(mara_simba_lodge_ib_content);
    mara_simba_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_simba_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mara_simba_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_simba_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Simba Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_simba_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_simba_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_simba_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_simba_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_simba_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_simba_lodge_marker_mid_range.setIcon(mara_simba_lodge_marker_mid_range_normalmarker);
        }
        else{
            mara_simba_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_simba_lodge_icon_url, null, null, null, size);
            mara_simba_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_simba_lodge_icon_hover_url, null, null, null, size);
            mara_simba_lodge_marker_mid_range.setIcon(mara_simba_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_simba_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_simba_lodge_icon_url, null, null, null, size);
        mara_simba_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_simba_lodge_icon_hover_url, null, null, null, size);
        mara_simba_lodge_marker_mid_range.setIcon(mara_simba_lodge_marker_mid_range_normalmarker);
    }

    mara_simba_lodge_ib.open(map, mara_simba_lodge_marker_mid_range);
    user_checked.push(mara_simba_lodge_marker_mid_range);
    mid_range_markers.push(mara_simba_lodge_marker_mid_range);
    all_accommodations_markers.push(mara_simba_lodge_marker_mid_range);

    mara_simba_lodge_ib.open(map, mara_simba_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-simba-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Mara_Simba_9_JPG_80x80_q85.jpg" alt="" width="80" height="49" />';
        

        var mara_simba_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Simba Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Simba Lodge sits overlooking a dramatic bend on the bank of the Talek River, a tributary of the Mara River, gently blending into the surrounding wilderness of the Maasai ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_simba_lodge_iw = new google.maps.InfoWindow({content: mara_simba_lodge_iw_content});
        infowindows.push(mara_simba_lodge_iw);


    google.maps.event.addListener(mara_simba_lodge_marker_mid_range, 'click', function() { closeAll(); mara_simba_lodge_iw.open(map,mara_simba_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(mara_simba_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_simba_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_simba_lodge_marker_mid_range.setIcon(mara_simba_lodge_marker_mid_range_hovermarker);
        mara_simba_lodge_ib.show();
    });
    google.maps.event.addListener(mara_simba_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_simba_lodge_marker_mid_range.setIcon(mara_simba_lodge_marker_mid_range_normalmarker);
        mara_simba_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.59255546786, 35.3903962539);
    

    

    var mara_sopa_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Sopa Lodge").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_sopa_lodge. Width is",c.width());
    var mara_sopa_lodge_ib_content = c.get(0);
    mara_sopa_lodge_ib.setContent(mara_sopa_lodge_ib_content);
    mara_sopa_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_sopa_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_bronze.png";
    var mara_sopa_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_sopa_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Sopa Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_sopa_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_sopa_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_sopa_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_sopa_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_sopa_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_sopa_lodge_marker_mid_range.setIcon(mara_sopa_lodge_marker_mid_range_normalmarker);
        }
        else{
            mara_sopa_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_sopa_lodge_icon_url, null, null, null, size);
            mara_sopa_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_sopa_lodge_icon_hover_url, null, null, null, size);
            mara_sopa_lodge_marker_mid_range.setIcon(mara_sopa_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_sopa_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_sopa_lodge_icon_url, null, null, null, size);
        mara_sopa_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_sopa_lodge_icon_hover_url, null, null, null, size);
        mara_sopa_lodge_marker_mid_range.setIcon(mara_sopa_lodge_marker_mid_range_normalmarker);
    }

    mara_sopa_lodge_ib.open(map, mara_sopa_lodge_marker_mid_range);
    user_checked.push(mara_sopa_lodge_marker_mid_range);
    mid_range_markers.push(mara_sopa_lodge_marker_mid_range);
    all_accommodations_markers.push(mara_sopa_lodge_marker_mid_range);

    mara_sopa_lodge_ib.open(map, mara_sopa_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-sopa-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/lodge_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_sopa_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Sopa Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Sopa lodge is located on the slopes of Oloongams Hills\u003B it is one of the first lodges to be built in the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_sopa_lodge_iw = new google.maps.InfoWindow({content: mara_sopa_lodge_iw_content});
        infowindows.push(mara_sopa_lodge_iw);


    google.maps.event.addListener(mara_sopa_lodge_marker_mid_range, 'click', function() { closeAll(); mara_sopa_lodge_iw.open(map,mara_sopa_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(mara_sopa_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_sopa_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_sopa_lodge_marker_mid_range.setIcon(mara_sopa_lodge_marker_mid_range_hovermarker);
        mara_sopa_lodge_ib.show();
    });
    google.maps.event.addListener(mara_sopa_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_sopa_lodge_marker_mid_range.setIcon(mara_sopa_lodge_marker_mid_range_normalmarker);
        mara_sopa_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.18270580243, 35.0653553009);
    

    

    var mara_timbo_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Timbo Camp").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_timbo_camp. Width is",c.width());
    var mara_timbo_camp_ib_content = c.get(0);
    mara_timbo_camp_ib.setContent(mara_timbo_camp_ib_content);
    mara_timbo_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_timbo_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_timbo_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_timbo_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Timbo Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_timbo_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_timbo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_timbo_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_timbo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_timbo_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_timbo_camp_marker_mid_range.setIcon(mara_timbo_camp_marker_mid_range_normalmarker);
        }
        else{
            mara_timbo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_timbo_camp_icon_url, null, null, null, size);
            mara_timbo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_timbo_camp_icon_hover_url, null, null, null, size);
            mara_timbo_camp_marker_mid_range.setIcon(mara_timbo_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_timbo_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_timbo_camp_icon_url, null, null, null, size);
        mara_timbo_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_timbo_camp_icon_hover_url, null, null, null, size);
        mara_timbo_camp_marker_mid_range.setIcon(mara_timbo_camp_marker_mid_range_normalmarker);
    }

    mara_timbo_camp_ib.open(map, mara_timbo_camp_marker_mid_range);
    user_checked.push(mara_timbo_camp_marker_mid_range);
    mid_range_markers.push(mara_timbo_camp_marker_mid_range);
    all_accommodations_markers.push(mara_timbo_camp_marker_mid_range);

    mara_timbo_camp_ib.open(map, mara_timbo_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-timbo-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/comfortable_bed_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_timbo_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Timbo Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Timbo is located in the world famous Maasai Mara National Reserve where there is abundance of animal and birdlife in the vast savannah\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_timbo_camp_iw = new google.maps.InfoWindow({content: mara_timbo_camp_iw_content});
        infowindows.push(mara_timbo_camp_iw);


    google.maps.event.addListener(mara_timbo_camp_marker_mid_range, 'click', function() { closeAll(); mara_timbo_camp_iw.open(map,mara_timbo_camp_marker_mid_range); });
    //~ google.maps.event.addListener(mara_timbo_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_timbo_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_timbo_camp_marker_mid_range.setIcon(mara_timbo_camp_marker_mid_range_hovermarker);
        mara_timbo_camp_ib.show();
    });
    google.maps.event.addListener(mara_timbo_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_timbo_camp_marker_mid_range.setIcon(mara_timbo_camp_marker_mid_range_normalmarker);
        mara_timbo_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.26495590489, 34.970491172);
    

    

    var mara_west_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara West Camp").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_west_camp. Width is",c.width());
    var mara_west_camp_ib_content = c.get(0);
    mara_west_camp_ib.setContent(mara_west_camp_ib_content);
    mara_west_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_west_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_west_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_west_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara West Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_west_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_west_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_west_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_west_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_west_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_west_camp_marker_deluxe.setIcon(mara_west_camp_marker_deluxe_normalmarker);
        }
        else{
            mara_west_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_west_camp_icon_url, null, null, null, size);
            mara_west_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_west_camp_icon_hover_url, null, null, null, size);
            mara_west_camp_marker_deluxe.setIcon(mara_west_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        mara_west_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_west_camp_icon_url, null, null, null, size);
        mara_west_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_west_camp_icon_hover_url, null, null, null, size);
        mara_west_camp_marker_deluxe.setIcon(mara_west_camp_marker_deluxe_normalmarker);
    }

    mara_west_camp_ib.open(map, mara_west_camp_marker_deluxe);
    user_checked.push(mara_west_camp_marker_deluxe);
    deluxe_markers.push(mara_west_camp_marker_deluxe);
    all_accommodations_markers.push(mara_west_camp_marker_deluxe);

    mara_west_camp_ib.open(map, mara_west_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-west-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/masai-mara-maasai-mara-mara-west-camp_3_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_west_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara West Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara West Camp is located within the Maasai Mara ecosystem and nestled against a wooded thicket and surrounded by savannah. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EMara West provides nature lovers with luxury accommodations while experiencing ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_west_camp_iw = new google.maps.InfoWindow({content: mara_west_camp_iw_content});
        infowindows.push(mara_west_camp_iw);


    google.maps.event.addListener(mara_west_camp_marker_deluxe, 'click', function() { closeAll(); mara_west_camp_iw.open(map,mara_west_camp_marker_deluxe); });
    //~ google.maps.event.addListener(mara_west_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_west_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_west_camp_marker_deluxe.setIcon(mara_west_camp_marker_deluxe_hovermarker);
        mara_west_camp_ib.show();
    });
    google.maps.event.addListener(mara_west_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_west_camp_marker_deluxe.setIcon(mara_west_camp_marker_deluxe_normalmarker);
        mara_west_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.40096053485, 35.3915982434);
    

    

    var ol_seki_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ol Seki Camp").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ol_seki_camp. Width is",c.width());
    var ol_seki_camp_ib_content = c.get(0);
    ol_seki_camp_ib.setContent(ol_seki_camp_ib_content);
    ol_seki_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ol_seki_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var ol_seki_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var ol_seki_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ol Seki Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ol_seki_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ol_seki_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ol_seki_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ol_seki_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ol_seki_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ol_seki_camp_marker_deluxe.setIcon(ol_seki_camp_marker_deluxe_normalmarker);
        }
        else{
            ol_seki_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(ol_seki_camp_icon_url, null, null, null, size);
            ol_seki_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(ol_seki_camp_icon_hover_url, null, null, null, size);
            ol_seki_camp_marker_deluxe.setIcon(ol_seki_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        ol_seki_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(ol_seki_camp_icon_url, null, null, null, size);
        ol_seki_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(ol_seki_camp_icon_hover_url, null, null, null, size);
        ol_seki_camp_marker_deluxe.setIcon(ol_seki_camp_marker_deluxe_normalmarker);
    }

    ol_seki_camp_ib.open(map, ol_seki_camp_marker_deluxe);
    user_checked.push(ol_seki_camp_marker_deluxe);
    deluxe_markers.push(ol_seki_camp_marker_deluxe);
    all_accommodations_markers.push(ol_seki_camp_marker_deluxe);

    ol_seki_camp_ib.open(map, ol_seki_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/ol-seki-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai20mara20-20Olseki-1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var ol_seki_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ol Seki Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOl Seki Camp is set on a wonderful rocky promontory, overlooking the sweeping Isupukiai River in the Maasai Mara Eco\u002Dsystem in Kenya. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EOl Seki Mara Camp enjoys panoramic views in ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var ol_seki_camp_iw = new google.maps.InfoWindow({content: ol_seki_camp_iw_content});
        infowindows.push(ol_seki_camp_iw);


    google.maps.event.addListener(ol_seki_camp_marker_deluxe, 'click', function() { closeAll(); ol_seki_camp_iw.open(map,ol_seki_camp_marker_deluxe); });
    //~ google.maps.event.addListener(ol_seki_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ol_seki_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ol_seki_camp_marker_deluxe.setIcon(ol_seki_camp_marker_deluxe_hovermarker);
        ol_seki_camp_ib.show();
    });
    google.maps.event.addListener(ol_seki_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ol_seki_camp_marker_deluxe.setIcon(ol_seki_camp_marker_deluxe_normalmarker);
        ol_seki_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.112639, 35.16037);
    

    

    var mara_paradise_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Paradise Lodge").width((19*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_paradise_lodge. Width is",c.width());
    var mara_paradise_lodge_ib_content = c.get(0);
    mara_paradise_lodge_ib.setContent(mara_paradise_lodge_ib_content);
    mara_paradise_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(19*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_paradise_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mara_paradise_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_paradise_lodge_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Paradise Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_paradise_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_paradise_lodge_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_paradise_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_paradise_lodge_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_paradise_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_paradise_lodge_marker_budget.setIcon(mara_paradise_lodge_marker_budget_normalmarker);
        }
        else{
            mara_paradise_lodge_marker_budget_normalmarker = new google.maps.MarkerImage(mara_paradise_lodge_icon_url, null, null, null, size);
            mara_paradise_lodge_marker_budget_hovermarker = new google.maps.MarkerImage(mara_paradise_lodge_icon_hover_url, null, null, null, size);
            mara_paradise_lodge_marker_budget.setIcon(mara_paradise_lodge_marker_budget_normalmarker);
        }
    }
    else{
        mara_paradise_lodge_marker_budget_normalmarker = new google.maps.MarkerImage(mara_paradise_lodge_icon_url, null, null, null, size);
        mara_paradise_lodge_marker_budget_hovermarker = new google.maps.MarkerImage(mara_paradise_lodge_icon_hover_url, null, null, null, size);
        mara_paradise_lodge_marker_budget.setIcon(mara_paradise_lodge_marker_budget_normalmarker);
    }

    mara_paradise_lodge_ib.open(map, mara_paradise_lodge_marker_budget);
    user_checked.push(mara_paradise_lodge_marker_budget);
    budget_markers.push(mara_paradise_lodge_marker_budget);
    all_accommodations_markers.push(mara_paradise_lodge_marker_budget);

    mara_paradise_lodge_ib.open(map, mara_paradise_lodge_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-paradise-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/mara_paradise_lodge_masai_mara_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_paradise_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Paradise Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Paradise Lodge is located on the periphery of Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_paradise_lodge_iw = new google.maps.InfoWindow({content: mara_paradise_lodge_iw_content});
        infowindows.push(mara_paradise_lodge_iw);


    google.maps.event.addListener(mara_paradise_lodge_marker_budget, 'click', function() { closeAll(); mara_paradise_lodge_iw.open(map,mara_paradise_lodge_marker_budget); });
    //~ google.maps.event.addListener(mara_paradise_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_paradise_lodge_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_paradise_lodge_marker_budget.setIcon(mara_paradise_lodge_marker_budget_hovermarker);
        mara_paradise_lodge_ib.show();
    });
    google.maps.event.addListener(mara_paradise_lodge_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_paradise_lodge_marker_budget.setIcon(mara_paradise_lodge_marker_budget_normalmarker);
        mara_paradise_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.327392, 35.173363);
    

    

    var porini_lion_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Porini Lion Camp").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for porini_lion_camp. Width is",c.width());
    var porini_lion_camp_ib_content = c.get(0);
    porini_lion_camp_ib.setContent(porini_lion_camp_ib_content);
    porini_lion_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var porini_lion_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var porini_lion_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var porini_lion_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Porini Lion Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+porini_lion_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            porini_lion_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+porini_lion_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            porini_lion_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+porini_lion_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            porini_lion_camp_marker_luxury.setIcon(porini_lion_camp_marker_luxury_normalmarker);
        }
        else{
            porini_lion_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(porini_lion_camp_icon_url, null, null, null, size);
            porini_lion_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(porini_lion_camp_icon_hover_url, null, null, null, size);
            porini_lion_camp_marker_luxury.setIcon(porini_lion_camp_marker_luxury_normalmarker);
        }
    }
    else{
        porini_lion_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(porini_lion_camp_icon_url, null, null, null, size);
        porini_lion_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(porini_lion_camp_icon_hover_url, null, null, null, size);
        porini_lion_camp_marker_luxury.setIcon(porini_lion_camp_marker_luxury_normalmarker);
    }

    porini_lion_camp_ib.open(map, porini_lion_camp_marker_luxury);
    user_checked.push(porini_lion_camp_marker_luxury);
    luxury_markers.push(porini_lion_camp_marker_luxury);
    all_accommodations_markers.push(porini_lion_camp_marker_luxury);

    porini_lion_camp_ib.open(map, porini_lion_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/porini-lion-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Porini-Lion-Camp-maasai-mara_3_jpg_80x80_q85.jpg" alt="" width="80" height="44" />';
        

        var porini_lion_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Porini Lion Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EPorini Lion Camp is located in the exclusive 20,000 acre Olare Orok Conservancy in the Maasai Mara Eco\u002Dsystem. This expansive conservancy, which borders the Maasai Mara National Reserve is ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var porini_lion_camp_iw = new google.maps.InfoWindow({content: porini_lion_camp_iw_content});
        infowindows.push(porini_lion_camp_iw);


    google.maps.event.addListener(porini_lion_camp_marker_luxury, 'click', function() { closeAll(); porini_lion_camp_iw.open(map,porini_lion_camp_marker_luxury); });
    //~ google.maps.event.addListener(porini_lion_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(porini_lion_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        porini_lion_camp_marker_luxury.setIcon(porini_lion_camp_marker_luxury_hovermarker);
        porini_lion_camp_ib.show();
    });
    google.maps.event.addListener(porini_lion_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        porini_lion_camp_marker_luxury.setIcon(porini_lion_camp_marker_luxury_normalmarker);
        porini_lion_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.42256231097, 35.0843669153);
    

    

    var rekero_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Rekero Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for rekero_camp. Width is",c.width());
    var rekero_camp_ib_content = c.get(0);
    rekero_camp_ib.setContent(rekero_camp_ib_content);
    rekero_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var rekero_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var rekero_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var rekero_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Rekero Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+rekero_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            rekero_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+rekero_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            rekero_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+rekero_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            rekero_camp_marker_luxury.setIcon(rekero_camp_marker_luxury_normalmarker);
        }
        else{
            rekero_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(rekero_camp_icon_url, null, null, null, size);
            rekero_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(rekero_camp_icon_hover_url, null, null, null, size);
            rekero_camp_marker_luxury.setIcon(rekero_camp_marker_luxury_normalmarker);
        }
    }
    else{
        rekero_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(rekero_camp_icon_url, null, null, null, size);
        rekero_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(rekero_camp_icon_hover_url, null, null, null, size);
        rekero_camp_marker_luxury.setIcon(rekero_camp_marker_luxury_normalmarker);
    }

    rekero_camp_ib.open(map, rekero_camp_marker_luxury);
    user_checked.push(rekero_camp_marker_luxury);
    luxury_markers.push(rekero_camp_marker_luxury);
    all_accommodations_markers.push(rekero_camp_marker_luxury);

    rekero_camp_ib.open(map, rekero_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/rekero-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Maasai-Mara-Rekero-Camp_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var rekero_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Rekero Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ERekero Camp is situated at what is recognised as the prime site within the world famous Maasai Mara (Masai Mara) National Reserve, close to the confluence of the Mara and ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var rekero_camp_iw = new google.maps.InfoWindow({content: rekero_camp_iw_content});
        infowindows.push(rekero_camp_iw);


    google.maps.event.addListener(rekero_camp_marker_luxury, 'click', function() { closeAll(); rekero_camp_iw.open(map,rekero_camp_marker_luxury); });
    //~ google.maps.event.addListener(rekero_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(rekero_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        rekero_camp_marker_luxury.setIcon(rekero_camp_marker_luxury_hovermarker);
        rekero_camp_ib.show();
    });
    google.maps.event.addListener(rekero_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        rekero_camp_marker_luxury.setIcon(rekero_camp_marker_luxury_normalmarker);
        rekero_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.23517958347, 35.0350570679);
    

    

    var sanctuary_olonana_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Sanctuary Olonana").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for sanctuary_olonana. Width is",c.width());
    var sanctuary_olonana_ib_content = c.get(0);
    sanctuary_olonana_ib.setContent(sanctuary_olonana_ib_content);
    sanctuary_olonana_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var sanctuary_olonana_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var sanctuary_olonana_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var sanctuary_olonana_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Sanctuary Olonana"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+sanctuary_olonana_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            sanctuary_olonana_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sanctuary_olonana_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sanctuary_olonana_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+sanctuary_olonana_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            sanctuary_olonana_marker_deluxe.setIcon(sanctuary_olonana_marker_deluxe_normalmarker);
        }
        else{
            sanctuary_olonana_marker_deluxe_normalmarker = new google.maps.MarkerImage(sanctuary_olonana_icon_url, null, null, null, size);
            sanctuary_olonana_marker_deluxe_hovermarker = new google.maps.MarkerImage(sanctuary_olonana_icon_hover_url, null, null, null, size);
            sanctuary_olonana_marker_deluxe.setIcon(sanctuary_olonana_marker_deluxe_normalmarker);
        }
    }
    else{
        sanctuary_olonana_marker_deluxe_normalmarker = new google.maps.MarkerImage(sanctuary_olonana_icon_url, null, null, null, size);
        sanctuary_olonana_marker_deluxe_hovermarker = new google.maps.MarkerImage(sanctuary_olonana_icon_hover_url, null, null, null, size);
        sanctuary_olonana_marker_deluxe.setIcon(sanctuary_olonana_marker_deluxe_normalmarker);
    }

    sanctuary_olonana_ib.open(map, sanctuary_olonana_marker_deluxe);
    user_checked.push(sanctuary_olonana_marker_deluxe);
    deluxe_markers.push(sanctuary_olonana_marker_deluxe);
    all_accommodations_markers.push(sanctuary_olonana_marker_deluxe);

    sanctuary_olonana_ib.open(map, sanctuary_olonana_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/sanctuary-olonana" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/olonanalodge2_small_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var sanctuary_olonana_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Sanctuary Olonana</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESanctuary Olonana is an award\u002Dwinning tented camp on a private stretch of the Mara River, at the foot of the impressive Siria Escarpment close to where the famous last scene ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var sanctuary_olonana_iw = new google.maps.InfoWindow({content: sanctuary_olonana_iw_content});
        infowindows.push(sanctuary_olonana_iw);


    google.maps.event.addListener(sanctuary_olonana_marker_deluxe, 'click', function() { closeAll(); sanctuary_olonana_iw.open(map,sanctuary_olonana_marker_deluxe); });
    //~ google.maps.event.addListener(sanctuary_olonana_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(sanctuary_olonana_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        sanctuary_olonana_marker_deluxe.setIcon(sanctuary_olonana_marker_deluxe_hovermarker);
        sanctuary_olonana_ib.show();
    });
    google.maps.event.addListener(sanctuary_olonana_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        sanctuary_olonana_marker_deluxe.setIcon(sanctuary_olonana_marker_deluxe_normalmarker);
        sanctuary_olonana_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.176141, 35.0746245397);
    

    

    var serian_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Serian Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for serian_camp. Width is",c.width());
    var serian_camp_ib_content = c.get(0);
    serian_camp_ib.setContent(serian_camp_ib_content);
    serian_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var serian_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var serian_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var serian_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Serian Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+serian_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            serian_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+serian_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            serian_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+serian_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            serian_camp_marker_luxury.setIcon(serian_camp_marker_luxury_normalmarker);
        }
        else{
            serian_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(serian_camp_icon_url, null, null, null, size);
            serian_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(serian_camp_icon_hover_url, null, null, null, size);
            serian_camp_marker_luxury.setIcon(serian_camp_marker_luxury_normalmarker);
        }
    }
    else{
        serian_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(serian_camp_icon_url, null, null, null, size);
        serian_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(serian_camp_icon_hover_url, null, null, null, size);
        serian_camp_marker_luxury.setIcon(serian_camp_marker_luxury_normalmarker);
    }

    serian_camp_ib.open(map, serian_camp_marker_luxury);
    user_checked.push(serian_camp_marker_luxury);
    luxury_markers.push(serian_camp_marker_luxury);
    all_accommodations_markers.push(serian_camp_marker_luxury);

    serian_camp_ib.open(map, serian_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/serian-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai20Mara20-20Serian201_gif_80x80_q85.jpg" alt="" width="80" height="69" />';
        

        var serian_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Serian Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESerian Camp is an exclusive wilderness camp set alongside a secluded valley flanking the Mara river, close to the Siria escarpment in the Maasai Mara (Masai Mara) Eco\u002Dsystem.\u003C/p\u003E\u000A\u000A' +
            read_more +
        '</div>';

        var serian_camp_iw = new google.maps.InfoWindow({content: serian_camp_iw_content});
        infowindows.push(serian_camp_iw);


    google.maps.event.addListener(serian_camp_marker_luxury, 'click', function() { closeAll(); serian_camp_iw.open(map,serian_camp_marker_luxury); });
    //~ google.maps.event.addListener(serian_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(serian_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        serian_camp_marker_luxury.setIcon(serian_camp_marker_luxury_hovermarker);
        serian_camp_ib.show();
    });
    google.maps.event.addListener(serian_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        serian_camp_marker_luxury.setIcon(serian_camp_marker_luxury_normalmarker);
        serian_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.461581, 35.244184);
    

    

    var tipilikwani_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Tipilikwani Camp").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for tipilikwani_camp. Width is",c.width());
    var tipilikwani_camp_ib_content = c.get(0);
    tipilikwani_camp_ib.setContent(tipilikwani_camp_ib_content);
    tipilikwani_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var tipilikwani_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var tipilikwani_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var tipilikwani_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Tipilikwani Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+tipilikwani_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            tipilikwani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+tipilikwani_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            tipilikwani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+tipilikwani_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            tipilikwani_camp_marker_deluxe.setIcon(tipilikwani_camp_marker_deluxe_normalmarker);
        }
        else{
            tipilikwani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(tipilikwani_camp_icon_url, null, null, null, size);
            tipilikwani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(tipilikwani_camp_icon_hover_url, null, null, null, size);
            tipilikwani_camp_marker_deluxe.setIcon(tipilikwani_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        tipilikwani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(tipilikwani_camp_icon_url, null, null, null, size);
        tipilikwani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(tipilikwani_camp_icon_hover_url, null, null, null, size);
        tipilikwani_camp_marker_deluxe.setIcon(tipilikwani_camp_marker_deluxe_normalmarker);
    }

    tipilikwani_camp_ib.open(map, tipilikwani_camp_marker_deluxe);
    user_checked.push(tipilikwani_camp_marker_deluxe);
    deluxe_markers.push(tipilikwani_camp_marker_deluxe);
    all_accommodations_markers.push(tipilikwani_camp_marker_deluxe);

    tipilikwani_camp_ib.open(map, tipilikwani_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/tipilikwani-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Tipilikwani-cam-_JPG_80x80_q85.jpg" alt="" width="80" height="51" />';
        

        var tipilikwani_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Tipilikwani Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOverlooking the vastness of the Masai Mara plains from the banks of River Talek is an exclusive, intimate yet vibrant Camp of 20 luxuriously appointed riverfront tents.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EThe camp exudes ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var tipilikwani_camp_iw = new google.maps.InfoWindow({content: tipilikwani_camp_iw_content});
        infowindows.push(tipilikwani_camp_iw);


    google.maps.event.addListener(tipilikwani_camp_marker_deluxe, 'click', function() { closeAll(); tipilikwani_camp_iw.open(map,tipilikwani_camp_marker_deluxe); });
    //~ google.maps.event.addListener(tipilikwani_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(tipilikwani_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        tipilikwani_camp_marker_deluxe.setIcon(tipilikwani_camp_marker_deluxe_hovermarker);
        tipilikwani_camp_ib.show();
    });
    google.maps.event.addListener(tipilikwani_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        tipilikwani_camp_marker_deluxe.setIcon(tipilikwani_camp_marker_deluxe_normalmarker);
        tipilikwani_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.345204, 35.708842);
    

    

    var maji_moto_eco_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Maji Moto Eco Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for maji_moto_eco_camp. Width is",c.width());
    var maji_moto_eco_camp_ib_content = c.get(0);
    maji_moto_eco_camp_ib.setContent(maji_moto_eco_camp_ib_content);
    maji_moto_eco_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var maji_moto_eco_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var maji_moto_eco_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var maji_moto_eco_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Maji Moto Eco Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+maji_moto_eco_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            maji_moto_eco_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+maji_moto_eco_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            maji_moto_eco_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+maji_moto_eco_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            maji_moto_eco_camp_marker_budget.setIcon(maji_moto_eco_camp_marker_budget_normalmarker);
        }
        else{
            maji_moto_eco_camp_marker_budget_normalmarker = new google.maps.MarkerImage(maji_moto_eco_camp_icon_url, null, null, null, size);
            maji_moto_eco_camp_marker_budget_hovermarker = new google.maps.MarkerImage(maji_moto_eco_camp_icon_hover_url, null, null, null, size);
            maji_moto_eco_camp_marker_budget.setIcon(maji_moto_eco_camp_marker_budget_normalmarker);
        }
    }
    else{
        maji_moto_eco_camp_marker_budget_normalmarker = new google.maps.MarkerImage(maji_moto_eco_camp_icon_url, null, null, null, size);
        maji_moto_eco_camp_marker_budget_hovermarker = new google.maps.MarkerImage(maji_moto_eco_camp_icon_hover_url, null, null, null, size);
        maji_moto_eco_camp_marker_budget.setIcon(maji_moto_eco_camp_marker_budget_normalmarker);
    }

    maji_moto_eco_camp_ib.open(map, maji_moto_eco_camp_marker_budget);
    user_checked.push(maji_moto_eco_camp_marker_budget);
    budget_markers.push(maji_moto_eco_camp_marker_budget);
    all_accommodations_markers.push(maji_moto_eco_camp_marker_budget);

    maji_moto_eco_camp_ib.open(map, maji_moto_eco_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/maji-moto-eco-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Maji_Moto_Eco_Camp_3_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var maji_moto_eco_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Maji Moto Eco Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMaji Moto Eco Camp is situated in a local Maasai village in the world renowned Maasai Mara National Reserve.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EMaji Moto Eco Camp is an ideal site for camping safaris.\u003C/p\u003E' +
            read_more +
        '</div>';

        var maji_moto_eco_camp_iw = new google.maps.InfoWindow({content: maji_moto_eco_camp_iw_content});
        infowindows.push(maji_moto_eco_camp_iw);


    google.maps.event.addListener(maji_moto_eco_camp_marker_budget, 'click', function() { closeAll(); maji_moto_eco_camp_iw.open(map,maji_moto_eco_camp_marker_budget); });
    //~ google.maps.event.addListener(maji_moto_eco_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(maji_moto_eco_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        maji_moto_eco_camp_marker_budget.setIcon(maji_moto_eco_camp_marker_budget_hovermarker);
        maji_moto_eco_camp_ib.show();
    });
    google.maps.event.addListener(maji_moto_eco_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        maji_moto_eco_camp_marker_budget.setIcon(maji_moto_eco_camp_marker_budget_normalmarker);
        maji_moto_eco_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.247193, 35.068703);
    

    

    var acaluma_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Acaluma Camp").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for acaluma_camp. Width is",c.width());
    var acaluma_camp_ib_content = c.get(0);
    acaluma_camp_ib.setContent(acaluma_camp_ib_content);
    acaluma_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var acaluma_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var acaluma_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var acaluma_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Acaluma Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+acaluma_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            acaluma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acaluma_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acaluma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acaluma_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acaluma_camp_marker_mid_range.setIcon(acaluma_camp_marker_mid_range_normalmarker);
        }
        else{
            acaluma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(acaluma_camp_icon_url, null, null, null, size);
            acaluma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(acaluma_camp_icon_hover_url, null, null, null, size);
            acaluma_camp_marker_mid_range.setIcon(acaluma_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        acaluma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(acaluma_camp_icon_url, null, null, null, size);
        acaluma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(acaluma_camp_icon_hover_url, null, null, null, size);
        acaluma_camp_marker_mid_range.setIcon(acaluma_camp_marker_mid_range_normalmarker);
    }

    acaluma_camp_ib.open(map, acaluma_camp_marker_mid_range);
    user_checked.push(acaluma_camp_marker_mid_range);
    mid_range_markers.push(acaluma_camp_marker_mid_range);
    all_accommodations_markers.push(acaluma_camp_marker_mid_range);

    acaluma_camp_ib.open(map, acaluma_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/acaluma-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Mess_Tent__jpg_519x2000_q85_1_jpg_80x80_q85.jpg" alt="" width="80" height="44" />';
        

        var acaluma_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Acaluma Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EAcaluma camp is a new camp situated in the Mara North Conservancy area in close proximity to the Musiara Gate (2 Kms) of the Maasai Mara National Reserve at approximately ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var acaluma_camp_iw = new google.maps.InfoWindow({content: acaluma_camp_iw_content});
        infowindows.push(acaluma_camp_iw);


    google.maps.event.addListener(acaluma_camp_marker_mid_range, 'click', function() { closeAll(); acaluma_camp_iw.open(map,acaluma_camp_marker_mid_range); });
    //~ google.maps.event.addListener(acaluma_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(acaluma_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        acaluma_camp_marker_mid_range.setIcon(acaluma_camp_marker_mid_range_hovermarker);
        acaluma_camp_ib.show();
    });
    google.maps.event.addListener(acaluma_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        acaluma_camp_marker_mid_range.setIcon(acaluma_camp_marker_mid_range_normalmarker);
        acaluma_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.51851, 35.352116);
    

    

    var oltome_mara_magic_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Oltome Mara Magic").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for oltome_mara_magic. Width is",c.width());
    var oltome_mara_magic_ib_content = c.get(0);
    oltome_mara_magic_ib.setContent(oltome_mara_magic_ib_content);
    oltome_mara_magic_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var oltome_mara_magic_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var oltome_mara_magic_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var oltome_mara_magic_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Oltome Mara Magic"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+oltome_mara_magic_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            oltome_mara_magic_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+oltome_mara_magic_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            oltome_mara_magic_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+oltome_mara_magic_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            oltome_mara_magic_marker_mid_range.setIcon(oltome_mara_magic_marker_mid_range_normalmarker);
        }
        else{
            oltome_mara_magic_marker_mid_range_normalmarker = new google.maps.MarkerImage(oltome_mara_magic_icon_url, null, null, null, size);
            oltome_mara_magic_marker_mid_range_hovermarker = new google.maps.MarkerImage(oltome_mara_magic_icon_hover_url, null, null, null, size);
            oltome_mara_magic_marker_mid_range.setIcon(oltome_mara_magic_marker_mid_range_normalmarker);
        }
    }
    else{
        oltome_mara_magic_marker_mid_range_normalmarker = new google.maps.MarkerImage(oltome_mara_magic_icon_url, null, null, null, size);
        oltome_mara_magic_marker_mid_range_hovermarker = new google.maps.MarkerImage(oltome_mara_magic_icon_hover_url, null, null, null, size);
        oltome_mara_magic_marker_mid_range.setIcon(oltome_mara_magic_marker_mid_range_normalmarker);
    }

    oltome_mara_magic_ib.open(map, oltome_mara_magic_marker_mid_range);
    user_checked.push(oltome_mara_magic_marker_mid_range);
    mid_range_markers.push(oltome_mara_magic_marker_mid_range);
    all_accommodations_markers.push(oltome_mara_magic_marker_mid_range);

    oltome_mara_magic_ib.open(map, oltome_mara_magic_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/oltome-mara-magic" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Bush_Meals_JPG_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var oltome_mara_magic_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Oltome Mara Magic</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOltome Mara Magic is located deep within the wild, green leafy bush in the Siana Conservancy, just a few minutes drive from Sekenani gate of the Maasai Mara National Reserve. \u003C/p\u003E' +
            read_more +
        '</div>';

        var oltome_mara_magic_iw = new google.maps.InfoWindow({content: oltome_mara_magic_iw_content});
        infowindows.push(oltome_mara_magic_iw);


    google.maps.event.addListener(oltome_mara_magic_marker_mid_range, 'click', function() { closeAll(); oltome_mara_magic_iw.open(map,oltome_mara_magic_marker_mid_range); });
    //~ google.maps.event.addListener(oltome_mara_magic_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(oltome_mara_magic_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        oltome_mara_magic_marker_mid_range.setIcon(oltome_mara_magic_marker_mid_range_hovermarker);
        oltome_mara_magic_ib.show();
    });
    google.maps.event.addListener(oltome_mara_magic_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        oltome_mara_magic_marker_mid_range.setIcon(oltome_mara_magic_marker_mid_range_normalmarker);
        oltome_mara_magic_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.440882, 35.067973);
    

    

    var matira_bush_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Matira Bush Camp").width((16*12*0.7).toString()+"px");
    console.log("Cloned infobox div for matira_bush_camp. Width is",c.width());
    var matira_bush_camp_ib_content = c.get(0);
    matira_bush_camp_ib.setContent(matira_bush_camp_ib_content);
    matira_bush_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(16*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var matira_bush_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var matira_bush_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var matira_bush_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Matira Bush Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+matira_bush_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            matira_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+matira_bush_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            matira_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+matira_bush_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            matira_bush_camp_marker_mid_range.setIcon(matira_bush_camp_marker_mid_range_normalmarker);
        }
        else{
            matira_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(matira_bush_camp_icon_url, null, null, null, size);
            matira_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(matira_bush_camp_icon_hover_url, null, null, null, size);
            matira_bush_camp_marker_mid_range.setIcon(matira_bush_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        matira_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(matira_bush_camp_icon_url, null, null, null, size);
        matira_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(matira_bush_camp_icon_hover_url, null, null, null, size);
        matira_bush_camp_marker_mid_range.setIcon(matira_bush_camp_marker_mid_range_normalmarker);
    }

    matira_bush_camp_ib.open(map, matira_bush_camp_marker_mid_range);
    user_checked.push(matira_bush_camp_marker_mid_range);
    mid_range_markers.push(matira_bush_camp_marker_mid_range);
    all_accommodations_markers.push(matira_bush_camp_marker_mid_range);

    matira_bush_camp_ib.open(map, matira_bush_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/matira-bush-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/matira_bush_camp_masai_mara_8_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var matira_bush_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Matira Bush Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMatira Bush Camp is located in the heart of the Maasai Mara Natioanl Reserve, close to the junction of the Mara River and the Talek river.\u003C/p\u003E' +
            read_more +
        '</div>';

        var matira_bush_camp_iw = new google.maps.InfoWindow({content: matira_bush_camp_iw_content});
        infowindows.push(matira_bush_camp_iw);


    google.maps.event.addListener(matira_bush_camp_marker_mid_range, 'click', function() { closeAll(); matira_bush_camp_iw.open(map,matira_bush_camp_marker_mid_range); });
    //~ google.maps.event.addListener(matira_bush_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(matira_bush_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        matira_bush_camp_marker_mid_range.setIcon(matira_bush_camp_marker_mid_range_hovermarker);
        matira_bush_camp_ib.show();
    });
    google.maps.event.addListener(matira_bush_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        matira_bush_camp_marker_mid_range.setIcon(matira_bush_camp_marker_mid_range_normalmarker);
        matira_bush_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.432194, 35.062695);
    

    

    var mara_ngenche_luxury_tented_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Ngenche Luxury Tented Camp").width((31*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_ngenche_luxury_tented_camp. Width is",c.width());
    var mara_ngenche_luxury_tented_camp_ib_content = c.get(0);
    mara_ngenche_luxury_tented_camp_ib.setContent(mara_ngenche_luxury_tented_camp_ib_content);
    mara_ngenche_luxury_tented_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(31*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_ngenche_luxury_tented_camp_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var mara_ngenche_luxury_tented_camp_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover.png";
    var mara_ngenche_luxury_tented_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Ngenche Luxury Tented Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_ngenche_luxury_tented_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_ngenche_luxury_tented_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_ngenche_luxury_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_ngenche_luxury_tented_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_ngenche_luxury_tented_camp_marker_deluxe.setIcon(mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker);
        }
        else{
            mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_ngenche_luxury_tented_camp_icon_url, null, null, null, size);
            mara_ngenche_luxury_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_ngenche_luxury_tented_camp_icon_hover_url, null, null, null, size);
            mara_ngenche_luxury_tented_camp_marker_deluxe.setIcon(mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_ngenche_luxury_tented_camp_icon_url, null, null, null, size);
        mara_ngenche_luxury_tented_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_ngenche_luxury_tented_camp_icon_hover_url, null, null, null, size);
        mara_ngenche_luxury_tented_camp_marker_deluxe.setIcon(mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker);
    }

    mara_ngenche_luxury_tented_camp_ib.open(map, mara_ngenche_luxury_tented_camp_marker_deluxe);
    user_checked.push(mara_ngenche_luxury_tented_camp_marker_deluxe);
    deluxe_markers.push(mara_ngenche_luxury_tented_camp_marker_deluxe);
    all_accommodations_markers.push(mara_ngenche_luxury_tented_camp_marker_deluxe);

    mara_ngenche_luxury_tented_camp_ib.open(map, mara_ngenche_luxury_tented_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-ngenche-luxury-tented-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/mara_ngenche_tented_camp_masai_mara_maasaimara_8_jpg_80x80_q85.jpg" alt="" width="80" height="44" />';
        

        var mara_ngenche_luxury_tented_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Ngenche Luxury Tented Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Ngenche Luxury Tented Camp is located in the Maasai Mara National Reserce, with an astonishing view of the confluence of Mara and Talek Rivers which is home to a ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_ngenche_luxury_tented_camp_iw = new google.maps.InfoWindow({content: mara_ngenche_luxury_tented_camp_iw_content});
        infowindows.push(mara_ngenche_luxury_tented_camp_iw);


    google.maps.event.addListener(mara_ngenche_luxury_tented_camp_marker_deluxe, 'click', function() { closeAll(); mara_ngenche_luxury_tented_camp_iw.open(map,mara_ngenche_luxury_tented_camp_marker_deluxe); });
    //~ google.maps.event.addListener(mara_ngenche_luxury_tented_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_ngenche_luxury_tented_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_ngenche_luxury_tented_camp_marker_deluxe.setIcon(mara_ngenche_luxury_tented_camp_marker_deluxe_hovermarker);
        mara_ngenche_luxury_tented_camp_ib.show();
    });
    google.maps.event.addListener(mara_ngenche_luxury_tented_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_ngenche_luxury_tented_camp_marker_deluxe.setIcon(mara_ngenche_luxury_tented_camp_marker_deluxe_normalmarker);
        mara_ngenche_luxury_tented_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.45004049736, 35.0604629517);
    

    

    var entim_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Entim Safari Camp").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for entim_safari_camp. Width is",c.width());
    var entim_safari_camp_ib_content = c.get(0);
    entim_safari_camp_ib.setContent(entim_safari_camp_ib_content);
    entim_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var entim_safari_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var entim_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var entim_safari_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Entim Safari Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+entim_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            entim_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+entim_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            entim_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+entim_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            entim_safari_camp_marker_deluxe.setIcon(entim_safari_camp_marker_deluxe_normalmarker);
        }
        else{
            entim_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(entim_safari_camp_icon_url, null, null, null, size);
            entim_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(entim_safari_camp_icon_hover_url, null, null, null, size);
            entim_safari_camp_marker_deluxe.setIcon(entim_safari_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        entim_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(entim_safari_camp_icon_url, null, null, null, size);
        entim_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(entim_safari_camp_icon_hover_url, null, null, null, size);
        entim_safari_camp_marker_deluxe.setIcon(entim_safari_camp_marker_deluxe_normalmarker);
    }

    entim_safari_camp_ib.open(map, entim_safari_camp_marker_deluxe);
    user_checked.push(entim_safari_camp_marker_deluxe);
    deluxe_markers.push(entim_safari_camp_marker_deluxe);
    all_accommodations_markers.push(entim_safari_camp_marker_deluxe);

    entim_safari_camp_ib.open(map, entim_safari_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/entim-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Entim_Camp_-_Maasai_Mara_1_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var entim_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Entim Safari Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EEntim Camp is situated in the Maasai Mara National Reserve, overlooking the plains and the Mara River. \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EA Entim camp, guests have the luxury of spending maximum time at designated ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var entim_safari_camp_iw = new google.maps.InfoWindow({content: entim_safari_camp_iw_content});
        infowindows.push(entim_safari_camp_iw);


    google.maps.event.addListener(entim_safari_camp_marker_deluxe, 'click', function() { closeAll(); entim_safari_camp_iw.open(map,entim_safari_camp_marker_deluxe); });
    //~ google.maps.event.addListener(entim_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(entim_safari_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        entim_safari_camp_marker_deluxe.setIcon(entim_safari_camp_marker_deluxe_hovermarker);
        entim_safari_camp_ib.show();
    });
    google.maps.event.addListener(entim_safari_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        entim_safari_camp_marker_deluxe.setIcon(entim_safari_camp_marker_deluxe_normalmarker);
        entim_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.404307, 35.109646);
    

    

    var mara_bush_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Bush Camp").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_bush_camp. Width is",c.width());
    var mara_bush_camp_ib_content = c.get(0);
    mara_bush_camp_ib.setContent(mara_bush_camp_ib_content);
    mara_bush_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_bush_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_bush_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_bush_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Bush Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_bush_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_bush_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_bush_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_bush_camp_marker_mid_range.setIcon(mara_bush_camp_marker_mid_range_normalmarker);
        }
        else{
            mara_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_bush_camp_icon_url, null, null, null, size);
            mara_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_bush_camp_icon_hover_url, null, null, null, size);
            mara_bush_camp_marker_mid_range.setIcon(mara_bush_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_bush_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_bush_camp_icon_url, null, null, null, size);
        mara_bush_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_bush_camp_icon_hover_url, null, null, null, size);
        mara_bush_camp_marker_mid_range.setIcon(mara_bush_camp_marker_mid_range_normalmarker);
    }

    mara_bush_camp_ib.open(map, mara_bush_camp_marker_mid_range);
    user_checked.push(mara_bush_camp_marker_mid_range);
    mid_range_markers.push(mara_bush_camp_marker_mid_range);
    all_accommodations_markers.push(mara_bush_camp_marker_mid_range);

    mara_bush_camp_ib.open(map, mara_bush_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-bush-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/marabushcamp6_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_bush_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Bush Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Bush Camp is a mobile camp and discreetly ‘tucked away’ in a riverine forest on the banks of the seasonal Olare Orok River.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_bush_camp_iw = new google.maps.InfoWindow({content: mara_bush_camp_iw_content});
        infowindows.push(mara_bush_camp_iw);


    google.maps.event.addListener(mara_bush_camp_marker_mid_range, 'click', function() { closeAll(); mara_bush_camp_iw.open(map,mara_bush_camp_marker_mid_range); });
    //~ google.maps.event.addListener(mara_bush_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_bush_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_bush_camp_marker_mid_range.setIcon(mara_bush_camp_marker_mid_range_hovermarker);
        mara_bush_camp_ib.show();
    });
    google.maps.event.addListener(mara_bush_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_bush_camp_marker_mid_range.setIcon(mara_bush_camp_marker_mid_range_normalmarker);
        mara_bush_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.5657, 35.389709);
    

    

    var entumoto_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Entumoto Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for entumoto_camp. Width is",c.width());
    var entumoto_camp_ib_content = c.get(0);
    entumoto_camp_ib.setContent(entumoto_camp_ib_content);
    entumoto_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var entumoto_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var entumoto_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var entumoto_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Entumoto tented safari camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+entumoto_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            entumoto_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+entumoto_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            entumoto_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+entumoto_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            entumoto_camp_marker_deluxe.setIcon(entumoto_camp_marker_deluxe_normalmarker);
        }
        else{
            entumoto_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(entumoto_camp_icon_url, null, null, null, size);
            entumoto_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(entumoto_camp_icon_hover_url, null, null, null, size);
            entumoto_camp_marker_deluxe.setIcon(entumoto_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        entumoto_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(entumoto_camp_icon_url, null, null, null, size);
        entumoto_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(entumoto_camp_icon_hover_url, null, null, null, size);
        entumoto_camp_marker_deluxe.setIcon(entumoto_camp_marker_deluxe_normalmarker);
    }

    entumoto_camp_ib.open(map, entumoto_camp_marker_deluxe);
    user_checked.push(entumoto_camp_marker_deluxe);
    deluxe_markers.push(entumoto_camp_marker_deluxe);
    all_accommodations_markers.push(entumoto_camp_marker_deluxe);

    entumoto_camp_ib.open(map, entumoto_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/entumoto-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/entumoto10_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var entumoto_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Entumoto Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EEntumoto is a personal, luxury tented camp located in the Maasai Mara National Reserve in Kenya.\u003C/p\u003E' +
            read_more +
        '</div>';

        var entumoto_camp_iw = new google.maps.InfoWindow({content: entumoto_camp_iw_content});
        infowindows.push(entumoto_camp_iw);


    google.maps.event.addListener(entumoto_camp_marker_deluxe, 'click', function() { closeAll(); entumoto_camp_iw.open(map,entumoto_camp_marker_deluxe); });
    //~ google.maps.event.addListener(entumoto_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(entumoto_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        entumoto_camp_marker_deluxe.setIcon(entumoto_camp_marker_deluxe_hovermarker);
        entumoto_camp_ib.show();
    });
    google.maps.event.addListener(entumoto_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        entumoto_camp_marker_deluxe.setIcon(entumoto_camp_marker_deluxe_normalmarker);
        entumoto_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.436312, 35.206547);
    

    

    var camp_oloshaiki_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Camp Oloshaiki").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for camp_oloshaiki. Width is",c.width());
    var camp_oloshaiki_ib_content = c.get(0);
    camp_oloshaiki_ib.setContent(camp_oloshaiki_ib_content);
    camp_oloshaiki_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var camp_oloshaiki_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var camp_oloshaiki_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var camp_oloshaiki_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Camp Oloshaiki"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+camp_oloshaiki_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            camp_oloshaiki_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+camp_oloshaiki_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            camp_oloshaiki_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+camp_oloshaiki_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            camp_oloshaiki_marker_mid_range.setIcon(camp_oloshaiki_marker_mid_range_normalmarker);
        }
        else{
            camp_oloshaiki_marker_mid_range_normalmarker = new google.maps.MarkerImage(camp_oloshaiki_icon_url, null, null, null, size);
            camp_oloshaiki_marker_mid_range_hovermarker = new google.maps.MarkerImage(camp_oloshaiki_icon_hover_url, null, null, null, size);
            camp_oloshaiki_marker_mid_range.setIcon(camp_oloshaiki_marker_mid_range_normalmarker);
        }
    }
    else{
        camp_oloshaiki_marker_mid_range_normalmarker = new google.maps.MarkerImage(camp_oloshaiki_icon_url, null, null, null, size);
        camp_oloshaiki_marker_mid_range_hovermarker = new google.maps.MarkerImage(camp_oloshaiki_icon_hover_url, null, null, null, size);
        camp_oloshaiki_marker_mid_range.setIcon(camp_oloshaiki_marker_mid_range_normalmarker);
    }

    camp_oloshaiki_ib.open(map, camp_oloshaiki_marker_mid_range);
    user_checked.push(camp_oloshaiki_marker_mid_range);
    mid_range_markers.push(camp_oloshaiki_marker_mid_range);
    all_accommodations_markers.push(camp_oloshaiki_marker_mid_range);

    camp_oloshaiki_ib.open(map, camp_oloshaiki_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/camp-oloshaiki" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/masai-mara-maasai-oloshaiki-camp_4_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var camp_oloshaiki_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Camp Oloshaiki</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ECamp Oloshaiki is an exclusive camp located near the Talek River, overlooking the Posee plains of the Maasai Mara. \u003C/p\u003E' +
            read_more +
        '</div>';

        var camp_oloshaiki_iw = new google.maps.InfoWindow({content: camp_oloshaiki_iw_content});
        infowindows.push(camp_oloshaiki_iw);


    google.maps.event.addListener(camp_oloshaiki_marker_mid_range, 'click', function() { closeAll(); camp_oloshaiki_iw.open(map,camp_oloshaiki_marker_mid_range); });
    //~ google.maps.event.addListener(camp_oloshaiki_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(camp_oloshaiki_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        camp_oloshaiki_marker_mid_range.setIcon(camp_oloshaiki_marker_mid_range_hovermarker);
        camp_oloshaiki_ib.show();
    });
    google.maps.event.addListener(camp_oloshaiki_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        camp_oloshaiki_marker_mid_range.setIcon(camp_oloshaiki_marker_mid_range_normalmarker);
        camp_oloshaiki_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.464026, 35.288687);
    

    

    var kimana_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kimana Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kimana_camp. Width is",c.width());
    var kimana_camp_ib_content = c.get(0);
    kimana_camp_ib.setContent(kimana_camp_ib_content);
    kimana_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kimana_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var kimana_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var kimana_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Kimana Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kimana_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kimana_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kimana_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kimana_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kimana_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kimana_camp_marker_mid_range.setIcon(kimana_camp_marker_mid_range_normalmarker);
        }
        else{
            kimana_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kimana_camp_icon_url, null, null, null, size);
            kimana_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kimana_camp_icon_hover_url, null, null, null, size);
            kimana_camp_marker_mid_range.setIcon(kimana_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        kimana_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(kimana_camp_icon_url, null, null, null, size);
        kimana_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(kimana_camp_icon_hover_url, null, null, null, size);
        kimana_camp_marker_mid_range.setIcon(kimana_camp_marker_mid_range_normalmarker);
    }

    kimana_camp_ib.open(map, kimana_camp_marker_mid_range);
    user_checked.push(kimana_camp_marker_mid_range);
    mid_range_markers.push(kimana_camp_marker_mid_range);
    all_accommodations_markers.push(kimana_camp_marker_mid_range);

    kimana_camp_ib.open(map, kimana_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kimana-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/breakfast_1_jpg_80x80_q85.jpg" alt="" width="80" height="54" />';
        

        var kimana_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Kimana Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKimana Camp is a small tented camp, situated on the banks of Sekenani River 2kms from Sekenani Gate within the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var kimana_camp_iw = new google.maps.InfoWindow({content: kimana_camp_iw_content});
        infowindows.push(kimana_camp_iw);


    google.maps.event.addListener(kimana_camp_marker_mid_range, 'click', function() { closeAll(); kimana_camp_iw.open(map,kimana_camp_marker_mid_range); });
    //~ google.maps.event.addListener(kimana_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kimana_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kimana_camp_marker_mid_range.setIcon(kimana_camp_marker_mid_range_hovermarker);
        kimana_camp_ib.show();
    });
    google.maps.event.addListener(kimana_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kimana_camp_marker_mid_range.setIcon(kimana_camp_marker_mid_range_normalmarker);
        kimana_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.420931, 35.329499);
    

    

    var encounter_mara_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Encounter Mara").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for encounter_mara. Width is",c.width());
    var encounter_mara_ib_content = c.get(0);
    encounter_mara_ib.setContent(encounter_mara_ib_content);
    encounter_mara_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var encounter_mara_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var encounter_mara_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var encounter_mara_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Encounter Mara "
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+encounter_mara_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            encounter_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+encounter_mara_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            encounter_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+encounter_mara_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            encounter_mara_marker_mid_range.setIcon(encounter_mara_marker_mid_range_normalmarker);
        }
        else{
            encounter_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage(encounter_mara_icon_url, null, null, null, size);
            encounter_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage(encounter_mara_icon_hover_url, null, null, null, size);
            encounter_mara_marker_mid_range.setIcon(encounter_mara_marker_mid_range_normalmarker);
        }
    }
    else{
        encounter_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage(encounter_mara_icon_url, null, null, null, size);
        encounter_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage(encounter_mara_icon_hover_url, null, null, null, size);
        encounter_mara_marker_mid_range.setIcon(encounter_mara_marker_mid_range_normalmarker);
    }

    encounter_mara_ib.open(map, encounter_mara_marker_mid_range);
    user_checked.push(encounter_mara_marker_mid_range);
    mid_range_markers.push(encounter_mara_marker_mid_range);
    all_accommodations_markers.push(encounter_mara_marker_mid_range);

    encounter_mara_ib.open(map, encounter_mara_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/encounter-mara" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent_encounter_mara_masai_mara_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var encounter_mara_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Encounter Mara</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EEncounter Mara is an exclusive, semi\u002Dluxury, eco\u002Dfriendly tented safari camp in the world\u002Dfamous Maasai Mara situated in the private Mara Naboisho Conservancy.\u003C/p\u003E' +
            read_more +
        '</div>';

        var encounter_mara_iw = new google.maps.InfoWindow({content: encounter_mara_iw_content});
        infowindows.push(encounter_mara_iw);


    google.maps.event.addListener(encounter_mara_marker_mid_range, 'click', function() { closeAll(); encounter_mara_iw.open(map,encounter_mara_marker_mid_range); });
    //~ google.maps.event.addListener(encounter_mara_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(encounter_mara_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        encounter_mara_marker_mid_range.setIcon(encounter_mara_marker_mid_range_hovermarker);
        encounter_mara_ib.show();
    });
    google.maps.event.addListener(encounter_mara_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        encounter_mara_marker_mid_range.setIcon(encounter_mara_marker_mid_range_normalmarker);
        encounter_mara_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.111953, 35.176678);
    

    

    var duma_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Duma Camp").width((9*12*0.7).toString()+"px");
    console.log("Cloned infobox div for duma_camp. Width is",c.width());
    var duma_camp_ib_content = c.get(0);
    duma_camp_ib.setContent(duma_camp_ib_content);
    duma_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(9*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var duma_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var duma_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var duma_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Duma Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+duma_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            duma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+duma_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            duma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+duma_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            duma_camp_marker_mid_range.setIcon(duma_camp_marker_mid_range_normalmarker);
        }
        else{
            duma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(duma_camp_icon_url, null, null, null, size);
            duma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(duma_camp_icon_hover_url, null, null, null, size);
            duma_camp_marker_mid_range.setIcon(duma_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        duma_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(duma_camp_icon_url, null, null, null, size);
        duma_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(duma_camp_icon_hover_url, null, null, null, size);
        duma_camp_marker_mid_range.setIcon(duma_camp_marker_mid_range_normalmarker);
    }

    duma_camp_ib.open(map, duma_camp_marker_mid_range);
    user_checked.push(duma_camp_marker_mid_range);
    mid_range_markers.push(duma_camp_marker_mid_range);
    all_accommodations_markers.push(duma_camp_marker_mid_range);

    duma_camp_ib.open(map, duma_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/duma-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent_5_jpg_80x80_q85.jpg" alt="" width="80" height="39" />';
        

        var duma_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Duma Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EDuma Safari Camp is situated in the stunning Maasai Mara National Reserve, this private camp promises guests a holiday of a lifetime!\u003C/p\u003E' +
            read_more +
        '</div>';

        var duma_camp_iw = new google.maps.InfoWindow({content: duma_camp_iw_content});
        infowindows.push(duma_camp_iw);


    google.maps.event.addListener(duma_camp_marker_mid_range, 'click', function() { closeAll(); duma_camp_iw.open(map,duma_camp_marker_mid_range); });
    //~ google.maps.event.addListener(duma_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(duma_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        duma_camp_marker_mid_range.setIcon(duma_camp_marker_mid_range_hovermarker);
        duma_camp_ib.show();
    });
    google.maps.event.addListener(duma_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        duma_camp_marker_mid_range.setIcon(duma_camp_marker_mid_range_normalmarker);
        duma_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.401862, 35.313835);
    

    

    var naboisho_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Naboisho Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for naboisho_camp. Width is",c.width());
    var naboisho_camp_ib_content = c.get(0);
    naboisho_camp_ib.setContent(naboisho_camp_ib_content);
    naboisho_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var naboisho_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var naboisho_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var naboisho_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Naboisho Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+naboisho_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            naboisho_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naboisho_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naboisho_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naboisho_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naboisho_camp_marker_luxury.setIcon(naboisho_camp_marker_luxury_normalmarker);
        }
        else{
            naboisho_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(naboisho_camp_icon_url, null, null, null, size);
            naboisho_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(naboisho_camp_icon_hover_url, null, null, null, size);
            naboisho_camp_marker_luxury.setIcon(naboisho_camp_marker_luxury_normalmarker);
        }
    }
    else{
        naboisho_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(naboisho_camp_icon_url, null, null, null, size);
        naboisho_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(naboisho_camp_icon_hover_url, null, null, null, size);
        naboisho_camp_marker_luxury.setIcon(naboisho_camp_marker_luxury_normalmarker);
    }

    naboisho_camp_ib.open(map, naboisho_camp_marker_luxury);
    user_checked.push(naboisho_camp_marker_luxury);
    luxury_markers.push(naboisho_camp_marker_luxury);
    all_accommodations_markers.push(naboisho_camp_marker_luxury);

    naboisho_camp_ib.open(map, naboisho_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/naboisho-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/naboisho-camp-masai-mara_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var naboisho_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Naboisho Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENaboisho Camp is a new seasonal camp  situated in the Naboisho Conservancy (a 50,000 acre area) that lies to the far east of the Mara/Serengeti Eco system. This ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var naboisho_camp_iw = new google.maps.InfoWindow({content: naboisho_camp_iw_content});
        infowindows.push(naboisho_camp_iw);


    google.maps.event.addListener(naboisho_camp_marker_luxury, 'click', function() { closeAll(); naboisho_camp_iw.open(map,naboisho_camp_marker_luxury); });
    //~ google.maps.event.addListener(naboisho_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(naboisho_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        naboisho_camp_marker_luxury.setIcon(naboisho_camp_marker_luxury_hovermarker);
        naboisho_camp_ib.show();
    });
    google.maps.event.addListener(naboisho_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        naboisho_camp_marker_luxury.setIcon(naboisho_camp_marker_luxury_normalmarker);
        naboisho_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.598218, 35.384647);
    

    

    var acacia_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Acacia Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for acacia_camp. Width is",c.width());
    var acacia_camp_ib_content = c.get(0);
    acacia_camp_ib.setContent(acacia_camp_ib_content);
    acacia_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var acacia_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var acacia_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var acacia_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Acacia Camp "
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+acacia_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            acacia_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acacia_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acacia_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acacia_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acacia_camp_marker_budget.setIcon(acacia_camp_marker_budget_normalmarker);
        }
        else{
            acacia_camp_marker_budget_normalmarker = new google.maps.MarkerImage(acacia_camp_icon_url, null, null, null, size);
            acacia_camp_marker_budget_hovermarker = new google.maps.MarkerImage(acacia_camp_icon_hover_url, null, null, null, size);
            acacia_camp_marker_budget.setIcon(acacia_camp_marker_budget_normalmarker);
        }
    }
    else{
        acacia_camp_marker_budget_normalmarker = new google.maps.MarkerImage(acacia_camp_icon_url, null, null, null, size);
        acacia_camp_marker_budget_hovermarker = new google.maps.MarkerImage(acacia_camp_icon_hover_url, null, null, null, size);
        acacia_camp_marker_budget.setIcon(acacia_camp_marker_budget_normalmarker);
    }

    acacia_camp_ib.open(map, acacia_camp_marker_budget);
    user_checked.push(acacia_camp_marker_budget);
    budget_markers.push(acacia_camp_marker_budget);
    all_accommodations_markers.push(acacia_camp_marker_budget);

    acacia_camp_ib.open(map, acacia_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/acacia-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai_Mara_-_Acacia_camp_1_1_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var acacia_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Acacia Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EAcacia camp is situated on the edge of the Maasai Mara National Reserve (Masai Mara), 100km from Narok town (260kms from Nairobi). \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EAcacia Camp is the only tented camp of ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var acacia_camp_iw = new google.maps.InfoWindow({content: acacia_camp_iw_content});
        infowindows.push(acacia_camp_iw);


    google.maps.event.addListener(acacia_camp_marker_budget, 'click', function() { closeAll(); acacia_camp_iw.open(map,acacia_camp_marker_budget); });
    //~ google.maps.event.addListener(acacia_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(acacia_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        acacia_camp_marker_budget.setIcon(acacia_camp_marker_budget_hovermarker);
        acacia_camp_ib.show();
    });
    google.maps.event.addListener(acacia_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        acacia_camp_marker_budget.setIcon(acacia_camp_marker_budget_normalmarker);
        acacia_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.119204, 35.274224);
    

    

    var acacia_house_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Acacia House").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for acacia_house. Width is",c.width());
    var acacia_house_ib_content = c.get(0);
    acacia_house_ib.setContent(acacia_house_ib_content);
    acacia_house_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var acacia_house_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var acacia_house_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var acacia_house_marker_private_cottages = new google.maps.Marker({
        position: l,
        map: map,
        title: "Acacia House"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+acacia_house_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            acacia_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acacia_house_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acacia_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+acacia_house_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            acacia_house_marker_private_cottages.setIcon(acacia_house_marker_private_cottages_normalmarker);
        }
        else{
            acacia_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(acacia_house_icon_url, null, null, null, size);
            acacia_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(acacia_house_icon_hover_url, null, null, null, size);
            acacia_house_marker_private_cottages.setIcon(acacia_house_marker_private_cottages_normalmarker);
        }
    }
    else{
        acacia_house_marker_private_cottages_normalmarker = new google.maps.MarkerImage(acacia_house_icon_url, null, null, null, size);
        acacia_house_marker_private_cottages_hovermarker = new google.maps.MarkerImage(acacia_house_icon_hover_url, null, null, null, size);
        acacia_house_marker_private_cottages.setIcon(acacia_house_marker_private_cottages_normalmarker);
    }

    acacia_house_ib.open(map, acacia_house_marker_private_cottages);
    user_checked.push(acacia_house_marker_private_cottages);
    private_cottages_markers.push(acacia_house_marker_private_cottages);
    all_accommodations_markers.push(acacia_house_marker_private_cottages);

    acacia_house_ib.open(map, acacia_house_marker_private_cottages);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/acacia-house" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/633_For_Mr_Magoo-1_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var acacia_house_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Acacia House</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EAcacia House sits in the Ol Chorro Losoit valley within the Lemek hills, far from the tourist trail and within the 70,000 acre Mara North Conservancy area\u003C/p\u003E' +
            read_more +
        '</div>';

        var acacia_house_iw = new google.maps.InfoWindow({content: acacia_house_iw_content});
        infowindows.push(acacia_house_iw);


    google.maps.event.addListener(acacia_house_marker_private_cottages, 'click', function() { closeAll(); acacia_house_iw.open(map,acacia_house_marker_private_cottages); });
    //~ google.maps.event.addListener(acacia_house_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(acacia_house_marker_private_cottages, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        acacia_house_marker_private_cottages.setIcon(acacia_house_marker_private_cottages_hovermarker);
        acacia_house_ib.show();
    });
    google.maps.event.addListener(acacia_house_marker_private_cottages, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        acacia_house_marker_private_cottages.setIcon(acacia_house_marker_private_cottages_normalmarker);
        acacia_house_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.44098824139, 35.2079200745);
    

    

    var aruba_mara_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Aruba Mara Camp").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for aruba_mara_camp. Width is",c.width());
    var aruba_mara_camp_ib_content = c.get(0);
    aruba_mara_camp_ib.setContent(aruba_mara_camp_ib_content);
    aruba_mara_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var aruba_mara_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var aruba_mara_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var aruba_mara_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Aruba Mara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+aruba_mara_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            aruba_mara_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+aruba_mara_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            aruba_mara_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+aruba_mara_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            aruba_mara_camp_marker_budget.setIcon(aruba_mara_camp_marker_budget_normalmarker);
        }
        else{
            aruba_mara_camp_marker_budget_normalmarker = new google.maps.MarkerImage(aruba_mara_camp_icon_url, null, null, null, size);
            aruba_mara_camp_marker_budget_hovermarker = new google.maps.MarkerImage(aruba_mara_camp_icon_hover_url, null, null, null, size);
            aruba_mara_camp_marker_budget.setIcon(aruba_mara_camp_marker_budget_normalmarker);
        }
    }
    else{
        aruba_mara_camp_marker_budget_normalmarker = new google.maps.MarkerImage(aruba_mara_camp_icon_url, null, null, null, size);
        aruba_mara_camp_marker_budget_hovermarker = new google.maps.MarkerImage(aruba_mara_camp_icon_hover_url, null, null, null, size);
        aruba_mara_camp_marker_budget.setIcon(aruba_mara_camp_marker_budget_normalmarker);
    }

    aruba_mara_camp_ib.open(map, aruba_mara_camp_marker_budget);
    user_checked.push(aruba_mara_camp_marker_budget);
    budget_markers.push(aruba_mara_camp_marker_budget);
    all_accommodations_markers.push(aruba_mara_camp_marker_budget);

    aruba_mara_camp_ib.open(map, aruba_mara_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/aruba-mara-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Aruba_Camp_and_campsite_2_JPG_80x80_q85.jpg" alt="" width="80" height="47" />';
        

        var aruba_mara_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Aruba Mara Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EAruba Mara Camp is located near Talek gate and borders the Maasai Mara (Masai Mara).\u003C/p\u003E' +
            read_more +
        '</div>';

        var aruba_mara_camp_iw = new google.maps.InfoWindow({content: aruba_mara_camp_iw_content});
        infowindows.push(aruba_mara_camp_iw);


    google.maps.event.addListener(aruba_mara_camp_marker_budget, 'click', function() { closeAll(); aruba_mara_camp_iw.open(map,aruba_mara_camp_marker_budget); });
    //~ google.maps.event.addListener(aruba_mara_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(aruba_mara_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        aruba_mara_camp_marker_budget.setIcon(aruba_mara_camp_marker_budget_hovermarker);
        aruba_mara_camp_ib.show();
    });
    google.maps.event.addListener(aruba_mara_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        aruba_mara_camp_marker_budget.setIcon(aruba_mara_camp_marker_budget_normalmarker);
        aruba_mara_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.45533894325, 35.2143363889);
    

    

    var basecamp_explorer_maasai_mara_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Basecamp Explorer").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for basecamp_explorer_maasai_mara. Width is",c.width());
    var basecamp_explorer_maasai_mara_ib_content = c.get(0);
    basecamp_explorer_maasai_mara_ib.setContent(basecamp_explorer_maasai_mara_ib_content);
    basecamp_explorer_maasai_mara_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var basecamp_explorer_maasai_mara_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_gold_1.png";
    var basecamp_explorer_maasai_mara_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var basecamp_explorer_maasai_mara_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Basecamp Explorer"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+basecamp_explorer_maasai_mara_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            basecamp_explorer_maasai_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+basecamp_explorer_maasai_mara_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            basecamp_explorer_maasai_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+basecamp_explorer_maasai_mara_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            basecamp_explorer_maasai_mara_marker_mid_range.setIcon(basecamp_explorer_maasai_mara_marker_mid_range_normalmarker);
        }
        else{
            basecamp_explorer_maasai_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage(basecamp_explorer_maasai_mara_icon_url, null, null, null, size);
            basecamp_explorer_maasai_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage(basecamp_explorer_maasai_mara_icon_hover_url, null, null, null, size);
            basecamp_explorer_maasai_mara_marker_mid_range.setIcon(basecamp_explorer_maasai_mara_marker_mid_range_normalmarker);
        }
    }
    else{
        basecamp_explorer_maasai_mara_marker_mid_range_normalmarker = new google.maps.MarkerImage(basecamp_explorer_maasai_mara_icon_url, null, null, null, size);
        basecamp_explorer_maasai_mara_marker_mid_range_hovermarker = new google.maps.MarkerImage(basecamp_explorer_maasai_mara_icon_hover_url, null, null, null, size);
        basecamp_explorer_maasai_mara_marker_mid_range.setIcon(basecamp_explorer_maasai_mara_marker_mid_range_normalmarker);
    }

    basecamp_explorer_maasai_mara_ib.open(map, basecamp_explorer_maasai_mara_marker_mid_range);
    user_checked.push(basecamp_explorer_maasai_mara_marker_mid_range);
    mid_range_markers.push(basecamp_explorer_maasai_mara_marker_mid_range);
    all_accommodations_markers.push(basecamp_explorer_maasai_mara_marker_mid_range);

    basecamp_explorer_maasai_mara_ib.open(map, basecamp_explorer_maasai_mara_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/basecamp-explorer-maasai-mara" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Basecamp_Masai_Mara_capacity_centre_jpg_80x80_q85.jpg" alt="" width="80" height="59" />';
        

        var basecamp_explorer_maasai_mara_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Basecamp Explorer</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EBasecamp is situated on the Talek River on the boundary of the Maasai Mara National Reserve ( Masai Mara).\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EBasecamp is one of the few \u003Cspan class\u003D\u0022caps\u0022\u003EGOLD\u003C/span\u003E rated eco lodges in the ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var basecamp_explorer_maasai_mara_iw = new google.maps.InfoWindow({content: basecamp_explorer_maasai_mara_iw_content});
        infowindows.push(basecamp_explorer_maasai_mara_iw);


    google.maps.event.addListener(basecamp_explorer_maasai_mara_marker_mid_range, 'click', function() { closeAll(); basecamp_explorer_maasai_mara_iw.open(map,basecamp_explorer_maasai_mara_marker_mid_range); });
    //~ google.maps.event.addListener(basecamp_explorer_maasai_mara_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(basecamp_explorer_maasai_mara_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        basecamp_explorer_maasai_mara_marker_mid_range.setIcon(basecamp_explorer_maasai_mara_marker_mid_range_hovermarker);
        basecamp_explorer_maasai_mara_ib.show();
    });
    google.maps.event.addListener(basecamp_explorer_maasai_mara_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        basecamp_explorer_maasai_mara_marker_mid_range.setIcon(basecamp_explorer_maasai_mara_marker_mid_range_normalmarker);
        basecamp_explorer_maasai_mara_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.247365, 35.013084);
    

    

    var bateleur_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Bateleur Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for bateleur_camp. Width is",c.width());
    var bateleur_camp_ib_content = c.get(0);
    bateleur_camp_ib.setContent(bateleur_camp_ib_content);
    bateleur_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var bateleur_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_bronze_3.png";
    var bateleur_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var bateleur_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Bateleur Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+bateleur_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            bateleur_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+bateleur_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            bateleur_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+bateleur_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            bateleur_camp_marker_deluxe.setIcon(bateleur_camp_marker_deluxe_normalmarker);
        }
        else{
            bateleur_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(bateleur_camp_icon_url, null, null, null, size);
            bateleur_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(bateleur_camp_icon_hover_url, null, null, null, size);
            bateleur_camp_marker_deluxe.setIcon(bateleur_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        bateleur_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(bateleur_camp_icon_url, null, null, null, size);
        bateleur_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(bateleur_camp_icon_hover_url, null, null, null, size);
        bateleur_camp_marker_deluxe.setIcon(bateleur_camp_marker_deluxe_normalmarker);
    }

    bateleur_camp_ib.open(map, bateleur_camp_marker_deluxe);
    user_checked.push(bateleur_camp_marker_deluxe);
    deluxe_markers.push(bateleur_camp_marker_deluxe);
    all_accommodations_markers.push(bateleur_camp_marker_deluxe);

    bateleur_camp_ib.open(map, bateleur_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/bateleur-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="" alt="" width="" height="" />';
        

        var bateleur_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Bateleur Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EBateleur Camp is situated on the western border of the Maasai Mara National Reserve in southwestern Kenya. \u003C/p\u003E' +
            read_more +
        '</div>';

        var bateleur_camp_iw = new google.maps.InfoWindow({content: bateleur_camp_iw_content});
        infowindows.push(bateleur_camp_iw);


    google.maps.event.addListener(bateleur_camp_marker_deluxe, 'click', function() { closeAll(); bateleur_camp_iw.open(map,bateleur_camp_marker_deluxe); });
    //~ google.maps.event.addListener(bateleur_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(bateleur_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        bateleur_camp_marker_deluxe.setIcon(bateleur_camp_marker_deluxe_hovermarker);
        bateleur_camp_ib.show();
    });
    google.maps.event.addListener(bateleur_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        bateleur_camp_marker_deluxe.setIcon(bateleur_camp_marker_deluxe_normalmarker);
        bateleur_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.71811575052, 35.3396272659);
    

    

    var cottars_1920s_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Cottars 1920s Camp").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for cottars_1920s_safari_camp. Width is",c.width());
    var cottars_1920s_safari_camp_ib_content = c.get(0);
    cottars_1920s_safari_camp_ib.setContent(cottars_1920s_safari_camp_ib_content);
    cottars_1920s_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(18*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var cottars_1920s_safari_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var cottars_1920s_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var cottars_1920s_safari_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Cottars 1920s Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+cottars_1920s_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            cottars_1920s_safari_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+cottars_1920s_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            cottars_1920s_safari_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+cottars_1920s_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            cottars_1920s_safari_camp_marker_luxury.setIcon(cottars_1920s_safari_camp_marker_luxury_normalmarker);
        }
        else{
            cottars_1920s_safari_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(cottars_1920s_safari_camp_icon_url, null, null, null, size);
            cottars_1920s_safari_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(cottars_1920s_safari_camp_icon_hover_url, null, null, null, size);
            cottars_1920s_safari_camp_marker_luxury.setIcon(cottars_1920s_safari_camp_marker_luxury_normalmarker);
        }
    }
    else{
        cottars_1920s_safari_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(cottars_1920s_safari_camp_icon_url, null, null, null, size);
        cottars_1920s_safari_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(cottars_1920s_safari_camp_icon_hover_url, null, null, null, size);
        cottars_1920s_safari_camp_marker_luxury.setIcon(cottars_1920s_safari_camp_marker_luxury_normalmarker);
    }

    cottars_1920s_safari_camp_ib.open(map, cottars_1920s_safari_camp_marker_luxury);
    user_checked.push(cottars_1920s_safari_camp_marker_luxury);
    luxury_markers.push(cottars_1920s_safari_camp_marker_luxury);
    all_accommodations_markers.push(cottars_1920s_safari_camp_marker_luxury);

    cottars_1920s_safari_camp_ib.open(map, cottars_1920s_safari_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/cottars-1920s-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai_Mara_-_Cottars-1920s-Camp5_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var cottars_1920s_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Cottars 1920s Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EThe Cottar Safari camp is situated in the Maasai Mara (Masai Mara), bordering the Serengeti and Loliondo reserves.\u003Cbr /\u003EExtending an era of luxury and quality, the Cottar Safari camp returns ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var cottars_1920s_safari_camp_iw = new google.maps.InfoWindow({content: cottars_1920s_safari_camp_iw_content});
        infowindows.push(cottars_1920s_safari_camp_iw);


    google.maps.event.addListener(cottars_1920s_safari_camp_marker_luxury, 'click', function() { closeAll(); cottars_1920s_safari_camp_iw.open(map,cottars_1920s_safari_camp_marker_luxury); });
    //~ google.maps.event.addListener(cottars_1920s_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(cottars_1920s_safari_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        cottars_1920s_safari_camp_marker_luxury.setIcon(cottars_1920s_safari_camp_marker_luxury_hovermarker);
        cottars_1920s_safari_camp_ib.show();
    });
    google.maps.event.addListener(cottars_1920s_safari_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        cottars_1920s_safari_camp_marker_luxury.setIcon(cottars_1920s_safari_camp_marker_luxury_normalmarker);
        cottars_1920s_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.13958473898, 35.1397705078);
    

    

    var david_livingstone_safari_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("David Livingstone Safari Lodge").width((30*12*0.7).toString()+"px");
    console.log("Cloned infobox div for david_livingstone_safari_lodge. Width is",c.width());
    var david_livingstone_safari_lodge_ib_content = c.get(0);
    david_livingstone_safari_lodge_ib.setContent(david_livingstone_safari_lodge_ib_content);
    david_livingstone_safari_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(30*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var david_livingstone_safari_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var david_livingstone_safari_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var david_livingstone_safari_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "David Livingstone Safari Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+david_livingstone_safari_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            david_livingstone_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+david_livingstone_safari_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            david_livingstone_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+david_livingstone_safari_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            david_livingstone_safari_lodge_marker_mid_range.setIcon(david_livingstone_safari_lodge_marker_mid_range_normalmarker);
        }
        else{
            david_livingstone_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(david_livingstone_safari_lodge_icon_url, null, null, null, size);
            david_livingstone_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(david_livingstone_safari_lodge_icon_hover_url, null, null, null, size);
            david_livingstone_safari_lodge_marker_mid_range.setIcon(david_livingstone_safari_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        david_livingstone_safari_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(david_livingstone_safari_lodge_icon_url, null, null, null, size);
        david_livingstone_safari_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(david_livingstone_safari_lodge_icon_hover_url, null, null, null, size);
        david_livingstone_safari_lodge_marker_mid_range.setIcon(david_livingstone_safari_lodge_marker_mid_range_normalmarker);
    }

    david_livingstone_safari_lodge_ib.open(map, david_livingstone_safari_lodge_marker_mid_range);
    user_checked.push(david_livingstone_safari_lodge_marker_mid_range);
    mid_range_markers.push(david_livingstone_safari_lodge_marker_mid_range);
    all_accommodations_markers.push(david_livingstone_safari_lodge_marker_mid_range);

    david_livingstone_safari_lodge_ib.open(map, david_livingstone_safari_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/david-livingstone-safari-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/david-livingstone-safari-resort8_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var david_livingstone_safari_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>David Livingstone Safari Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EDavid Livingstone Safari Lodge commands one of most spectacular views in the Serengeti\u002D Mara ecosystem\u003B the lodge lies on the Mara River at the edge of Maasai Mara National Reserve ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var david_livingstone_safari_lodge_iw = new google.maps.InfoWindow({content: david_livingstone_safari_lodge_iw_content});
        infowindows.push(david_livingstone_safari_lodge_iw);


    google.maps.event.addListener(david_livingstone_safari_lodge_marker_mid_range, 'click', function() { closeAll(); david_livingstone_safari_lodge_iw.open(map,david_livingstone_safari_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(david_livingstone_safari_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(david_livingstone_safari_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        david_livingstone_safari_lodge_marker_mid_range.setIcon(david_livingstone_safari_lodge_marker_mid_range_hovermarker);
        david_livingstone_safari_lodge_ib.show();
    });
    google.maps.event.addListener(david_livingstone_safari_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        david_livingstone_safari_lodge_marker_mid_range.setIcon(david_livingstone_safari_lodge_marker_mid_range_normalmarker);
        david_livingstone_safari_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.0928158914, 35.2068042755);
    

    

    var fairmont_mara_safari_club_mara_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Fairmont Mara Safari Club").width((25*12*0.7).toString()+"px");
    console.log("Cloned infobox div for fairmont_mara_safari_club_mara. Width is",c.width());
    var fairmont_mara_safari_club_mara_ib_content = c.get(0);
    fairmont_mara_safari_club_mara_ib.setContent(fairmont_mara_safari_club_mara_ib_content);
    fairmont_mara_safari_club_mara_ib.setOptions({pixelOffset: new google.maps.Size(-(25*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var fairmont_mara_safari_club_mara_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var fairmont_mara_safari_club_mara_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var fairmont_mara_safari_club_mara_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Fairmont Mara Safari Club"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+fairmont_mara_safari_club_mara_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            fairmont_mara_safari_club_mara_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+fairmont_mara_safari_club_mara_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            fairmont_mara_safari_club_mara_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+fairmont_mara_safari_club_mara_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            fairmont_mara_safari_club_mara_marker_deluxe.setIcon(fairmont_mara_safari_club_mara_marker_deluxe_normalmarker);
        }
        else{
            fairmont_mara_safari_club_mara_marker_deluxe_normalmarker = new google.maps.MarkerImage(fairmont_mara_safari_club_mara_icon_url, null, null, null, size);
            fairmont_mara_safari_club_mara_marker_deluxe_hovermarker = new google.maps.MarkerImage(fairmont_mara_safari_club_mara_icon_hover_url, null, null, null, size);
            fairmont_mara_safari_club_mara_marker_deluxe.setIcon(fairmont_mara_safari_club_mara_marker_deluxe_normalmarker);
        }
    }
    else{
        fairmont_mara_safari_club_mara_marker_deluxe_normalmarker = new google.maps.MarkerImage(fairmont_mara_safari_club_mara_icon_url, null, null, null, size);
        fairmont_mara_safari_club_mara_marker_deluxe_hovermarker = new google.maps.MarkerImage(fairmont_mara_safari_club_mara_icon_hover_url, null, null, null, size);
        fairmont_mara_safari_club_mara_marker_deluxe.setIcon(fairmont_mara_safari_club_mara_marker_deluxe_normalmarker);
    }

    fairmont_mara_safari_club_mara_ib.open(map, fairmont_mara_safari_club_mara_marker_deluxe);
    user_checked.push(fairmont_mara_safari_club_mara_marker_deluxe);
    deluxe_markers.push(fairmont_mara_safari_club_mara_marker_deluxe);
    all_accommodations_markers.push(fairmont_mara_safari_club_mara_marker_deluxe);

    fairmont_mara_safari_club_mara_ib.open(map, fairmont_mara_safari_club_mara_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/fairmont-mara-safari-club-mara" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var fairmont_mara_safari_club_mara_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Fairmont Mara Safari Club</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EFairmont Mara Safari Club lies in the north west of the Maasai Mara, at the foot of the Aitong Hills in the Ol\u002DChoro Oiroua Conservation Area that boarders the Maasai ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var fairmont_mara_safari_club_mara_iw = new google.maps.InfoWindow({content: fairmont_mara_safari_club_mara_iw_content});
        infowindows.push(fairmont_mara_safari_club_mara_iw);


    google.maps.event.addListener(fairmont_mara_safari_club_mara_marker_deluxe, 'click', function() { closeAll(); fairmont_mara_safari_club_mara_iw.open(map,fairmont_mara_safari_club_mara_marker_deluxe); });
    //~ google.maps.event.addListener(fairmont_mara_safari_club_mara_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(fairmont_mara_safari_club_mara_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        fairmont_mara_safari_club_mara_marker_deluxe.setIcon(fairmont_mara_safari_club_mara_marker_deluxe_hovermarker);
        fairmont_mara_safari_club_mara_ib.show();
    });
    google.maps.event.addListener(fairmont_mara_safari_club_mara_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        fairmont_mara_safari_club_mara_marker_deluxe.setIcon(fairmont_mara_safari_club_mara_marker_deluxe_normalmarker);
        fairmont_mara_safari_club_mara_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.43367347745, 35.1907753944);
    

    

    var fig_tree_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Fig Tree Camp").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for fig_tree_camp. Width is",c.width());
    var fig_tree_camp_ib_content = c.get(0);
    fig_tree_camp_ib.setContent(fig_tree_camp_ib_content);
    fig_tree_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var fig_tree_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var fig_tree_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var fig_tree_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Fig Tree Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+fig_tree_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            fig_tree_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+fig_tree_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            fig_tree_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+fig_tree_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            fig_tree_camp_marker_mid_range.setIcon(fig_tree_camp_marker_mid_range_normalmarker);
        }
        else{
            fig_tree_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(fig_tree_camp_icon_url, null, null, null, size);
            fig_tree_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(fig_tree_camp_icon_hover_url, null, null, null, size);
            fig_tree_camp_marker_mid_range.setIcon(fig_tree_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        fig_tree_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(fig_tree_camp_icon_url, null, null, null, size);
        fig_tree_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(fig_tree_camp_icon_hover_url, null, null, null, size);
        fig_tree_camp_marker_mid_range.setIcon(fig_tree_camp_marker_mid_range_normalmarker);
    }

    fig_tree_camp_ib.open(map, fig_tree_camp_marker_mid_range);
    user_checked.push(fig_tree_camp_marker_mid_range);
    mid_range_markers.push(fig_tree_camp_marker_mid_range);
    all_accommodations_markers.push(fig_tree_camp_marker_mid_range);

    fig_tree_camp_ib.open(map, fig_tree_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/fig-tree-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Fig-Tree-tent1_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var fig_tree_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Fig Tree Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EFig Tree Camp is located on the banks of the Talek River in the world famous Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var fig_tree_camp_iw = new google.maps.InfoWindow({content: fig_tree_camp_iw_content});
        infowindows.push(fig_tree_camp_iw);


    google.maps.event.addListener(fig_tree_camp_marker_mid_range, 'click', function() { closeAll(); fig_tree_camp_iw.open(map,fig_tree_camp_marker_mid_range); });
    //~ google.maps.event.addListener(fig_tree_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(fig_tree_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        fig_tree_camp_marker_mid_range.setIcon(fig_tree_camp_marker_mid_range_hovermarker);
        fig_tree_camp_ib.show();
    });
    google.maps.event.addListener(fig_tree_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        fig_tree_camp_marker_mid_range.setIcon(fig_tree_camp_marker_mid_range_normalmarker);
        fig_tree_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.28649390639, 35.038061142);
    

    

    var governors_il_moran_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Governors' Il Moran Camp").width((24*12*0.7).toString()+"px");
    console.log("Cloned infobox div for governors_il_moran_camp. Width is",c.width());
    var governors_il_moran_camp_ib_content = c.get(0);
    governors_il_moran_camp_ib.setContent(governors_il_moran_camp_ib_content);
    governors_il_moran_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(24*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var governors_il_moran_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var governors_il_moran_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var governors_il_moran_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Governors&#39; Il Moran Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+governors_il_moran_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            governors_il_moran_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+governors_il_moran_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            governors_il_moran_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+governors_il_moran_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            governors_il_moran_camp_marker_deluxe.setIcon(governors_il_moran_camp_marker_deluxe_normalmarker);
        }
        else{
            governors_il_moran_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(governors_il_moran_camp_icon_url, null, null, null, size);
            governors_il_moran_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(governors_il_moran_camp_icon_hover_url, null, null, null, size);
            governors_il_moran_camp_marker_deluxe.setIcon(governors_il_moran_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        governors_il_moran_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(governors_il_moran_camp_icon_url, null, null, null, size);
        governors_il_moran_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(governors_il_moran_camp_icon_hover_url, null, null, null, size);
        governors_il_moran_camp_marker_deluxe.setIcon(governors_il_moran_camp_marker_deluxe_normalmarker);
    }

    governors_il_moran_camp_ib.open(map, governors_il_moran_camp_marker_deluxe);
    user_checked.push(governors_il_moran_camp_marker_deluxe);
    deluxe_markers.push(governors_il_moran_camp_marker_deluxe);
    all_accommodations_markers.push(governors_il_moran_camp_marker_deluxe);

    governors_il_moran_camp_ib.open(map, governors_il_moran_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/governors-il-moran-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/guest_tent_2_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var governors_il_moran_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Governors\u0027 Il Moran Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EThe Governors\u0026#8217\u003B Il Moran Camp is located in the Maasai Mara National Reserve, in a wooded section of the park on the Mara River that attracts lots of wildlife and ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var governors_il_moran_camp_iw = new google.maps.InfoWindow({content: governors_il_moran_camp_iw_content});
        infowindows.push(governors_il_moran_camp_iw);


    google.maps.event.addListener(governors_il_moran_camp_marker_deluxe, 'click', function() { closeAll(); governors_il_moran_camp_iw.open(map,governors_il_moran_camp_marker_deluxe); });
    //~ google.maps.event.addListener(governors_il_moran_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(governors_il_moran_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        governors_il_moran_camp_marker_deluxe.setIcon(governors_il_moran_camp_marker_deluxe_hovermarker);
        governors_il_moran_camp_ib.show();
    });
    google.maps.event.addListener(governors_il_moran_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        governors_il_moran_camp_marker_deluxe.setIcon(governors_il_moran_camp_marker_deluxe_normalmarker);
        governors_il_moran_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.07483751063, 35.218713172);
    

    

    var house_wild_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("House in the Wild").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for house_wild. Width is",c.width());
    var house_wild_ib_content = c.get(0);
    house_wild_ib.setContent(house_wild_ib_content);
    house_wild_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var house_wild_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var house_wild_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var house_wild_marker_private_cottages = new google.maps.Marker({
        position: l,
        map: map,
        title: "House in the Wild"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+house_wild_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            house_wild_marker_private_cottages_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+house_wild_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            house_wild_marker_private_cottages_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+house_wild_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            house_wild_marker_private_cottages.setIcon(house_wild_marker_private_cottages_normalmarker);
        }
        else{
            house_wild_marker_private_cottages_normalmarker = new google.maps.MarkerImage(house_wild_icon_url, null, null, null, size);
            house_wild_marker_private_cottages_hovermarker = new google.maps.MarkerImage(house_wild_icon_hover_url, null, null, null, size);
            house_wild_marker_private_cottages.setIcon(house_wild_marker_private_cottages_normalmarker);
        }
    }
    else{
        house_wild_marker_private_cottages_normalmarker = new google.maps.MarkerImage(house_wild_icon_url, null, null, null, size);
        house_wild_marker_private_cottages_hovermarker = new google.maps.MarkerImage(house_wild_icon_hover_url, null, null, null, size);
        house_wild_marker_private_cottages.setIcon(house_wild_marker_private_cottages_normalmarker);
    }

    house_wild_ib.open(map, house_wild_marker_private_cottages);
    user_checked.push(house_wild_marker_private_cottages);
    private_cottages_markers.push(house_wild_marker_private_cottages);
    all_accommodations_markers.push(house_wild_marker_private_cottages);

    house_wild_ib.open(map, house_wild_marker_private_cottages);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/house-wild" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Olerai20Lrg201_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var house_wild_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>House in the Wild</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EHouse in the Wild is set on the banks of the Mara River in the northern part of the Maasai Mara ecosystem, with an amazing view of the river.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EHouse ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var house_wild_iw = new google.maps.InfoWindow({content: house_wild_iw_content});
        infowindows.push(house_wild_iw);


    google.maps.event.addListener(house_wild_marker_private_cottages, 'click', function() { closeAll(); house_wild_iw.open(map,house_wild_marker_private_cottages); });
    //~ google.maps.event.addListener(house_wild_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(house_wild_marker_private_cottages, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        house_wild_marker_private_cottages.setIcon(house_wild_marker_private_cottages_hovermarker);
        house_wild_ib.show();
    });
    google.maps.event.addListener(house_wild_marker_private_cottages, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        house_wild_marker_private_cottages.setIcon(house_wild_marker_private_cottages_normalmarker);
        house_wild_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.461366, 35.231266);
    

    

    var ilkeliani_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ilkeliani Camp").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ilkeliani_camp. Width is",c.width());
    var ilkeliani_camp_ib_content = c.get(0);
    ilkeliani_camp_ib.setContent(ilkeliani_camp_ib_content);
    ilkeliani_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ilkeliani_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var ilkeliani_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var ilkeliani_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ilkeliani Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ilkeliani_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ilkeliani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ilkeliani_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ilkeliani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ilkeliani_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ilkeliani_camp_marker_deluxe.setIcon(ilkeliani_camp_marker_deluxe_normalmarker);
        }
        else{
            ilkeliani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(ilkeliani_camp_icon_url, null, null, null, size);
            ilkeliani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(ilkeliani_camp_icon_hover_url, null, null, null, size);
            ilkeliani_camp_marker_deluxe.setIcon(ilkeliani_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        ilkeliani_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(ilkeliani_camp_icon_url, null, null, null, size);
        ilkeliani_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(ilkeliani_camp_icon_hover_url, null, null, null, size);
        ilkeliani_camp_marker_deluxe.setIcon(ilkeliani_camp_marker_deluxe_normalmarker);
    }

    ilkeliani_camp_ib.open(map, ilkeliani_camp_marker_deluxe);
    user_checked.push(ilkeliani_camp_marker_deluxe);
    deluxe_markers.push(ilkeliani_camp_marker_deluxe);
    all_accommodations_markers.push(ilkeliani_camp_marker_deluxe);

    ilkeliani_camp_ib.open(map, ilkeliani_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/ilkeliani-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai-mara-maasai-mara-Likeliani_Camp_bmp_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var ilkeliani_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ilkeliani Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EIlkeliani is a permanent luxury tented camp, centrally located in the Maasai Mara . \u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EIlkelian Camp\u0026#8217\u003Bs environs have been intentionally preserved so as to feel as close as possible to ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var ilkeliani_camp_iw = new google.maps.InfoWindow({content: ilkeliani_camp_iw_content});
        infowindows.push(ilkeliani_camp_iw);


    google.maps.event.addListener(ilkeliani_camp_marker_deluxe, 'click', function() { closeAll(); ilkeliani_camp_iw.open(map,ilkeliani_camp_marker_deluxe); });
    //~ google.maps.event.addListener(ilkeliani_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ilkeliani_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ilkeliani_camp_marker_deluxe.setIcon(ilkeliani_camp_marker_deluxe_hovermarker);
        ilkeliani_camp_ib.show();
    });
    google.maps.event.addListener(ilkeliani_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ilkeliani_camp_marker_deluxe.setIcon(ilkeliani_camp_marker_deluxe_normalmarker);
        ilkeliani_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.590067, 35.237274);
    

    

    var keekorok_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Keekorok Lodge").width((14*12*0.7).toString()+"px");
    console.log("Cloned infobox div for keekorok_lodge. Width is",c.width());
    var keekorok_lodge_ib_content = c.get(0);
    keekorok_lodge_ib.setContent(keekorok_lodge_ib_content);
    keekorok_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(14*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var keekorok_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_bronze.png";
    var keekorok_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var keekorok_lodge_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Keekorok Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+keekorok_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            keekorok_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+keekorok_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            keekorok_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+keekorok_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            keekorok_lodge_marker_mid_range.setIcon(keekorok_lodge_marker_mid_range_normalmarker);
        }
        else{
            keekorok_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(keekorok_lodge_icon_url, null, null, null, size);
            keekorok_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(keekorok_lodge_icon_hover_url, null, null, null, size);
            keekorok_lodge_marker_mid_range.setIcon(keekorok_lodge_marker_mid_range_normalmarker);
        }
    }
    else{
        keekorok_lodge_marker_mid_range_normalmarker = new google.maps.MarkerImage(keekorok_lodge_icon_url, null, null, null, size);
        keekorok_lodge_marker_mid_range_hovermarker = new google.maps.MarkerImage(keekorok_lodge_icon_hover_url, null, null, null, size);
        keekorok_lodge_marker_mid_range.setIcon(keekorok_lodge_marker_mid_range_normalmarker);
    }

    keekorok_lodge_ib.open(map, keekorok_lodge_marker_mid_range);
    user_checked.push(keekorok_lodge_marker_mid_range);
    mid_range_markers.push(keekorok_lodge_marker_mid_range);
    all_accommodations_markers.push(keekorok_lodge_marker_mid_range);

    keekorok_lodge_ib.open(map, keekorok_lodge_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/keekorok-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/images_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var keekorok_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Keekorok Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKeekorok Lodge is located within Kenya’s Maasai Mara National Reserve which is at an altitude of 1,617 metres above sea level.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003EKeekorok Lodge was the first game lodge ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var keekorok_lodge_iw = new google.maps.InfoWindow({content: keekorok_lodge_iw_content});
        infowindows.push(keekorok_lodge_iw);


    google.maps.event.addListener(keekorok_lodge_marker_mid_range, 'click', function() { closeAll(); keekorok_lodge_iw.open(map,keekorok_lodge_marker_mid_range); });
    //~ google.maps.event.addListener(keekorok_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(keekorok_lodge_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        keekorok_lodge_marker_mid_range.setIcon(keekorok_lodge_marker_mid_range_hovermarker);
        keekorok_lodge_ib.show();
    });
    google.maps.event.addListener(keekorok_lodge_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        keekorok_lodge_marker_mid_range.setIcon(keekorok_lodge_marker_mid_range_normalmarker);
        keekorok_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.50392381839, 35.3788094445);
    

    

    var mara_bushtops_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Bushtops").width((13*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_bushtops. Width is",c.width());
    var mara_bushtops_ib_content = c.get(0);
    mara_bushtops_ib.setContent(mara_bushtops_ib_content);
    mara_bushtops_ib.setOptions({pixelOffset: new google.maps.Size(-(13*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_bushtops_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_bushtops_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_bushtops_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Bushtops"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_bushtops_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_bushtops_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_bushtops_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_bushtops_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_bushtops_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_bushtops_marker_deluxe.setIcon(mara_bushtops_marker_deluxe_normalmarker);
        }
        else{
            mara_bushtops_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_bushtops_icon_url, null, null, null, size);
            mara_bushtops_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_bushtops_icon_hover_url, null, null, null, size);
            mara_bushtops_marker_deluxe.setIcon(mara_bushtops_marker_deluxe_normalmarker);
        }
    }
    else{
        mara_bushtops_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_bushtops_icon_url, null, null, null, size);
        mara_bushtops_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_bushtops_icon_hover_url, null, null, null, size);
        mara_bushtops_marker_deluxe.setIcon(mara_bushtops_marker_deluxe_normalmarker);
    }

    mara_bushtops_ib.open(map, mara_bushtops_marker_deluxe);
    user_checked.push(mara_bushtops_marker_deluxe);
    deluxe_markers.push(mara_bushtops_marker_deluxe);
    all_accommodations_markers.push(mara_bushtops_marker_deluxe);

    mara_bushtops_ib.open(map, mara_bushtops_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-bushtops" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/stunning_640_470_318_100_jpg_80x80_q85.jpg" alt="" width="80" height="54" />';
        

        var mara_bushtops_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Bushtops</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ESet amid the Mara Bushtops private Conservancy and bordering the Maasai Mara,  Mara Bushtops boasts a sensational location.  Perched on top of a hill with a scenic valley to one ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_bushtops_iw = new google.maps.InfoWindow({content: mara_bushtops_iw_content});
        infowindows.push(mara_bushtops_iw);


    google.maps.event.addListener(mara_bushtops_marker_deluxe, 'click', function() { closeAll(); mara_bushtops_iw.open(map,mara_bushtops_marker_deluxe); });
    //~ google.maps.event.addListener(mara_bushtops_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_bushtops_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_bushtops_marker_deluxe.setIcon(mara_bushtops_marker_deluxe_hovermarker);
        mara_bushtops_ib.show();
    });
    google.maps.event.addListener(mara_bushtops_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_bushtops_marker_deluxe.setIcon(mara_bushtops_marker_deluxe_normalmarker);
        mara_bushtops_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.24152957096, 35.0364303589);
    

    

    var mara_enkipai_safari_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Enkipai").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_enkipai_safari_camp. Width is",c.width());
    var mara_enkipai_safari_camp_ib_content = c.get(0);
    mara_enkipai_safari_camp_ib.setContent(mara_enkipai_safari_camp_ib_content);
    mara_enkipai_safari_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_enkipai_safari_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var mara_enkipai_safari_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_enkipai_safari_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Enkipai Safari Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_enkipai_safari_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_enkipai_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_enkipai_safari_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_enkipai_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_enkipai_safari_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_enkipai_safari_camp_marker_deluxe.setIcon(mara_enkipai_safari_camp_marker_deluxe_normalmarker);
        }
        else{
            mara_enkipai_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_enkipai_safari_camp_icon_url, null, null, null, size);
            mara_enkipai_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_enkipai_safari_camp_icon_hover_url, null, null, null, size);
            mara_enkipai_safari_camp_marker_deluxe.setIcon(mara_enkipai_safari_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        mara_enkipai_safari_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(mara_enkipai_safari_camp_icon_url, null, null, null, size);
        mara_enkipai_safari_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(mara_enkipai_safari_camp_icon_hover_url, null, null, null, size);
        mara_enkipai_safari_camp_marker_deluxe.setIcon(mara_enkipai_safari_camp_marker_deluxe_normalmarker);
    }

    mara_enkipai_safari_camp_ib.open(map, mara_enkipai_safari_camp_marker_deluxe);
    user_checked.push(mara_enkipai_safari_camp_marker_deluxe);
    deluxe_markers.push(mara_enkipai_safari_camp_marker_deluxe);
    all_accommodations_markers.push(mara_enkipai_safari_camp_marker_deluxe);

    mara_enkipai_safari_camp_ib.open(map, mara_enkipai_safari_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-enkipai-safari-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/living-dining-room-1_jpg_670x2000_q85_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mara_enkipai_safari_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Enkipai</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Enkipai Safari Camp is beautifully set on the edge of the fast\u002Dflowing Mara River in the Maasai Mara (Masai Mara) in Kenya. \u003C/p\u003E\u000A\u000A' +
            read_more +
        '</div>';

        var mara_enkipai_safari_camp_iw = new google.maps.InfoWindow({content: mara_enkipai_safari_camp_iw_content});
        infowindows.push(mara_enkipai_safari_camp_iw);


    google.maps.event.addListener(mara_enkipai_safari_camp_marker_deluxe, 'click', function() { closeAll(); mara_enkipai_safari_camp_iw.open(map,mara_enkipai_safari_camp_marker_deluxe); });
    //~ google.maps.event.addListener(mara_enkipai_safari_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_enkipai_safari_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_enkipai_safari_camp_marker_deluxe.setIcon(mara_enkipai_safari_camp_marker_deluxe_hovermarker);
        mara_enkipai_safari_camp_ib.show();
    });
    google.maps.event.addListener(mara_enkipai_safari_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_enkipai_safari_camp_marker_deluxe.setIcon(mara_enkipai_safari_camp_marker_deluxe_normalmarker);
        mara_enkipai_safari_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.41559, 35.241008);
    

    

    var jk_mara_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("JK Mara Camp").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for jk_mara_camp. Width is",c.width());
    var jk_mara_camp_ib_content = c.get(0);
    jk_mara_camp_ib.setContent(jk_mara_camp_ib_content);
    jk_mara_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var jk_mara_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var jk_mara_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var jk_mara_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "JK Mara Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+jk_mara_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            jk_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+jk_mara_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            jk_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+jk_mara_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            jk_mara_camp_marker_mid_range.setIcon(jk_mara_camp_marker_mid_range_normalmarker);
        }
        else{
            jk_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(jk_mara_camp_icon_url, null, null, null, size);
            jk_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(jk_mara_camp_icon_hover_url, null, null, null, size);
            jk_mara_camp_marker_mid_range.setIcon(jk_mara_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        jk_mara_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(jk_mara_camp_icon_url, null, null, null, size);
        jk_mara_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(jk_mara_camp_icon_hover_url, null, null, null, size);
        jk_mara_camp_marker_mid_range.setIcon(jk_mara_camp_marker_mid_range_normalmarker);
    }

    jk_mara_camp_ib.open(map, jk_mara_camp_marker_mid_range);
    user_checked.push(jk_mara_camp_marker_mid_range);
    mid_range_markers.push(jk_mara_camp_marker_mid_range);
    all_accommodations_markers.push(jk_mara_camp_marker_mid_range);

    jk_mara_camp_ib.open(map, jk_mara_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/jk-mara-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/image1_1_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var jk_mara_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>JK Mara Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EJK Mara Camp is situated along the Muliban River in the Talek area. Set amongst picturesque hills and rolling plains in prime game\u002Dviewing country, you can step out of your ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var jk_mara_camp_iw = new google.maps.InfoWindow({content: jk_mara_camp_iw_content});
        infowindows.push(jk_mara_camp_iw);


    google.maps.event.addListener(jk_mara_camp_marker_mid_range, 'click', function() { closeAll(); jk_mara_camp_iw.open(map,jk_mara_camp_marker_mid_range); });
    //~ google.maps.event.addListener(jk_mara_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(jk_mara_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        jk_mara_camp_marker_mid_range.setIcon(jk_mara_camp_marker_mid_range_hovermarker);
        jk_mara_camp_ib.show();
    });
    google.maps.event.addListener(jk_mara_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        jk_mara_camp_marker_mid_range.setIcon(jk_mara_camp_marker_mid_range_normalmarker);
        jk_mara_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.19330388698, 35.0399062222);
    

    

    var mpate_safari_club_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mpata Safari Club").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mpate_safari_club. Width is",c.width());
    var mpate_safari_club_ib_content = c.get(0);
    mpate_safari_club_ib.setContent(mpate_safari_club_ib_content);
    mpate_safari_club_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mpate_safari_club_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mpate_safari_club_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mpate_safari_club_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mpata Safari Club"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mpate_safari_club_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mpate_safari_club_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mpate_safari_club_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mpate_safari_club_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mpate_safari_club_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mpate_safari_club_marker_mid_range.setIcon(mpate_safari_club_marker_mid_range_normalmarker);
        }
        else{
            mpate_safari_club_marker_mid_range_normalmarker = new google.maps.MarkerImage(mpate_safari_club_icon_url, null, null, null, size);
            mpate_safari_club_marker_mid_range_hovermarker = new google.maps.MarkerImage(mpate_safari_club_icon_hover_url, null, null, null, size);
            mpate_safari_club_marker_mid_range.setIcon(mpate_safari_club_marker_mid_range_normalmarker);
        }
    }
    else{
        mpate_safari_club_marker_mid_range_normalmarker = new google.maps.MarkerImage(mpate_safari_club_icon_url, null, null, null, size);
        mpate_safari_club_marker_mid_range_hovermarker = new google.maps.MarkerImage(mpate_safari_club_icon_hover_url, null, null, null, size);
        mpate_safari_club_marker_mid_range.setIcon(mpate_safari_club_marker_mid_range_normalmarker);
    }

    mpate_safari_club_ib.open(map, mpate_safari_club_marker_mid_range);
    user_checked.push(mpate_safari_club_marker_mid_range);
    mid_range_markers.push(mpate_safari_club_marker_mid_range);
    all_accommodations_markers.push(mpate_safari_club_marker_mid_range);

    mpate_safari_club_ib.open(map, mpate_safari_club_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mpate-safari-club" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/topimage_facilities_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var mpate_safari_club_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mpata Safari Club</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMpata Safari Club sits high on the edge of the Oloololo escarpment with panoramic views across the Maasai Mara Plains, adjoining the Maasai Mara National Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var mpate_safari_club_iw = new google.maps.InfoWindow({content: mpate_safari_club_iw_content});
        infowindows.push(mpate_safari_club_iw);


    google.maps.event.addListener(mpate_safari_club_marker_mid_range, 'click', function() { closeAll(); mpate_safari_club_iw.open(map,mpate_safari_club_marker_mid_range); });
    //~ google.maps.event.addListener(mpate_safari_club_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mpate_safari_club_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mpate_safari_club_marker_mid_range.setIcon(mpate_safari_club_marker_mid_range_hovermarker);
        mpate_safari_club_ib.show();
    });
    google.maps.event.addListener(mpate_safari_club_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mpate_safari_club_marker_mid_range.setIcon(mpate_safari_club_marker_mid_range_normalmarker);
        mpate_safari_club_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.420824, 35.052309);
    

    

    var ngare_serian_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ngare Serian").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ngare_serian. Width is",c.width());
    var ngare_serian_ib_content = c.get(0);
    ngare_serian_ib.setContent(ngare_serian_ib_content);
    ngare_serian_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var ngare_serian_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var ngare_serian_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var ngare_serian_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Ngare Serian"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+ngare_serian_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            ngare_serian_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ngare_serian_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ngare_serian_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+ngare_serian_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            ngare_serian_marker_luxury.setIcon(ngare_serian_marker_luxury_normalmarker);
        }
        else{
            ngare_serian_marker_luxury_normalmarker = new google.maps.MarkerImage(ngare_serian_icon_url, null, null, null, size);
            ngare_serian_marker_luxury_hovermarker = new google.maps.MarkerImage(ngare_serian_icon_hover_url, null, null, null, size);
            ngare_serian_marker_luxury.setIcon(ngare_serian_marker_luxury_normalmarker);
        }
    }
    else{
        ngare_serian_marker_luxury_normalmarker = new google.maps.MarkerImage(ngare_serian_icon_url, null, null, null, size);
        ngare_serian_marker_luxury_hovermarker = new google.maps.MarkerImage(ngare_serian_icon_hover_url, null, null, null, size);
        ngare_serian_marker_luxury.setIcon(ngare_serian_marker_luxury_normalmarker);
    }

    ngare_serian_ib.open(map, ngare_serian_marker_luxury);
    user_checked.push(ngare_serian_marker_luxury);
    luxury_markers.push(ngare_serian_marker_luxury);
    all_accommodations_markers.push(ngare_serian_marker_luxury);

    ngare_serian_ib.open(map, ngare_serian_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/ngare-serian" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/ngare-serian-maasai-mara-1_2_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var ngare_serian_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Ngare Serian</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENgare Seriani is an intimate private camp set alongside the Mara River in the North Mara Reserve.\u003C/p\u003E' +
            read_more +
        '</div>';

        var ngare_serian_iw = new google.maps.InfoWindow({content: ngare_serian_iw_content});
        infowindows.push(ngare_serian_iw);


    google.maps.event.addListener(ngare_serian_marker_luxury, 'click', function() { closeAll(); ngare_serian_iw.open(map,ngare_serian_marker_luxury); });
    //~ google.maps.event.addListener(ngare_serian_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(ngare_serian_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        ngare_serian_marker_luxury.setIcon(ngare_serian_marker_luxury_hovermarker);
        ngare_serian_ib.show();
    });
    google.maps.event.addListener(ngare_serian_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        ngare_serian_marker_luxury.setIcon(ngare_serian_marker_luxury_normalmarker);
        ngare_serian_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.423784, 35.075529);
    

    

    var naibor_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Naibor Camp").width((11*12*0.7).toString()+"px");
    console.log("Cloned infobox div for naibor_camp. Width is",c.width());
    var naibor_camp_ib_content = c.get(0);
    naibor_camp_ib.setContent(naibor_camp_ib_content);
    naibor_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(11*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var naibor_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var naibor_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var naibor_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Naibor Camp - Mara Reserve"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+naibor_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            naibor_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naibor_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naibor_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naibor_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naibor_camp_marker_deluxe.setIcon(naibor_camp_marker_deluxe_normalmarker);
        }
        else{
            naibor_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(naibor_camp_icon_url, null, null, null, size);
            naibor_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(naibor_camp_icon_hover_url, null, null, null, size);
            naibor_camp_marker_deluxe.setIcon(naibor_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        naibor_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(naibor_camp_icon_url, null, null, null, size);
        naibor_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(naibor_camp_icon_hover_url, null, null, null, size);
        naibor_camp_marker_deluxe.setIcon(naibor_camp_marker_deluxe_normalmarker);
    }

    naibor_camp_ib.open(map, naibor_camp_marker_deluxe);
    user_checked.push(naibor_camp_marker_deluxe);
    deluxe_markers.push(naibor_camp_marker_deluxe);
    all_accommodations_markers.push(naibor_camp_marker_deluxe);

    naibor_camp_ib.open(map, naibor_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/naibor-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Masai_Mara_-_NAIBOR_BEDROOM_2_1_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var naibor_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Naibor Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENaibor Camp is located in southern Kenya in the heart of the Maasai Mara National Reserve and twenty minutes drive from the nearest wildebeest river crossing.\u003C/p\u003E\u000A\u000A\u0009\u003Cp\u003ENaibor Camp is a ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var naibor_camp_iw = new google.maps.InfoWindow({content: naibor_camp_iw_content});
        infowindows.push(naibor_camp_iw);


    google.maps.event.addListener(naibor_camp_marker_deluxe, 'click', function() { closeAll(); naibor_camp_iw.open(map,naibor_camp_marker_deluxe); });
    //~ google.maps.event.addListener(naibor_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(naibor_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        naibor_camp_marker_deluxe.setIcon(naibor_camp_marker_deluxe_hovermarker);
        naibor_camp_ib.show();
    });
    google.maps.event.addListener(naibor_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        naibor_camp_marker_deluxe.setIcon(naibor_camp_marker_deluxe_normalmarker);
        naibor_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.439744, 35.589523);
    

    

    var olarro_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olarro Lodge").width((12*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olarro_lodge. Width is",c.width());
    var olarro_lodge_ib_content = c.get(0);
    olarro_lodge_ib.setContent(olarro_lodge_ib_content);
    olarro_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(12*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var olarro_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var olarro_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var olarro_lodge_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Olarro Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+olarro_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            olarro_lodge_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olarro_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olarro_lodge_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+olarro_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            olarro_lodge_marker_luxury.setIcon(olarro_lodge_marker_luxury_normalmarker);
        }
        else{
            olarro_lodge_marker_luxury_normalmarker = new google.maps.MarkerImage(olarro_lodge_icon_url, null, null, null, size);
            olarro_lodge_marker_luxury_hovermarker = new google.maps.MarkerImage(olarro_lodge_icon_hover_url, null, null, null, size);
            olarro_lodge_marker_luxury.setIcon(olarro_lodge_marker_luxury_normalmarker);
        }
    }
    else{
        olarro_lodge_marker_luxury_normalmarker = new google.maps.MarkerImage(olarro_lodge_icon_url, null, null, null, size);
        olarro_lodge_marker_luxury_hovermarker = new google.maps.MarkerImage(olarro_lodge_icon_hover_url, null, null, null, size);
        olarro_lodge_marker_luxury.setIcon(olarro_lodge_marker_luxury_normalmarker);
    }

    olarro_lodge_ib.open(map, olarro_lodge_marker_luxury);
    user_checked.push(olarro_lodge_marker_luxury);
    luxury_markers.push(olarro_lodge_marker_luxury);
    all_accommodations_markers.push(olarro_lodge_marker_luxury);

    olarro_lodge_ib.open(map, olarro_lodge_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/olarro-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/3_1_jpg_80x80_q85.jpg" alt="" width="80" height="61" />';
        

        var olarro_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Olarro Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EOlarro is the delightful jewel in the crown of the Loita hills lying luxuriously snug in the contours of this ancient hillside. This is an exclusive lodge, intimate and stylish ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var olarro_lodge_iw = new google.maps.InfoWindow({content: olarro_lodge_iw_content});
        infowindows.push(olarro_lodge_iw);


    google.maps.event.addListener(olarro_lodge_marker_luxury, 'click', function() { closeAll(); olarro_lodge_iw.open(map,olarro_lodge_marker_luxury); });
    //~ google.maps.event.addListener(olarro_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(olarro_lodge_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        olarro_lodge_marker_luxury.setIcon(olarro_lodge_marker_luxury_hovermarker);
        olarro_lodge_ib.show();
    });
    google.maps.event.addListener(olarro_lodge_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        olarro_lodge_marker_luxury.setIcon(olarro_lodge_marker_luxury_normalmarker);
        olarro_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.339352, 35.214272);
    

    

    var richards_private_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Richard's Private Camp").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for richards_private_camp. Width is",c.width());
    var richards_private_camp_ib_content = c.get(0);
    richards_private_camp_ib.setContent(richards_private_camp_ib_content);
    richards_private_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(22*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var richards_private_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var richards_private_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var richards_private_camp_marker_luxury = new google.maps.Marker({
        position: l,
        map: map,
        title: "Richard&#39;s Private Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+richards_private_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            richards_private_camp_marker_luxury_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+richards_private_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            richards_private_camp_marker_luxury_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+richards_private_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            richards_private_camp_marker_luxury.setIcon(richards_private_camp_marker_luxury_normalmarker);
        }
        else{
            richards_private_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(richards_private_camp_icon_url, null, null, null, size);
            richards_private_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(richards_private_camp_icon_hover_url, null, null, null, size);
            richards_private_camp_marker_luxury.setIcon(richards_private_camp_marker_luxury_normalmarker);
        }
    }
    else{
        richards_private_camp_marker_luxury_normalmarker = new google.maps.MarkerImage(richards_private_camp_icon_url, null, null, null, size);
        richards_private_camp_marker_luxury_hovermarker = new google.maps.MarkerImage(richards_private_camp_icon_hover_url, null, null, null, size);
        richards_private_camp_marker_luxury.setIcon(richards_private_camp_marker_luxury_normalmarker);
    }

    richards_private_camp_ib.open(map, richards_private_camp_marker_luxury);
    user_checked.push(richards_private_camp_marker_luxury);
    luxury_markers.push(richards_private_camp_marker_luxury);
    all_accommodations_markers.push(richards_private_camp_marker_luxury);

    richards_private_camp_ib.open(map, richards_private_camp_marker_luxury);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/richards-private-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/richards_private_camp_1_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var richards_private_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Richard\u0027s Private Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ERichard\u0026#8217\u003Bs Private Camp is the ultimate retreat for families and friends looking for a private safari experience. The camp can only be taken on an exclusive basis and every ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var richards_private_camp_iw = new google.maps.InfoWindow({content: richards_private_camp_iw_content});
        infowindows.push(richards_private_camp_iw);


    google.maps.event.addListener(richards_private_camp_marker_luxury, 'click', function() { closeAll(); richards_private_camp_iw.open(map,richards_private_camp_marker_luxury); });
    //~ google.maps.event.addListener(richards_private_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(richards_private_camp_marker_luxury, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        richards_private_camp_marker_luxury.setIcon(richards_private_camp_marker_luxury_hovermarker);
        richards_private_camp_ib.show();
    });
    google.maps.event.addListener(richards_private_camp_marker_luxury, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        richards_private_camp_marker_luxury.setIcon(richards_private_camp_marker_luxury_normalmarker);
        richards_private_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.511207, 35.342277);
    

    

    var enchoro_wildlife_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Enchoro Wildlife Camp").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for enchoro_wildlife_camp. Width is",c.width());
    var enchoro_wildlife_camp_ib_content = c.get(0);
    enchoro_wildlife_camp_ib.setContent(enchoro_wildlife_camp_ib_content);
    enchoro_wildlife_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(21*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var enchoro_wildlife_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var enchoro_wildlife_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var enchoro_wildlife_camp_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Enchoro Wildlife Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+enchoro_wildlife_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            enchoro_wildlife_camp_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+enchoro_wildlife_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            enchoro_wildlife_camp_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+enchoro_wildlife_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            enchoro_wildlife_camp_marker_budget.setIcon(enchoro_wildlife_camp_marker_budget_normalmarker);
        }
        else{
            enchoro_wildlife_camp_marker_budget_normalmarker = new google.maps.MarkerImage(enchoro_wildlife_camp_icon_url, null, null, null, size);
            enchoro_wildlife_camp_marker_budget_hovermarker = new google.maps.MarkerImage(enchoro_wildlife_camp_icon_hover_url, null, null, null, size);
            enchoro_wildlife_camp_marker_budget.setIcon(enchoro_wildlife_camp_marker_budget_normalmarker);
        }
    }
    else{
        enchoro_wildlife_camp_marker_budget_normalmarker = new google.maps.MarkerImage(enchoro_wildlife_camp_icon_url, null, null, null, size);
        enchoro_wildlife_camp_marker_budget_hovermarker = new google.maps.MarkerImage(enchoro_wildlife_camp_icon_hover_url, null, null, null, size);
        enchoro_wildlife_camp_marker_budget.setIcon(enchoro_wildlife_camp_marker_budget_normalmarker);
    }

    enchoro_wildlife_camp_ib.open(map, enchoro_wildlife_camp_marker_budget);
    user_checked.push(enchoro_wildlife_camp_marker_budget);
    budget_markers.push(enchoro_wildlife_camp_marker_budget);
    all_accommodations_markers.push(enchoro_wildlife_camp_marker_budget);

    enchoro_wildlife_camp_ib.open(map, enchoro_wildlife_camp_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/enchoro-wildlife-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/enchoro_wildlife_camp_masai_mara_maasai_mara_3_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var enchoro_wildlife_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Enchoro Wildlife Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EEnchoro Wildlife Camp is located near Maasai Mara’s Oloolaimutia gate with panoramic views of Oloolaimutia hills on the East gate of the Maasai Mara National Reserve, perfect for guest ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var enchoro_wildlife_camp_iw = new google.maps.InfoWindow({content: enchoro_wildlife_camp_iw_content});
        infowindows.push(enchoro_wildlife_camp_iw);


    google.maps.event.addListener(enchoro_wildlife_camp_marker_budget, 'click', function() { closeAll(); enchoro_wildlife_camp_iw.open(map,enchoro_wildlife_camp_marker_budget); });
    //~ google.maps.event.addListener(enchoro_wildlife_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(enchoro_wildlife_camp_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        enchoro_wildlife_camp_marker_budget.setIcon(enchoro_wildlife_camp_marker_budget_hovermarker);
        enchoro_wildlife_camp_ib.show();
    });
    google.maps.event.addListener(enchoro_wildlife_camp_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        enchoro_wildlife_camp_marker_budget.setIcon(enchoro_wildlife_camp_marker_budget_normalmarker);
        enchoro_wildlife_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.406452, 35.341967);
    

    

    var basecamp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Basecamp Wilderness").width((19*12*0.7).toString()+"px");
    console.log("Cloned infobox div for basecamp. Width is",c.width());
    var basecamp_ib_content = c.get(0);
    basecamp_ib.setContent(basecamp_ib_content);
    basecamp_ib.setOptions({pixelOffset: new google.maps.Size(-(19*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var basecamp_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var basecamp_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover_1.png";
    var basecamp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Basecamp Wilderness"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+basecamp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            basecamp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+basecamp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            basecamp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+basecamp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            basecamp_marker_deluxe.setIcon(basecamp_marker_deluxe_normalmarker);
        }
        else{
            basecamp_marker_deluxe_normalmarker = new google.maps.MarkerImage(basecamp_icon_url, null, null, null, size);
            basecamp_marker_deluxe_hovermarker = new google.maps.MarkerImage(basecamp_icon_hover_url, null, null, null, size);
            basecamp_marker_deluxe.setIcon(basecamp_marker_deluxe_normalmarker);
        }
    }
    else{
        basecamp_marker_deluxe_normalmarker = new google.maps.MarkerImage(basecamp_icon_url, null, null, null, size);
        basecamp_marker_deluxe_hovermarker = new google.maps.MarkerImage(basecamp_icon_hover_url, null, null, null, size);
        basecamp_marker_deluxe.setIcon(basecamp_marker_deluxe_normalmarker);
    }

    basecamp_ib.open(map, basecamp_marker_deluxe);
    user_checked.push(basecamp_marker_deluxe);
    deluxe_markers.push(basecamp_marker_deluxe);
    all_accommodations_markers.push(basecamp_marker_deluxe);

    basecamp_ib.open(map, basecamp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/basecamp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="" alt="" width="" height="" />';
        

        var basecamp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Basecamp Wilderness</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003Easdfads\u003C/p\u003E' +
            read_more +
        '</div>';

        var basecamp_iw = new google.maps.InfoWindow({content: basecamp_iw_content});
        infowindows.push(basecamp_iw);


    google.maps.event.addListener(basecamp_marker_deluxe, 'click', function() { closeAll(); basecamp_iw.open(map,basecamp_marker_deluxe); });
    //~ google.maps.event.addListener(basecamp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(basecamp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        basecamp_marker_deluxe.setIcon(basecamp_marker_deluxe_hovermarker);
        basecamp_ib.show();
    });
    google.maps.event.addListener(basecamp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        basecamp_marker_deluxe.setIcon(basecamp_marker_deluxe_normalmarker);
        basecamp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.63674, 35.384216);
    

    

    var mara_hippo_safari_lodge_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Hippo Safari Lodge").width((23*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_hippo_safari_lodge. Width is",c.width());
    var mara_hippo_safari_lodge_ib_content = c.get(0);
    mara_hippo_safari_lodge_ib.setContent(mara_hippo_safari_lodge_ib_content);
    mara_hippo_safari_lodge_ib.setOptions({pixelOffset: new google.maps.Size(-(23*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_hippo_safari_lodge_icon_url = "/static/uploads/gmap_icons/Lodge_-_non.png";
    var mara_hippo_safari_lodge_icon_hover_url = "/static/uploads/gmap_icons/Lodge_-_hover.png";
    var mara_hippo_safari_lodge_marker_budget = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Hippo Safari Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_hippo_safari_lodge_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_hippo_safari_lodge_marker_budget_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_hippo_safari_lodge_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_hippo_safari_lodge_marker_budget_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_hippo_safari_lodge_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_hippo_safari_lodge_marker_budget.setIcon(mara_hippo_safari_lodge_marker_budget_normalmarker);
        }
        else{
            mara_hippo_safari_lodge_marker_budget_normalmarker = new google.maps.MarkerImage(mara_hippo_safari_lodge_icon_url, null, null, null, size);
            mara_hippo_safari_lodge_marker_budget_hovermarker = new google.maps.MarkerImage(mara_hippo_safari_lodge_icon_hover_url, null, null, null, size);
            mara_hippo_safari_lodge_marker_budget.setIcon(mara_hippo_safari_lodge_marker_budget_normalmarker);
        }
    }
    else{
        mara_hippo_safari_lodge_marker_budget_normalmarker = new google.maps.MarkerImage(mara_hippo_safari_lodge_icon_url, null, null, null, size);
        mara_hippo_safari_lodge_marker_budget_hovermarker = new google.maps.MarkerImage(mara_hippo_safari_lodge_icon_hover_url, null, null, null, size);
        mara_hippo_safari_lodge_marker_budget.setIcon(mara_hippo_safari_lodge_marker_budget_normalmarker);
    }

    mara_hippo_safari_lodge_ib.open(map, mara_hippo_safari_lodge_marker_budget);
    user_checked.push(mara_hippo_safari_lodge_marker_budget);
    budget_markers.push(mara_hippo_safari_lodge_marker_budget);
    all_accommodations_markers.push(mara_hippo_safari_lodge_marker_budget);

    mara_hippo_safari_lodge_ib.open(map, mara_hippo_safari_lodge_marker_budget);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-hippo-safari-lodge" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent1_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var mara_hippo_safari_lodge_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Hippo Safari Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EThe Mara Hippo Safari Lodge is located on Ololaimatiek gate on the south side of the Maasai Mara Triangle, southern part of Kenya. \u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_hippo_safari_lodge_iw = new google.maps.InfoWindow({content: mara_hippo_safari_lodge_iw_content});
        infowindows.push(mara_hippo_safari_lodge_iw);


    google.maps.event.addListener(mara_hippo_safari_lodge_marker_budget, 'click', function() { closeAll(); mara_hippo_safari_lodge_iw.open(map,mara_hippo_safari_lodge_marker_budget); });
    //~ google.maps.event.addListener(mara_hippo_safari_lodge_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_hippo_safari_lodge_marker_budget, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_hippo_safari_lodge_marker_budget.setIcon(mara_hippo_safari_lodge_marker_budget_hovermarker);
        mara_hippo_safari_lodge_ib.show();
    });
    google.maps.event.addListener(mara_hippo_safari_lodge_marker_budget, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_hippo_safari_lodge_marker_budget.setIcon(mara_hippo_safari_lodge_marker_budget_normalmarker);
        mara_hippo_safari_lodge_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.315497, 35.032654);
    

    

    var governors_private_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Governors' Private Camp").width((23*12*0.7).toString()+"px");
    console.log("Cloned infobox div for governors_private_camp. Width is",c.width());
    var governors_private_camp_ib_content = c.get(0);
    governors_private_camp_ib.setContent(governors_private_camp_ib_content);
    governors_private_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(23*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var governors_private_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var governors_private_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var governors_private_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Governors&#39; Private Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+governors_private_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            governors_private_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+governors_private_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            governors_private_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+governors_private_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            governors_private_camp_marker_deluxe.setIcon(governors_private_camp_marker_deluxe_normalmarker);
        }
        else{
            governors_private_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(governors_private_camp_icon_url, null, null, null, size);
            governors_private_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(governors_private_camp_icon_hover_url, null, null, null, size);
            governors_private_camp_marker_deluxe.setIcon(governors_private_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        governors_private_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(governors_private_camp_icon_url, null, null, null, size);
        governors_private_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(governors_private_camp_icon_hover_url, null, null, null, size);
        governors_private_camp_marker_deluxe.setIcon(governors_private_camp_marker_deluxe_normalmarker);
    }

    governors_private_camp_ib.open(map, governors_private_camp_marker_deluxe);
    user_checked.push(governors_private_camp_marker_deluxe);
    deluxe_markers.push(governors_private_camp_marker_deluxe);
    all_accommodations_markers.push(governors_private_camp_marker_deluxe);

    governors_private_camp_ib.open(map, governors_private_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/governors-private-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/MARA009_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var governors_private_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Governors\u0027 Private Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EThe Governors\u0026#8217\u003B Private Camp is situated in the Maasai Mara National Reserve, in a wooded section of the park on the Mara River that attracts lots of wildlife and birds.\u003C/p\u003E' +
            read_more +
        '</div>';

        var governors_private_camp_iw = new google.maps.InfoWindow({content: governors_private_camp_iw_content});
        infowindows.push(governors_private_camp_iw);


    google.maps.event.addListener(governors_private_camp_marker_deluxe, 'click', function() { closeAll(); governors_private_camp_iw.open(map,governors_private_camp_marker_deluxe); });
    //~ google.maps.event.addListener(governors_private_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(governors_private_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        governors_private_camp_marker_deluxe.setIcon(governors_private_camp_marker_deluxe_hovermarker);
        governors_private_camp_ib.show();
    });
    google.maps.event.addListener(governors_private_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        governors_private_camp_marker_deluxe.setIcon(governors_private_camp_marker_deluxe_normalmarker);
        governors_private_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.427238, 35.159533);
    

    

    var kd_talek_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("KD Talek").width((8*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kd_talek. Width is",c.width());
    var kd_talek_ib_content = c.get(0);
    kd_talek_ib.setContent(kd_talek_ib_content);
    kd_talek_ib.setOptions({pixelOffset: new google.maps.Size(-(8*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var kd_talek_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var kd_talek_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover_1.png";
    var kd_talek_marker_kenya_campsites = new google.maps.Marker({
        position: l,
        map: map,
        title: "KD Talek"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+kd_talek_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            kd_talek_marker_kenya_campsites_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kd_talek_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kd_talek_marker_kenya_campsites_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+kd_talek_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            kd_talek_marker_kenya_campsites.setIcon(kd_talek_marker_kenya_campsites_normalmarker);
        }
        else{
            kd_talek_marker_kenya_campsites_normalmarker = new google.maps.MarkerImage(kd_talek_icon_url, null, null, null, size);
            kd_talek_marker_kenya_campsites_hovermarker = new google.maps.MarkerImage(kd_talek_icon_hover_url, null, null, null, size);
            kd_talek_marker_kenya_campsites.setIcon(kd_talek_marker_kenya_campsites_normalmarker);
        }
    }
    else{
        kd_talek_marker_kenya_campsites_normalmarker = new google.maps.MarkerImage(kd_talek_icon_url, null, null, null, size);
        kd_talek_marker_kenya_campsites_hovermarker = new google.maps.MarkerImage(kd_talek_icon_hover_url, null, null, null, size);
        kd_talek_marker_kenya_campsites.setIcon(kd_talek_marker_kenya_campsites_normalmarker);
    }

    kd_talek_ib.open(map, kd_talek_marker_kenya_campsites);
    user_checked.push(kd_talek_marker_kenya_campsites);
    kenya_campsites_markers.push(kd_talek_marker_kenya_campsites);
    all_accommodations_markers.push(kd_talek_marker_kenya_campsites);

    kd_talek_ib.open(map, kd_talek_marker_kenya_campsites);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/kd-talek" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Cheetah_23456_2_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var kd_talek_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>KD Talek</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EKD Talek is a private campsite in the Maasai Mara (Masai Mara) set on the Talek River.\u000A \u003C/p\u003E' +
            read_more +
        '</div>';

        var kd_talek_iw = new google.maps.InfoWindow({content: kd_talek_iw_content});
        infowindows.push(kd_talek_iw);


    google.maps.event.addListener(kd_talek_marker_kenya_campsites, 'click', function() { closeAll(); kd_talek_iw.open(map,kd_talek_marker_kenya_campsites); });
    //~ google.maps.event.addListener(kd_talek_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(kd_talek_marker_kenya_campsites, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        kd_talek_marker_kenya_campsites.setIcon(kd_talek_marker_kenya_campsites_hovermarker);
        kd_talek_ib.show();
    });
    google.maps.event.addListener(kd_talek_marker_kenya_campsites, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        kd_talek_marker_kenya_campsites.setIcon(kd_talek_marker_kenya_campsites_normalmarker);
        kd_talek_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.428933, 35.170669);
    

    

    var africa_expeditions_maasai_mara_tented_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text(" Africa Expeditions Maasai Mara Tented Camp").width((43*12*0.7).toString()+"px");
    console.log("Cloned infobox div for africa_expeditions_maasai_mara_tented_camp. Width is",c.width());
    var africa_expeditions_maasai_mara_tented_camp_ib_content = c.get(0);
    africa_expeditions_maasai_mara_tented_camp_ib.setContent(africa_expeditions_maasai_mara_tented_camp_ib_content);
    africa_expeditions_maasai_mara_tented_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(43*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var africa_expeditions_maasai_mara_tented_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_non_1.png";
    var africa_expeditions_maasai_mara_tented_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var africa_expeditions_maasai_mara_tented_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: " Africa Expeditions Maasai Mara Tented Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+africa_expeditions_maasai_mara_tented_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+africa_expeditions_maasai_mara_tented_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+africa_expeditions_maasai_mara_tented_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range.setIcon(africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker);
        }
        else{
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(africa_expeditions_maasai_mara_tented_camp_icon_url, null, null, null, size);
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(africa_expeditions_maasai_mara_tented_camp_icon_hover_url, null, null, null, size);
            africa_expeditions_maasai_mara_tented_camp_marker_mid_range.setIcon(africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(africa_expeditions_maasai_mara_tented_camp_icon_url, null, null, null, size);
        africa_expeditions_maasai_mara_tented_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(africa_expeditions_maasai_mara_tented_camp_icon_hover_url, null, null, null, size);
        africa_expeditions_maasai_mara_tented_camp_marker_mid_range.setIcon(africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker);
    }

    africa_expeditions_maasai_mara_tented_camp_ib.open(map, africa_expeditions_maasai_mara_tented_camp_marker_mid_range);
    user_checked.push(africa_expeditions_maasai_mara_tented_camp_marker_mid_range);
    mid_range_markers.push(africa_expeditions_maasai_mara_tented_camp_marker_mid_range);
    all_accommodations_markers.push(africa_expeditions_maasai_mara_tented_camp_marker_mid_range);

    africa_expeditions_maasai_mara_tented_camp_ib.open(map, africa_expeditions_maasai_mara_tented_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/africa-expeditions-maasai-mara-tented-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/africa_expedition_camp_maasai_mara_1_jpg_80x80_q85.jpg" alt="" width="80" height="60" />';
        

        var africa_expeditions_maasai_mara_tented_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3> Africa Expeditions Maasai Mara Tented Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EDeep in the heart of the Maasai Mara National Reserve, on a beautiful bend of the Talek River close to a wildebeest crossing point during the great migration, lies Africa ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var africa_expeditions_maasai_mara_tented_camp_iw = new google.maps.InfoWindow({content: africa_expeditions_maasai_mara_tented_camp_iw_content});
        infowindows.push(africa_expeditions_maasai_mara_tented_camp_iw);


    google.maps.event.addListener(africa_expeditions_maasai_mara_tented_camp_marker_mid_range, 'click', function() { closeAll(); africa_expeditions_maasai_mara_tented_camp_iw.open(map,africa_expeditions_maasai_mara_tented_camp_marker_mid_range); });
    //~ google.maps.event.addListener(africa_expeditions_maasai_mara_tented_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(africa_expeditions_maasai_mara_tented_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        africa_expeditions_maasai_mara_tented_camp_marker_mid_range.setIcon(africa_expeditions_maasai_mara_tented_camp_marker_mid_range_hovermarker);
        africa_expeditions_maasai_mara_tented_camp_ib.show();
    });
    google.maps.event.addListener(africa_expeditions_maasai_mara_tented_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        africa_expeditions_maasai_mara_tented_camp_marker_mid_range.setIcon(africa_expeditions_maasai_mara_tented_camp_marker_mid_range_normalmarker);
        africa_expeditions_maasai_mara_tented_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.424085, 35.078659);
    

    

    var naibor_wilderness_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Naibor Wilderness").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for naibor_wilderness. Width is",c.width());
    var naibor_wilderness_ib_content = c.get(0);
    naibor_wilderness_ib.setContent(naibor_wilderness_ib_content);
    naibor_wilderness_ib.setOptions({pixelOffset: new google.maps.Size(-(17*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var naibor_wilderness_icon_url = "/static/uploads/gmap_icons/Campsite_-_non.png";
    var naibor_wilderness_icon_hover_url = "/static/uploads/gmap_icons/Campsite_-_hover_1.png";
    var naibor_wilderness_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Naibor Wilderness"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+naibor_wilderness_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            naibor_wilderness_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naibor_wilderness_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naibor_wilderness_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+naibor_wilderness_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            naibor_wilderness_marker_deluxe.setIcon(naibor_wilderness_marker_deluxe_normalmarker);
        }
        else{
            naibor_wilderness_marker_deluxe_normalmarker = new google.maps.MarkerImage(naibor_wilderness_icon_url, null, null, null, size);
            naibor_wilderness_marker_deluxe_hovermarker = new google.maps.MarkerImage(naibor_wilderness_icon_hover_url, null, null, null, size);
            naibor_wilderness_marker_deluxe.setIcon(naibor_wilderness_marker_deluxe_normalmarker);
        }
    }
    else{
        naibor_wilderness_marker_deluxe_normalmarker = new google.maps.MarkerImage(naibor_wilderness_icon_url, null, null, null, size);
        naibor_wilderness_marker_deluxe_hovermarker = new google.maps.MarkerImage(naibor_wilderness_icon_hover_url, null, null, null, size);
        naibor_wilderness_marker_deluxe.setIcon(naibor_wilderness_marker_deluxe_normalmarker);
    }

    naibor_wilderness_ib.open(map, naibor_wilderness_marker_deluxe);
    user_checked.push(naibor_wilderness_marker_deluxe);
    deluxe_markers.push(naibor_wilderness_marker_deluxe);
    all_accommodations_markers.push(naibor_wilderness_marker_deluxe);

    naibor_wilderness_ib.open(map, naibor_wilderness_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/naibor-wilderness" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/Naibor_Camp_2_jpg_80x80_q85.jpg" alt="" width="80" height="46" />';
        

        var naibor_wilderness_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Naibor Wilderness</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003ENaibor Wilderness is in the heart of the Maasai Mara (Masai Mara).\u003C/p\u003E' +
            read_more +
        '</div>';

        var naibor_wilderness_iw = new google.maps.InfoWindow({content: naibor_wilderness_iw_content});
        infowindows.push(naibor_wilderness_iw);


    google.maps.event.addListener(naibor_wilderness_marker_deluxe, 'click', function() { closeAll(); naibor_wilderness_iw.open(map,naibor_wilderness_marker_deluxe); });
    //~ google.maps.event.addListener(naibor_wilderness_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(naibor_wilderness_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        naibor_wilderness_marker_deluxe.setIcon(naibor_wilderness_marker_deluxe_hovermarker);
        naibor_wilderness_ib.show();
    });
    google.maps.event.addListener(naibor_wilderness_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        naibor_wilderness_marker_deluxe.setIcon(naibor_wilderness_marker_deluxe_normalmarker);
        naibor_wilderness_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.297671, 35.038855);
    

    

    var govenors_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Governors' Camp").width((15*12*0.7).toString()+"px");
    console.log("Cloned infobox div for govenors_camp. Width is",c.width());
    var govenors_camp_ib_content = c.get(0);
    govenors_camp_ib.setContent(govenors_camp_ib_content);
    govenors_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(15*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var govenors_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var govenors_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var govenors_camp_marker_deluxe = new google.maps.Marker({
        position: l,
        map: map,
        title: "Governors&#39; Camp"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+govenors_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            govenors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+govenors_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            govenors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+govenors_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            govenors_camp_marker_deluxe.setIcon(govenors_camp_marker_deluxe_normalmarker);
        }
        else{
            govenors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(govenors_camp_icon_url, null, null, null, size);
            govenors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(govenors_camp_icon_hover_url, null, null, null, size);
            govenors_camp_marker_deluxe.setIcon(govenors_camp_marker_deluxe_normalmarker);
        }
    }
    else{
        govenors_camp_marker_deluxe_normalmarker = new google.maps.MarkerImage(govenors_camp_icon_url, null, null, null, size);
        govenors_camp_marker_deluxe_hovermarker = new google.maps.MarkerImage(govenors_camp_icon_hover_url, null, null, null, size);
        govenors_camp_marker_deluxe.setIcon(govenors_camp_marker_deluxe_normalmarker);
    }

    govenors_camp_ib.open(map, govenors_camp_marker_deluxe);
    user_checked.push(govenors_camp_marker_deluxe);
    deluxe_markers.push(govenors_camp_marker_deluxe);
    all_accommodations_markers.push(govenors_camp_marker_deluxe);

    govenors_camp_ib.open(map, govenors_camp_marker_deluxe);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/govenors-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/gov4_jpg_80x80_q85.jpg" alt="" width="80" height="53" />';
        

        var govenors_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Governors\u0027 Camp</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EGovernors\u0026#8217\u003B Camp is situated on the banks of the Mara River in the west of the Maasai Mara National Reserve. \u003C/p\u003E' +
            read_more +
        '</div>';

        var govenors_camp_iw = new google.maps.InfoWindow({content: govenors_camp_iw_content});
        infowindows.push(govenors_camp_iw);


    google.maps.event.addListener(govenors_camp_marker_deluxe, 'click', function() { closeAll(); govenors_camp_iw.open(map,govenors_camp_marker_deluxe); });
    //~ google.maps.event.addListener(govenors_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(govenors_camp_marker_deluxe, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        govenors_camp_marker_deluxe.setIcon(govenors_camp_marker_deluxe_hovermarker);
        govenors_camp_ib.show();
    });
    google.maps.event.addListener(govenors_camp_marker_deluxe, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        govenors_camp_marker_deluxe.setIcon(govenors_camp_marker_deluxe_normalmarker);
        govenors_camp_ib.hide();
    });
    
    
    
    
    

    
    
    
    l = new google.maps.LatLng(-1.415762, 35.110588);
    

    

    var mara_intrepids_camp_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara Intrepids Lodge").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_intrepids_camp. Width is",c.width());
    var mara_intrepids_camp_ib_content = c.get(0);
    mara_intrepids_camp_ib.setContent(mara_intrepids_camp_ib_content);
    mara_intrepids_camp_ib.setOptions({pixelOffset: new google.maps.Size(-(20*12*0.7)/2, 0)});

    
    
    var category_count = 1;
    
    
    
    var custom_icon = true; //I have changed this :-)
    var mara_intrepids_camp_icon_url = "/static/uploads/gmap_icons/Tented_camp_-_silver_1.png";
    var mara_intrepids_camp_icon_hover_url = "/static/uploads/gmap_icons/Tented_camp_-_hover_2.png";
    var mara_intrepids_camp_marker_mid_range = new google.maps.Marker({
        position: l,
        map: map,
        title: "Mara Intrepids Lodge"
    });
    console.log(category_count);
    if ((category_count > 1) || (custom_icon)){
        if (category_count > 1){
            console.log("Getting rotated icon ... \nurl: /gmaps/get_icon_url/?image="+mara_intrepids_camp_icon_url+"&num=1&total="+category_count);
            var mid = (category_count%2 == 0) ? category_count/2 : Math.round(category_count/2);
            console.log("mid is :",mid);
            var anchor_point = null;
            var angle = null;
            if (mid < 1){
                angle = 30*(1-mid);
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1]);
                console.log("Offset and anchor point :",offset,anchor_point);
            }else if ((mid == 1) && (category_count%2 != 0)){
                console.log("this is the middle marker man! keep default anchor point dude!")}
            else{
                if (mid == 1){
                    angle = 360-(30*(mid));
                }
                else{
                    angle = 360+(30*(1-mid));
                }
                offset = rotate(16, 32, 16, 16, angle);
                anchor_point = new google.maps.Point(offset[0], offset[1])
                console.log("Offset and anchor point :",offset,anchor_point);
            }
            mara_intrepids_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_intrepids_camp_icon_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_intrepids_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage("/gmaps/get_icon_url/?image="+mara_intrepids_camp_icon_hover_url+"&num=1&total="+category_count, null, null, anchor_point, size);
            mara_intrepids_camp_marker_mid_range.setIcon(mara_intrepids_camp_marker_mid_range_normalmarker);
        }
        else{
            mara_intrepids_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_intrepids_camp_icon_url, null, null, null, size);
            mara_intrepids_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_intrepids_camp_icon_hover_url, null, null, null, size);
            mara_intrepids_camp_marker_mid_range.setIcon(mara_intrepids_camp_marker_mid_range_normalmarker);
        }
    }
    else{
        mara_intrepids_camp_marker_mid_range_normalmarker = new google.maps.MarkerImage(mara_intrepids_camp_icon_url, null, null, null, size);
        mara_intrepids_camp_marker_mid_range_hovermarker = new google.maps.MarkerImage(mara_intrepids_camp_icon_hover_url, null, null, null, size);
        mara_intrepids_camp_marker_mid_range.setIcon(mara_intrepids_camp_marker_mid_range_normalmarker);
    }

    mara_intrepids_camp_ib.open(map, mara_intrepids_camp_marker_mid_range);
    user_checked.push(mara_intrepids_camp_marker_mid_range);
    mid_range_markers.push(mara_intrepids_camp_marker_mid_range);
    all_accommodations_markers.push(mara_intrepids_camp_marker_mid_range);

    mara_intrepids_camp_ib.open(map, mara_intrepids_camp_marker_mid_range);

    
        var image = "";
        var read_more = '<p><a class="read_more" href="/accommodation/maasai-mara/mara-intrepids-camp" title="View more info on ">Read more &nbsp;&raquo;</a></p>';

        
        
        image = '<img class="main_img" src="/static/uploads/tent_4_jpg_80x80_q85.jpg" alt="" width="80" height="52" />';
        

        var mara_intrepids_camp_iw_content = ''+
        '<div class="iw_content">'+
            '<h3>Mara Intrepids Lodge</h3>'+
            '<hr/>' +
            image +
            '\u0009\u003Cp\u003EMara Intrepids Camp enjoys one of the most spectacular locations in the world\u0026#8217\u003Bs best\u002Dknown wilderness. It sits above a sweeping bend in the Talek River at the confluence of ...\u003C/p\u003E' +
            read_more +
        '</div>';

        var mara_intrepids_camp_iw = new google.maps.InfoWindow({content: mara_intrepids_camp_iw_content});
        infowindows.push(mara_intrepids_camp_iw);


    google.maps.event.addListener(mara_intrepids_camp_marker_mid_range, 'click', function() { closeAll(); mara_intrepids_camp_iw.open(map,mara_intrepids_camp_marker_mid_range); });
    //~ google.maps.event.addListener(mara_intrepids_camp_iw, 'closeclick', function() { recomputeBounds() });

    google.maps.event.addListener(mara_intrepids_camp_marker_mid_range, 'mouseover', function(event){
        $.each(region_infoboxes, function(i,e){ e.hide(); e.isHidden_ = true; });
        $.each(all_regions_polygons, function(i,e){ google.maps.event.clearInstanceListeners(e); });
        console.log("The event triggered on marker mouseover: ",event);
        mara_intrepids_camp_marker_mid_range.setIcon(mara_intrepids_camp_marker_mid_range_hovermarker);
        mara_intrepids_camp_ib.show();
    });
    google.maps.event.addListener(mara_intrepids_camp_marker_mid_range, 'mouseout', function(event){
        $.each(all_regions_polygons, function(i,e){
            google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng);region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mousemove", function(evt){ region_infoboxes[i].setPosition(evt.latLng); if(region_infoboxes[i].isHidden_ == true) region_infoboxes[i].show(); });
            google.maps.event.addListener(e, "mouseout", function(evt){ region_infoboxes[i].hide(); });
        });
        //$.each(all_regions_polygons, function(i,e){ google.maps.event.addListener(e, "mouseover", function(evt){ region_infoboxes[i].setPosition(evt.latLng); region_infoboxes[i].open(map); } ); });
        mara_intrepids_camp_marker_mid_range.setIcon(mara_intrepids_camp_marker_mid_range_normalmarker);
        mara_intrepids_camp_ib.hide();
    });
    
    
    
    
    

    
    

    
    
    $("input[type=checkbox].gate").change(function(){
        if ($(this).is(":checked")){
            $.each(gate_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(gate_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].luxury").change(function(){
        if ($(this).is(":checked")){
            $.each(luxury_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(luxury_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].mid_range").change(function(){
        if ($(this).is(":checked")){
            $.each(mid_range_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(mid_range_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].kenya_campsites").change(function(){
        if ($(this).is(":checked")){
            $.each(kenya_campsites_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(kenya_campsites_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].private_cottages").change(function(){
        if ($(this).is(":checked")){
            $.each(private_cottages_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(private_cottages_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].budget").change(function(){
        if ($(this).is(":checked")){
            $.each(budget_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(budget_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    
    
    $("input[type=checkbox].deluxe").change(function(){
        if ($(this).is(":checked")){
            $.each(deluxe_markers, function(i,e){
                if ($.inArray(e,user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else {
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            $.each(deluxe_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
                console.log("User checked length :",user_checked.length);
            });
        }
        //recomputeBounds();
    });
    
    

    var all_regions_markers = new Array();
    var all_regions_polygons = new Array();
    var region_infoboxes = new Array();
    var infoboxOptions = {
        closeBoxURL: "",
        infoBoxClearance: new google.maps.Size(1, 1),
        isHidden: true,
        maxWidth: 0,
        enableEventPropagation: true
    };
    
    
    var koyaki_group_ranch_region = "pb|Fav_wEihC~MajAqG{vA|tBqjC|aCidHdg@q@lwI^`zIdP~Mzx@kc@hR`A|i@hhCpGja@`{@r}Bf}@zKha@qaAhRmEpGssFuIwXxK}MvAmSnMki@zDu^vXuAjgA}E`xA_MdPqGnUbAhp@tAjp@?znA|DlLmEvbB`O~Nod@mc@qGflAwpB`hBmEbwBw_Cwg@k_A`]i{Aia@?ePia@en@}pCycBcdDolCsGqr@wXiRdP0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",koyaki_group_ranch_region);
    sw = parseInt(koyaki_group_ranch_region.slice(-1));
    sc = koyaki_group_ranch_region.slice(-8,-1);
    so = parseFloat(koyaki_group_ranch_region.slice(-12,-8));
    fc = koyaki_group_ranch_region.slice(-19,-12);
    fo = parseFloat(koyaki_group_ranch_region.slice(-23,-19));
    path = koyaki_group_ranch_region.slice(0,-23);
    console.log("Path for 'koyaki_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(koyaki_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var koyaki_group_ranch_polygon = new google.maps.Polygon(opts);
    var koyaki_group_ranch_markers = new Array();

    var koyaki_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Koyaki Group Ranch").width((18*12*0.7).toString()+"px");
    console.log("Cloned infobox div for koyaki_group_ranch. Width is",c.width());
    var koyaki_group_ranch_ib_content = c.get(0);
    koyaki_group_ranch_ib.setContent(koyaki_group_ranch_ib_content);
    console.log(c.html());
    koyaki_group_ranch_ib.open(map);
    region_infoboxes[0] = koyaki_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(koyaki_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        koyaki_group_ranch_ib.setPosition(evt.latLng);
        koyaki_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(koyaki_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        koyaki_group_ranch_ib.hide();
    });
    google.maps.event.addListener(koyaki_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        koyaki_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",koyaki_group_ranch_ib.isHidden_);
        if(koyaki_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            koyaki_group_ranch_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    
    
    console.log(koyaki_group_ranch_markers);
    all_regions_markers.push(koyaki_group_ranch_markers);
    all_regions_polygons.push(koyaki_group_ranch_polygon);
    $("input[type=checkbox].koyaki_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'koyaki_group_ranch' and the markers within it ...");
            koyaki_group_ranch_polygon.setMap(map);
            $.each(koyaki_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'koyaki_group_ranch' and the markers within it ...");
            koyaki_group_ranch_polygon.setMap(null);
            $.each(koyaki_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var kimintet_group_ranch_region = "`~|E{`kuElIfUhC|W~PbW|j@`XmP|IyRxd@mPpV|PdE|R{KhSyDdLbPdXxGhDhN|H`KgQpJ~HpJ|H|AtBzAh@~HjRlMtEpGzOzJ|[lJnQGdj@xk@jDfQrVdBuHtP~TrV`@hKvItGjL_FzJlLdBzSrO|D`HqFrOlEbHnUrOdH`V|b@tViRdJtAmEtPvIxQfJeAOgJzx@jThKwJjJ~MlFbGhw@wf@za@ha@gQhRsAxR_F|b@uzDpeNqs@b^pGnaAozCvhErW`bDm{B|yEadCslCyK}i@elAyv@waBgn@gjB{rB{rBwv@cyAk_A}eBmyCqnByv@oTa]rsFibQ~eBiCnpAen@zi@}yExtAse@fvCgrC0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",kimintet_group_ranch_region);
    sw = parseInt(kimintet_group_ranch_region.slice(-1));
    sc = kimintet_group_ranch_region.slice(-8,-1);
    so = parseFloat(kimintet_group_ranch_region.slice(-12,-8));
    fc = kimintet_group_ranch_region.slice(-19,-12);
    fo = parseFloat(kimintet_group_ranch_region.slice(-23,-19));
    path = kimintet_group_ranch_region.slice(0,-23);
    console.log("Path for 'kimintet_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(kimintet_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var kimintet_group_ranch_polygon = new google.maps.Polygon(opts);
    var kimintet_group_ranch_markers = new Array();

    var kimintet_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kimintet Group Ranch").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kimintet_group_ranch. Width is",c.width());
    var kimintet_group_ranch_ib_content = c.get(0);
    kimintet_group_ranch_ib.setContent(kimintet_group_ranch_ib_content);
    console.log(c.html());
    kimintet_group_ranch_ib.open(map);
    region_infoboxes[1] = kimintet_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(kimintet_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        kimintet_group_ranch_ib.setPosition(evt.latLng);
        kimintet_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(kimintet_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        kimintet_group_ranch_ib.hide();
    });
    google.maps.event.addListener(kimintet_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        kimintet_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",kimintet_group_ranch_ib.isHidden_);
        if(kimintet_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            kimintet_group_ranch_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    kimintet_group_ranch_markers.push(olkurruk_mara_lodge_marker_mid_range);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(kilima_camp_marker_mid_range);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(mara_river_camp_marker_budget);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(mara_timbo_camp_marker_mid_range);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(sanctuary_olonana_marker_deluxe);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(mara_enkipai_safari_camp_marker_deluxe);
    
    
    
    
    
    
    
    kimintet_group_ranch_markers.push(mpate_safari_club_marker_mid_range);
    
    
    
    
    
    console.log(kimintet_group_ranch_markers);
    all_regions_markers.push(kimintet_group_ranch_markers);
    all_regions_polygons.push(kimintet_group_ranch_polygon);
    $("input[type=checkbox].kimintet_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'kimintet_group_ranch' and the markers within it ...");
            kimintet_group_ranch_polygon.setMap(map);
            $.each(kimintet_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'kimintet_group_ranch' and the markers within it ...");
            kimintet_group_ranch_polygon.setMap(null);
            $.each(kimintet_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var olkinyei_group_ranch_region = "~feF_nvvEcuC{~IabDkoFwXaeI`}Wcdf@p`HnuEdiH`kF~[nTjSdn@xtA|x@lmBhStf@hQtcA?tXdBzKvJrVxaBmTlpAiC`\\_]hb@iR|ZyJzi@kS`rCcAfYbAdWbe@lvC`Dhv@~Eln@xGnb@fJzKlFvErQ~Ktc@|Slf@xUrDfFpJdTdMzc@fFrc@x@z^tBdd@dHfa@tHv`@yJgIuHmFiDuIkKsGeBsHq]mSsGdBiKmEuAcPyJ_GsH{KQwI}EmE?qG}Lr@iCaNiKtIwBoG{KS}DyDmE|FyYkDsDaOqYbAcAbm@ia@pTqiAz`Eq`EsZc^g~@wXak@_NlD{KyI_YxN{l@{Oog@_@qRns@ajAzcB_]nTs}BzKknAmE}vA|tB{aCr}BagHvg@0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",olkinyei_group_ranch_region);
    sw = parseInt(olkinyei_group_ranch_region.slice(-1));
    sc = olkinyei_group_ranch_region.slice(-8,-1);
    so = parseFloat(olkinyei_group_ranch_region.slice(-12,-8));
    fc = olkinyei_group_ranch_region.slice(-19,-12);
    fo = parseFloat(olkinyei_group_ranch_region.slice(-23,-19));
    path = olkinyei_group_ranch_region.slice(0,-23);
    console.log("Path for 'olkinyei_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(olkinyei_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var olkinyei_group_ranch_polygon = new google.maps.Polygon(opts);
    var olkinyei_group_ranch_markers = new Array();

    var olkinyei_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("OlKinyei Group Ranch").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olkinyei_group_ranch. Width is",c.width());
    var olkinyei_group_ranch_ib_content = c.get(0);
    olkinyei_group_ranch_ib.setContent(olkinyei_group_ranch_ib_content);
    console.log(c.html());
    olkinyei_group_ranch_ib.open(map);
    region_infoboxes[2] = olkinyei_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(olkinyei_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        olkinyei_group_ranch_ib.setPosition(evt.latLng);
        olkinyei_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(olkinyei_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        olkinyei_group_ranch_ib.hide();
    });
    google.maps.event.addListener(olkinyei_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        olkinyei_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",olkinyei_group_ranch_ib.isHidden_);
        if(olkinyei_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            olkinyei_group_ranch_ib.show();
        }
    });
    
    console.log(olkinyei_group_ranch_markers);
    all_regions_markers.push(olkinyei_group_ranch_markers);
    all_regions_polygons.push(olkinyei_group_ranch_polygon);
    $("input[type=checkbox].olkinyei_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'olkinyei_group_ranch' and the markers within it ...");
            olkinyei_group_ranch_polygon.setMap(map);
            $.each(olkinyei_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'olkinyei_group_ranch' and the markers within it ...");
            olkinyei_group_ranch_polygon.setMap(null);
            $.each(olkinyei_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var mara_north_conservancy_region = "|njFypzuEcW_r@_Nuu@_d@{rB{R?{w@ha@uP}L?stTkkEvPoF`O}LaOa_E`Nqs@~wGgRhRaHiOoLlBwCbi@{`@|@jzBfdDxbEbBQpoA`jA}i@b|@qF~[jb@gC`k@jp@trAfDre@j~@~oDoMtkAu@jw@}[l}A_zFt}C_NfBwBtAgBzK`GbW|A|S|HtTnB|W|PtV`l@rWiRzJwQnd@yQpVhQjDhS{KjSkD|KdPtXpGlDdOpHvJeQvItHvJbIfBvBdB`@tHjR|LlFtHbOvI|[vJfQa@jSpUtVjTfCnTtXb@yJdQpUpUbA~MtHpF`NqFtIzKfCnU`NlDpGsGbPlErGnUbPtHpUpd@rWoTxJbAqGjRxJbPxJ_@a@{Jxw@nT|L{JxIbOnGpFvv@wg@ja@ha@jKeIdI{KxZgXte@c|@~iAcgBhmJsqM{ZqTuu@hdAce@u]_iAtHeg@kLyR{h@|[wo@ekA}x@gJ`P}i@aWzKad@aoBal@mUjLwHmTfTeg@czB`@kLwINfJqt@~[ePce@m`A{K}b@wlA0.20#CC66001.00#0000001";
    console.log("From string from Python (escaped):",mara_north_conservancy_region);
    sw = parseInt(mara_north_conservancy_region.slice(-1));
    sc = mara_north_conservancy_region.slice(-8,-1);
    so = parseFloat(mara_north_conservancy_region.slice(-12,-8));
    fc = mara_north_conservancy_region.slice(-19,-12);
    fo = parseFloat(mara_north_conservancy_region.slice(-23,-19));
    path = mara_north_conservancy_region.slice(0,-23);
    console.log("Path for 'mara_north_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(mara_north_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var mara_north_conservancy_polygon = new google.maps.Polygon(opts);
    var mara_north_conservancy_markers = new Array();

    var mara_north_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Mara North Conservancy").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for mara_north_conservancy. Width is",c.width());
    var mara_north_conservancy_ib_content = c.get(0);
    mara_north_conservancy_ib.setContent(mara_north_conservancy_ib_content);
    console.log(c.html());
    mara_north_conservancy_ib.open(map);
    region_infoboxes[3] = mara_north_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(mara_north_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        mara_north_conservancy_ib.setPosition(evt.latLng);
        mara_north_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(mara_north_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        mara_north_conservancy_ib.hide();
    });
    google.maps.event.addListener(mara_north_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        mara_north_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",mara_north_conservancy_ib.isHidden_);
        if(mara_north_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            mara_north_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    mara_north_conservancy_markers.push(offbeat_mara_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(royal_mara_safari_lodge_marker_deluxe);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(saruni_marker_luxury);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(olumara_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(exploreans_mara_rianta_camp_marker_luxury);
    
    
    
    
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(kicheche_mara_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(elephant_pepper_camp_marker_deluxe);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(mara_house_marker_private_cottages);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(mara_buffalo_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(karen_blixen_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(serian_camp_marker_luxury);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(acaluma_camp_marker_mid_range);
    
    
    
    
    
    
    
    mara_north_conservancy_markers.push(acacia_house_marker_private_cottages);
    
    
    
    
    
    console.log(mara_north_conservancy_markers);
    all_regions_markers.push(mara_north_conservancy_markers);
    all_regions_polygons.push(mara_north_conservancy_polygon);
    $("input[type=checkbox].mara_north_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'mara_north_conservancy' and the markers within it ...");
            mara_north_conservancy_polygon.setMap(map);
            $.each(mara_north_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'mara_north_conservancy' and the markers within it ...");
            mara_north_conservancy_polygon.setMap(null);
            $.each(mara_north_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var olchorro_oiroua_conservancy_region = "p{zEadruEqR_Amf@|FiCyQqQzI_NcQcPyJsGe_@cQoTsFgQwXhCoU?c^`^uf@iRiSmFaNoT~L_]xKeBuIsUzLcBqGiRtHkCzZ?xJsHxJwIxKqGhRue@gCmTyK~Ma@g`@`Kyi@xFqYaaAyTlT{uAxcCitCr`Br@x_BV?ppAqTd`@rUh~@bQjDtHhR}oDrsFvr@hwD0.20#9933001.00#0000001";
    console.log("From string from Python (escaped):",olchorro_oiroua_conservancy_region);
    sw = parseInt(olchorro_oiroua_conservancy_region.slice(-1));
    sc = olchorro_oiroua_conservancy_region.slice(-8,-1);
    so = parseFloat(olchorro_oiroua_conservancy_region.slice(-12,-8));
    fc = olchorro_oiroua_conservancy_region.slice(-19,-12);
    fo = parseFloat(olchorro_oiroua_conservancy_region.slice(-23,-19));
    path = olchorro_oiroua_conservancy_region.slice(0,-23);
    console.log("Path for 'olchorro_oiroua_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(olchorro_oiroua_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var olchorro_oiroua_conservancy_polygon = new google.maps.Polygon(opts);
    var olchorro_oiroua_conservancy_markers = new Array();

    var olchorro_oiroua_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("OlChorro Oiroua Conservancy").width((27*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olchorro_oiroua_conservancy. Width is",c.width());
    var olchorro_oiroua_conservancy_ib_content = c.get(0);
    olchorro_oiroua_conservancy_ib.setContent(olchorro_oiroua_conservancy_ib_content);
    console.log(c.html());
    olchorro_oiroua_conservancy_ib.open(map);
    region_infoboxes[4] = olchorro_oiroua_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(olchorro_oiroua_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        olchorro_oiroua_conservancy_ib.setPosition(evt.latLng);
        olchorro_oiroua_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(olchorro_oiroua_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        olchorro_oiroua_conservancy_ib.hide();
    });
    google.maps.event.addListener(olchorro_oiroua_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        olchorro_oiroua_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",olchorro_oiroua_conservancy_ib.isHidden_);
        if(olchorro_oiroua_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            olchorro_oiroua_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    olchorro_oiroua_conservancy_markers.push(richards_camp_marker_luxury);
    
    
    
    
    
    
    
    olchorro_oiroua_conservancy_markers.push(enkerende_tented_camp_marker_mid_range);
    
    
    
    
    
    
    
    
    
    
    
    olchorro_oiroua_conservancy_markers.push(mara_paradise_lodge_marker_budget);
    
    
    
    
    
    
    
    olchorro_oiroua_conservancy_markers.push(duma_camp_marker_mid_range);
    
    
    
    
    
    console.log(olchorro_oiroua_conservancy_markers);
    all_regions_markers.push(olchorro_oiroua_conservancy_markers);
    all_regions_polygons.push(olchorro_oiroua_conservancy_polygon);
    $("input[type=checkbox].olchorro_oiroua_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'olchorro_oiroua_conservancy' and the markers within it ...");
            olchorro_oiroua_conservancy_polygon.setMap(map);
            $.each(olchorro_oiroua_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'olchorro_oiroua_conservancy' and the markers within it ...");
            olchorro_oiroua_conservancy_polygon.setMap(null);
            $.each(olchorro_oiroua_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var lemek_conservancy_region = "h|zEwbruEos@wyD~pDmqFqGoTeQ?qUqbAbPe`@dkA{g@f}@yJtXte@?vg@fo@`xAhCd_@j_A`qDcObjAdAtu@c^~eBwg@hR_uBflAm{Apy@iCoJb@{KnFoNlFyBgQwJoKsRwMoMaGkDa@yF}HkHoJoBiGqKzAeTkGeL0.35#CC66001.00#0000001";
    console.log("From string from Python (escaped):",lemek_conservancy_region);
    sw = parseInt(lemek_conservancy_region.slice(-1));
    sc = lemek_conservancy_region.slice(-8,-1);
    so = parseFloat(lemek_conservancy_region.slice(-12,-8));
    fc = lemek_conservancy_region.slice(-19,-12);
    fo = parseFloat(lemek_conservancy_region.slice(-23,-19));
    path = lemek_conservancy_region.slice(0,-23);
    console.log("Path for 'lemek_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(lemek_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var lemek_conservancy_polygon = new google.maps.Polygon(opts);
    var lemek_conservancy_markers = new Array();

    var lemek_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Lemek Conservancy").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for lemek_conservancy. Width is",c.width());
    var lemek_conservancy_ib_content = c.get(0);
    lemek_conservancy_ib.setContent(lemek_conservancy_ib_content);
    console.log(c.html());
    lemek_conservancy_ib.open(map);
    region_infoboxes[5] = lemek_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(lemek_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        lemek_conservancy_ib.setPosition(evt.latLng);
        lemek_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(lemek_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        lemek_conservancy_ib.hide();
    });
    google.maps.event.addListener(lemek_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        lemek_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",lemek_conservancy_ib.isHidden_);
        if(lemek_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            lemek_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    
    
    
    
    lemek_conservancy_markers.push(david_livingstone_safari_lodge_marker_mid_range);
    
    
    
    
    
    console.log(lemek_conservancy_markers);
    all_regions_markers.push(lemek_conservancy_markers);
    all_regions_polygons.push(lemek_conservancy_polygon);
    $("input[type=checkbox].lemek_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'lemek_conservancy' and the markers within it ...");
            lemek_conservancy_polygon.setMap(map);
            $.each(lemek_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'lemek_conservancy' and the markers within it ...");
            lemek_conservancy_polygon.setMap(null);
            $.each(lemek_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var ol_kinyei_conservancy_region = "hdlGc~_wEb^dIxh@`@`l@eAps@hCfeAsVvv@{Kzp@}FjKsGtPbHdIgIhKiCfQsOqN{KsR?{AgKwBgI_F}DyJ}FuIkCeI_GeA}EcHmDyC{K}LmFcAeIu^}RqGfBgJiDuAwPiK_FcH{La@gI_FmF`@qF{Kr@iDcO{C|DaHvCs@qGmLR{DmEmE~GqJ{AgNwAkD{OeIr@{OHQjPs@f\\_a@lSe_@`rAsi@loBxGhR0.30#CC66001.00#0000001";
    console.log("From string from Python (escaped):",ol_kinyei_conservancy_region);
    sw = parseInt(ol_kinyei_conservancy_region.slice(-1));
    sc = ol_kinyei_conservancy_region.slice(-8,-1);
    so = parseFloat(ol_kinyei_conservancy_region.slice(-12,-8));
    fc = ol_kinyei_conservancy_region.slice(-19,-12);
    fo = parseFloat(ol_kinyei_conservancy_region.slice(-23,-19));
    path = ol_kinyei_conservancy_region.slice(0,-23);
    console.log("Path for 'ol_kinyei_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(ol_kinyei_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var ol_kinyei_conservancy_polygon = new google.maps.Polygon(opts);
    var ol_kinyei_conservancy_markers = new Array();

    var ol_kinyei_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Ol Kinyei Conservancy").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for ol_kinyei_conservancy. Width is",c.width());
    var ol_kinyei_conservancy_ib_content = c.get(0);
    ol_kinyei_conservancy_ib.setContent(ol_kinyei_conservancy_ib_content);
    console.log(c.html());
    ol_kinyei_conservancy_ib.open(map);
    region_infoboxes[6] = ol_kinyei_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(ol_kinyei_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        ol_kinyei_conservancy_ib.setPosition(evt.latLng);
        ol_kinyei_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(ol_kinyei_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        ol_kinyei_conservancy_ib.hide();
    });
    google.maps.event.addListener(ol_kinyei_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        ol_kinyei_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",ol_kinyei_conservancy_ib.isHidden_);
        if(ol_kinyei_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            ol_kinyei_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    
    
    
    
    ol_kinyei_conservancy_markers.push(mara_porini_camp_marker_luxury);
    
    
    
    
    
    console.log(ol_kinyei_conservancy_markers);
    all_regions_markers.push(ol_kinyei_conservancy_markers);
    all_regions_polygons.push(ol_kinyei_conservancy_polygon);
    $("input[type=checkbox].ol_kinyei_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'ol_kinyei_conservancy' and the markers within it ...");
            ol_kinyei_conservancy_polygon.setMap(map);
            $.each(ol_kinyei_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'ol_kinyei_conservancy' and the markers within it ...");
            ol_kinyei_conservancy_polygon.setMap(null);
            $.each(ol_kinyei_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var motorogi_conservancy_region = "`dtFoowuEkb@{Y~LmUtYvXhRi`@mRiOlRsKro@imAtMjc@drDga@lUbPnc@q_Bp`@mlAjb@kwCg~@sHia@yC_IbEirAwFwn@bAelAyC}gAvQwiBxJ{UY_Dv[cHvXkDdQcArGaBbM{IbKrHdW_GjwFgQjEia@|_A`S|f@ns@}Z?yJ|LtHjzBa@0.20#9933001.00#0000001";
    console.log("From string from Python (escaped):",motorogi_conservancy_region);
    sw = parseInt(motorogi_conservancy_region.slice(-1));
    sc = motorogi_conservancy_region.slice(-8,-1);
    so = parseFloat(motorogi_conservancy_region.slice(-12,-8));
    fc = motorogi_conservancy_region.slice(-19,-12);
    fo = parseFloat(motorogi_conservancy_region.slice(-23,-19));
    path = motorogi_conservancy_region.slice(0,-23);
    console.log("Path for 'motorogi_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(motorogi_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var motorogi_conservancy_polygon = new google.maps.Polygon(opts);
    var motorogi_conservancy_markers = new Array();

    var motorogi_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Motorogi Conservancy").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for motorogi_conservancy. Width is",c.width());
    var motorogi_conservancy_ib_content = c.get(0);
    motorogi_conservancy_ib.setContent(motorogi_conservancy_ib_content);
    console.log(c.html());
    motorogi_conservancy_ib.open(map);
    region_infoboxes[7] = motorogi_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(motorogi_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        motorogi_conservancy_ib.setPosition(evt.latLng);
        motorogi_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(motorogi_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        motorogi_conservancy_ib.hide();
    });
    google.maps.event.addListener(motorogi_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        motorogi_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",motorogi_conservancy_ib.isHidden_);
        if(motorogi_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            motorogi_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    
    
    console.log(motorogi_conservancy_markers);
    all_regions_markers.push(motorogi_conservancy_markers);
    all_regions_polygons.push(motorogi_conservancy_polygon);
    $("input[type=checkbox].motorogi_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'motorogi_conservancy' and the markers within it ...");
            motorogi_conservancy_polygon.setMap(map);
            $.each(motorogi_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'motorogi_conservancy' and the markers within it ...");
            motorogi_conservancy_polygon.setMap(null);
            $.each(motorogi_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var naboisho_conservancy_region = "jwoG}}~uE|qBamBa]i}@|bIgiH~k@hRlYyTen@uf@{Oo\\d@omAyLeOe\\k^xIqZePyKqVyX_NbNwIe_@ia@yIcAal@iCmr@eP{Z_N{KzZa]?e_@wXe_@mTgn@sn@yc@{p@pJec@pJwc@zKit@sCqo@dAie@k@c^uH{F_S}XcDofBaM{_AaH}^w}@wWek@_NfC{KuImYbPom@cP{f@k@wFtQqJ`a@ec@ho@se@hs@jp@lX|mC|GnZjl@xhAvvBlm@|oCjPbb@za@Iy]h{Afh@p_AkwB``CohBxEikA`pBvc@bHaO~c@tj@`Fr{@vXhi@~Rhh@fTvg@pk@~c@r[tHnQfFfE`t@gIpl@|i@vdAp]vc@c@0.15#CC66001.00#0000001";
    console.log("From string from Python (escaped):",naboisho_conservancy_region);
    sw = parseInt(naboisho_conservancy_region.slice(-1));
    sc = naboisho_conservancy_region.slice(-8,-1);
    so = parseFloat(naboisho_conservancy_region.slice(-12,-8));
    fc = naboisho_conservancy_region.slice(-19,-12);
    fo = parseFloat(naboisho_conservancy_region.slice(-23,-19));
    path = naboisho_conservancy_region.slice(0,-23);
    console.log("Path for 'naboisho_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(naboisho_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var naboisho_conservancy_polygon = new google.maps.Polygon(opts);
    var naboisho_conservancy_markers = new Array();

    var naboisho_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Naboisho Conservancy").width((20*12*0.7).toString()+"px");
    console.log("Cloned infobox div for naboisho_conservancy. Width is",c.width());
    var naboisho_conservancy_ib_content = c.get(0);
    naboisho_conservancy_ib.setContent(naboisho_conservancy_ib_content);
    console.log(c.html());
    naboisho_conservancy_ib.open(map);
    region_infoboxes[8] = naboisho_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(naboisho_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        naboisho_conservancy_ib.setPosition(evt.latLng);
        naboisho_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(naboisho_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        naboisho_conservancy_ib.hide();
    });
    google.maps.event.addListener(naboisho_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        naboisho_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",naboisho_conservancy_ib.isHidden_);
        if(naboisho_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            naboisho_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    naboisho_conservancy_markers.push(kicheche_naboisho_camp_marker_deluxe);
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    naboisho_conservancy_markers.push(ol_seki_camp_marker_deluxe);
    
    
    
    
    
    
    
    naboisho_conservancy_markers.push(encounter_mara_marker_mid_range);
    
    
    
    
    
    
    
    naboisho_conservancy_markers.push(naboisho_camp_marker_luxury);
    
    
    
    
    
    
    
    
    
    
    
    naboisho_conservancy_markers.push(basecamp_marker_deluxe);
    
    
    
    
    
    console.log(naboisho_conservancy_markers);
    all_regions_markers.push(naboisho_conservancy_markers);
    all_regions_polygons.push(naboisho_conservancy_polygon);
    $("input[type=checkbox].naboisho_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'naboisho_conservancy' and the markers within it ...");
            naboisho_conservancy_polygon.setMap(map);
            $.each(naboisho_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'naboisho_conservancy' and the markers within it ...");
            naboisho_conservancy_polygon.setMap(null);
            $.each(naboisho_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var olaro_orok_conservancy_region = "~wbGi`ouEe_@iRqs@xeAod@e`@aiAvJwg@aOgRwg@zZoq@ekAyw@sHbPam@qV|Mod@upBak@kTzKwHoUhUmf@kb@sZbM_UzYvXxQg`@}RcOdS{Klo@imAjN~c@vpD{a@rVvPlb@g~Aha@imArb@_yC~j@pF~XjHfYjKti@hRlo@fXpg@vk@xYxRpJdIjHrO|EfFhs@gJfUdTzVlT~dAd_@l`@mAlWdAkrAn_B0.30#CC66001.00#0000001";
    console.log("From string from Python (escaped):",olaro_orok_conservancy_region);
    sw = parseInt(olaro_orok_conservancy_region.slice(-1));
    sc = olaro_orok_conservancy_region.slice(-8,-1);
    so = parseFloat(olaro_orok_conservancy_region.slice(-12,-8));
    fc = olaro_orok_conservancy_region.slice(-19,-12);
    fo = parseFloat(olaro_orok_conservancy_region.slice(-23,-19));
    path = olaro_orok_conservancy_region.slice(0,-23);
    console.log("Path for 'olaro_orok_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(olaro_orok_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var olaro_orok_conservancy_polygon = new google.maps.Polygon(opts);
    var olaro_orok_conservancy_markers = new Array();

    var olaro_orok_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olaro Orok Conservancy").width((22*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olaro_orok_conservancy. Width is",c.width());
    var olaro_orok_conservancy_ib_content = c.get(0);
    olaro_orok_conservancy_ib.setContent(olaro_orok_conservancy_ib_content);
    console.log(c.html());
    olaro_orok_conservancy_ib.open(map);
    region_infoboxes[9] = olaro_orok_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(olaro_orok_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        olaro_orok_conservancy_ib.setPosition(evt.latLng);
        olaro_orok_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(olaro_orok_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        olaro_orok_conservancy_ib.hide();
    });
    google.maps.event.addListener(olaro_orok_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        olaro_orok_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",olaro_orok_conservancy_ib.isHidden_);
        if(olaro_orok_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            olaro_orok_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    olaro_orok_conservancy_markers.push(kicheche_bush_camp_marker_deluxe);
    
    
    
    
    
    
    
    olaro_orok_conservancy_markers.push(nyumbu_camp_marker_budget);
    
    
    
    
    
    
    
    
    
    
    
    olaro_orok_conservancy_markers.push(topi_house_marker_private_cottages);
    
    
    
    
    
    
    
    olaro_orok_conservancy_markers.push(mara_plains_marker_luxury);
    
    
    
    
    
    
    
    olaro_orok_conservancy_markers.push(porini_lion_camp_marker_luxury);
    
    
    
    
    
    
    
    olaro_orok_conservancy_markers.push(richards_private_camp_marker_luxury);
    
    
    
    
    
    console.log(olaro_orok_conservancy_markers);
    all_regions_markers.push(olaro_orok_conservancy_markers);
    all_regions_polygons.push(olaro_orok_conservancy_polygon);
    $("input[type=checkbox].olaro_orok_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'olaro_orok_conservancy' and the markers within it ...");
            olaro_orok_conservancy_polygon.setMap(map);
            $.each(olaro_orok_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'olaro_orok_conservancy' and the markers within it ...");
            olaro_orok_conservancy_polygon.setMap(null);
            $.each(olaro_orok_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var olorien_group_ranch_region = "`gqFgiwtEuzDvgNwu@zYpGpcAe`@ho@gxBlxCzYbcDs}Bd~Etf@lq@npA|i@xtA?|gAjTrcA~i@xv@fCpkFio@jsKg~QkcBiiCelA_fBm}Aka@ayAscAucAilAmr@weB0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",olorien_group_ranch_region);
    sw = parseInt(olorien_group_ranch_region.slice(-1));
    sc = olorien_group_ranch_region.slice(-8,-1);
    so = parseFloat(olorien_group_ranch_region.slice(-12,-8));
    fc = olorien_group_ranch_region.slice(-19,-12);
    fo = parseFloat(olorien_group_ranch_region.slice(-23,-19));
    path = olorien_group_ranch_region.slice(0,-23);
    console.log("Path for 'olorien_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(olorien_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var olorien_group_ranch_polygon = new google.maps.Polygon(opts);
    var olorien_group_ranch_markers = new Array();

    var olorien_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olorien Group Ranch").width((19*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olorien_group_ranch. Width is",c.width());
    var olorien_group_ranch_ib_content = c.get(0);
    olorien_group_ranch_ib.setContent(olorien_group_ranch_ib_content);
    console.log(c.html());
    olorien_group_ranch_ib.open(map);
    region_infoboxes[10] = olorien_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(olorien_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        olorien_group_ranch_ib.setPosition(evt.latLng);
        olorien_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(olorien_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        olorien_group_ranch_ib.hide();
    });
    google.maps.event.addListener(olorien_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        olorien_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",olorien_group_ranch_ib.isHidden_);
        if(olorien_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            olorien_group_ranch_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    olorien_group_ranch_markers.push(mara_west_camp_marker_deluxe);
    
    
    
    
    
    console.log(olorien_group_ranch_markers);
    all_regions_markers.push(olorien_group_ranch_markers);
    all_regions_polygons.push(olorien_group_ranch_polygon);
    $("input[type=checkbox].olorien_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'olorien_group_ranch' and the markers within it ...");
            olorien_group_ranch_polygon.setMap(map);
            $.each(olorien_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'olorien_group_ranch' and the markers within it ...");
            olorien_group_ranch_polygon.setMap(null);
            $.each(olorien_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var kerinkani_group_ranch_region = "pavFkcosEtIj_AxjEl}Aha@kp@dkGwg@lhDs{Cst@eyAa{@gyBwXeP?oc@en@q_BePgCknAkwCinAvtB0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",kerinkani_group_ranch_region);
    sw = parseInt(kerinkani_group_ranch_region.slice(-1));
    sc = kerinkani_group_ranch_region.slice(-8,-1);
    so = parseFloat(kerinkani_group_ranch_region.slice(-12,-8));
    fc = kerinkani_group_ranch_region.slice(-19,-12);
    fo = parseFloat(kerinkani_group_ranch_region.slice(-23,-19));
    path = kerinkani_group_ranch_region.slice(0,-23);
    console.log("Path for 'kerinkani_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(kerinkani_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var kerinkani_group_ranch_polygon = new google.maps.Polygon(opts);
    var kerinkani_group_ranch_markers = new Array();

    var kerinkani_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Kerinkani Group Ranch").width((21*12*0.7).toString()+"px");
    console.log("Cloned infobox div for kerinkani_group_ranch. Width is",c.width());
    var kerinkani_group_ranch_ib_content = c.get(0);
    kerinkani_group_ranch_ib.setContent(kerinkani_group_ranch_ib_content);
    console.log(c.html());
    kerinkani_group_ranch_ib.open(map);
    region_infoboxes[11] = kerinkani_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(kerinkani_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        kerinkani_group_ranch_ib.setPosition(evt.latLng);
        kerinkani_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(kerinkani_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        kerinkani_group_ranch_ib.hide();
    });
    google.maps.event.addListener(kerinkani_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        kerinkani_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",kerinkani_group_ranch_ib.isHidden_);
        if(kerinkani_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            kerinkani_group_ranch_ib.show();
        }
    });
    
    console.log(kerinkani_group_ranch_markers);
    all_regions_markers.push(kerinkani_group_ranch_markers);
    all_regions_polygons.push(kerinkani_group_ranch_polygon);
    $("input[type=checkbox].kerinkani_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'kerinkani_group_ranch' and the markers within it ...");
            kerinkani_group_ranch_polygon.setMap(map);
            $.each(kerinkani_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'kerinkani_group_ranch' and the markers within it ...");
            kerinkani_group_ranch_polygon.setMap(null);
            $.each(kerinkani_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var maasai_mara_national_reserve_region = "x~sGglhsEi`C_|Bcm@i_A_]iRwXeAcAuf@e_@al@qi@ucAkSec@ex@arB{WmPI{a@km@u`BcP_Cuf@kjAah@glAa|Ae_CsrAkoB{R}EsWuH_r@oQgxA{bAucAclAg]}|@mm@i}AqVap@{Xus@fHiu@j`AudA|eBasCr`Bo{Bp}HanKtkJajLzZd}@rt@xg@loAre@bO`l@hDxYvId_@|LjD~McPeB{Y|LfBgBsVxYmExJia@{Kse@jSmD{KoVjS{JlSgBdQsImEiRvXrI|LsHlTwJrGrHfCoUhRiQdAqV`OoUeP{KfQ_MaOsf@sGeOvXsWcPuHpGoFoFod@cAmTzSeIdA{QlM}EyRgQnFeQ_FuPlEyCvIxChCoM`Hr@`GePnFmEeIcAvI?aGuOr@aHlEwA}DqOwBkKzCqFeA}LxJmFeBiv@nUeJrmCyiB~yCwqBbwEitDn_BawAryAcIzp@yB~MeAn\\uC~[bAr^e@xYySfR?lEdCzKxI~y@veA|[jSdPjSxh@pTxh@dBdP~Mhp@dPxYxRxChQmEhRdAvYa@vWcHxRbPrVwB|SzZ|FbWjKjKmFtPpA`^dVfBjEtIzDrO?lLlEfY?zRiDdIoM|LwAnF_GfJNlE{DxCoFtHp@nF?~FjD`GsAdu@p]q`Hx_Oc}L|xWmcLpgVgtJvqSi}D`rI0.15#33CC001.00#0000002";
    console.log("From string from Python (escaped):",maasai_mara_national_reserve_region);
    sw = parseInt(maasai_mara_national_reserve_region.slice(-1));
    sc = maasai_mara_national_reserve_region.slice(-8,-1);
    so = parseFloat(maasai_mara_national_reserve_region.slice(-12,-8));
    fc = maasai_mara_national_reserve_region.slice(-19,-12);
    fo = parseFloat(maasai_mara_national_reserve_region.slice(-23,-19));
    path = maasai_mara_national_reserve_region.slice(0,-23);
    console.log("Path for 'maasai_mara_national_reserve'",path);
    path = google.maps.geometry.encoding.decodePath(maasai_mara_national_reserve_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var maasai_mara_national_reserve_polygon = new google.maps.Polygon(opts);
    var maasai_mara_national_reserve_markers = new Array();

    var maasai_mara_national_reserve_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Maasai Mara National Reserve").width((28*12*0.7).toString()+"px");
    console.log("Cloned infobox div for maasai_mara_national_reserve. Width is",c.width());
    var maasai_mara_national_reserve_ib_content = c.get(0);
    maasai_mara_national_reserve_ib.setContent(maasai_mara_national_reserve_ib_content);
    console.log(c.html());
    maasai_mara_national_reserve_ib.open(map);
    region_infoboxes[12] = maasai_mara_national_reserve_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(maasai_mara_national_reserve_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        maasai_mara_national_reserve_ib.setPosition(evt.latLng);
        maasai_mara_national_reserve_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(maasai_mara_national_reserve_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        maasai_mara_national_reserve_ib.hide();
    });
    google.maps.event.addListener(maasai_mara_national_reserve_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        maasai_mara_national_reserve_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",maasai_mara_national_reserve_ib.isHidden_);
        if(maasai_mara_national_reserve_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            maasai_mara_national_reserve_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &#39;...(remaining elements truncated)...&#39;]");
    
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(little_naibor_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(salas_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(ololaimutiek_gate_marker_gate);
    
    
    
    
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(sarova_mara_game_camp_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(oloololo_gate_marker_gate);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(musiara_gate_marker_gate);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(talek_gate_marker_gate);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(sand_river_gate_marker_gate);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(mara_explorer_camp_marker_luxury);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(kichwa_tembo_tented_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(little_governors_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(serena_safari_lodge_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(mara_simba_lodge_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(rekero_camp_marker_luxury);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(matira_bush_camp_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(mara_ngenche_luxury_tented_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(entim_safari_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(mara_bush_camp_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(bateleur_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(governors_il_moran_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(keekorok_lodge_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(ngare_serian_marker_luxury);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(naibor_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(governors_private_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(kd_talek_marker_kenya_campsites);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(africa_expeditions_maasai_mara_tented_camp_marker_mid_range);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(naibor_wilderness_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(govenors_camp_marker_deluxe);
    
    
    
    
    
    
    
    maasai_mara_national_reserve_markers.push(mara_intrepids_camp_marker_mid_range);
    
    
    
    
    
    console.log(maasai_mara_national_reserve_markers);
    all_regions_markers.push(maasai_mara_national_reserve_markers);
    all_regions_polygons.push(maasai_mara_national_reserve_polygon);
    $("input[type=checkbox].maasai_mara_national_reserve").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'maasai_mara_national_reserve' and the markers within it ...");
            maasai_mara_national_reserve_polygon.setMap(map);
            $.each(maasai_mara_national_reserve_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'maasai_mara_national_reserve' and the markers within it ...");
            maasai_mara_national_reserve_polygon.setMap(null);
            $.each(maasai_mara_national_reserve_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var siana_group_ranch_region = "f`pG_yzwE|j@wBjt@gM|y@sx@lx@F`}A_V~n@ub@dTwx@bHw~AzKaq@ra@kl@|_@sR~c@O|LyV|L}mA`RgfEpkE~hBjp@nr@fyB`rApl@p]d_@zp@~c@~_A~tBbeF|vAbhBbwBr{@~c@t_@j[nc@xCnc@byAhw@|{Bn|B~c@rt@jb@lTxYjo@|jCfmD}b@sAkSrOya@fIeAxDnMlE`GvPgJrGQzKmErPhCxYmLvXOjZdBbe@mc@fY`@fXyCl[uPtIp@fXsO~FkLnM`@`O_FvAeIgJsHs@gYj[?rGvQc@fJ`VlLhBvB|F_F|CsOSa@lTkZ_Uen@iKoU}M{i@qFyh@mSePmT{ZkT{fA}tA{Zb@oUzSse@b@qVc@gn@~E{iC`NuzApqAksEfsDqpHlbFmq@yh@aO{Z`@kmAsSuW_U_VlI{Y}P}L_UkWiNdM_J}^_a@mImEq_BeP}ZiNkLd[g\\?u_@qYw_@sScm@on@gd@ps@{GpJqGnQ`H|HcI`KaC|P{O_N{K{RIuAiKwBuH}E_EqUkOoQubAcA_Si@mP_Ak^kFad@iMid@wJkTeDcFebAud@kZyQiReSaDuS_Iwy@_Dwy@}Hie@mEo\\eIoc@oJil@eAgXlAe\\hKqpA0.15#FFFF661.00#0000001";
    console.log("From string from Python (escaped):",siana_group_ranch_region);
    sw = parseInt(siana_group_ranch_region.slice(-1));
    sc = siana_group_ranch_region.slice(-8,-1);
    so = parseFloat(siana_group_ranch_region.slice(-12,-8));
    fc = siana_group_ranch_region.slice(-19,-12);
    fo = parseFloat(siana_group_ranch_region.slice(-23,-19));
    path = siana_group_ranch_region.slice(0,-23);
    console.log("Path for 'siana_group_ranch'",path);
    path = google.maps.geometry.encoding.decodePath(siana_group_ranch_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var siana_group_ranch_polygon = new google.maps.Polygon(opts);
    var siana_group_ranch_markers = new Array();

    var siana_group_ranch_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Siana Group Ranch").width((17*12*0.7).toString()+"px");
    console.log("Cloned infobox div for siana_group_ranch. Width is",c.width());
    var siana_group_ranch_ib_content = c.get(0);
    siana_group_ranch_ib.setContent(siana_group_ranch_ib_content);
    console.log(c.html());
    siana_group_ranch_ib.open(map);
    region_infoboxes[13] = siana_group_ranch_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(siana_group_ranch_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        siana_group_ranch_ib.setPosition(evt.latLng);
        siana_group_ranch_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(siana_group_ranch_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        siana_group_ranch_ib.hide();
    });
    google.maps.event.addListener(siana_group_ranch_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        siana_group_ranch_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",siana_group_ranch_ib.isHidden_);
        if(siana_group_ranch_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            siana_group_ranch_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;, &lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    siana_group_ranch_markers.push(masai_mara_manyatta_camp_marker_budget);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(ol_moran_tented_camp_marker_mid_range);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(sekenani_camp_marker_mid_range);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(siana_springs_camp_marker_mid_range);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(leleshwa_camp_marker_deluxe);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(mara_sopa_lodge_marker_mid_range);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(oltome_mara_magic_marker_mid_range);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(entumoto_camp_marker_deluxe);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(acacia_camp_marker_budget);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(mara_bushtops_marker_deluxe);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(enchoro_wildlife_camp_marker_budget);
    
    
    
    
    
    
    
    siana_group_ranch_markers.push(mara_hippo_safari_lodge_marker_budget);
    
    
    
    
    
    console.log(siana_group_ranch_markers);
    all_regions_markers.push(siana_group_ranch_markers);
    all_regions_polygons.push(siana_group_ranch_polygon);
    $("input[type=checkbox].siana_group_ranch").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'siana_group_ranch' and the markers within it ...");
            siana_group_ranch_polygon.setMap(map);
            $.each(siana_group_ranch_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'siana_group_ranch' and the markers within it ...");
            siana_group_ranch_polygon.setMap(null);
            $.each(siana_group_ranch_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    
    
    var olderikesi_wildlife_conservancy_region = "j{fIa}|vEbm@pVvg@bOvv@|[pd@hRbPtHlEzZ`]iRbPrVfQ?rWdQps@`l@gtAz~C{i@eX{GxAkFqCuGMoHm@{CnFqEvDcJGoFvF}LxAmIfMiRnDwXQyL{DwOGqI}DyA{Dc^aV}PqAsKfFwVkK{ZcGrBgS{OsVxGmR\\}W{@cZpEiR}AqPz@}SjOLpE_DoBiGoLsB_JaVsQb@FaGzXa[tGf@rInJjFeB]{NzKeMvOmGg@}W0.00#FFFFFF1.00#0000001";
    console.log("From string from Python (escaped):",olderikesi_wildlife_conservancy_region);
    sw = parseInt(olderikesi_wildlife_conservancy_region.slice(-1));
    sc = olderikesi_wildlife_conservancy_region.slice(-8,-1);
    so = parseFloat(olderikesi_wildlife_conservancy_region.slice(-12,-8));
    fc = olderikesi_wildlife_conservancy_region.slice(-19,-12);
    fo = parseFloat(olderikesi_wildlife_conservancy_region.slice(-23,-19));
    path = olderikesi_wildlife_conservancy_region.slice(0,-23);
    console.log("Path for 'olderikesi_wildlife_conservancy'",path);
    path = google.maps.geometry.encoding.decodePath(olderikesi_wildlife_conservancy_region.slice(0,-23));
    opts = ({
        map: map,
        path: path,
        strokeWeight: sw,
        strokeOpacity: so,
        strokeColor: sc,
        fillColor: fc,
        fillOpacity: fo,
    });
    var olderikesi_wildlife_conservancy_polygon = new google.maps.Polygon(opts);
    var olderikesi_wildlife_conservancy_markers = new Array();

    var olderikesi_wildlife_conservancy_ib = new InfoBox(infoboxOptions);
    var c = infobox.clone(true).text("Olderikesi Wildlife Conservancy").width((31*12*0.7).toString()+"px");
    console.log("Cloned infobox div for olderikesi_wildlife_conservancy. Width is",c.width());
    var olderikesi_wildlife_conservancy_ib_content = c.get(0);
    olderikesi_wildlife_conservancy_ib.setContent(olderikesi_wildlife_conservancy_ib_content);
    console.log(c.html());
    olderikesi_wildlife_conservancy_ib.open(map);
    region_infoboxes[14] = olderikesi_wildlife_conservancy_ib;
    console.log("Region infoboxes now :",region_infoboxes);
    google.maps.event.addListener(olderikesi_wildlife_conservancy_polygon, "mouseover", function(evt){
        console.log("u jst hvred ova a region mehn!!!!");
        //console.log(evt.latLng);
        olderikesi_wildlife_conservancy_ib.setPosition(evt.latLng);
        olderikesi_wildlife_conservancy_ib.show();
        console.log("Triggered event :",evt);
    });
    google.maps.event.addListener(olderikesi_wildlife_conservancy_polygon, "mouseout", function(){
        console.log("u jst hvred outta a region mehn!!!!");
        olderikesi_wildlife_conservancy_ib.hide();
    });
    google.maps.event.addListener(olderikesi_wildlife_conservancy_polygon, "mousemove", function(evt){
        console.log("u r muvn da mouse ova a region mehn!!!!");
        olderikesi_wildlife_conservancy_ib.setPosition(evt.latLng);
        console.log("it iz hidden. tru or false?",olderikesi_wildlife_conservancy_ib.isHidden_);
        if(olderikesi_wildlife_conservancy_ib.isHidden_ == true) {
            console.log("infobx wuz hidden. showin it now!");
            olderikesi_wildlife_conservancy_ib.show();
        }
    });
    
    console.log("Entries : [&lt;GmapsEntry: GmapsEntry object&gt;]");
    
    
    
    
    olderikesi_wildlife_conservancy_markers.push(cottars_1920s_safari_camp_marker_luxury);
    
    
    
    
    
    console.log(olderikesi_wildlife_conservancy_markers);
    all_regions_markers.push(olderikesi_wildlife_conservancy_markers);
    all_regions_polygons.push(olderikesi_wildlife_conservancy_polygon);
    $("input[type=checkbox].olderikesi_wildlife_conservancy").change(function(){
        if ($(this).is(":checked")){
            console.log("Showing region for 'olderikesi_wildlife_conservancy' and the markers within it ...");
            olderikesi_wildlife_conservancy_polygon.setMap(map);
            $.each(olderikesi_wildlife_conservancy_markers, function(i,e){
                if ($.inArray(e, user_checked) == -1){
                    user_checked.push(e);
                    e.setVisible(true);
                    console.log("Added to user checked :",e);
                }
                else{
                    console.log("Not added to user_checked as already there :", e);
                }
            });
            console.log("User checked:",user_checked);
        }
        else{
            console.log("Hiding region for 'olderikesi_wildlife_conservancy' and the markers within it ...");
            olderikesi_wildlife_conservancy_polygon.setMap(null);
            $.each(olderikesi_wildlife_conservancy_markers, function(i,e){
                console.log("removing marker:",e,"at index",user_checked.indexOf(e),"of user_checked");
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("User checked :",user_checked);
            });
        }
        //recomputeBounds();
    });
    
    

    $(".toggle_regions").click(function(evt){
        if ((evt.target == $(this).children("input").get(0)) || (evt.target == $(this).children("label").get(0))){
            console.log("Message from .toggle_regions. U clicked on the",evt.target)
            return;
        }
        var btn = $(this);
        var toggle_markers = false;
        console.log("cliked on toggle_regions button ...");
        if($(this).is(":contains('Hide')")){
            console.log("Hiding all regions ...");
            console.log("total visible markers", user_checked.length);
            if (btn.find("input[type=checkbox]").is(":checked")){
                console.log("Checkbox is also checked.");
                toggle_markers = true;
            }
            $.each(all_regions_polygons, function(i,e){
                e.setMap(null);
                if (toggle_markers){
                    console.log("Hiding also all markers in array",all_regions_markers[i]);
                    $.each(all_regions_markers[i], function(i,e){
                        console.log("removing",e);
                        Array.rm(user_checked, user_checked.indexOf(e));
                        e.setVisible(false);
                        console.log("total user_checked now", user_checked.length);
                        //recomputeBounds();
                        btn.next("ul").find("input[type=checkbox]").removeAttr("checked");
                    });
                    console.log("total after removing all regions", user_checked.length);
                }
                label = btn.children("label").clone(true);
                btn = btn.remove("label").text("Show all regions");
                label.appendTo(btn);
            });
        }
        else{
            console.log("Showing all regions ...");
            console.log("total visible markers", user_checked.length);
            if (btn.find("input[type=checkbox]").is(":checked")){
                console.log("Checkbox is also checked.");
                toggle_markers = true;
            }
            $.each(all_regions_polygons, function(i,e){
                e.setMap(map);
                if (toggle_markers){
                    console.log("Showing all markers in array",all_regions_markers[i]);
                    $.each(all_regions_markers[i], function(i,e){
                        if ($.inArray(e, user_checked) == -1){
                            user_checked.push(e);
                            e.setVisible(true);
                            console.log("Added to user checked :",e);
                            //recomputeBounds();
                        }
                        else{
                            console.log("Not added to user_checked as already there :", e);
                        }
                        console.log("total user_checked now", user_checked.length);
                        btn.next("ul").find("input[type=checkbox]").attr("checked", "checked");
                    });
                    console.log("total after showing all regions", user_checked.length);
                }
                label = btn.children("label").clone(true);
                btn = btn.remove("label").text("Hide all regions");
                label.appendTo(btn);
            });
        }
    });

    function hideMarkers(arr, btn){
        $.each(arr, function(i,e){
            console.log("removing",e);
            if (user_checked.indexOf(e) != -1){
                console.log("found",e,"at index",$.inArray(e, user_checked));
                console.log(user_checked[$.inArray(e, user_checked)]);
                Array.rm(user_checked, user_checked.indexOf(e));
                e.setVisible(false);
                console.log("total user_checked now", user_checked.length);
                //recomputeBounds();
            }
            else{
                console.log("Seems like",e,"was not visible anyway");
            }
            btn.next("ul").find("input[type=checkbox]").removeAttr("checked");
        });
        btn.val(btn.val().replace("Hide", "Show"));
    }

    function showMarkers(arr, btn){
        $.each(arr, function(i,e){
            if ($.inArray(e, user_checked) == -1){
                user_checked.push(e);
                e.setVisible(true);
                console.log("Added to user checked :",e);
                //recomputeBounds();
            }
            else{
                console.log("Not added to user_checked as already there :", e);
            }
            console.log("total user_checked now", user_checked.length);
            btn.next("ul").find("input[type=checkbox]").attr("checked", "checked");

        });
        btn.val(btn.val().replace("Show", "Hide"));
    }

    $(".toggle_amenities").click(function(evt){
        var btn = $(this);
        console.log("cliked on toggle_amenities button ...");
        if($(this).val().indexOf("Hide") != -1){
            console.log("Hiding all amenities ...");
            console.log("total visible markers", user_checked.length);
            hideMarkers(all_amenities_markers, btn);
            console.log("total after removing all amenities", user_checked.length);
        }
        else{
            console.log("Showing all amenities ...");
            showMarkers(all_amenities_markers, btn);
            console.log("total after showing all amenities", user_checked.length);
        }
    });

    $(".map_category_list .list input[type=checkbox]").change(function(){
        if (!$(this).parents(".list").find("input[type=checkbox]:checked").length){
            var btn = $(this).parents(".list").find(".btn");
            if (btn.get(0).nodeName == "INPUT"){
                btn.val(btn.val().replace("Hide", "Show"));
            }
            else{
                label = btn.children("label").clone(true);
                btn = btn.remove("label").text("Show all regions");
                label.appendTo(btn);
            }
        }
        else if ((!$(this).parents(".list").find("input[type=checkbox]:checked").length) == ($(this).parents(".list").find("input[type=checkbox]"))){
            var btn = $(this).parents(".list").find(".btn");
            if (btn.get(0).nodeName == "INPUT"){
                btn.val(btn.val().replace("Show", "Hide"));
            }
            else{
                label = btn.children("label").clone(true);
                btn = btn.remove("label").text("Hide all regions");
                label.appendTo(btn);
            }
        }
    });

    $(".toggle_accommodations").click(function(evt){
        var btn = $(this);
        console.log("cliked on toggle_accommodations button ...");
        if($(this).val().indexOf("Hide") != -1){
            console.log("Hiding all accommodations ...");
            console.log("total visible markers", user_checked.length);
            hideMarkers(all_accommodations_markers, btn);
            console.log("total after removing all accommodations", user_checked.length);
        }
        else{
            console.log("Showing all accommodations ...");
            showMarkers(all_accommodations_markers, btn);
            console.log("total after showing all accommodations", user_checked.length);
        }
    });

    $('.toggle_regions input, .toggle_regions label').click(function(evt) {
        evt.stopPropagation();
        console.log("clicked on:", evt.target);
    });

    var listener = google.maps.event.addListener(map, "idle", function() {
        map.fitBounds(bounds);
        if(user_checked.length > 1) recomputeBounds();
        else {
            only = user_checked[0];
            map.setCenter(only.getPosition());
            map.setZoom(15);
        }
        google.maps.event.removeListener(listener);
    });


    if ($("#main .map_category_list ul").children().length > 1) $("#main .map_category_list ul").columnize({columns:2});

});


