/*-------------------------------
  Javascript Functionality
  Relies on jQuery being there
-------------------------------*/

/*------------
  DOM Ready 
------------*/  
jQuery(function($) {
  $('form label').inFieldLabels({fadeDuration: 150});
  $('.gallery').gallery();
  
  $.localScroll.defaults.duration = '3500';  
  
  $.localScroll({
    hash: true,
    margin: true
  });
});

$.fn.gallery = function() {
  return this.each(function() {
    var thumbs = $(this).children('div.thumbs')
    ;
    thumbs.bind({
      click: function(event) {
        var link = $(event.target).parent()
        ;
        event.preventDefault();
        if ( link.is('a:not(.active)') ) {
          link.trigger('changePic');
        }
      },
      changePic: function(event) {
        var link = $(event.target),
            pic = link.closest('.gallery').find('div.pic img'),
            loader = $('#loader')
        ;
        var preload = new Image();
        preload.src = link.attr('href');
        loader.fadeIn(100);
        $(preload).load(function() {
          loader.fadeOut(100);
          pic.fadeTo(300,0,function() {
            pic.attr('src', link.attr('href')).fadeTo(300,1);
          });
        });
        
        $(this).children('a').removeClass('active');
        link.addClass('active');
      }
    });
  });
};
