diff options
Diffstat (limited to 'media/js/photos.js')
-rw-r--r-- | media/js/photos.js | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/media/js/photos.js b/media/js/photos.js new file mode 100644 index 0000000..32e262f --- /dev/null +++ b/media/js/photos.js @@ -0,0 +1,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; + }); +}); + |