(function($) {
    
    var TRANSITION_TIME = 500;
    
    function gallery_init() {
        $('.transport a').click(function() {
            var trans = $(this).parent();
            $(this).addClass('loading');
            trans.addClass('loading');
            $.get($(this).attr('href'), function(data) {

                var content = $('<div>').html(data.match(/<body[^>]+>([\S\s]*)<\/body>/i)[1]);
                    imgsrc = content.find('#bg img').attr('src');
                    newimg = $('<img>').appendTo('#bg').hide();
                
                
                newimg.load(function() {
                    GAP.bg_resize();
                    newimg.fadeIn(TRANSITION_TIME);
                    newimg.siblings().fadeOut(TRANSITION_TIME, function() {
                        newimg.siblings().remove();
                    });
                    
                    trans.removeClass('loading');
                    $('.transport').html(content.find('.transport').html());
                    gallery_init();

                });
                newimg.attr('src', imgsrc);
                
            });
            
            return false;
        });
        $(window).load(function() {
            $('.transport').removeClass('loading');
        });
        
        // key nav
        $('body').keydown(function(e) {
            if (e.keyCode === 37) {
                $('.transport a.prev').click();
            }
            else if (e.keyCode === 39) {
                $('.transport a.next').click();
            }
        });
    };
    
    
    $(function() {
        
        gallery_init();
        
    });
    
    
})(jQuery);
