/*! jsModern v3.4.2 | (c) Frank Chao | MIT license */
!
function(c, r) {
"function" === typeof define && define.amd ? define(["jquery"], r) : "undefined" !== typeof module && "object" === typeof exports ? module.exports = r(require("jquery")) : c.jsModern = r(c.jQuery)
}("undefined" !== typeof window ? window : this, function(c) {
function r(a, b, f) {
var e = f.type;
f.type = b;
c.event.dispatch.call(a, f);
f.type = e
}
if ("undefined" === typeof jQuery) throw Error("jsModern's JavaScript requires jQuery");
var I = c.fn.jquery.split("."),
J = ~~I[0],
K = ~~I[1];
if (1 === J && 9 > K) throw Error("jsModern's JavaScript requires at least jQuery v1.9.0");
//if (!Array.isArray || !document.addEventListener || !1 in document.documentElement.style) throw Error("jsModern's JavaScript does not support of IE8-");
var T = window.jsModern,
v = navigator.userAgent.toLowerCase(),
x = {},
L = {};
c("head");
var E = c("html"),
F = !! v.match("trident");
c.event.special.tap = {
setup: function() {
var a = this,
b = !1,
f = 0;
c(a).on("touchstart", function(b) {
f = Date.now()
}).on("touchmove", function(a) {
b = !0
}).on("touchend", function(e) {
!b && 300 > c.now() - f && (r(a, "tap", e), f = 0)
})
}
};
c.event.special.tapHold = {
setup: function() {
var a = this,
b = 0,
f = 0,
e = 0,
d = 0,
g = !1,
h;
c(a).on("touchstart", function(c) {
b = c.originalEvent.targetTouches[0].pageX;
f = c.originalEvent.targetTouches[0].pageY;
c.originalEvent.preventDefault();
h = setTimeout(function() {
e = c.originalEvent.targetTouches[0].pageX;
d = c.originalEvent.targetTouches[0].pageY;
e !== b || d !== f || g || r(a, "tapHold", c)
}, 750)
}).on("touchmove", function(b) {
g = !0
}).on("touchend", function(b) {
clearTimeout(h);
b.originalEvent.preventDefault()
})
}
};
c.event.special.swipe = {
setup: function() {
var a = this,
b = 0,
f = 0;
c(a).on("touchstart", function(a) {
b = a.originalEvent.targetTouches[0].pageX;
f = a.originalEvent.targetTouches[0].pageY
}).on("touchmove", function(c) {
var d = c.originalEvent.changedTouches[0].pageY;
if (0 !== c.originalEvent.changedTouches[0].pageX - b || 0 !== d - f) c.originalEvent.preventDefault(), r(a, "swipe", c)
})
}
};
c.event.special.swipeLeft = {
setup: function() {
var a = this,
b = 0;
c(a).on("touchstart", function(a) {
b = a.originalEvent.targetTouches[0].pageX
}).on("touchmove", function(b) {
b.originalEvent.preventDefault()
}).on("touchend", function(f) {
-30 > f.originalEvent.changedTouches[0].pageX - b && r(a, "swipeLeft", f)
})
}
};
c.event.special.swipeRight = {
setup: function() {
var a = this,
b = 0;
c(a).on("touchstart", function(a) {
b = a.originalEvent.targetTouches[0].pageX
}).on("touchmove", function(b) {
b.originalEvent.preventDefault()
}).on("touchend", function(f) {
30 < f.originalEvent.changedTouches[0].pageX - b && r(a, "swipeRight", f)
})
}
};
c.event.special.swipeUp = {
setup: function() {
var a = this,
b = 0;
c(a).on("touchstart", function(a) {
b = a.originalEvent.targetTouches[0].pageY
}).on("touchmove", function(b) {
b.originalEvent.preventDefault()
}).on("touchend", function(f) {
-30 > f.originalEvent.changedTouches[0].pageY - b && r(a, "swipeUp", f)
})
}
};
c.event.special.swipeDown = {
setup: function() {
var a = this,
b = 0;
c(a).on("touchstart", function(a) {
b = a.originalEvent.targetTouches[0].pageY
}).on("touchmove", function(b) {
b.originalEvent.preventDefault()
}).on("touchend", function(c) {
30 < c.originalEvent.changedTouches[0].pageY - b && r(a, "swipeDown", c)
})
}
};
c.event.special.wheelUp = {
setup: function() {
var a = this;
c(a).on("mousewheel DOMMouseScroll", function(b) {
b = b || window.e;
var c = b.originalEvent.wheelDelta || b.originalEvent.detail; - 300 !== c && -120 !== c && 3 !== c && r(a, "wheelUp", b)
})
}
};
c.event.special.wheelDown = {
setup: function() {
var a = this;
c(a).on("mousewheel DOMMouseScroll", function(b) {
b = b || window.e;
var c = b.originalEvent.wheelDelta || b.originalEvent.detail; - 300 !== c && -120 !== c && 3 !== c || r(a, "wheelDown", b)
})
}
};
c.each("tap tapHold swipe swipeLeft swipeRight swipeRight swipeUp swipeDown wheelUp wheelDown".split(" "), function(a, b) {
c.fn[b] = function(a) {
return this.on(b, a)
}
});
c.each(["animationBegin", "animationPause", "animationEnd", "removeAnimation"], function(a, b) {
c.fn[b] = function(a) {
return this.each(function() {
function f(a) {
d.on("animationend webkitAnimationEnd", function() {
d.css("animationPlayState", "").removeData("jsmodernAnimationRunning jsmodernAnimationPaused");
a && a.apply(g);
d.off("animationend webkitAnimationEnd")
})
}
var d = c(this),
g = d[0];
switch (b) {
case "animationBegin":
if (a && x[a]) {
if (!d.data("jsmodernAnimationRunning") && !d.data("jsmodernAnimationPaused")) {
var h = d.prop("class");
h && c.each(x, function(a, b) {
-1 < h.indexOf(b) && d.removeClass(b)
});
setTimeout(function() {
d.addClass(x[a]).css("animationPlayState", "running")
}, 13)
}
d.data("jsmodernAnimationPaused") && d.css("animationPlayState", "running");
d.data({
jsmodernAnimationRunning: !0,
jsmodernAnimationName: x[a]
});
f()
}
break;
case "animationPause":
d.data("jsmodernAnimationRunning") && d.css("animationPlayState", "paused").data("jsmodernAnimationPaused", !0).removeData("jsmodernAnimationRunning");
break;
case "animationEnd":
f(a);
break;
case "removeAnimation":
d.removeClass(d.data("jsmodernAnimationName")).removeData("jsmodernAnimationName")
}
})
}
});
c.fn.extend({
orientation: function(a) {
if (this[0] === window) c(window).on("orientationchange", function() {
var b = window.orientation;
0 != b && 180 != b || !a.v() && c.noop;
90 != b && -90 != b || !a.h() && c.noop
});
return this
}
});
c.easing.easeInOutQuart = function(a, b, c, e, d) {
return 1 > (b /= d / 2) ? e / 2 * b * b * b * b + c : -e / 2 * ((b -= 2) * b * b * b - 2) + c
};
var w = {
isMobile: function() {
return v.match(/(ios|iphone|ipod|ipad|mobile|android|symbianos|ucweb|mqqbrowser|iemobile|webos|windows phone|windows mobile|opera mini|opera mobl|nexus|series|nokia|blackberry|meego|playbook|fennec|tablet)/) && "ontouchend" in document ? !0 : !1
},
isIOS: function(a) {
var b = w.isMobile() && v.match(/(ios|iphone|ipod|ipad)/) ? !0 : !1;
if (0 == arguments.length) return b;
if ("boolean" === c.type(a) && a) return b ? v.match(/os(.*)like mac os x/)[1].replace(/(_)/g, ".").trim() : !1
},
isAndroid: function(a) {
var b = !w.isMobile() || w.isIOS() || v.match(/(windows|blackberry|symbianos|bb|meego|playbook|fennec|iemobile)/) ? !1 : !0;
if (0 == arguments.length) return b;
if ("boolean" === c.type(a) && a) {
var f = v.indexOf("android"),
f = v.substring(f + 7),
e = f.indexOf(";");
return b ? f.substring(0, e).trim() : !1
}
},
time: function(a, b) {
if (0 == arguments.length) return c.now();
b = b || "-";
a = new Date(a);
var f = {
yy: a.getFullYear(),
mm: a.getMonth() + 1,
dd: a.getDate(),
h: a.getHours(),
m: a.getMinutes(),
s: a.getSeconds()
},
e;
for (e in f) {
var d = f[e];
f[e] = 10 > d ? "0" + d : d
}
return f.yy + b + f.mm + b + f.dd + " " + f.h + ":" + f.m + ":" + f.s
},
random: function(a, b) {
function f(a, b) {
return Math.floor(Math.random() * (b - a + 1) + a)
}
var e = "",
d = c.type(a),
g = c.type(b);
"number" === d && "number" === g && (e = f(a, b), e = Number(e));
if ("number" === d && "boolean" === g && b) for (; e.length < a;) e += "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" [f(0, 61)];
if ("number" === d && "boolean" === g && !b) for (; e.length < a;) e += "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" [f(0, 51)];
if (void 0 === b && "number" === d && Math.floor(a) === a && 0 < a) {
for (; e.length < a;) e += "0123456789" [f(0, 9)];
e = Number(e)
}
0 === arguments.length && (e = Math.random());
return e
},
uuid: function() {
for (var a = "", b = [], c = 0; 14 > c; c++) a += "abcdef" [w.random(0, 5)];
a = (Math.random().toFixed(16).replace("0.", w.random(10, 99)) + a).split("");
for (c = 0; 36 > c; c++) {
var e = w.random(0, 31);
b[c] = a[e];
a.slice(e, 1)
}
b[8] = b[13] = b[18] = b[23] = "-";
return b.join("")
},
unique: function(a) {
if (Array.isArray(a)) {
if (Array.from) a = Array.from(new Set(a));
else {
for (var b = {}, f = [], e = 0, d = a.length; e < d; e++) {
var g = a[e],
h = c.type(g);
b[g + h] || (f.push(g), b[g + h] = !0)
}
a = f
}
return a
}
},
session: function(a, b) {
if (a && b) return sessionStorage.setItem(a, b), this;
if (c.isPlainObject(a) && !b) return c.each(a, function(a, b) {
sessionStorage.setItem(a, b)
}), this;
if ("string" === c.type(a) && !b) return sessionStorage.getItem(a)
},
removeSession: function(a) {
a ? a.replace(/\s+/g, " ").trim().split(" ").forEach(function(a) {
sessionStorage.removeItem(a)
}) : sessionStorage.clear();
return this
},
sessionKeys: function() {
for (var a = [], b = 0, c = sessionStorage.length; b < c; b++) a.push(sessionStorage.key(b));
return 0 < a.length ? a : null
},
sessionValues: function() {
for (var a = [], b = 0, c = sessionStorage.length; b < c; b++) {
var e = sessionStorage.key(b);
a.push(sessionStorage.getItem(e))
}
return 0 < a.length ? a : null
},
local: function(a, b) {
if (a && b) return localStorage.setItem(a, b), this;
if (c.isPlainObject(a) && !b) return c.each(a, function(a, b) {
localStorage.setItem(a, b)
}), this;
if ("string" === c.type(a) && !b) return localStorage.getItem(a)
},
removeLocal: function(a) {
a ? a.replace(/\s+/g, " ").trim().split(" ").forEach(function(a) {
localStorage.removeItem(a)
}) : localStorage.clear();
return this
},
localKeys: function() {
for (var a = [], b = 0, c = localStorage.length; b < c; b++) a.push(localStorage.key(b));
return 0 < a.length ? a : null
},
localValues: function() {
for (var a = [], b = 0, c = localStorage.length; b < c; b++) {
var e = localStorage.key(b);
a.push(localStorage.getItem(e))
}
return 0 < a.length ? a : null
},
cookie: function(a, b, f) {
var e = arguments.length;
if (1 == e && "string" === c.type(a)) {
var d = document.cookie.replace(/[=]/g, "; ").split("; "),
g = "";
c.each(d, function(b, c) {
c === a && (g = d[b + 1])
});
return "" !== g ? g : null
}
if (2 <= e) return document.cookie = a + "=" + b + (3 == e ? ";expires=" + f : ""), this;
if (1 == e && c.isPlainObject(a)) return c.each(a, function(a, b) {
document.cookie = a + "=" + b
}), this
},
removeCookie: function(a) {
a ? a.replace(/\s+/g, " ").trim().split(" ").forEach(function(a) {
document.cookie = a + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT;"
}) : (a = document.cookie.replace(/[=]/g, "; ").split("; ")) && a.forEach(function(a) {
document.cookie = a + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT;"
});
return this
},
ua: function() {
return v
},
screen: function() {
return [screen.width, screen.height]
},
filterChar: function(a, b) {
if ("string" === c.type(a) && Array.isArray(b)) {
var f = "~`!@#$%^&*()-_+=|\\[]{};:\"'<>,./?".split("");
b.forEach(function(b) {
a = a.replace(-1 < f.indexOf(b) ? new RegExp("\\" + b, "g") : new RegExp(b, "g"), "")
});
return a
}
},
noConflict: function() {
window.jsModern = T;
return w
},
toBase64: function(a, b) {
var f = [],
e = c.type(a);
Array.isArray(a) || (a = [a]);
(function g(h) {
var k = new Image;
k.src = h;
k.onload = function() {
var m;
m = this.width;
var l = this.height,
n = h.substring(h.lastIndexOf(".") + 1).toLowerCase(),
p = document.createElement("canvas");
p.width = m;
p.height = l;
p.getContext("2d").drawImage(k, 0, 0, m, l);
m = p.toDataURL("image/" + ("png" === n ? "png" : "jpeg"), 1);
f.push(m);
a.splice(0, 1);
0 < a.length ? g(a[0]) : c.isFunction(b) && b("string" === e ? f[0] : f)
}
})(a[0]);
return this
},
animation: function(a, b, f) {
if (a && b && !v.match("msie 9.0")) {
var e = "",
d = "",
g;
for (g in b) e += g + JSON.stringify(b[g]);
e = e.replace(/(rgba|rgb)/gi, function(a, b) {
return b.toLowerCase()
});
e = e.replace(/\"\,/g, ";").replace(/\"/g, "").replace(/([A-Z])/g, "-$1").toLowerCase();
e = e.replace(/-(x|y|z)/g, function(a, b) {
return b.toUpperCase()
});
e = e.replace(/(#[^;]+;)/g, function(a, b) {
return b.replace(/-/g, "")
});
d = "@-webkit-keyframes " + a + "{" + e + "}@keyframes " + a + "{" + e + "}";
f = f ? f : "1s forwards";
b = ".jsmodern-animation-" + w.uuid();
d = '";
c("head").append(d);
x[a] = b.substring(1);
return this
}
},
removeAnimation: function(a) {
a ? c.trim(a).replace(/\s+/g, " ").split(" ").forEach(function(a) {
var b = x[a];
b && (c("#" + b).remove(), delete x[a])
}) : (c("style[data-type='jsmodern-create-animation']").remove(), x = {});
return this
},
tmpl: function(a, b) {
function f(a, b, c) {
var d = new Function("data", "html", "var result = [];with ( data ) { result.push('" + a.replace(/{{(.*?)}}/g, "',$1,'") + "');}return result.join('');");
return c ?
function() {
var c = "";
b.forEach(function(b) {
c += d(b, a)
});
return c
}() : d(b, a)
}
if (2 == arguments.length && c.isPlainObject(b)) {
var e = c("body"),
d = w.random(10, !1).toLowerCase();
L[d] = b.event;
c(a).each(function() {
var a = b.data,
e = c(this).attr("jm-data");
e && (a = a[e.trim()]);
var k = b.template.replace(/[\n\r\t]/g, "").replace(/>(\s+)<").trim().replace(/(\{\{)\s+/g, "{{").replace(/\s+(\}\})/g, "}}");
c("body").append('
');
e = c("#jsmodern-tmpl-sandbox");
e.html(k);
var m = "";
e.find("[jm-for]").each(function() {
var b = c(this)[0].outerHTML,
d = c(this).attr("jm-for").replace(/\s+/g, " ").trim().split(" in "),
e = d[0],
d = a[d[1]];
0 > b.indexOf(e + ".") && !c.isPlainObject(d) && (d = d.map(function(a) {
return {
$: a
}
}), b = b.replace(new RegExp(e, "g"), e + ".$"));
b = b.replace(new RegExp(e + ".", "g"), "");
m = f(b, d, "for").replace(/ jm\-for=\"(.*?)\"/g, "");
c(this).replaceWith(m)
});
e.html(f(e.html(), a));
e.find("[jm-event]").attr("data-event", d);
if (k = b.css) e.find("*").each(function() {
c(this).attr(d, "")
}), k = k.replace(/[\n\t\r]/g, "").trim().replace(/\}(\s+)/g, "}").replace(/(\s+)\{/g, "{").replace(/\{/g, "[" + d + "]{"), c("head").append('");
k = e.html().replace(/jm\-for=\"(.*?)\"/g, "");
c(this)[b.place || "append"](k);
e.remove()
});
e.find("[jm-event]").each(function() {
var a = c(this).attr("data-event"),
b = c(this).attr("jm-event");
if (a = L[a]) for (var d in a) b === d && a[d].call(this);
c(this).removeAttr("jm-event data-event")
})
}
return this
},
fullScreenIn: function(a) {
a = a || document.documentElement;
a.webkitRequestFullScreen ? a.webkitRequestFullScreen() : a.mozRequestFullScreen ? a.mozRequestFullScreen() : a.msRequestFullscreen ? a.msRequestFullscreen() : a.requestFullScreen && a.requestFullScreen();
F && E.data("fullScreenIn", !0);
return this
},
fullScreenOut: function(a) {
a = a || document;
a.webkitExitFullscreen ? a.webkitExitFullscreen() : a.mozCancelFullScreen ? a.mozCancelFullScreen() : a.msExitFullscreen ? a.msExitFullscreen() : a.exitFullscreen && a.exitFullscreen();
F && E.removeData("fullScreenIn");
return this
},
fullScreenToggle: function(a) {
if (F) w[E.data("fullScreenIn") ? "fullScreenOut" : "fullScreenIn"](a);
else w[document.fullScreen || document.webkitIsFullScreen || document.mozFullScreen || document.msFullScreen ? "fullScreenOut" : "fullScreenIn"](a);
return this
},
top: function(a, b) {
var f, e;
c.isPlainObject(b) && (f = b.time, e = b.distance);
c.isNumeric(b) && 0 < b && (f = parseInt(b));
var d = c(a).first();
if (d.is(":hidden")) {
var g = !! (1 === J && 11 > K);
c(window).on("scroll", function() {
var a = c(window).scrollTop();
a > (e || 300) && (g ? d.show() : d.stop().fadeIn(100));
0 === a && (g ? d.hide() : d.stop().fadeOut(100))
})
}
d.click(function() {
c("html, body").stop().animate({
scrollTop: 0
}, f || 300)
});
return this
},
textBind: function(a, b) {
function f(a) {
c(b).each(function() {
var b = c(this);
"input" === b[0].nodeName.toLowerCase() ? b.val(a) : b.html(a)
})
}
c(a).each(function() {
var a = c(this);
a.on("input", function() {
f(a.val())
});
v.match("msie 9.0") && setInterval(function() {
f(a.val())
}, 13)
});
return this
},
marquee: function(a) {
var b = 1E3 / 60;
c(a).each(function() {
var a = c(this),
e = a.children(),
d = 0;
e.each(function() {
d += c(this).outerWidth(!0)
});
if (d > a.width()) {
a.css("overflow", "hidden");
w.isMobile() && a.addClass("jsmodern-select-none");
e.wrapAll('').parent().width(d);
var e = a.find(".jsmodern-marquee-inner"),
g = a.find(".jsmodern-marquee-default");
g.after(g.clone(!0)).next().attr("class", "jsmodern-marquee-repeat");
e.width(2 * d);
var h = function() {
a.scrollLeft(a.scrollLeft() > g.width() ? 0 : a.scrollLeft() + 1)
},
k = setInterval(h, b);
a.on("mouseenter touchstart", function() {
clearInterval(k)
}).on("mouseleave touchend", function() {
k = setInterval(h, b)
})
}
});
return this
},
share: function(a) {
var b = encodeURIComponent(location.href),
f = document.title,
e = null;
c(document).on("click", function(d) {
d = d || window.event;
d = c(d.target);
var g = v.match("firefox");
if (d.is(a.qrcode)) {
if (e) c("body").append(e);
else {
c("body").append('' + decodeURI("%E6%89%AB%E4%B8%80%E6%89%AB%E5%88%86%E4%BA%AB") + "
");
var h = c("#jsmodern-share").find("div"),
k = "jquery-qrcode-" + w.random(15, !1),
m = document.createElement("script");
m.src = "http://apps.bdimg.com/libs/jquery-qrcode/1.0.0/jquery.qrcode.min.js?" + +new Date;
m.type = "text/javascript";
m.id = k;
document.body.appendChild(m);
m.onload = function() {
h.qrcode({
render: "canvas",
text: decodeURIComponent(b),
width: h.width(),
height: h.height()
});
e = c("#jsmodern-share");
c("#" + k).remove()
}
}
c("#jsmodern-share").find("b").click(function() {
c(this).parent().remove()
})
}
d.is(a.qzone) && window.open("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + b + "&title=" + f);
d.is(a.sina) &&
function(a, c, d) {
function e() {
window.open(["http://v.t.sina.com.cn/share/share.htmp?", h].join(""), "mb") || (l.href = ["http://v.t.sina.com.cn/share/share.htmp?", h].join(""))
}
var l = c.location.href,
h = ["url=", d(l), "&title=", d(f), "&appkey=2924220432&pic=", d(b)].join("");
g ? setTimeout(e, 0) : e()
}(screen, document, encodeURIComponent);
d.is(a.douban) &&
function() {
var a = document,
c = encodeURIComponent,
d = window.getSelection,
e = a.getSelection,
a = a.selection,
d = d ? d() : e ? e() : a ? a.createRange().text : "",
h = "http://www.douban.com/recommend/?url=" + c(b) + "&title=" + c(f) + "&sel=" + c(d) + "&v=1",
c = function() {
window.open(h, "douban") || (location.href = h + "&r=1")
};
g ? setTimeout(c, 0) : c()
}();
d.is(a.qq) && window.open("http://connect.qq.com/widget/shareqq/index.html?url=" + b + "&title=" + f + "&desc=" + f)
});
return this
},
picture: function(a, b) {
c(a).each(function() {
function a(a) {
"fade" === k && (a = -1 == a ? u - 1 : a == u ? 0 : a, q.eq(a).stop().fadeIn(700).siblings().stop().fadeOut(700, function() {
e(a);
d.data("cacheIndex", a)
}));
"slide" === k && (t.is(":animated") || t.stop().animate({
left: -(g * a + g) + "px"
}, 700, "easeInOutQuart", function() {
-1 === a && (t.css("left", "-" + g * u + "px"), a = u - 1);
a === u && (t.css("left", "-" + g + "px"), a = 0);
e(a);
d.data("cacheIndex", a)
}))
}
function e(a) {
A.eq(a).addClass("active").siblings().removeClass("active")
}
var d = c(this);
d.find("a");
var g = d.width(),
h = d.height(),
k = "slide",
m = !0,
l = !0,
n = b.dotPosition || "center",
p = !1;
b && (k = b.type || "slide", m = b.arrow, l = b.dot, p = b.autoplay);
d.addClass("jsmodern-picture-container").children().first().addClass("jsmodern-picture-inner").children().addClass("jsmodern-picture-part");
d.on("selectstart", function() {
return !1
}).data("cacheIndex", 0);
var t = d.find(".jsmodern-picture-inner"),
q = d.find(".jsmodern-picture-part"),
z = d.find("img, a"),
u = q.length;
q.add(z).width(g).height(h);
h = "";
for (z = 0; z < u; z++) h += "";
t.after("" + h + "
");
var z = d.find(".jsmodern-picture-dot"),
A = z.find("b");
A.first().addClass("active");
z.addClass("jsmodern-picture-dot" + (n.match(/(left|center|right)/) ? n : "center"));
d.append("");
n = d.find(".jsmodern-picture-prev");
h = d.find(".jsmodern-picture-next");
"boolean" !== typeof m || m || n.add(h).remove();
"boolean" !== typeof l || l || z.remove();
"fade" === k && (t.addClass("jsmodern-picture-fade"), q.first().show());
"slide" === k && (q = t.find(".jsmodern-picture-part"), m = q.first(), l = q.last(), t.addClass("jsmodern-picture-slide").width(g * (u + 2)).append(m.clone(!0)).prepend(l.clone(!0)).css("left", -g + "px"));
A.click(function() {
var b = c(this).index();
a(b);
d.data("cacheIndex", b)
});
n.click(function() {
var b = d.data("cacheIndex");
b--;
a(b)
});
h.click(function() {
var b = d.data("cacheIndex");
b++;
a(b)
});
w.isMobile() && d.swipeLeft(function() {
var b = d.data("cacheIndex");
b++;
a(b)
}).swipeRight(function() {
var b = d.data("cacheIndex");
b--;
a(b)
});
if (p && "number" === typeof p) {
var r = setInterval(function() {
var b = d.data("cacheIndex");
b++;
a(b)
}, p);
d.on("mouseenter touchstart", function() {
clearInterval(r)
}).on("mouseleave touchend", function() {
r = setInterval(function() {
var b = d.data("cacheIndex");
b++;
a(b)
}, p)
})
}
});
return this
},
video: function(a, b) {
var f = !! v.match(/(msie|trident)/);
c(a).each(function() {
var a = c(this),
d = a.find("video"),
g = d[0],
h = a.width(),
k = a.height();
if (w.isMobile()) d.attr("controls", "controls"), g.width = h, g.height = k, a.addClass("jsmodern-video"), d.on("ended", function() {
b && c.isFunction(b) && b.call(g)
});
else {
d.removeAttr("controls");
d.wrap('').prop({
width: h,
height: k
});
var m = a.find(".jsmodern-video");
a.find(".jsmodern-video").append('');
var l = a.find(".jsmodern-video-panel"),
n = l.find(".jsmodern-video-pass"),
a = l.find(".jsmodern-video-linebox"),
p = l.find(".jsmodern-video-linedot"),
t = l.find(".jsmodern-video-play"),
q = l.find(".jsmodern-video-volume"),
z = l.find(".jsmodern-video-volumebox"),
u = l.find(".jsmodern-video-volumeline"),
A = l.find(".jsmodern-video-volumedot"),
r = l.find(".jsmodern-video-start"),
v = l.find(".jsmodern-video-end"),
y = l.find(".jsmodern-video-fullin"),
x = a.width();
if (f) l.find("span").on("selectstart", function() {
return !1
});
f && document.all && y.addClass("jsmodern-video-fullFalse");
var C = 0,
B;
d.on({
play: function() {
d.data("playState", "play");
t.addClass("jsmodern-video-pause");
m.on("mousemove", function() {
C = 1;
l.stop().fadeIn(50)
});
B = setInterval(function() {
C ? l.stop().fadeIn(100) : (y.data("fullState") || y.hasClass("jsmodern-video-fullout")) && l.stop().fadeOut(100);
C = 0
}, 2E3)
},
pause: function() {
d.data("playState", "pause");
t.removeClass("jsmodern-video-pause");
m.off("mousemove mouseenter mouseleave");
clearInterval(B)
},
ended: function() {
d.data("playState", "end");
t.removeClass("jsmodern-video-pause");
r.html("00:00");
n.width(0);
p.css("marginLeft", 0);
m.off("mousemove mouseenter mouseleave");
l.fadeIn(100);
clearInterval(B);
b && c.isFunction(b) && b.call(g)
}
});
var G = function(a) {
var b = parseInt(a / 60);
a = parseInt(a % 60);
return (10 > b ? "0" + b : b) + ":" + (10 > a ? "0" + a : a)
},
H;
d.on("durationchange", function() {
var a = g.duration;
H = a;
v.html(G(a))
});
d.on("timeupdate", function() {
var a;
isNaN(g.duration) || (a = g.currentTime, r.html(G(a)));
v.html().replace(":", "");
a = a / H * x;
n.width(a);
p.css("marginLeft", a + "px")
});
var M = function(a) {
a = parseInt(n.width()) / (a || x) * H;
r.html(G(a));
g.currentTime = a;
"play" === d.data("playState") ? g.play() : g.pause()
};
a.on("click", function(a) {
a = a || window.event;
var b = c(this).offset().left;
n.width(a.pageX - b);
p.css("marginLeft", a.pageX - b + "px");
M()
});
p.on("mousedown", function(a) {
var b = c(this),
d = c(this).parent().offset().left;
c(document).on("mousemove", function(a) {
a = a || window.event;
var c = a.pageX - d;
a.preventDefault();
0 > c && (c = 0);
c > x && (c = x);
b.css("marginLeft", c + "px").siblings().width(c);
M()
});
c(document).mouseup(function() {
c(this).off("mousemove")
})
});
t.click(function() {
g.paused ? g.play() : g.pause()
});
g && (g.volume = .5);
q.click(function() {
g.muted ? (g.muted = !1, q.removeClass("jsmodern-video-muted"), A.css("marginLeft", q.data("left")), u.width(q.data("left"))) : (g.muted = !0, q.addClass("jsmodern-video-muted").data("left", A.css("marginLeft")), A.css("marginLeft", 0), u.width(0))
});
var D = z.width();
z.click(function(a) {
a = a || window.event;
var b = c(this).offset().left;
0 <= a.pageX - b && a.pageX - b <= D && (g.muted = !1, q.removeClass("jsmodern-video-muted"), u.width(a.pageX - b), A.css("marginLeft", a.pageX - b + "px"), g.volume = (a.pageX - b) / D)
});
A.on("mousedown", function(a) {
var b = c(this),
d = b.parent().offset().left;
c(document).on("mousemove", function(a) {
a = a || window.event;
var c = a.pageX - d;
a.preventDefault();
0 >= c && (c = 0, q.addClass("jsmodern-video-muted"), g.muted = !0);
c > D && (g.muted = !1, c = D);
0 < c && c <= D && (g.muted = !1, q.removeClass("jsmodern-video-muted"));
b.css("marginLeft", c + "px").siblings().width(c);
g.volume = c / D
})
});
c(document).mouseup(function() {
c(this).off("mousemove")
});
var N = screen.width,
O = screen.height,
P = function(a) {
a.webkitRequestFullScreen ? a.webkitRequestFullScreen() : a.mozRequestFullScreen ? a.mozRequestFullScreen() : a.msRequestFullscreen ? a.msRequestFullscreen() : a.requestFullScreen && a.requestFullScreen()
},
Q = function() {
document.exitFullscreen ? document.exitFullscreen() : document.msExitFullscreen ? document.msExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.oRequestFullscreen ? document.oCancelFullScreen() : document.webkitExitFullscreen && document.webkitExitFullscreen()
},
R = function() {
m.width(N).height(O);
g.width = N;
g.height = O;
l.width(h).addClass("jsmodern-video-panelFull");
y.addClass("jsmodern-video-fullout")
},
S = function() {
m.width(h).height(k);
g.width = h;
g.height = k;
l.width(h).removeClass("jsmodern-video-panelFull");
y.removeClass("jsmodern-video-fullout")
};
y.click(function() {
y.hasClass("jsmodern-video-fullFalse") || (y.hasClass("jsmodern-video-fullout") ? Q() : (P(m[0]), f && y.data("fullState", !0)))
});
c(document).on("fullscreenChange webkitfullscreenchange mozfullscreenchange MSFullscreenChange", function() {
f ? y.data("fullState") ? (R(), y.removeData("fullState")) : S() : document.fullscreen || document.mozFullScreen || document.webkitIsFullScreen ? (P(m[0]), R()) : (Q(), S())
})
}
});
return this
},
scrollBar: function(a, b) {
if (w.isMobile()) c(a).css({
overflowY: "auto",
webkitOverflowScrolling: "touch"
});
else return c(a).each(function() {
var a = c(this),
e = a.children().first(),
d = a.innerHeight(),
g = e.outerHeight(!0),
h = g + (parseInt(a.css("paddingTop")) + parseInt(a.css("paddingBottom")));
if (h > a.innerHeight()) {
a.addClass("jsmodern-scrollBar-container").append('');
"static" === a.css("position") && a.css("position", "relative");
e.addClass("jsmodern-scrollBar-inner").data("y", 0);
var k = a.find(".jsmodern-scrollbar");
k.data({
y: 0,
cacheY: 0
});
c("body").on("selectstart", ".jsmodern-scroll-noselect", function() {
return !1
});
k.height(~~ (d * d / g));
b && (b = b.trim(), "." === b[0] ? k.addClass(b.substring(1)) : function() {
var a = k.attr("style");
k.attr("style", a + b)
}());
var m = d - k.height();
k.on("mousedown", function(b) {
var f = c(this);
b = b || window.event;
var g = b.pageY - f.position().top - k.data("y");
a.addClass("jsmodern-scroll-noselect");
e.add(f).css("transition", "0s");
c(document).on("mousemove", function(a) {
a = a || window.event;
var b = a.pageY - g;
a.preventDefault();
0 > b && (b = 0);
b > m && (b = m);
f.css("transform", "translate(0, " + b + "px)").data("cacheY", b);
e.css("transform", "translate(0, -" + h / d * b + "px)")
})
});
c(document).mouseup(function() {
c(this).off("mousemove");
a.removeClass("jsmodern-scroll-noselect")
});
a.on("mousewheel DOMMouseScroll", function(a) {
a = a || window.event;
var b = a.originalEvent.wheelDelta || a.originalEvent.detail,
b = -300 === b || -120 === b || 3 === b ? "down" : "up";
k.data("cacheY");
a.preventDefault();
a = k.data("cacheY");
"down" === b ? (a += 60, a > m && (a = m)) : (a -= 60, 0 > a && (a = 0));
k.css({
transform: "translate(0, " + a + "px)",
transition: ".2s"
}).data("cacheY", a);
e.css({
transform: "translate(0, -" + h / d * a + "px)",
transition: ".2s"
})
})
}
}), this
},
lazyload: function(a) {
function b(a, b) {
a.attr("src", b).on("load", function() {
a.stop().animate({
opacity: a.data("lazyOpacity")
}, 500, function() {
c(this).removeAttr("jm-lazy").data("lazyload", !0)
})
})
}
var f = c(window).height();
c(a).each(function() {
c(this).find("img").each(function() {
function a() {
var a = d[0].getBoundingClientRect();
f > a.top && b(d, g)
}
var d = c(this),
g = d.attr("jm-lazy");
d.data("lazyOpacity", d.css("opacity")).css("opacity", 0);
a();
c(window).on("scroll", function() {
!d.data("lazyload") && a()
})
})
});
return this
},
page: function(a, b) {
a = c(document.querySelector(a));
if (b && c.isPlainObject(b)) {
var f = c(b.target),
e = b.type,
d = b.url,
g = ~~b.total,
h = ~~b.every,
k = b.success,
m = b.mobileMore || decodeURI("%E5%8A%A0%E8%BD%BD%E6%9B%B4%E5%A4%9A"),
l = b.mobileNone || decodeURI("%E5%B7%B2%E6%97%A0%E6%9B%B4%E5%A4%9A%E6%95%B0%E6%8D%AE");
b = b = "";
var n = g / h,
n = 1 <= n ? 0 < g % h ? ~~n + 1 : n : n;
1 > n && (n = 1);
for (var p = 1; p <= n; p++) b += '' + p + "";
b = '';
a.addClass("jsmodern-page-content").append(b);
b = a.find(".jsmodern-page");
var t = b.find("div > div"),
q = b.find(".jsmodern-page-every"),
z = b.find(".jsmodern-page-first"),
u = b.find(".jsmodern-page-last"),
A = b.find(".jsmodern-page-prev"),
r = b.find(".jsmodern-page-next");
f.data("index", 1);
q.first().addClass("active");
a.on("selectstart", function() {
return !1
});
var v = function(a) {
if (10 < n) {
var b = n - 10;
t.width(42 * n);
var c = parseInt(t.css("marginLeft"));
switch (a) {
case "next":
c > 42 * -b && t.stop().animate({
marginLeft: c - 42 + "px"
}, 100);
break;
case "prev":
0 > c && t.stop().animate({
marginLeft: c + 42 + "px"
}, 100);
break;
case "first":
t.stop().animate({
marginLeft: 0
}, 100);
break;
case "last":
t.stop().animate({
marginLeft: 42 * -b + "px"
}, 100)
}
}
};
v();
if (w.isMobile()) {
f.css("height", "auto");
a.empty().html('' + m + "
");
var y = a.find(".jsmodern-page-more");
y.data("index", 1);
g === h && y.html(l)
}
"local" === e && d && c.isFunction(d) && c.ajax(d("")).done(function(a) {
a = c.parseJSON(a);
var b = [],
d;
for (d in a) b.push(k(a[d]));
var e = "",
m = "";
for (a = 0; a < h; a++) e += b[a];
m = e;
f.html(e);
var p = function(a, d, k) {
e = "";
if (!t.is(":animated")) {
var l, u = f.data("index"),
p = function(a) {
for (var c = (a - 1) * h; c < a * h; c++) b[c] && (e += b[c]);
l = u
};
switch (a) {
case "first":
e = m;
l = 1;
break;
case "last":
for (d = (n - 1) * h; d < g; d++) e += b[d];
l = n;
break;
case "prev":
1 < u && (u--, p(u));
break;
case "next":
u < n && (u++, p(u));
break;
case "every":
u = c(d).index() + 1, p(u)
}
k ? "" !== e && f.append(e).data("index", l) : "" !== e && f.html(e).data("index", l);
q.eq(l - 1).addClass("active").siblings().removeClass("active");
v(a)
}
};
z.click(function() {
p("first")
});
u.click(function() {
p("last")
});
A.click(function() {
p("prev")
});
r.click(function() {
p("next")
});
q.click(function() {
p("every", this)
});
w.isMobile() && y.tap(function() {
var a = c(this).data("index");
a++;
a <= n && (c(this).data("index", a), p("next", "", "more"));
a === n && c(this).html(l)
})
});
if ("ajax" === e && d && c.isFunction(d)) {
var x = {},
C = function(a) {
q.eq(a - 1).addClass("active").siblings().removeClass("active")
},
B = function(a, b) {
if (x[a]) f.html(x[a]);
else {
var e = "";
c.ajax(d(a)).done(function(d) {
d = c.parseJSON(d);
for (var g in d) e += k(d[g]);
x[a] = e;
b ? "" !== e && f.append(e) : "" !== e && f.html(e)
})
}
f.data("index", a)
};
B(1);
q.click(function() {
var a = c(this).index() + 1;
C(a);
B(a);
v("every")
});
A.click(function() {
var a = f.data("index") - 1;
0 < a && (C(a), B(a), v("prev"))
});
r.click(function() {
var a = f.data("index") + 1;
a < n + 1 && (C(a), B(a), v("next"))
});
z.click(function() {
C(1);
B(1);
v("first")
});
u.click(function() {
C(n);
B(n);
v("last")
});
w.isMobile() && y.tap(function() {
var a = c(this).data("index");
a++;
a <= n && (B(a, "more"), c(this).data("index", a));
a === n && c(this).html(l)
})
}
}
return this
},
fullPage: function(a) {
var b = c("body").children(),
f = c(window).width(),
e = c(window).height();
if (0 < b.length) {
var d = b.first();
d.addClass("jsmodern-fullpage-container");
var g = a.axis || "y",
b = a.background,
h = a.time || 800,
k = a.callback,
m = d.children(),
l = m.length,
n = [];
m.addClass("jsmodern-fullpage-part").each(function(a) {
"y" === g && c(this).css("marginTop", a * e + "px");
"x" === g && c(this).css("marginLeft", a * f + "px");
n.push(c(this).html())
});
"x" === g && (d.width(f * l), m.width(f));
"y" === g && d.height(e * l);
b && Array.isArray(b) && c.each(b, function(a, b) {
m.eq(a).css("background", b)
});
var p;
if (a.navigation) {
if ("boolean" === c.type(a.navigation)) {
a = "";
for (b = 0; b < l; b++) a += "";
d.after('' + a + "
")
} else a = c(a.navigation), a.prev().is(".jsmodern-fullpage-container") && a.addClass("jsmodern-fullpage-navigation");
p = d.next();
var t = p.children();
t.first().addClass("active")
}
d.data("jsmodern_fullpage_index", 0);
var q = function(a) {
if (!d.data("jsmodern_fullpage_animate")) {
var b = d.data("jsmodern_fullpage_index");
a ? (b++, b < l && r(b)) : (b--, -1 < b && r(b))
}
},
r = function(a) {
function b() {
d.data("jsmodern_fullpage_index", a);
if (Array.isArray(k) && k.length === l) {
var b = m.eq(a);
b.html(n[a]).siblings().html("");
var c = setTimeout(function() {
k[a].call(b);
clearTimeout(c)
}, 0)
}
p && t.eq(a).addClass("active").siblings().removeClass("active");
d.removeData("jsmodern_fullpage_animate")
}
d.data("jsmodern_fullpage_animate", !0);
if (document.head.classList) {
d.css("transition-duration", h + "ms");
if ("x" === g) d.css({
transform: "translate3d(-" + f * a + "px, 0, 0)"
}).on("transitionend", function() {
b()
});
if ("y" === g) d.css({
transform: "translate3d(0, -" + e * a + "px, 0)"
}).on("transitionend", function() {
b()
})
} else "x" === g && d.stop().animate({
left: "-" + f * a + "px"
}, h, "easeInOutQuart", function() {
b()
}), "y" === g && d.stop().animate({
top: "-" + e * a + "px"
}, h, "easeInOutQuart", function() {
b()
})
};
Array.isArray(k) && k.length === l && (a = m.eq(0), a.html(n[0]).siblings().html(""), k[0].call(a));
c(document).on({
keyup: function(a) {
d.is(":animated") || (a = a || window.event, a = a.keyCode, "x" === g && (37 === a && q(), 39 === a && q(1)), "y" === g && (38 === a && q(), 40 === a && q(1)))
},
wheelUp: function() {
q()
},
wheelDown: function() {
q(1)
}
});
if ("x" === g) c(document).on({
swipeLeft: function() {
q(1)
},
swipeRight: function() {
q()
}
});
if ("y" === g) c(document).on({
swipeUp: function() {
q(1)
},
swipeDown: function() {
q()
}
});
t.click(function() {
if (!d.data("jsmodern_fullpage_animate")) {
var a = c(this).index();
r(a);
d.data("jsmodern_fullpage_animate", !0)
}
})
}
return this
},
dialog: function(a) {
var b = decodeURI("%E6%9D%A5%E8%87%AA%E7%BD%91%E9%A1%B5%E7%9A%84%E6%B6%88%E6%81%AF"),
f = c.noop,
e = c.noop,
d = '' + decodeURI("%E7%A1%AE%E5%AE%9A") + '' + decodeURI("%E5%8F%96%E6%B6%88") + " ";
if (!document.querySelector(".jsmodern-dialog-container")) {
c("body").append(d);
var g = c(".jsmodern-dialog-container"),
h = g.find(".jsmodern-dialog"),
d = g.find(".jsmodern-dialog-cancel"),
k = g.find(".jsmodern-dialog-sure"),
m = g.find(".jsmodern-dialog-content"),
l = g.find(".jsmodern-dialog-title"),
n = w.isMobile(),
p = arguments,
t = p.length;
2 === t && (d.remove(), l.html(p[0]), m.html(p[1]));
1 !== t || c.isPlainObject(p[0]) || (d.remove(), l.html(b), m.html(p[0]));
c.isPlainObject(p[0]) && (l.html(a.title || b), m.html(a.content));
b = c(window).height() - 70;
h.outerHeight() > b && (h.height(b), m.css({
overflowY: "scroll",
height: b - l.height() - 53 + "px"
}));
n && (b = .85 * c(window).width() + "px", h.css({
width: b,
minWidth: b
}).addClass("jsmodern-dialog-mobile"));
g.stop().animate({
opacity: 1
}, 300);
h.stop().animate({
opacity: 1,
top: n ? "50%" : "20px"
}, 300);
var q = function() {
h.stop().animate({
top: n ? "43%" : "-20px",
opacity: 0
}, 300);
g.delay(50).animate({
opacity: 0
}, 300, function() {
g.remove()
})
},
r = c.isPlainObject(a);
k.click(function() {
r && (a.sure ? a.sure() : f());
q()
});
d.click(function() {
r && (a.cancel ? a.cancel() : e());
q()
})
}
return this
}
};
Object.freeze(w);
return w
});