;(function($) {
  $(function() {
    
    $.localScroll();
    $.localScroll.hash();
    
    $('.project').each(function() {
      
      
      
      var
        project = $(this),
        contentImages = project.find('.content .images').css('cursor', 'pointer');
      
      
      
      
      if (contentImages.children('img').size() > 1) {
        contentImages.cycle({
          fit: true,
          speed: 'fast',
          timeout: 0,
          prev: project.find('.slideshow .button-left'),
          next: project.find('.slideshow .button-right').add(contentImages)
        });
      }
      else {
        project.find('.slideshow .button').addClass('button-disabled');
      }
      
      
      
      var
        contentVideo = project.find('.content .video'),
        toggleImages = project.find('.toggle .button-left'),
        toggleVideo = project.find('.toggle .button-right');
      
      if (contentVideo.size() > 0) {
        
        var iframe = contentVideo.find('iframe');
        
        // Add click handler to Images button
        toggleImages.click(function() {
          if ( ! toggleImages.hasClass('button-selected')) {
            // Set button states
            toggleVideo.removeClass('button-selected');
            toggleImages.addClass('button-selected');
            
            contentVideo.fadeOut('fast');
            contentImages.fadeIn('fast');
            
            // Due to an incomplete API for Vimeo universal embeds, to unload
            // the video the  iframe src must be removed and reset
            var src = iframe.attr('src');
            iframe.delay(200).removeAttr('src').attr('src', src);
          }
          return false;
        });
        
        // Add click handler to Video button
        toggleVideo.click(function() {
          if ( ! toggleVideo.hasClass('button-selected')) {
            // Set button states
            toggleImages.removeClass('button-selected');
            toggleVideo.addClass('button-selected');
            
            contentImages.fadeOut('fast');
            contentVideo.fadeIn('fast');
          }
          return false;
        });
      }
      else {
        toggleVideo.addClass('button-disabled').add(toggleImages).click(function() {
          return false;
        });
      }
      
    });
    
    $('.button-disabled').click(function() {
      return false;
    });
    
    
    // Google Map
    var
      latlng = new google.maps.LatLng(51.53272700480734, -0.07704108953475952),
      gmap = new google.maps.Map($('#map').get(0), {
        zoom: 15,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        scaleControl: false,
        navigationControl: false,
        mapTypeControl: false
      }),
      marker = new google.maps.Marker({
        position: latlng,
        map: gmap
      });
    
  });
})(window.jQuery);
