summaryrefslogtreecommitdiff
path: root/site/media/js/photos.js
blob: 32e262f64e96751111f7a54903d6ffb73910f5b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//Utility functions for map info window
function mapit(latlontitle) {
    lat = parseFloat(latlontitle.split(',')[0]);
    lon = parseFloat(latlontitle.split(',')[1]);
    //title= latlontitle.split(',')[2];
    elid= latlontitle.split(',')[2];
    centerCoord = new google.maps.LatLng(lat, lon);
    var mapitinit;
    if (mapitinit == true) {
        mapPanTo();
    } else {
        mapInit();
    }
    
    function mapInit()  {
        var mapOptions = {
            zoom: 8,
            center: centerCoord,
            disableDefaultUI: true,
            navigationControl: true,
            mapTypeId: google.maps.MapTypeId.TERRAIN,
            navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}
        };
        map = new google.maps.Map(document.getElementById("mw-"+elid), mapOptions);
        var marker = new google.maps.Marker({
            position: centerCoord, 
            map: map 
            //title: title
        });   
        mapitinit = true;
    }
    function mapPanTo(){
        var marker = new google.maps.Marker({
            position: centerCoord, 
            map: map
            //title: title
        });  
        map.panTo(centerCoord);
    }
}  

//########## utility functions to create/remove map container ############
function create_map(obj) {
    //find id of this image caption:
    imgid = obj.title.split(',')[2];
    //create container divs
    $('<div class="map-container" id="mc-'+imgid+'">').insertBefore($(obj).parent().parent());
    //$(obj).parent().parent().parent().prepend('<div class="map-container" id="mc-'+imgid+'">');
    $('#mc-'+imgid).append('<div class="map-wrapper" id="mw-'+imgid+'">');
    //deal with the variable height of div.legend
    $('#mc-'+imgid).css({
        bottom: function(index, value) {
        return parseFloat($(obj).parent().parent().height())+20;
     }
    });
    
    mapit(obj.title);
}
function remove_map(imgid) {
    $('#mc-'+imgid).remove();
}

//############ Document.ready events ##############
$(document).ready(function(){ 

    //set up click events for map button
    $('.map-link').click( function() {
        imgid = this.title.split(',')[2];
        if ($('#mc-'+imgid).is(":visible")) {
            remove_map(imgid);  
        } else {
            create_map(this);
        }
        return false;
    
    });
    var $ele = $('#slides').children()
    var $curr = 0
	$(document).bind('keydown', function (e) {
        var code = e.which;
        switch (code) {
            case 39:
                if ($curr <= $ele.size()) {
                    $.scrollTo($ele[$curr], 800 );
                    $curr++
                }
                break;
            case 37:
                if ($curr > 0) {
                    $curr--
                    var $now = $curr
                    $now--
                    $.scrollTo($ele[$now], 800 );
                }
                break;
        }
        return;
    });
});