/*
 * AnythingSlider Slide FX 1.3 minified for AnythingSlider v1.5.8+
 * By Rob Garrison (aka Mottie & Fudgey)
 * Dual licensed under the MIT and GPL licenses.
 */
(function (h) {
  h.fn.anythingSliderFx = function (g) {
    var l = h(this).closest(".anythingSlider"),
        i = l.width(),
        n = l.height(),
        o = function (a) {
        return {
          top: [{
            inFx: {
              top: 0
            },
            outFx: {
              top: "-" + (a || n)
            }
          }],
          bottom: [{
            inFx: {
              bottom: 0
            },
            outFx: {
              bottom: a || n
            }
          }],
          left: [{
            inFx: {
              left: 0
            },
            outFx: {
              left: "-" + (a || i)
            }
          }],
          right: [{
            inFx: {
              right: 0
            },
            outFx: {
              right: a || i
            }
          }],
          fade: [{
            inFx: {
              opacity: 1
            },
            outFx: {
              opacity: 0
            }
          }],
          expand: [{
            inFx: {
              width: "100%",
              top: "0%",
              left: "0%"
            },
            outFx: {
              width: a || "10%",
              top: "50%",
              left: "50%"
            }
          }],
          listLR: [{
            inFx: {
              left: 0,
              opacity: 1
            },
            outFx: [{
              left: a || i,
              opacity: 0
            }, {
              left: "-" + (a || i),
              opacity: 0
            }],
            selector: [":odd", ":even"]
          }],
          listRL: [{
            inFx: {
              left: 0,
              opacity: 1
            },
            outFx: [{
              left: a || i,
              opacity: 0
            }, {
              left: "-" + (a || i),
              opacity: 0
            }],
            selector: [":even", ":odd"]
          }],
          "caption-Top": [{
            inFx: {
              top: 0,
              opacity: 0.8
            },
            outFx: {
              top: "-" + a || -50,
              opacity: 0
            }
          }],
          "caption-Right": [{
            inFx: {
              right: 0,
              opacity: 0.8
            },
            outFx: {
              right: "-" + a || -150,
              opacity: 0
            }
          }],
          "caption-Bottom": [{
            inFx: {
              bottom: 0,
              opacity: 0.8
            },
            outFx: {
              bottom: "-" + a || -50,
              opacity: 0
            }
          }],
          "caption-Left": [{
            inFx: {
              left: 0,
              opacity: 0.8
            },
            outFx: {
              left: "-" + a || -150,
              opacity: 0
            }
          }]
        }
        };
    return this.each(function () {
      var a = o(),
          k = {
          easing: "swing",
          timeIn: 400,
          timeOut: 350
          },
          i = function (e) {
          e.each(function () {
            h(this).closest(".panel").is(".activePage") || h(this).css("visibility", "hidden")
          })
          },
          m = function (e, a, c) {
          if (!(e.length === 0 || typeof a === "undefined")) {
            var b = a[0] || a,
                d = b[1] || "",
                h = parseInt(d === "" ? b.duration : b[0].duration, 10);
            if (c && (e.css("position") !== "absolute" && e.css({
              position: "relative"
            }), e.stop(), d !== "")) {
              e.filter(a[1][0]).animate(b[0], {
                queue: !1,
                duration: h,
                easing: b[0].easing
              });
              e.filter(a[1][1]).animate(d, {
                queue: !1,
                duration: h,
                easing: b[0].easing,
                complete: function () {
                  setTimeout(function () {
                    i(e)
                  }, k.timeOut)
                }
              });
              return
            }
            c || e.css("visibility", "visible").show();
            e.animate(b, {
              queue: !1,
              duration: h,
              easing: b.easing,
              complete: function () {
                c && setTimeout(function () {
                  i(e)
                }, k.timeOut)
              }
            })
          }
          },
          l = function (e, f) {
          var c, b, d = f ? "outFx" : "inFx",
              g = {},
              i = f ? k.timeOut : k.timeIn,
              j = h.trim(e[0].replace(/\s+/g, " ")).split(" ");
          if (f && j.length === 1 && a.hasOwnProperty(j) && typeof a[j][0].selector !== "undefined") return b = a[j][0].outFx, b[0].duration = e[2] || k.timeOut, b[0].easing = e[3] || k.easing, [b, a[j][0].selector || []];
          h.each(j, function (b, f) {
            if (a.hasOwnProperty(f)) {
              var j = f === "fade" ? 1 : 2;
              c = typeof e[1] === "undefined" ? a : o(e[1]);
              h.extend(!0, g, c[f][0][d]);
              g.duration = e[j] || g.duration || i;
              g.easing = e[j + 1] || k.easing
            }
          });
          return [g]
          };
      h(this).bind("slide_init", function (a, f) {
        var c, b, d = f.$lastPage.add(f.$items.eq(f.exactPage));
        f.exactPage === 0 && (d = d.add(f.$items.eq(f.pages)));
        d = d.find("*").andSelf();
        for (c in g) if (c === "outFx") for (b in g.outFx) d.filter(b).length && m(d.filter(b), g.outFx[b], !0);
        else c !== "inFx" && h.isArray(g[c]) && d.filter(c).length && m(d.filter(c), l(g[c], !0), !0)
      }).bind("slide_complete", function (a, f) {
        var c, b, d = f.$currentPage.add(f.$items.eq(f.exactPage)),
            d = d.find("*").andSelf();
        for (c in g) if (c === "inFx") for (b in g.inFx) d.filter(b).length && m(d.filter(b), g.inFx[b], !1);
        else c !== "outFx" && h.isArray(g[c]) && d.filter(c).length && m(d.filter(c), l(g[c], !1), !1)
      })
    })
  }
})(jQuery);
