var absolutgaz = {


}

absolutgaz.gmaps = {
    count:0,
    pics:null,
    map :null,
    markerClusterer : null,
    groupMarkers : false,
    markers :[],
    infoWindow :null,
    gmap_data:null,
    showed:false,
    branches:null,

    init:function(){
        var gmap_data = {
            "points": [
            {
                "latitude": "48.144865",
                "longitude": "17.155075",
                "title": "Mlynské Nivy 73/a, 821 05 Bratislava",
                'content' : 'Mlynské Nivy 73/a<br/>821 05 Bratislava<br/>Tel: +421 2 455 226 32<br/>Mobil: +421 903 417899<br/>e-mail:info@absolutgaz.sk<br/>GPS súradnice: 48°08´40´´N, 17°09´18´´E<br/>'
            }
            ],
            "counts" : 1
        };
        
        this.gmap_data = gmap_data;

        // Cache initial marker image
        var imageUrl = 'http://www.absolutgaz.sk/images/gmap/red_marker.png';
        var markerImage = new google.maps.MarkerImage(imageUrl,
            new google.maps.Size(24, 32));
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(0, 0),
            icon: markerImage
        });

        // my settings
        var my_zoom = 14;
        var my_latitude = gmap_data.points[0].latitude;
        var my_longitude = gmap_data.points[0].longitude;

        var latlng = new google.maps.LatLng(my_latitude, my_longitude);

        var options = {
            zoom: parseInt(my_zoom),
            center: latlng,
            mapTypeId: google.maps.MapTypeId.HYBRID
        };

        absolutgaz.gmaps.map = this.map = new google.maps.Map(document.getElementById('gmap'), options);
        absolutgaz.gmaps.infoWindow = this.infoWindow = new google.maps.InfoWindow();
        absolutgaz.gmaps.showMarkers(gmap_data.counts);
    },

    showMarkers:function(numMarkers) {

        this.markers = [];
        for (var i = 0; i < numMarkers; i++) {
            // aktivny marker
            var latLng = new google.maps.LatLng(
                gmap_data.points[i].latitude,
                gmap_data.points[i].longitude);
            var marker = new google.maps.Marker({
                position: latLng
            });
            
            google.maps.event.addListener(marker,'click',this.markerClickFunction(gmap_data.points[i], marker));
            this.markers.push(marker);
        }

        // put markers onto map
        window.setTimeout(absolutgaz.gmaps.addMarkers, 1);
    },

    markerClickFunction:function(point, marker) {
        return function(e) {
            //e.preventDefault();
            var html = [
            '<div class="gmapWindow" style="width:300px; height:120px;">',
            '<div style="font-weight:bold; color: #1453B0; font-size:14px;">',
            point.content,
            '</div>',
            '<a href="http://www.absolutgaz.sk" target="_blank">AbsolutGaz s.r.o.</a>',
            '</div>'
            ].join('');
            absolutgaz.gmaps.infoWindow.setContent(html);
            absolutgaz.gmaps.infoWindow.open(absolutgaz.gmaps.map, marker);
        };
    },

    clearMarkers:function() {
        for (var i = 0, marker; marker = absolutgaz.gmaps.markers[i]; i++) {
            marker.setMap(null);
        }
    },

    addMarkers:function() {
        absolutgaz.gmaps.count = 0;

        for (var i = 0, marker; marker = absolutgaz.gmaps.markers[i]; i++) {

            google.maps.event.addListener(marker, 'visible_changed', (function(k) {
                return function() {
                    absolutgaz.gmaps.count++;
                    if (absolutgaz.gmaps.count == absolutgaz.gmaps.markers.length - 1) {
                // finish
                }
                };
            })(i));

            marker.setMap(this.map);
        }
    }
}

$(document).ready(function() {

    // colorbox gallery - bloky
    if ($("a[rel='blockPhoto']").length) {
        $("a[rel='blockPhoto']").colorbox();
    }
});

