SOURCE

console 命令行工具 X clear

                    
>
console
/* jquery.fancybox.js */

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
(function(s, H, f, w) {
  var K = f("html"),
  q = f(s),
  p = f(H),
  b = f.fancybox = function() {
    b.open.apply(this, arguments)
  },
  J = navigator.userAgent.match(/msie/i),
  C = null,
  t = H.createTouch !== w,
  u = function(a) {
    return a && a.hasOwnProperty && a instanceof f
  },
  r = function(a) {
    return a && "string" === f.type(a)
  },
  F = function(a) {
    return r(a) && 0 < a.indexOf("%")
  },
  m = function(a, d) {
    var e = parseInt(a, 10) || 0;
    d && F(a) && (e *= b.getViewport()[d] / 100);
    return Math.ceil(e)
  },
  x = function(a, b) {
    return m(a, b) + "px"
  };
  f.extend(b, {
    version: "2.1.5",
    defaults: {
      padding: 15,
      margin: 20,
      width: 800,
      height: 600,
      minWidth: 100,
      minHeight: 100,
      maxWidth: 9999,
      maxHeight: 9999,
      pixelRatio: 1,
      autoSize: !0,
      autoHeight: !1,
      autoWidth: !1,
      autoResize: !0,
      autoCenter: !t,
      fitToView: !0,
      aspectRatio: !1,
      topRatio: 0.5,
      leftRatio: 0.5,
      scrolling: "auto",
      wrapCSS: "",
      arrows: !0,
      closeBtn: !0,
      closeClick: !1,
      nextClick: !1,
      mouseWheel: !0,
      autoPlay: !1,
      playSpeed: 3E3,
      preload: 3,
      modal: !1,
      loop: !0,
      ajax: {
        dataType: "html",
        headers: {
          "X-fancyBox": !0
        }
      },
      iframe: {
        scrolling: "auto",
        preload: !0
      },
      swf: {
        wmode: "transparent",
        allowfullscreen: "true",
        allowscriptaccess: "always"
      },
      keys: {
        next: {
          13 : "left",
          34 : "up",
          39 : "left",
          40 : "up"
        },
        prev: {
          8 : "right",
          33 : "down",
          37 : "right",
          38 : "down"
        },
        close: [27],
        play: [32],
        toggle: [70]
      },
      direction: {
        next: "left",
        prev: "right"
      },
      scrollOutside: !0,
      index: 0,
      type: null,
      href: null,
      content: null,
      title: null,
      tpl: {
        wrap: '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
        image: '<img class="fancybox-image" src="{href}" alt="" />',
        iframe: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (J ? ' allowtransparency="true"': "") + "></iframe>",
        error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
        closeBtn: '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
        next: '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
        prev: '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
      },
      openEffect: "fade",
      openSpeed: 250,
      openEasing: "swing",
      openOpacity: !0,
      openMethod: "zoomIn",
      closeEffect: "fade",
      closeSpeed: 250,
      closeEasing: "swing",
      closeOpacity: !0,
      closeMethod: "zoomOut",
      nextEffect: "elastic",
      nextSpeed: 250,
      nextEasing: "swing",
      nextMethod: "changeIn",
      prevEffect: "elastic",
      prevSpeed: 250,
      prevEasing: "swing",
      prevMethod: "changeOut",
      helpers: {
        overlay: !0,
        title: !0
      },
      onCancel: f.noop,
      beforeLoad: f.noop,
      afterLoad: f.noop,
      beforeShow: f.noop,
      afterShow: f.noop,
      beforeChange: f.noop,
      beforeClose: f.noop,
      afterClose: f.noop
    },
    group: {},
    opts: {},
    previous: null,
    coming: null,
    current: null,
    isActive: !1,
    isOpen: !1,
    isOpened: !1,
    wrap: null,
    skin: null,
    outer: null,
    inner: null,
    player: {
      timer: null,
      isActive: !1
    },
    ajaxLoad: null,
    imgPreload: null,
    transitions: {},
    helpers: {},
    open: function(a, d) {
      if (a && (f.isPlainObject(d) || (d = {}), !1 !== b.close(!0))) return f.isArray(a) || (a = u(a) ? f(a).get() : [a]),
      f.each(a,
      function(e, c) {
        var l = {},
        g, h, k, n, m;
        "object" === f.type(c) && (c.nodeType && (c = f(c)), u(c) ? (l = {
          href: c.data("fancybox-href") || c.attr("href"),
          title: f("<div/>").text(c.data("fancybox-title") || c.attr("title")).html(),
          isDom: !0,
          element: c
        },
        f.metadata && f.extend(!0, l, c.metadata())) : l = c);
        g = d.href || l.href || (r(c) ? c: null);
        h = d.title !== w ? d.title: l.title || "";
        n = (k = d.content || l.content) ? "html": d.type || l.type; ! n && l.isDom && (n = c.data("fancybox-type"), n || (n = (n = c.prop("class").match(/fancybox\.(\w+)/)) ? n[1] : null));
        r(g) && (n || (b.isImage(g) ? n = "image": b.isSWF(g) ? n = "swf": "#" === g.charAt(0) ? n = "inline": r(c) && (n = "html", k = c)), "ajax" === n && (m = g.split(/\s+/, 2), g = m.shift(), m = m.shift()));
        k || ("inline" === n ? g ? k = f(r(g) ? g.replace(/.*(?=#[^\s]+$)/, "") : g) : l.isDom && (k = c) : "html" === n ? k = g: n || g || !l.isDom || (n = "inline", k = c));
        f.extend(l, {
          href: g,
          type: n,
          content: k,
          title: h,
          selector: m
        });
        a[e] = l
      }),
      b.opts = f.extend(!0, {},
      b.defaults, d),
      d.keys !== w && (b.opts.keys = d.keys ? f.extend({},
      b.defaults.keys, d.keys) : !1),
      b.group = a,
      b._start(b.opts.index)
    },
    cancel: function() {
      var a = b.coming;
      a && !1 === b.trigger("onCancel") || (b.hideLoading(), a && (b.ajaxLoad && b.ajaxLoad.abort(), b.ajaxLoad = null, b.imgPreload && (b.imgPreload.onload = b.imgPreload.onerror = null), a.wrap && a.wrap.stop(!0, !0).trigger("onReset").remove(), b.coming = null, b.current || b._afterZoomOut(a)))
    },
    close: function(a) {
      b.cancel(); ! 1 !== b.trigger("beforeClose") && (b.unbindEvents(), b.isActive && (b.isOpen && !0 !== a ? (b.isOpen = b.isOpened = !1, b.isClosing = !0, f(".fancybox-item, .fancybox-nav").remove(), b.wrap.stop(!0, !0).removeClass("fancybox-opened"), b.transitions[b.current.closeMethod]()) : (f(".fancybox-wrap").stop(!0).trigger("onReset").remove(), b._afterZoomOut())))
    },
    play: function(a) {
      var d = function() {
        clearTimeout(b.player.timer)
      },
      e = function() {
        d();
        b.current && b.player.isActive && (b.player.timer = setTimeout(b.next, b.current.playSpeed))
      },
      c = function() {
        d();
        p.unbind(".player");
        b.player.isActive = !1;
        b.trigger("onPlayEnd")
      }; ! 0 === a || !b.player.isActive && !1 !== a ? b.current && (b.current.loop || b.current.index < b.group.length - 1) && (b.player.isActive = !0, p.bind({
        "onCancel.player beforeClose.player": c,
        "onUpdate.player": e,
        "beforeLoad.player": d
      }), e(), b.trigger("onPlayStart")) : c()
    },
    next: function(a) {
      var d = b.current;
      d && (r(a) || (a = d.direction.next), b.jumpto(d.index + 1, a, "next"))
    },
    prev: function(a) {
      var d = b.current;
      d && (r(a) || (a = d.direction.prev), b.jumpto(d.index - 1, a, "prev"))
    },
    jumpto: function(a, d, e) {
      var c = b.current;
      c && (a = m(a), b.direction = d || c.direction[a >= c.index ? "next": "prev"], b.router = e || "jumpto", c.loop && (0 > a && (a = c.group.length + a % c.group.length), a %= c.group.length), c.group[a] !== w && (b.cancel(), b._start(a)))
    },
    reposition: function(a, d) {
      var e = b.current,
      c = e ? e.wrap: null,
      l;
      c && (l = b._getPosition(d), a && "scroll" === a.type ? (delete l.position, c.stop(!0, !0).animate(l, 200)) : (c.css(l), e.pos = f.extend({},
      e.dim, l)))
    },
    update: function(a) {
      var d = a && a.originalEvent && a.originalEvent.type,
      e = !d || "orientationchange" === d;
      e && (clearTimeout(C), C = null);
      b.isOpen && !C && (C = setTimeout(function() {
        var c = b.current;
        c && !b.isClosing && (b.wrap.removeClass("fancybox-tmp"), (e || "load" === d || "resize" === d && c.autoResize) && b._setDimension(), "scroll" === d && c.canShrink || b.reposition(a), b.trigger("onUpdate"), C = null)
      },
      e && !t ? 0 : 300))
    },
    toggle: function(a) {
      b.isOpen && (b.current.fitToView = "boolean" === f.type(a) ? a: !b.current.fitToView, t && (b.wrap.removeAttr("style").addClass("fancybox-tmp"), b.trigger("onUpdate")), b.update())
    },
    hideLoading: function() {
      p.unbind(".loading");
      f("#fancybox-loading").remove()
    },
    showLoading: function() {
      var a, d;
      b.hideLoading();
      a = f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");
      p.bind("keydown.loading",
      function(a) {
        27 === (a.which || a.keyCode) && (a.preventDefault(), b.cancel())
      });
      b.defaults.fixed || (d = b.getViewport(), a.css({
        position: "absolute",
        top: 0.5 * d.h + d.y,
        left: 0.5 * d.w + d.x
      }));
      b.trigger("onLoading")
    },
    getViewport: function() {
      var a = b.current && b.current.locked || !1,
      d = {
        x: q.scrollLeft(),
        y: q.scrollTop()
      };
      a && a.length ? (d.w = a[0].clientWidth, d.h = a[0].clientHeight) : (d.w = t && s.innerWidth ? s.innerWidth: q.width(), d.h = t && s.innerHeight ? s.innerHeight: q.height());
      return d
    },
    unbindEvents: function() {
      b.wrap && u(b.wrap) && b.wrap.unbind(".fb");
      p.unbind(".fb");
      q.unbind(".fb")
    },
    bindEvents: function() {
      var a = b.current,
      d;
      a && (q.bind("orientationchange.fb" + (t ? "": " resize.fb") + (a.autoCenter && !a.locked ? " scroll.fb": ""), b.update), (d = a.keys) && p.bind("keydown.fb",
      function(e) {
        var c = e.which || e.keyCode,
        l = e.target || e.srcElement;
        if (27 === c && b.coming) return ! 1;
        e.ctrlKey || e.altKey || e.shiftKey || e.metaKey || l && (l.type || f(l).is("[contenteditable]")) || f.each(d,
        function(d, l) {
          if (1 < a.group.length && l[c] !== w) return b[d](l[c]),
          e.preventDefault(),
          !1;
          if ( - 1 < f.inArray(c, l)) return b[d](),
          e.preventDefault(),
          !1
        })
      }), f.fn.mousewheel && a.mouseWheel && b.wrap.bind("mousewheel.fb",
      function(d, c, l, g) {
        for (var h = f(d.target || null), k = !1; h.length && !(k || h.is(".fancybox-skin") || h.is(".fancybox-wrap"));) k = h[0] && !(h[0].style.overflow && "hidden" === h[0].style.overflow) && (h[0].clientWidth && h[0].scrollWidth > h[0].clientWidth || h[0].clientHeight && h[0].scrollHeight > h[0].clientHeight),
        h = f(h).parent();
        0 !== c && !k && 1 < b.group.length && !a.canShrink && (0 < g || 0 < l ? b.prev(0 < g ? "down": "left") : (0 > g || 0 > l) && b.next(0 > g ? "up": "right"), d.preventDefault())
      }))
    },
    trigger: function(a, d) {
      var e, c = d || b.coming || b.current;
      if (c) {
        f.isFunction(c[a]) && (e = c[a].apply(c, Array.prototype.slice.call(arguments, 1)));
        if (!1 === e) return ! 1;
        c.helpers && f.each(c.helpers,
        function(d, e) {
          if (e && b.helpers[d] && f.isFunction(b.helpers[d][a])) b.helpers[d][a](f.extend(!0, {},
          b.helpers[d].defaults, e), c)
        })
      }
      p.trigger(a)
    },
    isImage: function(a) {
      return r(a) && a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)
    },
    isSWF: function(a) {
      return r(a) && a.match(/\.(swf)((\?|#).*)?$/i)
    },
    _start: function(a) {
      var d = {},
      e, c;
      a = m(a);
      e = b.group[a] || null;
      if (!e) return ! 1;
      d = f.extend(!0, {},
      b.opts, e);
      e = d.margin;
      c = d.padding;
      "number" === f.type(e) && (d.margin = [e, e, e, e]);
      "number" === f.type(c) && (d.padding = [c, c, c, c]);
      d.modal && f.extend(!0, d, {
        closeBtn: !1,
        closeClick: !1,
        nextClick: !1,
        arrows: !1,
        mouseWheel: !1,
        keys: null,
        helpers: {
          overlay: {
            closeClick: !1
          }
        }
      });
      d.autoSize && (d.autoWidth = d.autoHeight = !0);
      "auto" === d.width && (d.autoWidth = !0);
      "auto" === d.height && (d.autoHeight = !0);
      d.group = b.group;
      d.index = a;
      b.coming = d;
      if (!1 === b.trigger("beforeLoad")) b.coming = null;
      else {
        c = d.type;
        e = d.href;
        if (!c) return b.coming = null,
        b.current && b.router && "jumpto" !== b.router ? (b.current.index = a, b[b.router](b.direction)) : !1;
        b.isActive = !0;
        if ("image" === c || "swf" === c) d.autoHeight = d.autoWidth = !1,
        d.scrolling = "visible";
        "image" === c && (d.aspectRatio = !0);
        "iframe" === c && t && (d.scrolling = "scroll");
        d.wrap = f(d.tpl.wrap).addClass("fancybox-" + (t ? "mobile": "desktop") + " fancybox-type-" + c + " fancybox-tmp " + d.wrapCSS).appendTo(d.parent || "body");
        f.extend(d, {
          skin: f(".fancybox-skin", d.wrap),
          outer: f(".fancybox-outer", d.wrap),
          inner: f(".fancybox-inner", d.wrap)
        });
        f.each(["Top", "Right", "Bottom", "Left"],
        function(a, b) {
          d.skin.css("padding" + b, x(d.padding[a]))
        });
        b.trigger("onReady");
        if ("inline" === c || "html" === c) {
          if (!d.content || !d.content.length) return b._error("content")
        } else if (!e) return b._error("href");
        "image" === c ? b._loadImage() : "ajax" === c ? b._loadAjax() : "iframe" === c ? b._loadIframe() : b._afterLoad()
      }
    },
    _error: function(a) {
      f.extend(b.coming, {
        type: "html",
        autoWidth: !0,
        autoHeight: !0,
        minWidth: 0,
        minHeight: 0,
        scrolling: "no",
        hasError: a,
        content: b.coming.tpl.error
      });
      b._afterLoad()
    },
    _loadImage: function() {
      var a = b.imgPreload = new Image;
      a.onload = function() {
        this.onload = this.onerror = null;
        b.coming.width = this.width / b.opts.pixelRatio;
        b.coming.height = this.height / b.opts.pixelRatio;
        b._afterLoad()
      };
      a.onerror = function() {
        this.onload = this.onerror = null;
        b._error("image")
      };
      a.src = b.coming.href; ! 0 !== a.complete && b.showLoading()
    },
    _loadAjax: function() {
      var a = b.coming;
      b.showLoading();
      b.ajaxLoad = f.ajax(f.extend({},
      a.ajax, {
        url: a.href,
        error: function(a, e) {
          b.coming && "abort" !== e ? b._error("ajax", a) : b.hideLoading()
        },
        success: function(d, e) {
          "success" === e && (a.content = d, b._afterLoad())
        }
      }))
    },
    _loadIframe: function() {
      var a = b.coming,
      d = f(a.tpl.iframe.replace(/\{rnd\}/g, (new Date).getTime())).attr("scrolling", t ? "auto": a.iframe.scrolling).attr("src", a.href);
      f(a.wrap).bind("onReset",
      function() {
        try {
          f(this).find("iframe").hide().attr("src", "//about:blank").end().empty()
        } catch(a) {}
      });
      a.iframe.preload && (b.showLoading(), d.one("load",
      function() {
        f(this).data("ready", 1);
        t || f(this).bind("load.fb", b.update);
        f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();
        b._afterLoad()
      }));
      a.content = d.appendTo(a.inner);
      a.iframe.preload || b._afterLoad()
    },
    _preloadImages: function() {
      var a = b.group,
      d = b.current,
      e = a.length,
      c = d.preload ? Math.min(d.preload, e - 1) : 0,
      f,
      g;
      for (g = 1; g <= c; g += 1) f = a[(d.index + g) % e],
      "image" === f.type && f.href && ((new Image).src = f.href)
    },
    _afterLoad: function() {
      var a = b.coming,
      d = b.current,
      e, c, l, g, h;
      b.hideLoading();
      if (a && !1 !== b.isActive) if (!1 === b.trigger("afterLoad", a, d)) a.wrap.stop(!0).trigger("onReset").remove(),
      b.coming = null;
      else {
        d && (b.trigger("beforeChange", d), d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());
        b.unbindEvents();
        e = a.content;
        c = a.type;
        l = a.scrolling;
        f.extend(b, {
          wrap: a.wrap,
          skin: a.skin,
          outer: a.outer,
          inner: a.inner,
          current: a,
          previous: d
        });
        g = a.href;
        switch (c) {
        case "inline":
        case "ajax":
        case "html":
          a.selector ? e = f("<div>").html(e).find(a.selector) : u(e) && (e.data("fancybox-placeholder") || e.data("fancybox-placeholder", f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()), e = e.show().detach(), a.wrap.bind("onReset",
          function() {
            f(this).find(e).length && e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder", !1)
          }));
          break;
        case "image":
          e = a.tpl.image.replace(/\{href\}/g, g);
          break;
        case "swf":
          e = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + g + '"></param>',
          h = "",
          f.each(a.swf,
          function(a, b) {
            e += '<param name="' + a + '" value="' + b + '"></param>';
            h += " " + a + '="' + b + '"'
          }),
          e += '<embed src="' + g + '" type="application/x-shockwave-flash" width="100%" height="100%"' + h + "></embed></object>"
        }
        u(e) && e.parent().is(a.inner) || a.inner.append(e);
        b.trigger("beforeShow");
        a.inner.css("overflow", "yes" === l ? "scroll": "no" === l ? "hidden": l);
        b._setDimension();
        b.reposition();
        b.isOpen = !1;
        b.coming = null;
        b.bindEvents();
        if (!b.isOpened) f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();
        else if (d.prevMethod) b.transitions[d.prevMethod]();
        b.transitions[b.isOpened ? a.nextMethod: a.openMethod]();
        b._preloadImages()
      }
    },
    _setDimension: function() {
      var a = b.getViewport(),
      d = 0,
      e = !1,
      c = !1,
      e = b.wrap,
      l = b.skin,
      g = b.inner,
      h = b.current,
      c = h.width,
      k = h.height,
      n = h.minWidth,
      v = h.minHeight,
      p = h.maxWidth,
      q = h.maxHeight,
      t = h.scrolling,
      r = h.scrollOutside ? h.scrollbarWidth: 0,
      y = h.margin,
      z = m(y[1] + y[3]),
      s = m(y[0] + y[2]),
      w,
      A,
      u,
      D,
      B,
      G,
      C,
      E,
      I;
      e.add(l).add(g).width("auto").height("auto").removeClass("fancybox-tmp");
      y = m(l.outerWidth(!0) - l.width());
      w = m(l.outerHeight(!0) - l.height());
      A = z + y;
      u = s + w;
      D = F(c) ? (a.w - A) * m(c) / 100 : c;
      B = F(k) ? (a.h - u) * m(k) / 100 : k;
      if ("iframe" === h.type) {
        if (I = h.content, h.autoHeight && 1 === I.data("ready")) try {
          I[0].contentWindow.document.location && (g.width(D).height(9999), G = I.contents().find("body"), r && G.css("overflow-x", "hidden"), B = G.outerHeight(!0))
        } catch(H) {}
      } else if (h.autoWidth || h.autoHeight) g.addClass("fancybox-tmp"),
      h.autoWidth || g.width(D),
      h.autoHeight || g.height(B),
      h.autoWidth && (D = g.width()),
      h.autoHeight && (B = g.height()),
      g.removeClass("fancybox-tmp");
      c = m(D);
      k = m(B);
      E = D / B;
      n = m(F(n) ? m(n, "w") - A: n);
      p = m(F(p) ? m(p, "w") - A: p);
      v = m(F(v) ? m(v, "h") - u: v);
      q = m(F(q) ? m(q, "h") - u: q);
      G = p;
      C = q;
      h.fitToView && (p = Math.min(a.w - A, p), q = Math.min(a.h - u, q));
      A = a.w - z;
      s = a.h - s;
      h.aspectRatio ? (c > p && (c = p, k = m(c / E)), k > q && (k = q, c = m(k * E)), c < n && (c = n, k = m(c / E)), k < v && (k = v, c = m(k * E))) : (c = Math.max(n, Math.min(c, p)), h.autoHeight && "iframe" !== h.type && (g.width(c), k = g.height()), k = Math.max(v, Math.min(k, q)));
      if (h.fitToView) if (g.width(c).height(k), e.width(c + y), a = e.width(), z = e.height(), h.aspectRatio) for (; (a > A || z > s) && c > n && k > v && !(19 < d++);) k = Math.max(v, Math.min(q, k - 10)),
      c = m(k * E),
      c < n && (c = n, k = m(c / E)),
      c > p && (c = p, k = m(c / E)),
      g.width(c).height(k),
      e.width(c + y),
      a = e.width(),
      z = e.height();
      else c = Math.max(n, Math.min(c, c - (a - A))),
      k = Math.max(v, Math.min(k, k - (z - s)));
      r && "auto" === t && k < B && c + y + r < A && (c += r);
      g.width(c).height(k);
      e.width(c + y);
      a = e.width();
      z = e.height();
      e = (a > A || z > s) && c > n && k > v;
      c = h.aspectRatio ? c < G && k < C && c < D && k < B: (c < G || k < C) && (c < D || k < B);
      f.extend(h, {
        dim: {
          width: x(a),
          height: x(z)
        },
        origWidth: D,
        origHeight: B,
        canShrink: e,
        canExpand: c,
        wPadding: y,
        hPadding: w,
        wrapSpace: z - l.outerHeight(!0),
        skinSpace: l.height() - k
      }); ! I && h.autoHeight && k > v && k < q && !c && g.height("auto")
    },
    _getPosition: function(a) {
      var d = b.current,
      e = b.getViewport(),
      c = d.margin,
      f = b.wrap.width() + c[1] + c[3],
      g = b.wrap.height() + c[0] + c[2],
      c = {
        position: "absolute",
        top: c[0],
        left: c[3]
      };
      d.autoCenter && d.fixed && !a && g <= e.h && f <= e.w ? c.position = "fixed": d.locked || (c.top += e.y, c.left += e.x);
      c.top = x(Math.max(c.top, c.top + (e.h - g) * d.topRatio));
      c.left = x(Math.max(c.left, c.left + (e.w - f) * d.leftRatio));
      return c
    },
    _afterZoomIn: function() {
      var a = b.current;
      a && ((b.isOpen = b.isOpened = !0, b.wrap.css("overflow", "visible").addClass("fancybox-opened"), b.update(), (a.closeClick || a.nextClick && 1 < b.group.length) && b.inner.css("cursor", "pointer").bind("click.fb",
      function(d) {
        f(d.target).is("a") || f(d.target).parent().is("a") || (d.preventDefault(), b[a.closeClick ? "close": "next"]())
      }), a.closeBtn && f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",
      function(a) {
        a.preventDefault();
        b.close()
      }), a.arrows && 1 < b.group.length && ((a.loop || 0 < a.index) && f(a.tpl.prev).appendTo(b.outer).bind("click.fb", b.prev), (a.loop || a.index < b.group.length - 1) && f(a.tpl.next).appendTo(b.outer).bind("click.fb", b.next)), b.trigger("afterShow"), a.loop || a.index !== a.group.length - 1) ? b.opts.autoPlay && !b.player.isActive && (b.opts.autoPlay = !1, b.play(!0)) : b.play(!1))
    },
    _afterZoomOut: function(a) {
      a = a || b.current;
      f(".fancybox-wrap").trigger("onReset").remove();
      f.extend(b, {
        group: {},
        opts: {},
        router: !1,
        current: null,
        isActive: !1,
        isOpened: !1,
        isOpen: !1,
        isClosing: !1,
        wrap: null,
        skin: null,
        outer: null,
        inner: null
      });
      b.trigger("afterClose", a)
    }
  });
  b.transitions = {
    getOrigPosition: function() {
      var a = b.current,
      d = a.element,
      e = a.orig,
      c = {},
      f = 50,
      g = 50,
      h = a.hPadding,
      k = a.wPadding,
      n = b.getViewport(); ! e && a.isDom && d.is(":visible") && (e = d.find("img:first"), e.length || (e = d));
      u(e) ? (c = e.offset(), e.is("img") && (f = e.outerWidth(), g = e.outerHeight())) : (c.top = n.y + (n.h - g) * a.topRatio, c.left = n.x + (n.w - f) * a.leftRatio);
      if ("fixed" === b.wrap.css("position") || a.locked) c.top -= n.y,
      c.left -= n.x;
      return c = {
        top: x(c.top - h * a.topRatio),
        left: x(c.left - k * a.leftRatio),
        width: x(f + k),
        height: x(g + h)
      }
    },
    step: function(a, d) {
      var e, c, f = d.prop;
      c = b.current;
      var g = c.wrapSpace,
      h = c.skinSpace;
      if ("width" === f || "height" === f) e = d.end === d.start ? 1 : (a - d.start) / (d.end - d.start),
      b.isClosing && (e = 1 - e),
      c = "width" === f ? c.wPadding: c.hPadding,
      c = a - c,
      b.skin[f](m("width" === f ? c: c - g * e)),
      b.inner[f](m("width" === f ? c: c - g * e - h * e))
    },
    zoomIn: function() {
      var a = b.current,
      d = a.pos,
      e = a.openEffect,
      c = "elastic" === e,
      l = f.extend({
        opacity: 1
      },
      d);
      delete l.position;
      c ? (d = this.getOrigPosition(), a.openOpacity && (d.opacity = 0.1)) : "fade" === e && (d.opacity = 0.1);
      b.wrap.css(d).animate(l, {
        duration: "none" === e ? 0 : a.openSpeed,
        easing: a.openEasing,
        step: c ? this.step: null,
        complete: b._afterZoomIn
      })
    },
    zoomOut: function() {
      var a = b.current,
      d = a.closeEffect,
      e = "elastic" === d,
      c = {
        opacity: 0.1
      };
      e && (c = this.getOrigPosition(), a.closeOpacity && (c.opacity = 0.1));
      b.wrap.animate(c, {
        duration: "none" === d ? 0 : a.closeSpeed,
        easing: a.closeEasing,
        step: e ? this.step: null,
        complete: b._afterZoomOut
      })
    },
    changeIn: function() {
      var a = b.current,
      d = a.nextEffect,
      e = a.pos,
      c = {
        opacity: 1
      },
      f = b.direction,
      g;
      e.opacity = 0.1;
      "elastic" === d && (g = "down" === f || "up" === f ? "top": "left", "down" === f || "right" === f ? (e[g] = x(m(e[g]) - 200), c[g] = "+=200px") : (e[g] = x(m(e[g]) + 200), c[g] = "-=200px"));
      "none" === d ? b._afterZoomIn() : b.wrap.css(e).animate(c, {
        duration: a.nextSpeed,
        easing: a.nextEasing,
        complete: b._afterZoomIn
      })
    },
    changeOut: function() {
      var a = b.previous,
      d = a.prevEffect,
      e = {
        opacity: 0.1
      },
      c = b.direction;
      "elastic" === d && (e["down" === c || "up" === c ? "top": "left"] = ("up" === c || "left" === c ? "-": "+") + "=200px");
      a.wrap.animate(e, {
        duration: "none" === d ? 0 : a.prevSpeed,
        easing: a.prevEasing,
        complete: function() {
          f(this).trigger("onReset").remove()
        }
      })
    }
  };
  b.helpers.overlay = {
    defaults: {
      closeClick: !0,
      speedOut: 200,
      showEarly: !0,
      css: {},
      locked: !t,
      fixed: !0
    },
    overlay: null,
    fixed: !1,
    el: f("html"),
    create: function(a) {
      var d;
      a = f.extend({},
      this.defaults, a);
      this.overlay && this.close();
      d = b.coming ? b.coming.parent: a.parent;
      this.overlay = f('<div class="fancybox-overlay"></div>').appendTo(d && d.lenth ? d: "body");
      this.fixed = !1;
      a.fixed && b.defaults.fixed && (this.overlay.addClass("fancybox-overlay-fixed"), this.fixed = !0)
    },
    open: function(a) {
      var d = this;
      a = f.extend({},
      this.defaults, a);
      this.overlay ? this.overlay.unbind(".overlay").width("auto").height("auto") : this.create(a);
      this.fixed || (q.bind("resize.overlay", f.proxy(this.update, this)), this.update());
      a.closeClick && this.overlay.bind("click.overlay",
      function(a) {
        if (f(a.target).hasClass("fancybox-overlay")) return b.isActive ? b.close() : d.close(),
        !1
      });
      this.overlay.css(a.css).show()
    },
    close: function() {
      q.unbind("resize.overlay");
      this.el.hasClass("fancybox-lock") && (f(".fancybox-margin").removeClass("fancybox-margin"), this.el.removeClass("fancybox-lock"), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
      f(".fancybox-overlay").remove().hide();
      f.extend(this, {
        overlay: null,
        fixed: !1
      })
    },
    update: function() {
      var a = "100%",
      b;
      this.overlay.width(a).height("100%");
      J ? (b = Math.max(H.documentElement.offsetWidth, H.body.offsetWidth), p.width() > b && (a = p.width())) : p.width() > q.width() && (a = p.width());
      this.overlay.width(a).height(p.height())
    },
    onReady: function(a, b) {
      var e = this.overlay;
      f(".fancybox-overlay").stop(!0, !0);
      e || this.create(a);
      a.locked && this.fixed && b.fixed && (b.locked = this.overlay.append(b.wrap), b.fixed = !1); ! 0 === a.showEarly && this.beforeShow.apply(this, arguments)
    },
    beforeShow: function(a, b) {
      b.locked && !this.el.hasClass("fancybox-lock") && (!1 !== this.fixPosition && f("*").filter(function() {
        return "fixed" === f(this).css("position") && !f(this).hasClass("fancybox-overlay") && !f(this).hasClass("fancybox-wrap")
      }).addClass("fancybox-margin"), this.el.addClass("fancybox-margin"), this.scrollV = q.scrollTop(), this.scrollH = q.scrollLeft(), this.el.addClass("fancybox-lock"), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
      this.open(a)
    },
    onUpdate: function() {
      this.fixed || this.update()
    },
    afterClose: function(a) {
      this.overlay && !b.coming && this.overlay.fadeOut(a.speedOut, f.proxy(this.close, this))
    }
  };
  b.helpers.title = {
    defaults: {
      type: "float",
      position: "bottom"
    },
    beforeShow: function(a) {
      var d = b.current,
      e = d.title,
      c = a.type;
      f.isFunction(e) && (e = e.call(d.element, d));
      if (r(e) && "" !== f.trim(e)) {
        d = f('<div class="fancybox-title fancybox-title-' + c + '-wrap">' + e + "</div>");
        switch (c) {
        case "inside":
          c = b.skin;
          break;
        case "outside":
          c = b.wrap;
          break;
        case "over":
          c = b.inner;
          break;
        default:
          c = b.skin,
          d.appendTo("body"),
          J && d.width(d.width()),
          d.wrapInner('<span class="child"></span>'),
          b.current.margin[2] += Math.abs(m(d.css("margin-bottom")))
        }
        d["top" === a.position ? "prependTo": "appendTo"](c)
      }
    }
  };
  f.fn.fancybox = function(a) {
    var d, e = f(this),
    c = this.selector || "",
    l = function(g) {
      var h = f(this).blur(),
      k = d,
      l,
      m;
      g.ctrlKey || g.altKey || g.shiftKey || g.metaKey || h.is(".fancybox-wrap") || (l = a.groupAttr || "data-fancybox-group", m = h.attr(l), m || (l = "rel", m = h.get(0)[l]), m && "" !== m && "nofollow" !== m && (h = c.length ? f(c) : e, h = h.filter("[" + l + '="' + m + '"]'), k = h.index(this)), a.index = k, !1 !== b.open(h, a) && g.preventDefault())
    };
    a = a || {};
    d = a.index || 0;
    c && !1 !== a.live ? p.undelegate(c, "click.fb-start").delegate(c + ":not('.fancybox-item, .fancybox-nav')", "click.fb-start", l) : e.unbind("click.fb-start").bind("click.fb-start", l);
    this.filter("[data-fancybox-start=1]").trigger("click");
    return this
  };
  p.ready(function() {
    var a, d;
    f.scrollbarWidth === w && (f.scrollbarWidth = function() {
      var a = f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),
      b = a.children(),
      b = b.innerWidth() - b.height(99).innerWidth();
      a.remove();
      return b
    });
    f.support.fixedPosition === w && (f.support.fixedPosition = function() {
      var a = f('<div style="position:fixed;top:20px;"></div>').appendTo("body"),
      b = 20 === a[0].offsetTop || 15 === a[0].offsetTop;
      a.remove();
      return b
    } ());
    f.extend(b.defaults, {
      scrollbarWidth: f.scrollbarWidth(),
      fixed: f.support.fixedPosition,
      parent: f("body")
    });
    a = f(s).width();
    K.addClass("fancybox-lock-test");
    d = f(s).width();
    K.removeClass("fancybox-lock-test");
    f("<style type='text/css'>.fancybox-margin{margin-right:" + (d - a) + "px;}</style>").appendTo("head")
  })
})(window, document, jQuery);

/* jquery.roundabout.min.js  */

/**
 * jQuery Roundabout - v2.4.2
 * http://fredhq.com/projects/roundabout
 *
 * Moves list-items of enabled ordered and unordered lists long
 * a chosen path. Includes the default "lazySusan" path, that
 * moves items long a spinning turntable.
 *
 * Terms of Use // jQuery Roundabout
 *
 * Open source under the BSD license
 *
 * Copyright (c) 2011-2012, Fred LeBlanc
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *   - Redistributions in binary form must reproduce the above
 *     copyright notice, this list of conditions and the following
 *     disclaimer in the documentation and/or other materials provided
 *     with the distribution.
 *   - Neither the name of the author nor the names of its contributors
 *     may be used to endorse or promote products derived from this
 *     software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
(function(a) {
  "use strict";
  var b, c, d;
  a.extend({
    roundaboutShapes: {
      def: "lazySusan",
      lazySusan: function(a, b, c) {
        return {
          x: Math.sin(a + b),
          y: Math.sin(a + 3 * Math.PI / 2 + b) / 8 * c,
          z: (Math.cos(a + b) + 1) / 2,
          scale: Math.sin(a + Math.PI / 2 + b) / 2 + .5
        }
      }
    }
  });
  b = {
    bearing: 0,
    tilt: 0,
    minZ: 100,
    maxZ: 280,
    minOpacity: .4,
    maxOpacity: 1,
    minScale: .4,
    maxScale: 1,
    duration: 600,
    btnNext: null,
    btnNextCallback: function() {},
    btnPrev: null,
    btnPrevCallback: function() {},
    btnToggleAutoplay: null,
    btnStartAutoplay: null,
    btnStopAutoplay: null,
    easing: "swing",
    clickToFocus: true,
    clickToFocusCallback: function() {},
    focusBearing: 0,
    shape: "lazySusan",
    debug: false,
    childSelector: "li",
    startingChild: null,
    reflect: false,
    floatComparisonThreshold: .001,
    autoplay: false,
    autoplayDuration: 1e3,
    autoplayPauseOnHover: false,
    autoplayCallback: function() {},
    autoplayInitialDelay: 0,
    enableDrag: false,
    dropDuration: 600,
    dropEasing: "swing",
    dropAnimateTo: "nearest",
    dropCallback: function() {},
    dragAxis: "x",
    dragFactor: 4,
    triggerFocusEvents: true,
    triggerBlurEvents: true,
    responsive: false
  };
  c = {
    autoplayInterval: null,
    autoplayIsRunning: false,
    autoplayStartTimeout: null,
    animating: false,
    childInFocus: -1,
    touchMoveStartPosition: null,
    stopAnimation: false,
    lastAnimationStep: false
  };
  d = {
    init: function(e, f, g) {
      var h, i = (new Date).getTime();
      e = typeof e === "object" ? e: {};
      f = a.isFunction(f) ? f: function() {};
      f = a.isFunction(e) ? e: f;
      h = a.extend({},
      b, e, c);
      return this.each(function() {
        var b = a(this),
        c = b.children(h.childSelector).length,
        e = 360 / c,
        i = h.startingChild && h.startingChild > c - 1 ? c - 1 : h.startingChild,
        j = h.startingChild === null ? h.bearing: 360 - i * e,
        k = b.css("position") !== "static" ? b.css("position") : "relative";
        b.css({
          padding: 0,
          position: k
        }).addClass("roundabout-holder").data("roundabout", a.extend({},
        h, {
          startingChild: i,
          bearing: j,
          oppositeOfFocusBearing: d.normalize.apply(null, [h.focusBearing - 180]),
          dragBearing: j,
          period: e
        }));
        if (g) {
          b.unbind(".roundabout").children(h.childSelector).unbind(".roundabout")
        } else {
          if (h.responsive) {
            a(window).bind("resize",
            function() {
              d.stopAutoplay.apply(b);
              d.relayoutChildren.apply(b)
            })
          }
        }
        if (h.clickToFocus) {
          b.children(h.childSelector).each(function(c) {
            a(this).bind("click.roundabout",
            function() {
              var e = d.getPlacement.apply(b, [c]);
              if (!d.isInFocus.apply(b, [e])) {
                d.stopAnimation.apply(a(this));
                if (!b.data("roundabout").animating) {
                  d.animateBearingToFocus.apply(b, [e, b.data("roundabout").clickToFocusCallback])
                }
                return false
              }
            })
          })
        }
        if (h.btnNext) {
          a(h.btnNext).bind("click.roundabout",
          function() {
            if (!b.data("roundabout").animating) {
              d.animateToNextChild.apply(b, [b.data("roundabout").btnNextCallback])
            }
            return false
          })
        }
        if (h.btnPrev) {
          a(h.btnPrev).bind("click.roundabout",
          function() {
            d.animateToPreviousChild.apply(b, [b.data("roundabout").btnPrevCallback]);
            return false
          })
        }
        if (h.btnToggleAutoplay) {
          a(h.btnToggleAutoplay).bind("click.roundabout",
          function() {
            d.toggleAutoplay.apply(b);
            return false
          })
        }
        if (h.btnStartAutoplay) {
          a(h.btnStartAutoplay).bind("click.roundabout",
          function() {
            d.startAutoplay.apply(b);
            return false
          })
        }
        if (h.btnStopAutoplay) {
          a(h.btnStopAutoplay).bind("click.roundabout",
          function() {
            d.stopAutoplay.apply(b);
            return false
          })
        }
        if (h.autoplayPauseOnHover) {
          b.bind("mouseenter.roundabout.autoplay",
          function() {
            d.stopAutoplay.apply(b, [true])
          }).bind("mouseleave.roundabout.autoplay",
          function() {
            d.startAutoplay.apply(b)
          })
        }
        if (h.enableDrag) {
          if (!a.isFunction(b.drag)) {
            if (h.debug) {
              alert("You do not have the drag plugin loaded.")
            }
          } else if (!a.isFunction(b.drop)) {
            if (h.debug) {
              alert("You do not have the drop plugin loaded.")
            }
          } else {
            b.drag(function(a, c) {
              var e = b.data("roundabout"),
              f = e.dragAxis.toLowerCase() === "x" ? "deltaX": "deltaY";
              d.stopAnimation.apply(b);
              d.setBearing.apply(b, [e.dragBearing + c[f] / e.dragFactor])
            }).drop(function(a) {
              var c = b.data("roundabout"),
              e = d.getAnimateToMethod(c.dropAnimateTo);
              d.allowAnimation.apply(b);
              d[e].apply(b, [c.dropDuration, c.dropEasing, c.dropCallback]);
              c.dragBearing = c.period * d.getNearestChild.apply(b)
            })
          }
          b.each(function() {
            var b = a(this).get(0),
            c = a(this).data("roundabout"),
            e = c.dragAxis.toLowerCase() === "x" ? "pageX": "pageY",
            f = d.getAnimateToMethod(c.dropAnimateTo);
            if (b.addEventListener) {
              b.addEventListener("touchstart",
              function(a) {
                c.touchMoveStartPosition = a.touches[0][e]
              },
              false);
              b.addEventListener("touchmove",
              function(b) {
                var f = (b.touches[0][e] - c.touchMoveStartPosition) / c.dragFactor;
                b.preventDefault();
                d.stopAnimation.apply(a(this));
                d.setBearing.apply(a(this), [c.dragBearing + f])
              },
              false);
              b.addEventListener("touchend",
              function(b) {
                b.preventDefault();
                d.allowAnimation.apply(a(this));
                f = d.getAnimateToMethod(c.dropAnimateTo);
                d[f].apply(a(this), [c.dropDuration, c.dropEasing, c.dropCallback]);
                c.dragBearing = c.period * d.getNearestChild.apply(a(this))
              },
              false)
            }
          })
        }
        d.initChildren.apply(b, [f, g])
      })
    },
    initChildren: function(b, c) {
      var e = a(this),
      f = e.data("roundabout");
      b = b ||
      function() {};
      e.children(f.childSelector).each(function(b) {
        var f, g, h, i = d.getPlacement.apply(e, [b]);
        if (c && a(this).data("roundabout")) {
          f = a(this).data("roundabout").startWidth;
          g = a(this).data("roundabout").startHeight;
          h = a(this).data("roundabout").startFontSize
        }
        a(this).addClass("roundabout-moveable-item").css("position", "absolute");
        a(this).data("roundabout", {
          startWidth: f || a(this).width(),
          startHeight: g || a(this).height(),
          startFontSize: h || parseInt(a(this).css("font-size"), 10),
          degrees: i,
          backDegrees: d.normalize.apply(null, [i - 180]),
          childNumber: b,
          currentScale: 1,
          parent: e
        })
      });
      d.updateChildren.apply(e);
      if (f.autoplay) {
        f.autoplayStartTimeout = setTimeout(function() {
          d.startAutoplay.apply(e)
        },
        f.autoplayInitialDelay)
      }
      e.trigger("ready");
      b.apply(e);
      return e
    },
    updateChildren: function() {
      return this.each(function() {
        var b = a(this),
        c = b.data("roundabout"),
        e = -1,
        f = {
          bearing: c.bearing,
          tilt: c.tilt,
          stage: {
            width: Math.floor(a(this).width() * .9),
            height: Math.floor(a(this).height() * .9)
          },
          animating: c.animating,
          inFocus: c.childInFocus,
          focusBearingRadian: d.degToRad.apply(null, [c.focusBearing]),
          shape: a.roundaboutShapes[c.shape] || a.roundaboutShapes[a.roundaboutShapes.def]
        };
        f.midStage = {
          width: f.stage.width / 2,
          height: f.stage.height / 2
        };
        f.nudge = {
          width: f.midStage.width + f.stage.width * .05,
          height: f.midStage.height + f.stage.height * .05
        };
        f.zValues = {
          min: c.minZ,
          max: c.maxZ,
          diff: c.maxZ - c.minZ
        };
        f.opacity = {
          min: c.minOpacity,
          max: c.maxOpacity,
          diff: c.maxOpacity - c.minOpacity
        };
        f.scale = {
          min: c.minScale,
          max: c.maxScale,
          diff: c.maxScale - c.minScale
        };
        b.children(c.childSelector).each(function(g) {
          if (d.updateChild.apply(b, [a(this), f, g,
          function() {
            a(this).trigger("ready")
          }]) && (!f.animating || c.lastAnimationStep)) {
            e = g;
            a(this).addClass("roundabout-in-focus")
          } else {
            a(this).removeClass("roundabout-in-focus")
          }
        });
        if (e !== f.inFocus) {
          if (c.triggerBlurEvents) {
            b.children(c.childSelector).eq(f.inFocus).trigger("blur")
          }
          c.childInFocus = e;
          if (c.triggerFocusEvents && e !== -1) {
            b.children(c.childSelector).eq(e).trigger("focus")
          }
        }
        b.trigger("childrenUpdated")
      })
    },
    updateChild: function(b, c, e, f) {
      var g, h = this,
      i = a(b),
      j = i.data("roundabout"),
      k = [],
      l = d.degToRad.apply(null, [360 - j.degrees + c.bearing]);
      f = f ||
      function() {};
      l = d.normalizeRad.apply(null, [l]);
      g = c.shape(l, c.focusBearingRadian, c.tilt);
      g.scale = g.scale > 1 ? 1 : g.scale;
      g.adjustedScale = (c.scale.min + c.scale.diff * g.scale).toFixed(4);
      g.width = (g.adjustedScale * j.startWidth).toFixed(4);
      g.height = (g.adjustedScale * j.startHeight).toFixed(4);
      i.css({
        left: (g.x * c.midStage.width + c.nudge.width - g.width / 2).toFixed(0) + "px",
        top: (g.y * c.midStage.height + c.nudge.height - g.height / 2).toFixed(0) + "px",
        width: g.width + "px",
        height: g.height + "px",
        opacity: (c.opacity.min + c.opacity.diff * g.scale).toFixed(2),
        zIndex: Math.round(c.zValues.min + c.zValues.diff * g.z),
        fontSize: (g.adjustedScale * j.startFontSize).toFixed(1) + "px"
      });
      j.currentScale = g.adjustedScale;
      if (h.data("roundabout").debug) {
        k.push('<div style="font-weight: normal; font-size: 10px; padding: 2px; width: ' + i.css("width") + '; background-color: #ffc;">');
        k.push('<strong style="font-size: 12px; white-space: nowrap;">Child ' + e + "</strong><br />");
        k.push("<strong>left:</strong> " + i.css("left") + "<br />");
        k.push("<strong>top:</strong> " + i.css("top") + "<br />");
        k.push("<strong>width:</strong> " + i.css("width") + "<br />");
        k.push("<strong>opacity:</strong> " + i.css("opacity") + "<br />");
        k.push("<strong>height:</strong> " + i.css("height") + "<br />");
        k.push("<strong>z-index:</strong> " + i.css("z-index") + "<br />");
        k.push("<strong>font-size:</strong> " + i.css("font-size") + "<br />");
        k.push("<strong>scale:</strong> " + i.data("roundabout").currentScale);
        k.push("</div>");
        i.html(k.join(""))
      }
      i.trigger("reposition");
      f.apply(h);
      return d.isInFocus.apply(h, [j.degrees])
    },
    setBearing: function(b, c) {
      c = c ||
      function() {};
      b = d.normalize.apply(null, [b]);
      this.each(function() {
        var c, e, f, g = a(this),
        h = g.data("roundabout"),
        i = h.bearing;
        h.bearing = b;
        g.trigger("bearingSet");
        d.updateChildren.apply(g);
        c = Math.abs(i - b);
        if (!h.animating || c > 180) {
          return
        }
        c = Math.abs(i - b);
        g.children(h.childSelector).each(function(c) {
          var e;
          if (d.isChildBackDegreesBetween.apply(a(this), [b, i])) {
            e = i > b ? "Clockwise": "Counterclockwise";
            a(this).trigger("move" + e + "ThroughBack")
          }
        })
      });
      c.apply(this);
      return this
    },
    adjustBearing: function(b, c) {
      c = c ||
      function() {};
      if (b === 0) {
        return this
      }
      this.each(function() {
        d.setBearing.apply(a(this), [a(this).data("roundabout").bearing + b])
      });
      c.apply(this);
      return this
    },
    setTilt: function(b, c) {
      c = c ||
      function() {};
      this.each(function() {
        a(this).data("roundabout").tilt = b;
        d.updateChildren.apply(a(this))
      });
      c.apply(this);
      return this
    },
    adjustTilt: function(b, c) {
      c = c ||
      function() {};
      this.each(function() {
        d.setTilt.apply(a(this), [a(this).data("roundabout").tilt + b])
      });
      c.apply(this);
      return this
    },
    animateToBearing: function(b, c, e, f, g) {
      var h = (new Date).getTime();
      g = g ||
      function() {};
      if (a.isFunction(f)) {
        g = f;
        f = null
      } else if (a.isFunction(e)) {
        g = e;
        e = null
      } else if (a.isFunction(c)) {
        g = c;
        c = null
      }
      this.each(function() {
        var i, j, k, l = a(this),
        m = l.data("roundabout"),
        n = !c ? m.duration: c,
        o = e ? e: m.easing || "swing";
        if (!f) {
          f = {
            timerStart: h,
            start: m.bearing,
            totalTime: n
          }
        }
        i = h - f.timerStart;
        if (m.stopAnimation) {
          d.allowAnimation.apply(l);
          m.animating = false;
          return
        }
        if (i < n) {
          if (!m.animating) {
            l.trigger("animationStart")
          }
          m.animating = true;
          if (typeof a.easing.def === "string") {
            j = a.easing[o] || a.easing[a.easing.def];
            k = j(null, i, f.start, b - f.start, f.totalTime)
          } else {
            k = a.easing[o](i / f.totalTime, i, f.start, b - f.start, f.totalTime)
          }
          if (d.compareVersions.apply(null, [a().jquery, "1.7.2"]) >= 0 && !a.easing["easeOutBack"]) {
            k = f.start + (b - f.start) * k
          }
          k = d.normalize.apply(null, [k]);
          m.dragBearing = k;
          d.setBearing.apply(l, [k,
          function() {
            setTimeout(function() {
              d.animateToBearing.apply(l, [b, n, o, f, g])
            },
            0)
          }])
        } else {
          m.lastAnimationStep = true;
          b = d.normalize.apply(null, [b]);
          d.setBearing.apply(l, [b,
          function() {
            l.trigger("animationEnd")
          }]);
          m.animating = false;
          m.lastAnimationStep = false;
          m.dragBearing = b;
          g.apply(l)
        }
      });
      return this
    },
    animateToNearbyChild: function(b, c) {
      var e = b[0],
      f = b[1],
      g = b[2] ||
      function() {};
      if (a.isFunction(f)) {
        g = f;
        f = null
      } else if (a.isFunction(e)) {
        g = e;
        e = null
      }
      return this.each(function() {
        var b, h, i = a(this),
        j = i.data("roundabout"),
        k = !j.reflect ? j.bearing % 360 : j.bearing,
        l = i.children(j.childSelector).length;
        if (!j.animating) {
          if (j.reflect && c === "previous" || !j.reflect && c === "next") {
            k = Math.abs(k) < j.floatComparisonThreshold ? 360 : k;
            for (b = 0; b < l; b += 1) {
              h = {
                lower: j.period * b,
                upper: j.period * (b + 1)
              };
              h.upper = b === l - 1 ? 360 : h.upper;
              if (k <= Math.ceil(h.upper) && k >= Math.floor(h.lower)) {
                if (l === 2 && k === 360) {
                  d.animateToDelta.apply(i, [ - 180, e, f, g])
                } else {
                  d.animateBearingToFocus.apply(i, [h.lower, e, f, g])
                }
                break
              }
            }
          } else {
            k = Math.abs(k) < j.floatComparisonThreshold || 360 - Math.abs(k) < j.floatComparisonThreshold ? 0 : k;
            for (b = l - 1; b >= 0; b -= 1) {
              h = {
                lower: j.period * b,
                upper: j.period * (b + 1)
              };
              h.upper = b === l - 1 ? 360 : h.upper;
              if (k >= Math.floor(h.lower) && k < Math.ceil(h.upper)) {
                if (l === 2 && k === 360) {
                  d.animateToDelta.apply(i, [180, e, f, g])
                } else {
                  d.animateBearingToFocus.apply(i, [h.upper, e, f, g])
                }
                break
              }
            }
          }
        }
      })
    },
    animateToNearestChild: function(b, c, e) {
      e = e ||
      function() {};
      if (a.isFunction(c)) {
        e = c;
        c = null
      } else if (a.isFunction(b)) {
        e = b;
        b = null
      }
      return this.each(function() {
        var f = d.getNearestChild.apply(a(this));
        d.animateToChild.apply(a(this), [f, b, c, e])
      })
    },
    animateToChild: function(b, c, e, f) {
      f = f ||
      function() {};
      if (a.isFunction(e)) {
        f = e;
        e = null
      } else if (a.isFunction(c)) {
        f = c;
        c = null
      }
      return this.each(function() {
        var g, h = a(this),
        i = h.data("roundabout");
        if (i.childInFocus !== b && !i.animating) {
          g = h.children(i.childSelector).eq(b);
          d.animateBearingToFocus.apply(h, [g.data("roundabout").degrees, c, e, f])
        }
      })
    },
    animateToNextChild: function(a, b, c) {
      return d.animateToNearbyChild.apply(this, [arguments, "next"])
    },
    animateToPreviousChild: function(a, b, c) {
      return d.animateToNearbyChild.apply(this, [arguments, "previous"])
    },
    animateToDelta: function(b, c, e, f) {
      f = f ||
      function() {};
      if (a.isFunction(e)) {
        f = e;
        e = null
      } else if (a.isFunction(c)) {
        f = c;
        c = null
      }
      return this.each(function() {
        var g = a(this).data("roundabout").bearing + b;
        d.animateToBearing.apply(a(this), [g, c, e, f])
      })
    },
    animateBearingToFocus: function(b, c, e, f) {
      f = f ||
      function() {};
      if (a.isFunction(e)) {
        f = e;
        e = null
      } else if (a.isFunction(c)) {
        f = c;
        c = null
      }
      return this.each(function() {
        var g = a(this).data("roundabout").bearing - b;
        g = Math.abs(360 - g) < Math.abs(g) ? 360 - g: -g;
        g = g > 180 ? -(360 - g) : g;
        if (g !== 0) {
          d.animateToDelta.apply(a(this), [g, c, e, f])
        }
      })
    },
    stopAnimation: function() {
      return this.each(function() {
        a(this).data("roundabout").stopAnimation = true
      })
    },
    allowAnimation: function() {
      return this.each(function() {
        a(this).data("roundabout").stopAnimation = false
      })
    },
    startAutoplay: function(b) {
      return this.each(function() {
        var c = a(this),
        e = c.data("roundabout");
        b = b || e.autoplayCallback ||
        function() {};
        clearInterval(e.autoplayInterval);
        e.autoplayInterval = setInterval(function() {
          d.animateToNextChild.apply(c, [b])
        },
        e.autoplayDuration);
        e.autoplayIsRunning = true;
        c.trigger("autoplayStart")
      })
    },
    stopAutoplay: function(b) {
      return this.each(function() {
        clearInterval(a(this).data("roundabout").autoplayInterval);
        a(this).data("roundabout").autoplayInterval = null;
        a(this).data("roundabout").autoplayIsRunning = false;
        if (!b) {
          a(this).unbind(".autoplay")
        }
        a(this).trigger("autoplayStop")
      })
    },
    toggleAutoplay: function(b) {
      return this.each(function() {
        var c = a(this),
        e = c.data("roundabout");
        b = b || e.autoplayCallback ||
        function() {};
        if (!d.isAutoplaying.apply(a(this))) {
          d.startAutoplay.apply(a(this), [b])
        } else {
          d.stopAutoplay.apply(a(this), [b])
        }
      })
    },
    isAutoplaying: function() {
      return this.data("roundabout").autoplayIsRunning
    },
    changeAutoplayDuration: function(b) {
      return this.each(function() {
        var c = a(this),
        e = c.data("roundabout");
        e.autoplayDuration = b;
        if (d.isAutoplaying.apply(c)) {
          d.stopAutoplay.apply(c);
          setTimeout(function() {
            d.startAutoplay.apply(c)
          },
          10)
        }
      })
    },
    normalize: function(a) {
      var b = a % 360;
      return b < 0 ? 360 + b: b
    },
    normalizeRad: function(a) {
      while (a < 0) {
        a += Math.PI * 2
      }
      while (a > Math.PI * 2) {
        a -= Math.PI * 2
      }
      return a
    },
    isChildBackDegreesBetween: function(b, c) {
      var d = a(this).data("roundabout").backDegrees;
      if (b > c) {
        return d >= c && d < b
      } else {
        return d < c && d >= b
      }
    },
    getAnimateToMethod: function(a) {
      a = a.toLowerCase();
      if (a === "next") {
        return "animateToNextChild"
      } else if (a === "previous") {
        return "animateToPreviousChild"
      }
      return "animateToNearestChild"
    },
    relayoutChildren: function() {
      return this.each(function() {
        var b = a(this),
        c = a.extend({},
        b.data("roundabout"));
        c.startingChild = b.data("roundabout").childInFocus;
        d.init.apply(b, [c, null, true])
      })
    },
    getNearestChild: function() {
      var b = a(this),
      c = b.data("roundabout"),
      d = b.children(c.childSelector).length;
      if (!c.reflect) {
        return (d - Math.round(c.bearing / c.period) % d) % d
      } else {
        return Math.round(c.bearing / c.period) % d
      }
    },
    degToRad: function(a) {
      return d.normalize.apply(null, [a]) * Math.PI / 180
    },
    getPlacement: function(a) {
      var b = this.data("roundabout");
      return ! b.reflect ? 360 - b.period * a: b.period * a
    },
    isInFocus: function(a) {
      var b, c = this,
      e = c.data("roundabout"),
      f = d.normalize.apply(null, [e.bearing]);
      a = d.normalize.apply(null, [a]);
      b = Math.abs(f - a);
      return b <= e.floatComparisonThreshold || b >= 360 - e.floatComparisonThreshold
    },
    getChildInFocus: function() {
      var b = a(this).data("roundabout");
      return b.childInFocus > -1 ? b.childInFocus: false
    },
    compareVersions: function(a, b) {
      var c, d = a.split(/\./i),
      e = b.split(/\./i),
      f = d.length > e.length ? d.length: e.length;
      for (c = 0; c <= f; c++) {
        if (d[c] && !e[c] && parseInt(d[c], 10) !== 0) {
          return 1
        } else if (e[c] && !d[c] && parseInt(e[c], 10) !== 0) {
          return - 1
        } else if (d[c] === e[c]) {
          continue
        }
        if (d[c] && e[c]) {
          if (parseInt(d[c], 10) > parseInt(e[c], 10)) {
            return 1
          } else {
            return - 1
          }
        }
      }
      return 0
    }
  };
  a.fn.roundabout = function(b) {
    if (d[b]) {
      return d[b].apply(this, Array.prototype.slice.call(arguments, 1))
    } else if (typeof b === "object" || a.isFunction(b) || !b) {
      return d.init.apply(this, arguments)
    } else {
      a.error("Method " + b + " does not exist for jQuery.roundabout.")
    }
  }
})(jQuery)
<html>
  
  <head>
    <link href="css/css.css" rel="stylesheet" type="text/css">
    <script src="https://cdn.staticfile.org/jquery/2.2.1/jquery.min.js">
    </script>
    <script type="text/javascript" src="js/jquery.fancybox.pack.js">
    </script>
  </head>
  
  <body>
    <div class="in exhibition_hall">
      <div id="" class="roundabout_box">
        <ul>
          <li>
            <a href="#">
              <img src="http://photo1-1253196505.cosgz.myqcloud.com/photo/15473-106.jpg?sign=E5Uh4oc3Zg5L/o9o/W70L1x9L/ZhPTEyNTMxOTY1MDUmaz1BS0lESFVaUzkwUU5CZjRRbjlFdjA3QktPV2RueXZ6c2F3blcmZT0xNDk0MzQ1Mzk2JnQ9MTQ5MTc1MzM5NiZyPTEyMzQ0NDYwMTQmZj0vcGhvdG8vMTU0NzMtMTA2LmpwZyZiPXBob3RvMQ=="
              alt="">
              <span class="text">
                Picture information 1
              </span>
            </a>
          </li>
          <li>
            <a href="#">
              <img src="http://photo1-1253196505.cosgz.myqcloud.com/photo/%E5%A3%81%E7%BA%B82.png?sign=Uu8Zf/mK0f8RxVgvScBxHPlfemZhPTEyNTMxOTY1MDUmaz1BS0lESFVaUzkwUU5CZjRRbjlFdjA3QktPV2RueXZ6c2F3blcmZT0xNDk0MzQ1Mzk2JnQ9MTQ5MTc1MzM5NiZyPTExODQ3MjA4NzcmZj0vcGhvdG8vJUU1JUEzJTgxJUU3JUJBJUI4Mi5wbmcmYj1waG90bzE=g"
              alt="">
              <span class="text">
                Picture information 2
              </span>
            </a>
          </li>
          <li>
            <a href="#">
              <img src="http://photo1-1253196505.cosgz.myqcloud.com/photo/21527-106.jpg?sign=h4trfrEtsCdyYHyqIUjvO0yuNiZhPTEyNTMxOTY1MDUmaz1BS0lESFVaUzkwUU5CZjRRbjlFdjA3QktPV2RueXZ6c2F3blcmZT0xNDk0MzQ1Mzk2JnQ9MTQ5MTc1MzM5NiZyPTc2ODA3MTM3NCZmPS9waG90by8yMTUyNy0xMDYuanBnJmI9cGhvdG8x"
              alt="">
              <span class="text">
                Picture information 3
              </span>
            </a>
          </li>
          <li>
            <a href="#">
              <img src="http://photo1-1253196505.cosgz.myqcloud.com/photo/%E5%A3%81%E7%BA%B83.jpeg?sign=mFo9BWQewOqE0RaERRK+3jpfs3xhPTEyNTMxOTY1MDUmaz1BS0lESFVaUzkwUU5CZjRRbjlFdjA3QktPV2RueXZ6c2F3blcmZT0xNDk0MzQ1Mzk2JnQ9MTQ5MTc1MzM5NiZyPTE4MTI2NzI5MjQmZj0vcGhvdG8vJUU1JUEzJTgxJUU3JUJBJUI4My5qcGVnJmI9cGhvdG8x"
              alt="">
              <span class="text">
                Picture information 4
              </span>
            </a>
          </li>
        </ul>
      </div>
      <div class="clear">
      </div>
    </div>
    <script src="js/jquery.roundabout.min.js">
    </script>
    <script type="text/javascript">
      $(document).ready(function() {
        $('.roundabout_box ul').roundabout({
          duration: 1000,
          minScale: 0.6,
          autoplay: true,
          autoplayDuration: 5000,
          minOpacity: 0,
          maxOpacity: 1,
          reflect: true,
          startingChild: 3,
          autoplayInitialDelay: 5000,
          autoplayPauseOnHover: true,
          enableDrag: true
        });
      });
    </script>
  </body>

</html>
* {
  margin: 0;
  padding: 0;
  border: 0;
}

body {
  background-color: #2A2A2A
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul,
li,
dd,
dl,
dt,
img {
  list-style: none;
}

legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: lighter;
  font-size: 100%;
}

body,
div {
  font-size: 12px;
  color: #555555;
  font-family: '宋体', Simsun;
  -webkit-text-size-adjust: none;
}

a {
  text-decoration: none;
}

a:link,
a:visited {
  color: #111111;
}

a:active,
a:hover {
  color: #ff0000;
}

a.white:link,
a.white:visited {
  color: #ffffff;
}

a.white:active,
a.white:hover {
  color: #ffff00;
}

a.hui:link,
a.hui:visited {
  color: #999999;
}

a.hui:active,
a.hui:hover {
  color: #ffff00;
}

a.huii:link,
a.huii:visited {
  color: #555555;
}

a.huii:active,
a.huii:hover {
  color: #999999;
}

a.hong:link,
a.hong:visited {
  color: #cc0000;
}

a.hong:active,
a.hong:hover {
  color: #000000;
}

a.lan:link,
a.lan:visited {
  color: #003366;
}

a.lan:active,
a.lan:hover {
  color: #ff0000;
}

.exhibition_hall {
  text-align: center;
  position: relative;
  overflow: hidden;
}

.exhibition_hall h4 {
  font-size: 30px;
  font-family: "微软雅黑";
  text-align: center;
  margin: 0px auto;
  padding-top: 50px;
  color: #000;
}

.tline {
  color: #dedede;
}

.roundabout_box {
  width: 980px;
  height: 480px;
}

.roundabout_box ul {}

.roundabout_box img {
  width: 100%;
}


/**********roundabout**********/

.roundabout_box {
  height: 425px;
  width: 980px;
  margin: 40px auto 20px auto;
}

.roundabout-holder {
  list-style: none;
  width: 500px;
  height: 425px;
  margin: 0px auto;
}

.roundabout-moveable-item {
  font-size: 12px!important;
  height: 425px;
  width: 650px;
  cursor: pointer;
  background: #f9f9f9;
}

.roundabout-moveable-item img {
  height: 100%;
  width: 100%;
  background-color: #FFFFFF;
  margin: 0;
}

.roundabout-in-focus {
  cursor: auto;
  border-left: 1px #fff solid;
  border-right: 1px #fff solid;
}

.roundabout-in-focus000:hover {
  -webkit-box-shadow: 0px 0px 20px #787878;
  -moz-box-shadow: 0px 0px 20px #787878;
  background: #f9f9f9;
}

.roundabout-holder .text {
  color: #999;
}

.roundabout-in-focus000:hover span {
  display: inline;
  position: absolute;
  bottom: 5px;
  right: 5px;
  padding: 8px 20px;
  background: #f9f9f9;
  color: #3366cc;
  z-index: 999;
  -webkit-border-top-left-radius: 5px;
  -moz-border-radius-topLeft: 5px;
  border-left: 1px solid #aaaaaa;
  border-top: 1px solid #aaaaaa;
}

.roundabout a:active,
.roundabout a:focus,
.roundabout a:visited {
  outline: none;
  text-decoration: none;
}

.roundabout li {
  margin: 0
}