/*! wow - v1.0.1 - 2014-08-15 * copyright (c) 2014 matthieu aussaguel; licensed mit */ (function() { var a, b, c, d = function(a, b) { return function() { return a.apply(b, arguments) } }, e = [].indexof || function(a) { for (var b = 0, c = this.length; c > b; b++) if (b in this && this[b] === a) return b; return -1 }; b = function() { function a() {} return a.prototype.extend = function(a, b) { var c, d; for (c in b) d = b[c], null == a[c] && (a[c] = d); return a }, a.prototype.ismobile = function(a) { return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(a) }, a }(), c = this.weakmap || this.mozweakmap || (c = function() { function a() { this.keys = [], this.values = [] } return a.prototype.get = function(a) { var b, c, d, e, f; for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d) if (c = f[b], c === a) return this.values[b] }, a.prototype.set = function(a, b) { var c, d, e, f, g; for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e) if (d = g[c], d === a) return void(this.values[c] = b); return this.keys.push(a), this.values.push(b) }, a }()), a = this.mutationobserver || this.webkitmutationobserver || this.mozmutationobserver || (a = function() { function a() { console.warn("mutationobserver is not supported by your browser."), console.warn("wow.js cannot detect dom mutations, please call .sync() after loading new content.") } return a.notsupported = !0, a.prototype.observe = function() {}, a }()), this.wow = function() { function f(a) { null == a && (a = {}), this.scrollcallback = d(this.scrollcallback, this), this.scrollhandler = d(this.scrollhandler, this), this.start = d(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationnamecache = new c } return f.prototype.defaults = { boxclass: "wow", animateclass: "animated", offset: 0, mobile: !0, live: !0 }, f.prototype.init = function() { var a; return this.element = window.document.documentelement, "interactive" === (a = document.readystate) || "complete" === a ? this.start() : document.addeventlistener("domcontentloaded", this.start), this.finished = [] }, f.prototype.start = function() { var b, c, d, e; if (this.stopped = !1, this.boxes = function() { var a, c, d, e; for (d = this.element.queryselectorall("." + this.config.boxclass), e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); return e }.call(this), this.all = function() { var a, c, d, e; for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); return e }.call(this), this.boxes.length) if (this.disabled()) this.resetstyle(); else { for (e = this.boxes, c = 0, d = e.length; d > c; c++) b = e[c], this.applystyle(b, !0); window.addeventlistener("scroll", this.scrollhandler, !1), window.addeventlistener("resize", this.scrollhandler, !1), this.interval = setinterval(this.scrollcallback, 50) } return this.config.live ? new a(function(a) { return function(b) { var c, d, e, f, g; for (g = [], e = 0, f = b.length; f > e; e++) d = b[e], g.push(function() { var a, b, e, f; for (e = d.addednodes || [], f = [], a = 0, b = e.length; b > a; a++) c = e[a], f.push(this.dosync(c)); return f }.call(a)); return g } }(this)).observe(document.body, { childlist: !0, subtree: !0 }) : void 0 }, f.prototype.stop = function() { return this.stopped = !0, window.removeeventlistener("scroll", this.scrollhandler, !1), window.removeeventlistener("resize", this.scrollhandler, !1), null != this.interval ? clearinterval(this.interval) : void 0 }, f.prototype.sync = function() { return a.notsupported ? this.dosync(this.element) : void 0 }, f.prototype.dosync = function(a) { var b, c, d, f, g; if (!this.stopped) { if (null == a && (a = this.element), 1 !== a.nodetype) return; for (a = a.parentnode || a, f = a.queryselectorall("." + this.config.boxclass), g = [], c = 0, d = f.length; d > c; c++) b = f[c], e.call(this.all, b) < 0 ? (this.applystyle(b, !0), this.boxes.push(b), this.all.push(b), g.push(this.scrolled = !0)) : g.push(void 0); return g } }, f.prototype.show = function(a) { return this.applystyle(a), a.classname = "" + a.classname + " " + this.config.animateclass }, f.prototype.applystyle = function(a, b) { var c, d, e; return d = a.getattribute("data-wow-duration"), c = a.getattribute("data-wow-delay"), e = a.getattribute("data-wow-iteration"), this.animate(function(f) { return function() { return f.customstyle(a, b, d, c, e) } }(this)) }, f.prototype.animate = function() { return "requestanimationframe" in window ? function(a) { return window.requestanimationframe(a) } : function(a) { return a() } }(), f.prototype.resetstyle = function() { var a, b, c, d, e; for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], e.push(a.setattribute("style", "visibility: visible;")); return e }, f.prototype.customstyle = function(a, b, c, d, e) { return b && this.cacheanimationname(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorset(a.style, { animationduration: c }), d && this.vendorset(a.style, { animationdelay: d }), e && this.vendorset(a.style, { animationiterationcount: e }), this.vendorset(a.style, { animationname: b ? "none" : this.cachedanimationname(a) }), a }, f.prototype.vendors = ["moz", "webkit"], f.prototype.vendorset = function(a, b) { var c, d, e, f; f = []; for (c in b) d = b[c], a["" + c] = d, f.push(function() { var b, f, g, h; for (g = this.vendors, h = [], b = 0, f = g.length; f > b; b++) e = g[b], h.push(a["" + e + c.charat(0).touppercase() + c.substr(1)] = d); return h }.call(this)); return f }, f.prototype.vendorcss = function(a, b) { var c, d, e, f, g, h; for (d = window.getcomputedstyle(a), c = d.getpropertycssvalue(b), h = this.vendors, f = 0, g = h.length; g > f; f++) e = h[f], c = c || d.getpropertycssvalue("-" + e + "-" + b); return c }, f.prototype.animationname = function(a) { var b; try { b = this.vendorcss(a, "animation-name").csstext } catch (c) { b = window.getcomputedstyle(a).getpropertyvalue("animation-name") } return "none" === b ? "" : b }, f.prototype.cacheanimationname = function(a) { return this.animationnamecache.set(a, this.animationname(a)) }, f.prototype.cachedanimationname = function(a) { return this.animationnamecache.get(a) }, f.prototype.scrollhandler = function() { return this.scrolled = !0 }, f.prototype.scrollcallback = function() { var a; return !this.scrolled || (this.scrolled = !1, this.boxes = function() { var b, c, d, e; for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], a && (this.isvisible(a) ? this.show(a) : e.push(a)); return e }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop() }, f.prototype.offsettop = function(a) { for (var b; void 0 === a.offsettop;) a = a.parentnode; for (b = a.offsettop; a = a.offsetparent;) b += a.offsettop; return b }, f.prototype.isvisible = function(a) { var b, c, d, e, f; return c = a.getattribute("data-wow-offset") || this.config.offset, f = window.pageyoffset, e = f + math.min(this.element.clientheight, innerheight) - c, d = this.offsettop(a), b = d + a.clientheight, e >= d && b >= f }, f.prototype.util = function() { return null != this._util ? this._util : this._util = new b }, f.prototype.disabled = function() { return !this.config.mobile && this.util().ismobile(navigator.useragent) }, f }() }).call(this);