! function(a, b) {
a.SCS = {
version: "1.0.0"
}, SCS.defaults = {
navArr: [{
title: "鐪?,
id: "scs_items_prov"
}, {
title: "甯?,
id: "scs_items_city"
}, {
title: "鍖?,
id: "scs_items_dist"
}],
skinCss: "",
onOk: function(a, b) {},
onCancel: function() {}
}, SCS.init = function(a) {
var a = b.extend({}, SCS.defaults, a),
c = "",
d = a.navArr;
c += '
',
b("#cascade_scroll_selects").remove(), b("body").append(c);
var e = b("#cascade_scroll_selects");
e.find(".scs_dialog").slideDown(300), e.find(".scs_cover").click(function() {
e.find(".scs_dialog").slideUp(200, function() {
e.remove()
})
}), e.find(".scs_btn_ok").click(function() {
var c = "",
d = "";
b("#cascade_scroll_selects").find(".scs_selected").each(function(a) {
var e = b(this);
0 != a ? (c += "-" + e.attr("data-val"), d += " " + e.html()) : (c = e.attr("data-val"), d = e.html())
}), a.onOk(c, d), e.find(".scs_dialog").slideUp(200, function() {
e.remove()
})
}), e.find(".scs_btn_cancel").click(function() {
a.onCancel(), e.find(".scs_dialog").slideUp(200, function() {
e.remove()
})
})
}, SCS.destroy = function(a) {
"function" == typeof a && a();
var c = b("#cascade_scroll_selects");
c.find(".scs_dialog").slideUp(200, function() {
c.remove()
})
}, SCS.scrollCascadeSelect = function(a) {
function c(a) {
m = !0, p = o = a.pageY, s = (new Date).getTime(), q = parseInt(h.css("webkitTransform").split(",").pop().replace(
" ", "").replace(")", "")), i.addEventListener("mousemove", d), i.addEventListener("mouseup", e), i.addEventListener(
"mouseleave", f)
}
function d(a) {
m && (w = (a.pageY - v) / ((new Date).getTime() - u), p = a.pageY, r = q + p - o, h.css({
"-webkit-transition": "-webkit-transform 0s ease-out",
"-webkit-transform": "translate3d(0, " + r + "px, 0)"
}), v = p, u = (new Date).getTime(), n = !1)
}
function e(b) {
if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 20) {
var c = w,
g = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001,
j = Math.abs(c) / .001;
r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += g;
var k = r % 40;
Math.abs(k) >= 20 ? r += 0 > k ? -1 * (40 + k) : 40 - k : r -= k, r > 80 ? r = 80 : r < -1 * (h.attr("data-height") -
120) && (r = -1 * (h.attr("data-height") - 120)), h.css({
"-webkit-transition": "-webkit-transform " + j / 1e3 + "s ease-out",
"-webkit-transform": "translate3d(0, " + r + "px, 0)"
}), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() {
h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(),
l.selectedIndex)
}, j)
} else n = !0;
m = !1, o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0, i.removeEventListener("mousemove", d), i.removeEventListener(
"mouseup", e), i.removeEventListener("mouseleave", f)
}
function f(b) {
if (m)
if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 20) {
var c = w,
g = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001,
j = Math.abs(c) / .001;
r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += g, residue = r %
40, Math.abs(residue) >= 20 ? r += residue < 0 ? -1 * (40 + residue) : 40 - residue : r -= residue, r > 80 ? r =
80 : r < -1 * (h.attr("data-height") - 120) && (r = -1 * (h.attr("data-height") - 120)), h.css({
"-webkit-transition": "-webkit-transform " + j / 1e3 + "s ease-out",
"-webkit-transform": "translate3d(0, " + r + "px, 0)"
}), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() {
h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(),
l.selectedIndex)
}, j)
} else n = !0;
m = !1, o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0, i.removeEventListener("mousemove", d), i.removeEventListener(
"mouseup", e), i.removeEventListener("mouseleave", f)
}
var g = {
el: void 0,
dataArr: [],
startIndex: 0,
onInit: function(a, b) {},
onChange: function(a, b) {}
},
a = b.extend({}, g, a),
h = b(a.el),
i = h.get(0),
j = a.dataArr,
k = a.startIndex,
l = this,
m = !1,
n = !1,
o = 0,
p = 0,
q = 0,
r = q,
s = 0,
t = 0,
u = (new Date).getTime(),
v = 0,
w = 0,
x = !0;
try {
ontouchstart
} catch (y) {
x = !1
}
l.selectedIndex = k, l.getSelectedItem = function() {
return j[this.selectedIndex]
}, x ? (i.addEventListener("touchstart", function(a) {
p = o = a.changedTouches[0].pageY, s = (new Date).getTime(), q = parseInt(h.css("webkitTransform").split(",").pop()
.replace(" ", "").replace(")", "")), w = 0
}, !1), i.addEventListener("touchmove", function(a) {
event.preventDefault(), w = (a.changedTouches[0].pageY - v) / ((new Date).getTime() - u), p = a.changedTouches[0]
.pageY, r = q + p - o, h.css({
"-webkit-transition": "-webkit-transform 0s ease-out",
"-webkit-transform": "translate3d(0, " + r + "px, 0)"
}), v = p, u = (new Date).getTime()
}, !1), i.addEventListener("touchend", function(b) {
if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 50) {
var c = w,
d = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001,
e = Math.abs(c) / .001;
r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += d;
var f = r % 40;
Math.abs(f) >= 20 ? r += 0 > f ? -1 * (40 + f) : 40 - f : r -= f, r > 80 ? r = 80 : r < -1 * (h.attr(
"data-height") - 120) && (r = -1 * (h.attr("data-height") - 120)), h.css({
"-webkit-transition": "-webkit-transform " + e / 1e3 + "s ease-out",
"-webkit-transform": "translate3d(0, " + r + "px, 0)"
}), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() {
h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(),
l.selectedIndex), n = !1
}, e)
} else n = !0;
o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0
}, !1)) : i.addEventListener("mousedown", c), h.on("click", ".scs_item", function(c) {
if (n) {
var d = b(this),
e = d.position().top,
f = 80 - e;
h.css({
"-webkit-transition": "-webkit-transform 0s ease-out",
"-webkit-transform": "translate3d(0, " + f + "px, 0)"
}), h.find(".scs_item").removeClass("scs_selected"), d.addClass("scs_selected"), l.selectedIndex = Math.abs((f -
80) / -40), a.onChange(l.getSelectedItem(), l.selectedIndex), havedClick = !1
}
}), l.render = function(a, b, c) {
var d = "",
e = b || 0,
f = 80 - 40 * e;
return void 0 == a ? void h.html(d) : (a.forEach(function(a, b) {
d += e != b ? '' + a.val + "
" :
'' + a.val + "
"
}), h.html(d), h.attr("data-height", 40 * a.length), h.css("-webkit-transform", "translate3d(0, " + f + "px, 0)"),
h.css("transform", "translate3d(0, " + f + "px, 0)"), l.selectedIndex = e, j = a, void("function" == typeof c &&
c()))
};
var z = function() {
l.render(j, k), a.onInit(l.getSelectedItem(), l.selectedIndex)
};
z()
}
}(this, jQuery);