(function($) {
  var app;
  app = {
    init: function() {
      $('a', '#sidebar').active_navigation('current');
      $('a[href^="http://"]').window_open_blank();
      app.shrink_numbers('li, p');
      if ($('#content.images').size()) {
        app.slideshow();
      }
      return $(window).resize(app.scale).trigger('resize');
    },
    shrink_numbers: function(selector) {
      return $(selector).each(function() {
        return $(this).html($(this).html().replace(/([0-9]+)/g, '<small>$1</small>'));
      });
    },
    scale: function() {
      var body, images, int, left, max, min, remove_width, set_width;
      body = $('body');
      left = $('.column-left');
      images = $('img', '.article');
      max = 1050;
      min = 750;
      int = 0;
      set_width = function() {
        var percent, width;
        width = min - (max - $(window).width());
        percent = width / min;
        body.addClass('fix');
        left.width(width);
        return images.each(function() {
          var image;
          image = $(this);
          if (this.width && this.height) {
            image.width(image.attr('data-width') * percent);
            return image.height(image.attr('data-height') * percent);
          }
        });
      };
      remove_width = function() {
        images.width('auto').height('auto');
        left.width(min);
        return body.removeClass('fix');
      };
      if ($(window).width() < max) {
        set_width();
      } else {
        remove_width();
      }
      return setTimeout((function() {
        if (left.width() < images.width()) {
          return left.width(min);
        }
      }), 500);
    },
    slideshow: function() {
      var hide, image, images, loading, next, page, pagination, position, prev, show, slides;
      slides = $("#content.images .article");
      prev = $('<a>').addClass('prev').text('<');
      next = $('<a>').addClass('next').text('>');
      page = $('<div>').addClass('pagination');
      loading = $('<div>').addClass('loading').html('');
      images = slides.find('img');
      position = 0;
      image = 0;
      pagination = function() {
        return slides.addClass('slide').last().after(page.append(prev).append(next));
      };
      show = function() {
        var slide;
        slide = $(slides[image]);
        position = slide.position();
        return slide.addClass('active').fadeIn(function() {
          $(this).css('position', 'relative').find('img').parent().append(page);
          return page.show();
        });
      };
      hide = function() {
        $(slides[image]).removeClass('active').fadeOut().css('position', 'absolute').position(position);
        return page.hide();
      };
      $('#content').prepend(loading);
      $('.article').hide();
      page.hide();
      images.images_loaded(function(el, i) {
        $(el).attr('data-width', el.width).attr('data-height', el.height);
        $(window).trigger('resize');
        if (i === 1) {
          loading.remove();
          return show();
        }
      });
      if (slides.size() > 1) {
        pagination();
        page.find('a').click(function(e) {
          var total, type;
          type = e.target.className;
          total = slides.size() - 1;
          e.stopImmediatePropagation();
          hide();
          if (type === 'next') {
            image = image === total ? 0 : image += 1;
          } else {
            image = image === 0 ? total : image -= 1;
          }
          show();
          return false;
        });
        return images.click(function() {
          $('a.next').trigger('click');
          return false;
        }).hover(function() {
          return $(this).css('cursor', 'pointer');
        });
      }
    }
  };
  return $(function() {
    return app.init();
  });
})(jQuery);
