// resize #photo to fit image
$(window).load(function() {
    $('#photoimg').each(function() {
      var w = $(this).width();
      var h = $(this).height();
      $('#photo').width(w);
      $('#photo').height(h);
      $('#photo .overlay').width(w);
      $('#photo .overlay').height(h);
    });
});

$(document).ready(function() {

  // navigation grid thumb-hover
  $('#nav img').each(function() {
     $(this).attr('original', $(this).attr('src'));
  });
  $('#navnrs a').hover(
     function() {
         var self = this;
         $('#nav img').each(function() {
            $(this).attr('src', $(self).attr('src'));
         });
     },
     function() {
         var self = this;
         $('#nav img').each(function() {
            $(this).attr('src', $(this).attr('original'));
         });
     }
  );
    
  // animate info & specs
  var originalstate = { infoclass: $('a.info').is('.hidden'),
                        specsclass: $('a.specs').is('.hidden'),
                        overlayclass: $('a.overlay').is('.hidden')
                        };
  function revert_state()
  {
      if (originalstate.infoclass) $('a.info').addClass('hidden'); else $('a.info').removeClass('hidden');
      if (originalstate.specsclass) $('a.specs').addClass('hidden'); else $('a.specs').removeClass('hidden');
      if (originalstate.overlayclass) $('a.overlay').addClass('hidden'); else $('a.overlay').removeClass('hidden');
  }
  $('#show_info').hover(show_info, revert_state).click(function() { return false; });
  $('#hide_info').hover(hide_info, revert_state).click(function() { return false; });
  $('#show_specs').hover(show_specs, revert_state).click(function() { return false; });
  $('#hide_specs').hover(hide_specs, revert_state).click(function() { return false; });
  
  // keyboard shortcuts
  // arrow up navigates to thumbnail view
  // arrows left/right navigate to prev/next
  // i shows/hides info
  // . shows/hides specs
  // space shows/hides photo (in info or specs mode)
  $(document).keydown(function (e) {
     if (e.keyCode == 38) { $('#photo > a:first').each(function() { window.location = $(this).attr('href'); }); }
     if (e.keyCode == 37) { $('.prev a').each(function() { window.location = $(this).attr('href'); }); }
     if (e.keyCode == 39) { $('.next a').each(function() { window.location = $(this).attr('href'); }); }
     if (e.keyCode == 32) { hide_info(); hide_specs(); }
     if (e.keyCode == 73) { show_info(); }
     if (e.keyCode == 190) { show_specs(); }
  });
  $(document).keyup(function (e) {
     if (e.keyCode == 32) { revert_state(); }
     if (e.keyCode == 73) { revert_state(); }
     if (e.keyCode == 190) { revert_state(); }
  });
});

function show_info()
{
    $('a.overlay, a.info').removeClass('hidden');
    $('a.specs').addClass('hidden');
}

function hide_info()
{
    $('a.overlay, a.info').addClass('hidden');
}

function show_specs()
{
    $('a.overlay, a.specs').removeClass('hidden');
    $('a.info').addClass('hidden');
}

function hide_specs()
{
    $('a.overlay, a.specs').addClass('hidden');
}