$(function() {
  var skyscraperFixedPos = function() {
    var banner = $("#hpSkyscraper");

    if ($('a', banner).length == 0) {
      return;
    }

    var innerBanner = $(".hpscinner", banner);
    var defaultBannerTopOffset = banner.offset().top;
    var windowHeight = $(window).height();

    var computeTopOffset = function() {
      if (windowHeight < 600) {
        return 0;
      }
      return (windowHeight - 600)  / 2;
    }

    var event = function() {
      var offset = windowHeight < 600 ? (600 - windowHeight) : 0;
      var scrollTop = $(window).scrollTop();

      if ((scrollTop + windowHeight + offset) > $(".footer").offset().top) {
        innerBanner.css("position", "relative");
        innerBanner.css("top", ($(".footer").offset().top - 600 - computeTopOffset()) + "px");
        banner.css("top", "-115px");
      } else if (scrollTop > (defaultBannerTopOffset - computeTopOffset())) {
        innerBanner.css("position", "fixed").css("top", computeTopOffset() + "px");
        banner.css("top", "-115px");
      } else {
        innerBanner.css("top", 0).css("position", "relative");
        banner.css("top", "220px");
      }
    }

    $(window).scroll(event).resize(function() {
      windowHeight = $(window).height();
    }).resize(event);
  }
  skyscraperFixedPos();
});
