$(document).ready(function($) {
    function hide_overlay(event) {
        $('.user_gallery .scrim').hide();
        $('.user_gallery .gallery_overlay').hide();
    }

    function show_overlay(data) {
        var h = $('.user_gallery .users').outerHeight(true);
        var w = $('.user_gallery .users').outerWidth(true);
        var position = $('.user_gallery .users').position();
        var h2 = $('.aboutPage').outerHeight(true);
        var w2 = $('.aboutPage').outerWidth(true);
        var p2 = $('.aboutPage').position();
        attrs = {
            'display': 'block',
            'left': position.left,
            'top': position.top,
            'width': w,
            'height': h
        };
        $('.user_gallery .scrim').css({
            'display': 'block',
            'left': p2.left,
            'top': p2.top,
            'width': w2,
            'height': h2
        });
        $('.gallery_overlay').css({
            'display': 'block',
            'left': position.left,
            'top': position.top,
            'width': w,
            'height': h
        });
        $('#user_name').text(data.display_name);
        $('#user_position').text(data.employment_position);
        $('#user_bio').html(data.bio);
        $('#user_favorite_projects').empty();
        $('#user_avatar').empty();
        $('#user_avatar').append("<img src='" + data.large + "' />");
        if (data.favorite_projects.length > 0) {
            $('#user_favorite_projects').append("<dt>Favorite Projects</dt>");
            $.each(data.favorite_projects,
            function(i, project) {
                $('#user_favorite_projects').append("<dd><a href='/projects/" + project.slug + "'>" + project.title + "</a></dd>");
            });
        }
        var targetOffset = $('#user_name').offset().top - 12;
        $('html,body').animate({scrollTop: targetOffset}, 1000);
        
    }
    $('.user_gallery .users .user').bind('click',
    function(event) {
        getUserProfile(event.target.getAttribute('user_id'));
    });

    function getUserProfile(user_id){
      $.getJSON("/users/" + user_id + '.json', { _method:'GET' },
      function(data) {
          show_overlay(data);
      });
    }

    $('.user_gallery .gallery_overlay').bind('click', hide_overlay);

    var index = document.location.href.indexOf("#");
    if (index >= 0) {
        if (document.location.href.substring(index).match(/#team/i)) {
          var user_id = document.location.href.substring(index).indexOf("?");
          if (user_id >= 0) {
            user_id = document.location.href.substring(index).substring(user_id).split('=')[1];
            getUserProfile(user_id);
          }
        }
    }
});