(function($) {

  $(document).bind('click', function(e) {
    if ($(e.target).is('a') && $(e.target.parentNode.parentNode).is('ul.results-navigation')) {
      e.preventDefault();
      link_click.call(e.target, e);
    }
  });
  
  // TODO use different _xhr vars for each container
  var _xhr;

  function init() {
    $('div.results-table ul.results-navigation a')
      .bind('click', link_click);
  }
  
  function link_click(e) {
    
    e.preventDefault();
    
    var $this = $(this);
    
    if ($this.is('.current'))
      return;
        
    var holder = $(this).parents('div.results-table')[0];
    
    $(holder)
      .addClass('loading')
      .find('ul.results-navigation a')
        .removeClass('current');
    
    $this.addClass('current');
    
    var href = $(this).attr('href') + '/fragment';
    
    if (window.location.pathname.replace(/(^\/|\/$)/g, '').split('/').length < 3) {
      href += '/short';
    }
        
    if (_xhr)
      _xhr.abort();
    
    _xhr =$.ajax({
      url: href,
      success: function(r) { _xhr = null; replace(holder, r); },
      error: function(r) { _xhr = null; },
      foo: 'bar'
    });
        
  }
  
  function replace(holder, html) {
    $(holder)
      .after(html) // new content
      .find('*')
        .unbind()  // remove event handlers to avoid memory leaks in IE6
      .end()
      .unbind()
      .remove();
  }

	// mostrar/ocultar más temporadas
	$(document).bind('click', function(e) {
		var $t = $(e.target);
		if ($t.is('span') && $t.parent().is('li.more-seasons')) {
			var $ul = $t.parent().find('ul');
			if ($ul.is(':hidden'))
				$ul.css('display', 'inline');
			else
				$ul.hide();
		}
	});


})(jQuery);