var offsetx = 20; var offsety = 0; function hideAtkpBox(e, Inhalte) { document.getElementById('atkp-infobox').style.visibility = "hidden"; } function showAtkpBox(e, Inhalte, offsetX, offsetY) { if (offsetX) { offsetx = offsetX; } else { offsetx = 20; } if (offsetY) { offsety = offsetY; } else { offsety = 0; } var PositionX = 0; var PositionY = 0; if (!e) var e = window.event; if (e.pageX || e.pageY) { PositionX = e.pageX; PositionY = e.pageY; } else if (e.clientX || e.clientY) { PositionX = e.clientX + document.body.scrollLeft; PositionY = e.clientY + document.body.scrollTop; } document.getElementById("BoxInhalte").innerHTML = document.getElementById(Inhalte).innerHTML; document.getElementById('atkp-infobox').style.left = (PositionX + offsetx) + "px"; document.getElementById('atkp-infobox').style.top = (PositionY + offsety) + "px"; document.getElementById('atkp-infobox').style.visibility = "visible"; } function atkp_open_link(link, mode, trackingtype, linktype, linkcaption) { if (trackingtype == 1 && typeof ga !== "undefined") ga('send', 'event', linktype, 'click', linkcaption); else if (trackingtype == 2 && typeof _gaq !== "undefined") _gaq.push(['_trackEvent', linktype, 'click', linkcaption]); else if (trackingtype == 3 && typeof gtag !== "undefined") gtag('event', linktype, {'event_category': 'click', 'event_label': linkcaption}); window.open(link, mode); } /*slider*/ /*! nouislider - 9.0.0 - 2016-09-29 21:44:02 */ !function (a) { "function" == typeof define && define.amd ? define([], a) : "object" == typeof exports ? module.exports = a() : window.atkpnoUiSlider = a() }(function () { "use strict"; function a(a, b) { var c = document.createElement("div"); return j(c, b), a.appendChild(c), c } function b(a) { return a.filter(function (a) { return !this[a] && (this[a] = !0) }, {}) } function c(a, b) { return Math.round(a / b) * b } function d(a, b) { var c = a.getBoundingClientRect(), d = a.ownerDocument, e = d.documentElement, f = m(); return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (f.x = 0), b ? c.top + f.y - e.clientTop : c.left + f.x - e.clientLeft } function e(a) { return "number" == typeof a && !isNaN(a) && isFinite(a) } function f(a, b, c) { c > 0 && (j(a, b), setTimeout(function () { k(a, b) }, c)) } function g(a) { return Math.max(Math.min(a, 100), 0) } function h(a) { return Array.isArray(a) ? a : [a] } function i(a) { a = String(a); var b = a.split("."); return b.length > 1 ? b[1].length : 0 } function j(a, b) { a.classList ? a.classList.add(b) : a.className += " " + b } function k(a, b) { a.classList ? a.classList.remove(b) : a.className = a.className.replace(new RegExp("(^|\\b)" + b.split(" ").join("|") + "(\\b|$)", "gi"), " ") } function l(a, b) { return a.classList ? a.classList.contains(b) : new RegExp("\\b" + b + "\\b").test(a.className) } function m() { var a = void 0 !== window.pageXOffset, b = "CSS1Compat" === (document.compatMode || ""), c = a ? window.pageXOffset : b ? document.documentElement.scrollLeft : document.body.scrollLeft, d = a ? window.pageYOffset : b ? document.documentElement.scrollTop : document.body.scrollTop; return {x: c, y: d} } function n() { return window.navigator.pointerEnabled ? { start: "pointerdown", move: "pointermove", end: "pointerup" } : window.navigator.msPointerEnabled ? { start: "MSPointerDown", move: "MSPointerMove", end: "MSPointerUp" } : {start: "mousedown touchstart", move: "mousemove touchmove", end: "mouseup touchend"} } function o(a, b) { return 100 / (b - a) } function p(a, b) { return 100 * b / (a[1] - a[0]) } function q(a, b) { return p(a, a[0] < 0 ? b + Math.abs(a[0]) : b - a[0]) } function r(a, b) { return b * (a[1] - a[0]) / 100 + a[0] } function s(a, b) { for (var c = 1; a >= b[c];) c += 1; return c } function t(a, b, c) { if (c >= a.slice(-1)[0]) return 100; var d, e, f, g, h = s(c, a); return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], f + q([d, e], c) / o(f, g) } function u(a, b, c) { if (c >= 100) return a.slice(-1)[0]; var d, e, f, g, h = s(c, b); return d = a[h - 1], e = a[h], f = b[h - 1], g = b[h], r([d, e], (c - f) * o(f, g)) } function v(a, b, d, e) { if (100 === e) return e; var f, g, h = s(e, a); return d ? (f = a[h - 1], g = a[h], e - f > (g - f) / 2 ? g : f) : b[h - 1] ? a[h - 1] + c(e - a[h - 1], b[h - 1]) : e } function w(a, b, c) { var d; if ("number" == typeof b && (b = [b]), "[object Array]" !== Object.prototype.toString.call(b)) throw new Error("atkpnoUiSlider: 'range' contains invalid value."); if (d = "min" === a ? 0 : "max" === a ? 100 : parseFloat(a), !e(d) || !e(b[0])) throw new Error("atkpnoUiSlider: 'range' value isn't numeric."); c.xPct.push(d), c.xVal.push(b[0]), d ? c.xSteps.push(!isNaN(b[1]) && b[1]) : isNaN(b[1]) || (c.xSteps[0] = b[1]), c.xHighestCompleteStep.push(0) } function x(a, b, c) { if (!b) return !0; c.xSteps[a] = p([c.xVal[a], c.xVal[a + 1]], b) / o(c.xPct[a], c.xPct[a + 1]); var d = (c.xVal[a + 1] - c.xVal[a]) / c.xNumSteps[a], e = Math.ceil(Number(d.toFixed(3)) - 1), f = c.xVal[a] + c.xNumSteps[a] * e; c.xHighestCompleteStep[a] = f } function y(a, b, c, d) { this.xPct = [], this.xVal = [], this.xSteps = [d || !1], this.xNumSteps = [!1], this.xHighestCompleteStep = [], this.snap = b, this.direction = c; var e, f = []; for (e in a) a.hasOwnProperty(e) && f.push([a[e], e]); for (f.length && "object" == typeof f[0][0] ? f.sort(function (a, b) { return a[0][0] - b[0][0] }) : f.sort(function (a, b) { return a[0] - b[0] }), e = 0; e < f.length; e++) w(f[e][1], f[e][0], this); for (this.xNumSteps = this.xSteps.slice(0), e = 0; e < this.xNumSteps.length; e++) x(e, this.xNumSteps[e], this) } function z(a, b) { if (!e(b)) throw new Error("atkpnoUiSlider: 'step' is not numeric."); a.singleStep = b } function A(a, b) { if ("object" != typeof b || Array.isArray(b)) throw new Error("atkpnoUiSlider: 'range' is not an object."); if (void 0 === b.min || void 0 === b.max) throw new Error("atkpnoUiSlider: Missing 'min' or 'max' in 'range'."); if (b.min === b.max) throw new Error("atkpnoUiSlider: 'range' 'min' and 'max' cannot be equal."); a.spectrum = new y(b, a.snap, a.dir, a.singleStep) } function B(a, b) { if (b = h(b), !Array.isArray(b) || !b.length) throw new Error("atkpnoUiSlider: 'start' option is incorrect."); a.handles = b.length, a.start = b } function C(a, b) { if (a.snap = b, "boolean" != typeof b) throw new Error("atkpnoUiSlider: 'snap' option must be a boolean.") } function D(a, b) { if (a.animate = b, "boolean" != typeof b) throw new Error("atkpnoUiSlider: 'animate' option must be a boolean.") } function E(a, b) { if (a.animationDuration = b, "number" != typeof b) throw new Error("atkpnoUiSlider: 'animationDuration' option must be a number.") } function F(a, b) { var c, d = [!1]; if (b === !0 || b === !1) { for (c = 1; c < a.handles; c++) d.push(b); d.push(!1) } else { if (!Array.isArray(b) || !b.length || b.length !== a.handles + 1) throw new Error("atkpnoUiSlider: 'connect' option doesn't match handle count."); d = b } a.connect = d } function G(a, b) { switch (b) { case"horizontal": a.ort = 0; break; case"vertical": a.ort = 1; break; default: throw new Error("atkpnoUiSlider: 'orientation' option is invalid.") } } function H(a, b) { if (!e(b)) throw new Error("atkpnoUiSlider: 'margin' option must be numeric."); if (0 !== b && (a.margin = a.spectrum.getMargin(b), !a.margin)) throw new Error("atkpnoUiSlider: 'margin' option is only supported on linear sliders.") } function I(a, b) { if (!e(b)) throw new Error("atkpnoUiSlider: 'limit' option must be numeric."); if (a.limit = a.spectrum.getMargin(b), !a.limit || a.handles < 2) throw new Error("atkpnoUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.") } function J(a, b) { switch (b) { case"ltr": a.dir = 0; break; case"rtl": a.dir = 1; break; default: throw new Error("atkpnoUiSlider: 'direction' option was not recognized.") } } function K(a, b) { if ("string" != typeof b) throw new Error("atkpnoUiSlider: 'behaviour' must be a string containing options."); var c = b.indexOf("tap") >= 0, d = b.indexOf("drag") >= 0, e = b.indexOf("fixed") >= 0, f = b.indexOf("snap") >= 0, g = b.indexOf("hover") >= 0; if (e) { if (2 !== a.handles) throw new Error("atkpnoUiSlider: 'fixed' behaviour must be used with 2 handles"); H(a, a.start[1] - a.start[0]) } a.events = {tap: c || f, drag: d, fixed: e, snap: f, hover: g} } function L(a, b) { if (b !== !1) if (b === !0) { a.tooltips = []; for (var c = 0; c < a.handles; c++) a.tooltips.push(!0) } else { if (a.tooltips = h(b), a.tooltips.length !== a.handles) throw new Error("atkpnoUiSlider: must pass a formatter for all handles."); a.tooltips.forEach(function (a) { if ("boolean" != typeof a && ("object" != typeof a || "function" != typeof a.to)) throw new Error("atkpnoUiSlider: 'tooltips' must be passed a formatter or 'false'.") }) } } function M(a, b) { if (a.format = b, "function" == typeof b.to && "function" == typeof b.from) return !0; throw new Error("atkpnoUiSlider: 'format' requires 'to' and 'from' methods.") } function N(a, b) { if (void 0 !== b && "string" != typeof b && b !== !1) throw new Error("atkpnoUiSlider: 'cssPrefix' must be a string or `false`."); a.cssPrefix = b } function O(a, b) { if (void 0 !== b && "object" != typeof b) throw new Error("atkpnoUiSlider: 'cssClasses' must be an object."); if ("string" == typeof a.cssPrefix) { a.cssClasses = {}; for (var c in b) b.hasOwnProperty(c) && (a.cssClasses[c] = a.cssPrefix + b[c]) } else a.cssClasses = b } function P(a, b) { if (b !== !0 && b !== !1) throw new Error("atkpnoUiSlider: 'useRequestAnimationFrame' option should be true (default) or false."); a.useRequestAnimationFrame = b } function Q(a) { var b, c = {margin: 0, limit: 0, animate: !0, animationDuration: 300, format: T}; b = { step: {r: !1, t: z}, start: {r: !0, t: B}, connect: {r: !0, t: F}, direction: {r: !0, t: J}, snap: {r: !1, t: C}, animate: {r: !1, t: D}, animationDuration: {r: !1, t: E}, range: {r: !0, t: A}, orientation: {r: !1, t: G}, margin: {r: !1, t: H}, limit: {r: !1, t: I}, behaviour: {r: !0, t: K}, format: {r: !1, t: M}, tooltips: {r: !1, t: L}, cssPrefix: {r: !1, t: N}, cssClasses: {r: !1, t: O}, useRequestAnimationFrame: {r: !1, t: P} }; var d = { connect: !1, direction: "ltr", behaviour: "tap", orientation: "horizontal", cssPrefix: "atkpnoUi-", cssClasses: { target: "target", base: "base", origin: "origin", handle: "handle", horizontal: "horizontal", vertical: "vertical", background: "background", connect: "connect", ltr: "ltr", rtl: "rtl", draggable: "draggable", drag: "state-drag", tap: "state-tap", active: "active", tooltip: "tooltip", pips: "pips", pipsHorizontal: "pips-horizontal", pipsVertical: "pips-vertical", marker: "marker", markerHorizontal: "marker-horizontal", markerVertical: "marker-vertical", markerNormal: "marker-normal", markerLarge: "marker-large", markerSub: "marker-sub", value: "value", valueHorizontal: "value-horizontal", valueVertical: "value-vertical", valueNormal: "value-normal", valueLarge: "value-large", valueSub: "value-sub" }, useRequestAnimationFrame: !0 }; Object.keys(b).forEach(function (e) { if (void 0 === a[e] && void 0 === d[e]) { if (b[e].r) throw new Error("atkpnoUiSlider: '" + e + "' is required."); return !0 } b[e].t(c, void 0 === a[e] ? d[e] : a[e]) }), c.pips = a.pips; var e = [["left", "top"], ["right", "bottom"]]; return c.style = e[c.dir][c.ort], c.styleOposite = e[c.dir ? 0 : 1][c.ort], c } function R(c, e, i) { function o(b, c) { var d = a(b, e.cssClasses.origin), f = a(d, e.cssClasses.handle); return f.setAttribute("data-handle", c), d } function p(b, c) { return !!c && a(b, e.cssClasses.connect) } function q(a, b) { ba = [], ca = [], ca.push(p(b, a[0])); for (var c = 0; c < e.handles; c++) ba.push(o(b, c)), ha[c] = c, ca.push(p(b, a[c + 1])) } function r(b) { j(b, e.cssClasses.target), 0 === e.dir ? j(b, e.cssClasses.ltr) : j(b, e.cssClasses.rtl), 0 === e.ort ? j(b, e.cssClasses.horizontal) : j(b, e.cssClasses.vertical), aa = a(b, e.cssClasses.base) } function s(b, c) { return !!e.tooltips[c] && a(b.firstChild, e.cssClasses.tooltip) } function t() { var a = ba.map(s); Z("update", function (b, c, d) { if (a[c]) { var f = b[c]; e.tooltips[c] !== !0 && (f = e.tooltips[c].to(d[c])), a[c].innerHTML = f } }) } function u(a, b, c) { if ("range" === a || "steps" === a) return ia.xVal; if ("count" === a) { var d, e = 100 / (b - 1), f = 0; for (b = []; (d = f++ * e) <= 100;) b.push(d); a = "positions" } return "positions" === a ? b.map(function (a) { return ia.fromStepping(c ? ia.getStep(a) : a) }) : "values" === a ? c ? b.map(function (a) { return ia.fromStepping(ia.getStep(ia.toStepping(a))) }) : b : void 0 } function v(a, c, d) { function e(a, b) { return (a + b).toFixed(7) / 1 } var f = {}, g = ia.xVal[0], h = ia.xVal[ia.xVal.length - 1], i = !1, j = !1, k = 0; return d = b(d.slice().sort(function (a, b) { return a - b })), d[0] !== g && (d.unshift(g), i = !0), d[d.length - 1] !== h && (d.push(h), j = !0), d.forEach(function (b, g) { var h, l, m, n, o, p, q, r, s, t, u = b, v = d[g + 1]; if ("steps" === c && (h = ia.xNumSteps[g]), h || (h = v - u), u !== !1 && void 0 !== v) for (h = Math.max(h, 1e-7), l = u; l <= v; l = e(l, h)) { for (n = ia.toStepping(l), o = n - k, r = o / a, s = Math.round(r), t = o / s, m = 1; m <= s; m += 1) p = k + m * t, f[p.toFixed(5)] = ["x", 0]; q = d.indexOf(l) > -1 ? 1 : "steps" === c ? 2 : 0, !g && i && (q = 0), l === v && j || (f[n.toFixed(5)] = [l, q]), k = n } }), f } function w(a, b, c) { function d(a, b) { var c = b === e.cssClasses.value, d = c ? m : n, f = c ? k : l; return b + " " + d[e.ort] + " " + f[a] } function f(a, b, c) { return 'class="' + d(c[1], b) + '" style="' + e.style + ": " + a + '%"' } function g(a, d) { d[1] = d[1] && b ? b(d[0], d[1]) : d[1], i += "
", d[1] && (i += "
" + c.to(d[0]) + "
") } var h = document.createElement("div"), i = "", k = [e.cssClasses.valueNormal, e.cssClasses.valueLarge, e.cssClasses.valueSub], l = [e.cssClasses.markerNormal, e.cssClasses.markerLarge, e.cssClasses.markerSub], m = [e.cssClasses.valueHorizontal, e.cssClasses.valueVertical], n = [e.cssClasses.markerHorizontal, e.cssClasses.markerVertical]; return j(h, e.cssClasses.pips), j(h, 0 === e.ort ? e.cssClasses.pipsHorizontal : e.cssClasses.pipsVertical), Object.keys(a).forEach(function (b) { g(b, a[b]) }), h.innerHTML = i, h } function x(a) { var b = a.mode, c = a.density || 1, d = a.filter || !1, e = a.values || !1, f = a.stepped || !1, g = u(b, e, f), h = v(c, b, g), i = a.format || {to: Math.round}; return fa.appendChild(w(h, d, i)) } function y() { var a = aa.getBoundingClientRect(), b = "offset" + ["Width", "Height"][e.ort]; return 0 === e.ort ? a.width || aa[b] : a.height || aa[b] } function z(a, b, c, d) { var f = function (b) { return !fa.hasAttribute("disabled") && (!l(fa, e.cssClasses.tap) && (b = A(b, d.pageOffset), !(a === ea.start && void 0 !== b.buttons && b.buttons > 1) && ((!d.hover || !b.buttons) && (b.calcPoint = b.points[e.ort], void c(b, d))))) }, g = []; return a.split(" ").forEach(function (a) { b.addEventListener(a, f, !1), g.push([a, f]) }), g } function A(a, b) { a.preventDefault(); var c, d, e = 0 === a.type.indexOf("touch"), f = 0 === a.type.indexOf("mouse"), g = 0 === a.type.indexOf("pointer"), h = a; if (0 === a.type.indexOf("MSPointer") && (g = !0), e) { if (h.touches.length > 1) return !1; c = a.changedTouches[0].pageX, d = a.changedTouches[0].pageY } return b = b || m(), (f || g) && (c = a.clientX + b.x, d = a.clientY + b.y), h.pageOffset = b, h.points = [c, d], h.cursor = f || g, h } function B(a) { var b = a - d(aa, e.ort), c = 100 * b / y(); return e.dir ? 100 - c : c } function C(a) { var b = 100, c = !1; return ba.forEach(function (d, e) { if (!d.hasAttribute("disabled")) { var f = Math.abs(ga[e] - a); f < b && (c = e, b = f) } }), c } function D(a, b, c, d) { var e = c.slice(), f = [!a, a], g = [a, !a]; d = d.slice(), a && d.reverse(), d.length > 1 ? d.forEach(function (a, c) { var d = M(e, a, e[a] + b, f[c], g[c]); d === !1 ? b = 0 : (b = d - e[a], e[a] = d) }) : f = g = [!0]; var h = !1; d.forEach(function (a, d) { h = R(a, c[a] + b, f[d], g[d]) || h }), h && d.forEach(function (a) { E("update", a), E("slide", a) }) } function E(a, b, c) { Object.keys(ka).forEach(function (d) { var f = d.split(".")[0]; a === f && ka[d].forEach(function (a) { a.call(da, ja.map(e.format.to), b, ja.slice(), c || !1, ga.slice()) }) }) } function F(a, b) { "mouseout" === a.type && "HTML" === a.target.nodeName && null === a.relatedTarget && H(a, b) } function G(a, b) { if (navigator.appVersion.indexOf("MSIE 9") === -1 && 0 === a.buttons && 0 !== b.buttonsProperty) return H(a, b); var c = (e.dir ? -1 : 1) * (a.calcPoint - b.startCalcPoint), d = 100 * c / b.baseSize; D(c > 0, d, b.locations, b.handleNumbers) } function H(a, b) { var c = aa.querySelector("." + e.cssClasses.active); null !== c && k(c, e.cssClasses.active), a.cursor && (document.body.style.cursor = "", document.body.removeEventListener("selectstart", document.body.atkpnoUiListener)), document.documentElement.atkpnoUiListeners.forEach(function (a) { document.documentElement.removeEventListener(a[0], a[1]) }), k(fa, e.cssClasses.drag), P(), b.handleNumbers.forEach(function (a) { E("set", a), E("change", a), E("end", a) }) } function I(a, b) { if (1 === b.handleNumbers.length) { var c = ba[b.handleNumbers[0]]; if (c.hasAttribute("disabled")) return !1; j(c.children[0], e.cssClasses.active) } a.preventDefault(), a.stopPropagation(); var d = z(ea.move, document.documentElement, G, { startCalcPoint: a.calcPoint, baseSize: y(), pageOffset: a.pageOffset, handleNumbers: b.handleNumbers, buttonsProperty: a.buttons, locations: ga.slice() }), f = z(ea.end, document.documentElement, H, {handleNumbers: b.handleNumbers}), g = z("mouseout", document.documentElement, F, {handleNumbers: b.handleNumbers}); if (document.documentElement.atkpnoUiListeners = d.concat(f, g), a.cursor) { document.body.style.cursor = getComputedStyle(a.target).cursor, ba.length > 1 && j(fa, e.cssClasses.drag); var h = function () { return !1 }; document.body.atkpnoUiListener = h, document.body.addEventListener("selectstart", h, !1) } b.handleNumbers.forEach(function (a) { E("start", a) }) } function J(a) { a.stopPropagation(); var b = B(a.calcPoint), c = C(b); return c !== !1 && (e.events.snap || f(fa, e.cssClasses.tap, e.animationDuration), R(c, b, !0, !0), P(), E("slide", c, !0), E("set", c, !0), E("change", c, !0), E("update", c, !0), void(e.events.snap && I(a, {handleNumbers: [c]}))) } function K(a) { var b = B(a.calcPoint), c = ia.getStep(b), d = ia.fromStepping(c); Object.keys(ka).forEach(function (a) { "hover" === a.split(".")[0] && ka[a].forEach(function (a) { a.call(da, d) }) }) } function L(a) { a.fixed || ba.forEach(function (a, b) { z(ea.start, a.children[0], I, {handleNumbers: [b]}) }), a.tap && z(ea.start, aa, J, {}), a.hover && z(ea.move, aa, K, {hover: !0}), a.drag && ca.forEach(function (b, c) { if (b !== !1 && 0 !== c && c !== ca.length - 1) { var d = ba[c - 1], f = ba[c], g = [b]; j(b, e.cssClasses.draggable), a.fixed && (g.push(d.children[0]), g.push(f.children[0])), g.forEach(function (a) { z(ea.start, a, I, {handles: [d, f], handleNumbers: [c - 1, c]}) }) } }) } function M(a, b, c, d, f) { return ba.length > 1 && (d && b > 0 && (c = Math.max(c, a[b - 1] + e.margin)), f && b < ba.length - 1 && (c = Math.min(c, a[b + 1] - e.margin))), ba.length > 1 && e.limit && (d && b > 0 && (c = Math.min(c, a[b - 1] + e.limit)), f && b < ba.length - 1 && (c = Math.max(c, a[b + 1] - e.limit))), c = ia.getStep(c), c = g(c), c !== a[b] && c } function N(a) { return a + "%" } function O(a, b) { ga[a] = b, ja[a] = ia.fromStepping(b); var c = function () { ba[a].style[e.style] = N(b), S(a), S(a + 1) }; window.requestAnimationFrame && e.useRequestAnimationFrame ? window.requestAnimationFrame(c) : c() } function P() { ha.forEach(function (a) { var b = ga[a] > 50 ? -1 : 1, c = 3 + (ba.length + b * a); ba[a].childNodes[0].style.zIndex = c }) } function R(a, b, c, d) { return b = M(ga, a, b, c, d), b !== !1 && (O(a, b), !0) } function S(a) { if (ca[a]) { var b = 0, c = 100; 0 !== a && (b = ga[a - 1]), a !== ca.length - 1 && (c = ga[a]), ca[a].style[e.style] = N(b), ca[a].style[e.styleOposite] = N(100 - c) } } function T(a, b) { null !== a && a !== !1 && ("number" == typeof a && (a = String(a)), a = e.format.from(a), a === !1 || isNaN(a) || R(b, ia.toStepping(a), !1, !1)) } function U(a, b) { var c = h(a), d = void 0 === ga[0]; b = void 0 === b || !!b, c.forEach(T), e.animate && !d && f(fa, e.cssClasses.tap, e.animationDuration), ha.forEach(function (a) { R(a, ga[a], !0, !1) }), P(), ha.forEach(function (a) { E("update", a), null !== c[a] && b && E("set", a) }) } function V(a) { U(e.start, a) } function W() { var a = ja.map(e.format.to); return 1 === a.length ? a[0] : a } function X() { for (var a in e.cssClasses) e.cssClasses.hasOwnProperty(a) && k(fa, e.cssClasses[a]); for (; fa.firstChild;) fa.removeChild(fa.firstChild); delete fa.atkpnoUiSlider } function Y() { return ga.map(function (a, b) { var c = ia.getNearbySteps(a), d = ja[b], e = c.thisStep.step, f = null; e !== !1 && d + e > c.stepAfter.startValue && (e = c.stepAfter.startValue - d), f = d > c.thisStep.startValue ? c.thisStep.step : c.stepBefore.step !== !1 && d - c.stepBefore.highestStep, 100 === a ? e = null : 0 === a && (f = null); var g = ia.countStepDecimals(); return null !== e && e !== !1 && (e = Number(e.toFixed(g))), null !== f && f !== !1 && (f = Number(f.toFixed(g))), [f, e] }) } function Z(a, b) { ka[a] = ka[a] || [], ka[a].push(b), "update" === a.split(".")[0] && ba.forEach(function (a, b) { E("update", b) }) } function $(a) { var b = a && a.split(".")[0], c = b && a.substring(b.length); Object.keys(ka).forEach(function (a) { var d = a.split(".")[0], e = a.substring(d.length); b && b !== d || c && c !== e || delete ka[a] }) } function _(a, b) { var c = W(), d = ["margin", "limit", "range", "animate", "snap", "step", "format"]; d.forEach(function (b) { void 0 !== a[b] && (i[b] = a[b]) }); var f = Q(i); d.forEach(function (b) { void 0 !== a[b] && (e[b] = f[b]) }), f.spectrum.direction = ia.direction, ia = f.spectrum, e.margin = f.margin, e.limit = f.limit, ga = [], U(a.start || c, b) } var aa, ba, ca, da, ea = n(), fa = c, ga = [], ha = [], ia = e.spectrum, ja = [], ka = {}; if (fa.atkpnoUiSlider) throw new Error("Slider was already initialized."); return r(fa), q(e.connect, aa), da = { destroy: X, steps: Y, on: Z, off: $, get: W, set: U, reset: V, __moveHandles: function (a, b, c) { D(a, b, ga, c) }, options: i, updateOptions: _, target: fa, pips: x }, L(e.events), U(e.start), e.pips && x(e.pips), e.tooltips && t(), da } function S(a, b) { if (!a.nodeName) throw new Error("atkpnoUiSlider.create requires a single element."); var c = Q(b, a), d = R(a, c, b); return a.atkpnoUiSlider = d, d } y.prototype.getMargin = function (a) { var b = this.xNumSteps[0]; if (b && a % b) throw new Error("atkpnoUiSlider: 'limit' and 'margin' must be divisible by step."); return 2 === this.xPct.length && p(this.xVal, a) }, y.prototype.toStepping = function (a) { return a = t(this.xVal, this.xPct, a) }, y.prototype.fromStepping = function (a) { return u(this.xVal, this.xPct, a) }, y.prototype.getStep = function (a) { return a = v(this.xPct, this.xSteps, this.snap, a) }, y.prototype.getNearbySteps = function (a) { var b = s(a, this.xPct); return { stepBefore: { startValue: this.xVal[b - 2], step: this.xNumSteps[b - 2], highestStep: this.xHighestCompleteStep[b - 2] }, thisStep: { startValue: this.xVal[b - 1], step: this.xNumSteps[b - 1], highestStep: this.xHighestCompleteStep[b - 1] }, stepAfter: { startValue: this.xVal[b - 0], step: this.xNumSteps[b - 0], highestStep: this.xHighestCompleteStep[b - 0] } } }, y.prototype.countStepDecimals = function () { var a = this.xNumSteps.map(i); return Math.max.apply(null, a) }, y.prototype.convert = function (a) { return this.getStep(this.toStepping(a)) }; var T = { to: function (a) { return void 0 !== a && a.toFixed(2) }, from: Number }; return {create: S} }); function formatRepo(value) { if (value.loading) return value.text; if (value.id == '') return "None"; return '
' + value.title + '
'; } function formatRepoSelection(repo) { var placeholder = $j(repo).parent().parent().parent().attr('placeholder'); if (repo.id == '') return repo.text; else return (repo.text || (repo.title)); } if (typeof jQuery === 'undefined') { //nothing todo }else { var $j = jQuery.noConflict(); $j(document).ready(function () { $j(".atkp-livesearch").each(function (i, obj) { var shopid = $j(obj).attr("shopid"); var filter = $j(obj).attr("filter"); var template = $j(obj).attr("template"); var endpointurl = $j(obj).attr('endpointurl'); var elementcss = $j(obj).attr('elementcss'); var containercss = $j(obj).attr('containercss'); var limit = $j(obj).attr('limit'); var init = $j(obj).attr('init'); if(init == "1") { return; } $j(obj).addClass('atkp-spinloader'); $j('.atkp-livesearch-searching').show(); $j.post(endpointurl, { action: 'atkp_live_search_render', shopid: shopid, filter: filter, template: template, elementcss: elementcss, containercss: containercss, limit: limit }, function (data, status) { //alert("Data: " + data + "\nStatus: " + status); if (status == 'success') { $j('.atkp-livesearch-searching').hide(); if (data[0].html == 'noresultfound') $j('.atkp-livesearch-noresult').show(); else if (data[0].html == 'searchtermrequired') $j('.atkp-livesearch-searchtermrequired').show(); else $j(obj).html(data[0].html); } else if (typeof data[0].error != 'undefined') $j(obj).html("error on loading: " + data[0].error); else $j(obj).html("error on loading"); $j(obj).removeClass('atkp-spinloader'); }); }); $j('.atkp-selectcontrol').each(function (i, obj) { if (!$j(obj).data('select2')) { var placeholder = $j(obj).attr('placeholder'); $j(obj).select2({placeholder: placeholder, dropdownAutoWidth: true}); } }); $j('.atkp-product-selectcontrol').each(function (i, obj) { if (!$j(obj).data('select2')) { var placeholder = $j(obj).attr('placeholder'); var searchnounce = $j(obj).attr('searchnounce'); var endpointurl = $j(obj).attr('endpointurl'); var inputtooshort = $j(obj).attr('inputtooshort'); $j(obj).select2({ placeholder: placeholder, dropdownAutoWidth: true, allowClear: true, language: { // You can find all of the options in the language files provided in the // build. They all must be functions that return the string that should be // displayed. inputTooShort: function () { return inputtooshort; } }, ajax: { type: "POST", url: endpointurl, dataType: 'json', delay: 250, data: function (params) { return { action: "atkp_frontend_search_products", type: "atkp_product", request_nonce: searchnounce, keyword: params.term }; }, processResults: function (data, params) { var count = 0; $j.each(data, function (key, value) { count++; }); if (count > 0) { if (typeof data[0].error != 'undefined') { alert(data[0].error + ": " + data[0].message); } else { } } /*var noselection = { id: "", name: ""}; if(count == 0) data = []; data.splice(0,0,noselection);*/ // parse the results into the format expected by Select2 // since we are using custom formatting functions we do not need to // alter the remote JSON data, except to indicate that infinite // scrolling can be used params.page = params.page || 1; return { results: data, pagination: { more: false } }; }, cache: true }, escapeMarkup: function (markup) { return markup; }, // let our custom formatter work minimumInputLength: 3, templateResult: formatRepo, // omitted for brevity, see the source of this page templateSelection: formatRepoSelection // omitted for brevity, see the source of this page }); //add remote product search } }); $j('.atkp-rangeslider').each(function (i, obj) { var minname = $j(obj).attr('minname'); var maxname = $j(obj).attr('maxname'); var minpriceval = parseFloat($j('#' + minname, obj).val()); var maxpriceval = parseFloat($j('#' + maxname, obj).val()); var minprice = parseFloat($j('#' + minname, obj).attr('defaultvalue')); var maxprice = parseFloat($j('#' + maxname, obj).attr('defaultvalue')); minprice = Math.floor((minprice + 1) / 10) * 10; maxprice = Math.ceil((maxprice + 1) / 10) * 10; minpriceval = Math.floor((minpriceval) / 10) * 10; maxpriceval = Math.ceil((maxpriceval) / 10) * 10; atkpnoUiSlider.create(obj, { start: [minpriceval, maxpriceval], connect: true, step: 10, tooltips: false, behaviour: 'tap-drag', range: { 'min': minprice, 'max': maxprice }, }); obj.atkpnoUiSlider.on('update', function (values, handle) { $j('#' + minname, obj).val(values[0]); $j('#' + maxname, obj).val(values[1]); // alert($j('#minprice', obj).parent().parent().parent().html()); $j('.minprice-display', $j('#' + minname, obj).parent().parent()).html(Math.trunc(values[0])); $j('.maxprice-display', $j('#' + maxname, obj).parent().parent()).html(Math.trunc(values[1])); }); }); }); $j(document).ready(function() { $j('.atkp-floating-bar').hide(); }); } /* atkp carousel */ jQuery(document).ready(function() { var CONSTANTS = { productMinWidth : 185, productMargin : 20 }; var $adUnits = jQuery('.atkp-product-carousel-unit'); $adUnits.each(function() { var $adUnit = jQuery(this), $wrapper = $adUnit.find('.atkp-pc-wrapper'), $productContainer = $adUnit.find('.atkp-pc-product-container'), $btnNext = $adUnit.find('.atkp-pc-btn-next'), $btnPrev = $adUnit.find('.atkp-pc-btn-prev'), $productList = $productContainer.find('.atkp-pc-product-list'), $products = $productList.find('.atkp-pc-product'), productCount = $products.length; if (!productCount) { return true; } var rows = $adUnit.find('input[name=rows]').length && parseInt($adUnit.find('input[name=rows]').val(), 10); var columns = $adUnit.find('input[name=columns]').length && parseInt($adUnit.find('input[name=columns]').val(), 10); if( columns ) { var productContainerMinWidth = columns * (CONSTANTS.productMinWidth + CONSTANTS.productMargin) + 'px'; $adUnit.css( 'min-width', productContainerMinWidth ); $productContainer.css( 'min-width', productContainerMinWidth ); $products.filter( ':nth-child(' + columns + 'n + 1)' ).css( 'clear', 'both' ); } if (rows && columns) { var cutOffIndex = (rows * columns) - 1; $products.filter(':gt(' + cutOffIndex + ')').remove(); } function updateLayout() { var wrapperWidth = $wrapper.width(); var possibleColumns = columns || parseInt( wrapperWidth / (CONSTANTS.productMinWidth + CONSTANTS.productMargin), 10 ); var actualColumns = columns || possibleColumns < productCount ? possibleColumns : productCount; /** * The actual columns can be zero when the wraperwidth is less than sum of CONSTANTS.productMinWidth and * CONSTANTS.productMargin.The parseInt will use floor function and converts any value less than 1 to * zero.Therefore making actual columns 1 . **/ if( actualColumns == 0 ) { actualColumns = 1; } var productWidth = parseInt( wrapperWidth / actualColumns, 10 ) - CONSTANTS.productMargin; $products.css( 'width', productWidth + 'px' ); /** * Removing the Carousel navigation button when the number of products selected by admin is less * than the actual columns (the number of products) can be shown on screen **/ if( productCount > actualColumns ) { $btnNext.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); $btnPrev.css( 'visibility', 'visible' ).removeClass( 'disabled' ).unbind( 'click' ); } $productContainer.jCarouselLite( { btnNext : '#' + $adUnit.attr( 'id' ) + ' .atkp-pc-btn-next', btnPrev : '#' + $adUnit.attr( 'id' ) + ' .atkp-pc-btn-prev', visible : actualColumns, circular: false } ); } updateLayout(); jQuery(window).resize(updateLayout); }); }); /*! * jCarouselLite - v1.1 - 2014-09-28 * http://www.gmarwaha.com/jquery/jcarousellite/ * Copyright (c) 2014 Ganeshji Marwaha * Licensed MIT (https://github.com/ganeshmax/jcarousellite/blob/master/LICENSE) */ !function(a){a.jCarouselLite={version:"1.1"},a.fn.jCarouselLite=function(b){return b=a.extend({},a.fn.jCarouselLite.options,b||{}),this.each(function(){function c(a){return n||(clearTimeout(A),z=a,b.beforeStart&&b.beforeStart.call(this,i()),b.circular?j(a):k(a),m({start:function(){n=!0},done:function(){b.afterEnd&&b.afterEnd.call(this,i()),b.auto&&h(),n=!1}}),b.circular||l()),!1}function d(){if(n=!1,o=b.vertical?"top":"left",p=b.vertical?"height":"width",q=B.find(">ul"),r=q.find(">li"),x=r.size(),w=x0?z-b.scroll:z+b.scroll)}),b.auto&&h()}function h(){A=setTimeout(function(){c(z+b.scroll)},b.auto)}function i(){return s.slice(z).slice(0,w)}function j(a){var c;a<=b.start-w-1?(c=a+x+b.scroll,q.css(o,-(c*t)+"px"),z=c-b.scroll):a>=y-w+1&&(c=a-x-b.scroll,q.css(o,-(c*t)+"px"),z=c+b.scroll)}function k(a){0>a?z=0:a>y-w&&(z=y-w)}function l(){a(b.btnPrev+","+b.btnNext).removeClass("disabled"),a(z-b.scroll<0&&b.btnPrev||z+b.scroll>y-w&&b.btnNext||[]).addClass("disabled")}function m(c){n=!0,q.animate("left"==o?{left:-(z*t)}:{top:-(z*t)},a.extend({duration:b.speed,easing:b.easing},c))}var n,o,p,q,r,s,t,u,v,w,x,y,z,A,B=a(this);d(),e(),f(),g()})},a.fn.jCarouselLite.options={btnPrev:null,btnNext:null,btnGo:null,mouseWheel:!1,auto:null,speed:200,easing:null,vertical:!1,circular:!0,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null}}(jQuery);