$(document).ready(function(){
    $('#index #content div.left .image-wrapper').cycle({
        speed: 2000,
        random: 1,
        timeout: 6000
    });
    
    $('#content a').each(function() {
        var pdf = $(this).attr('href');
        if (pdf.substr(-4) == '.pdf' || pdf.substr(-4) == '.PDF') {
            $(this).attr('rel', 'external');
        }
    });
    
    $('#content a img').each(function() {
        if ($(this).parents('#gallery').length == 0) {
            $(this).attr('title', '');
            $(this).parent('a').prettyPhoto({social_tools: ''});
        }
    });
    
    $("a[rel^='lightbox']").prettyPhoto({social_tools: ''});
    
    $('a[rel=external]').click(function(){
        window.open($(this).attr('href')); return false;
    });

    $('a[rel=popup]').click(function(){
        window.open($(this).attr('href'), 'popUp', 'width=300,height=200,status=0,toolbar=0'); return false;
    });
    
    $("#mainimage-link").prettyPhoto({social_tools: ''});
    
    $('a[rel=mainimage]').click(function() {
        
        $('#mainimage').attr('src', $(this).attr('href'));
        $('#mainimage-link').attr('href', $(this).attr('title'));
        
        var caption = $(this).find('img').attr('title');
        
        $('#mainimage').attr('title', caption);
        $('#mainimage').attr('alt', caption);
        
        $('#mainimage-caption').text(caption);
        
        return false;
    });

    if ($('#map').length > 0) {
        var infoWindow = new google.maps.InfoWindow();

        function googleMap(data) {
            if (document.getElementById(data['container']) != null) {
            
                var bounds = new google.maps.LatLngBounds();
                var latLng = new Array();


                for (i = 0; (typeof data['data'][i]) == 'object'; i++) {
                    if ((typeof data['data'][i]) == 'object') {
                        latLng[i] = new google.maps.LatLng(data['data'][i]['latitude'], data['data'][i]['longitude']);
                        bounds.extend(latLng[i]);
                    }
                }

                var mWidth = data['markerWidth'];
                var mHeight = data['markerHeight']
                var pWidth = mWidth / 2;
                var pHeight = mHeight / 2;

                var icon = new google.maps.MarkerImage(data['marker'],
                    new google.maps.Size(mWidth, mHeight),
                    new google.maps.Point(0, 0),
                    new google.maps.Point(Math.round(pWidth), Math.round(pHeight)));

                var mapCenter = bounds.getCenter();

                var mapOptions = {
                    zoom: data['zoom'],
                    navigationControl: true,
                    mapTypeControl: true,
                    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.HORIZONTAL},
                    scaleControl: true,
                    navigationControl: true,
                    navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
                    center: mapCenter,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };

                if (data['largeNavigation'] == true) {
                    mapOptions['navigationControlOptions'] = {style: google.maps.NavigationControlStyle.ZOOM_PAN};
                }

                var map = new google.maps.Map(document.getElementById(data['container']), mapOptions);

                if (data['fluster'] == true) {
                    var fluster = new Fluster2(map);
                    fluster.styles = {
                        // This style will be used for clusters with more than 0 markers
                        0: {
                            image: '/images/common/10.png',
                            textColor: '#FFFFFF',
                            width: 36,
                            height: 14,
                            textIndent: 13
                        },
                        10: {
                            image: '/images/common/10.png',
                            textColor: '#FFFFFF',
                            width: 36,
                            height: 14,
                            textIndent: 13
                        },
                        25: {
                            image: '/images/common/25.png',
                            textColor: '#FFFFFF',
                            width: 36,
                            height: 14,
                            textIndent: 13
                        },
                        50: {
                            image: '/images/common/50.png',
                            textColor: '#FFFFFF',
                            width: 36,
                            height: 14,
                            textIndent: 13
                        },
                        100: {
                            image: '/images/common/100.png',
                            textColor: '#FFFFFF',
                            width: 45,
                            height: 14,
                            textIndent: 13
                        }
                    };
                }

                if (data['autoCenter'] == true) {
                    map.fitBounds(bounds);
                }

                var marker = new Array();
                var infoWindowData = new Array();

                for (i = 0; (typeof data['data'][i]) == 'object'; i++) {
                    if ((typeof data['data'][i]) == 'object') {
                        marker[i] = new google.maps.Marker({position: latLng[i], 
                            map: map, 
                            icon: icon, 
                            title: data['data'][i]['title']});

                        if (data['data'][i]['infoWindow'] != '') {
                            //var x = data['data'][i]['infoWindow'];
                            //var y = marker[i];
                            doInfoWindow(data['data'][i]['infoWindow'], marker[i], map);
                            //google.maps.event.addListener(marker[i], 'click', function () { loadWindow(x,y); } );
                        }
                        if (data['fluster'] == true) {
                            fluster.addMarker(marker[i]);
                        }

                    }
                }
                if (data['fluster'] == true) {
                    fluster.initialize();
                }
            } else {
                return false;
            }
        }
        function doInfoWindow(x,y,z){
            google.maps.event.addListener(y, 'click', function () { infoWindow.setContent(x); infoWindow.open(z, y); } );
        }
        
        $("a[rel^='map-selby']").prettyPhoto({
            custom_markup: '<div id="map-selby" style="width:700px; height:400px"></div>',
            social_tools: '',
            changepicturecallback: function(){ selby(); }
        });
        
        $("a[rel^='map-london']").prettyPhoto({
            custom_markup: '<div id="map-london" style="width:700px; height:400px"></div>',
            social_tools: '',
            changepicturecallback: function(){ london(); }
        });
    
        $("a[rel^='map-brno']").prettyPhoto({
            custom_markup: '<div id="map-brno" style="width:700px; height:400px"></div>',
            social_tools: '',
            changepicturecallback: function(){ brno(); }
        });
        
        function selby() {
            var latlng = new google.maps.LatLng(53.783603, -1.062082);

            var icon = new google.maps.MarkerImage(
                '/wp-content/themes/boltonpriestley/images/common/marker.png',
                new google.maps.Size(15, 15),
                new google.maps.Point(0, 0),
                new google.maps.Point(7, 7)
            );

            var myOptions = {
                zoom: 15,
                center: latlng,
                navigationControl: true,
                mapTypeControl: true,
                mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.HORIZONTAL},
                scaleControl: true,
                navigationControl: true,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map-selby"), myOptions);

            var marker = new google.maps.Marker({
                position: latlng, 
                map: map, 
                icon: icon, 
            });
        }
        
        function london() {
            var latlng = new google.maps.LatLng(51.52162,-0.16755);

            var icon = new google.maps.MarkerImage(
                '/wp-content/themes/boltonpriestley/images/common/marker.png',
                new google.maps.Size(15, 15),
                new google.maps.Point(0, 0),
                new google.maps.Point(7, 7)
            );

            var myOptions = {
                zoom: 15,
                center: latlng,
                navigationControl: true,
                mapTypeControl: true,
                mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.HORIZONTAL},
                scaleControl: true,
                navigationControl: true,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map-london"), myOptions);

            var marker = new google.maps.Marker({
                position: latlng, 
                map: map, 
                icon: icon, 
            });
        }
        
        function brno() {
            var latlng = new google.maps.LatLng(49.1802671, 16.6057389);

            var icon = new google.maps.MarkerImage(
                '/wp-content/themes/boltonpriestley/images/common/marker.png',
                new google.maps.Size(15, 15),
                new google.maps.Point(0, 0),
                new google.maps.Point(7, 7)
            );

            var myOptions = {
                zoom: 15,
                center: latlng,
                navigationControl: true,
                mapTypeControl: true,
                mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.HORIZONTAL},
                scaleControl: true,
                navigationControl: true,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map-brno"), myOptions);

            var marker = new google.maps.Marker({
                position: latlng, 
                map: map, 
                icon: icon, 
            });
        }
        
        /*
        googleMap({
            'container'      : 'map',
            'marker'         : '/wp-content/themes/boltonpriestley/images/common/marker.png',
            'markerWidth'    : 15,
            'markerHeight'   : 15,
            'zoom'           : 10,
            'autoCenter'     : true,
            'fluster'        : false,
            'largeNavigation': false,
            'data'           : {
                             0 : {'latitude'     : 51.52132,
                                  'longitude'    : -0.168073,
                                  'title'        : 'Bolton Priestley - London',
                                  'infoWindow'   : '<div class="mapPop"><p>Hampstead Lodge<br />77 Bell Street<br /><strong>LONDON</strong><br />NW1 6TA</p>'},
                             1 : {'latitude'     : 53.783603,
                                  'longitude'    : -1.062082,
                                  'title'        : 'Bolton Priestley - Selby',
                                  'infoWindow'   : '<div class="mapPop"><p>27 Ousegate Business Centre<br />Ousegate<br /><strong>SELBY</strong><br />North Yorkshire<br />YO8 4NN</p>'}
                                  }
        });
        */
    }
});
