/* UItoTop jQuery Plugin 1.2 | Matt Varone | http://www.mattvarone.com/web-design/uitotop-jquery-plugin */
(function ($) {
  $.fn.UItoTop = function (options) {
    var defaults = {
        text: "To Top",
        min: 200,
        inDelay: 600,
        outDelay: 400,
        containerID: "toTop",
        containerHoverID: "toTopHover",
        scrollSpeed: 1000,
        easingType: "linear",
      },
      settings = $.extend(defaults, options),
      containerIDhash = "#" + settings.containerID,
      containerHoverIDHash = "#" + settings.containerHoverID;
    $("body").append(
      '' + settings.text + ""
    );
    $(containerIDhash)
      .hide()
      .on("click.UItoTop", function () {
        $("html, body").animate(
          {
            scrollTop: 0,
          },
          settings.scrollSpeed,
          settings.easingType
        );
        $("#" + settings.containerHoverID, this)
          .stop()
          .animate(
            {
              opacity: 0,
            },
            settings.inDelay,
            settings.easingType
          );
        return false;
      })
      .prepend('')
      .hover(
        function () {
          $(containerHoverIDHash, this).stop().animate(
            {
              opacity: 1,
            },
            600,
            "linear"
          );
        },
        function () {
          $(containerHoverIDHash, this).stop().animate(
            {
              opacity: 0,
            },
            700,
            "linear"
          );
        }
      );
    $(window).scroll(function () {
      var sd = $(window).scrollTop();
      if (typeof document.body.style.maxHeight === "undefined") {
        $(containerIDhash).css({
          position: "absolute",
          top: sd + $(window).height() - 50,
        });
      }
      if (sd > settings.min) $(containerIDhash).fadeIn(settings.inDelay);
      else $(containerIDhash).fadeOut(settings.Outdelay);
    });
  };
})(jQuery);