var Sliderman = new function () { function y() { return "Sliderman-nameless-effect-" + x++ } function w(a, b, d, e, f) { function q(c) { for (k = 0; k < b; k++) for (j = 0; j < a; j++) c() } a = parseInt(a); b = parseInt(b); var g = [], h = [], i = 0, j = 0, k = 0, l = a * b, m = a - 1, n = b - 1, o = l - 1, p; if (!e) e = "RB"; var r = [a, b, d, e, f].join(","); if (!v[r]) { if (l > 1) { switch (d) { case "straight": switch (e) { case "BL": p = function () { g[j + "," + k] = o - (j * b + (n - k)) }; break; case "RT": p = function () { g[j + "," + k] = o - (k * a + (m - j)) }; break; case "TL": p = function () { g[j + "," + k] = o - (j * b + k) }; case "LT": p = function () { g[j + "," + k] = o - (k * a + j) }; break; case "BR": p = function () { g[j + "," + k] = j * b + k }; break; case "LB": p = function () { g[j + "," + k] = k * a + (m - j) }; break; case "TR": p = function () { g[j + "," + k] = j * b + (n - k) }; break; default: p = function () { g[j + "," + k] = k * a + j }; break } q(p); break; case "swirl": var s, t = 0; switch (e) { case "BL": j = m; k = 0; s = ["r+", "c-", "r-", "c+"]; break; case "RT": j = 0; k = n; s = ["c+", "r-", "c-", "r+"]; break; case "TL": j = m; k = n; s = ["r-", "c-", "r+", "c+"]; break; case "LT": j = m; k = n; s = ["c-", "r-", "c+", "r+"]; break; case "BR": j = 0; k = 0; s = ["r+", "c+", "r-", "c-"]; break; case "LB": j = m; k = 0; s = ["c-", "r+", "c+", "r-"]; break; case "TR": j = 0; k = n; s = ["r-", "c+", "r+", "c-"]; break; default: j = 0; k = 0; s = ["c+", "r+", "c-", "r-"]; break } i = 0; while (i < a * b) { if (j >= 0 && j < a && k >= 0 && k < b && typeof g[j + "," + k] == "undefined") g[j + "," + k] = i++; else switch (s[t++ % s.length]) { case "c+": j--; break; case "r+": k--; break; case "c-": j++; break; case "r-": k++; break } switch (s[t % s.length]) { case "c+": j++; break; case "r+": k++; break; case "c-": j--; break; case "r-": k--; break } } break; case "snake": var s, t = 0; switch (e) { case "BL": j = m; k = 0; s = ["r+", "c-", "r-", "c-"]; break; case "RT": j = 0; k = n; s = ["c+", "r-", "c-", "r-"]; break; case "TL": j = m; k = n; s = ["r-", "c-", "r+", "c-"]; break; case "LT": j = m; k = n; s = ["c-", "r-", "c+", "r-"]; break; case "BR": j = 0; k = 0; s = ["r+", "c+", "r-", "c+"]; break; case "LB": j = m; k = 0; s = ["c-", "r+", "c+", "r+"]; break; case "TR": j = 0; k = n; s = ["r-", "c+", "r+", "c+"]; break; default: j = 0; k = 0; s = ["c+", "r+", "c-", "r+"]; break } i = 0; while (i < a * b) { if (j >= 0 && j < a && k >= 0 && k < b && typeof g[j + "," + k] == "undefined") { g[j + "," + k] = i++; switch (s[t % s.length]) { case "c+": j++; break; case "r+": k++; break; case "c-": j--; break; case "r-": k--; break } } else { switch (s[t++ % s.length]) { case "c+": j--; break; case "r+": k--; break; case "c-": j++; break; case "r-": k++; break } switch (s[t++ % s.length]) { case "c+": j++; break; case "r+": k++; break; case "c-": j--; break; case "r-": k--; break } } } break; case "straight_stairs": switch (e) { case "BL": case "TR": case "TL": case "BR": var u = 0, w = 0; break; case "LB": case "RT": case "LT": case "RB": default: var u = m, w = 0; break } j = u; k = w; while (i < l) { if (e.indexOf("T") == 1 || e.indexOf("R") == 1) g[j + "," + k] = o - i++; else g[j + "," + k] = i++; switch (e) { case "BL": case "TR": j--; k++; break; case "TL": case "BR": j++; k--; break; case "LB": case "RT": j--; k--; break; case "RB": case "LT": default: j++; k++; break } if (j < 0 || k < 0 || j > m || k > n) { switch (e) { case "BL": case "TR": u++; break; case "LB": case "RT": case "TL": case "BR": w++; break; case "RB": case "LT": default: u--; break } if (u < 0 || w < 0 || u > m || w > n) { switch (e) { case "BL": case "TR": u = m; w++; break; case "TL": case "BR": w = n; u++; break; case "LB": case "RT": w = n; u--; break; case "RB": case "LT": default: u = 0; w++; break } if (w > n) w = n; else if (w < 0) w = 0; else if (u > m) u = m; else if (u < 0) u = 0 } k = w; j = u } } break } if (f) c(g, function (a) { g[a] = o - g[a] }) } else g["0,0"] = 0; v[r] = g } if (d == "random") { q(function () { h.push(j + "," + k) }); h.sort(function (a, b) { return Math.random() > .5 }); for (var i = 0; i < a * b; i++) g[h[i]] = i; v[r] = g } return v[r] } function u(a) { var b = a.effect, d = a.display; if (!b) b = {}; if (a.contentmode) b.zoom = false; b.interval = b.interval || 40; b.duration = b.duration || 200; b.delay = b.delay || 0; var e = Math.round(b.duration / b.interval); var f, i, j, l, m = [], n = [], q = [], r = [], u, v, x; var y = s("div", { width: d.width, height: d.height, position: "absolute", top: 0, left: 0, overflow: "hidden" }); a.container.appendChild(y); var z = { cols: b.cols ? b.cols : 1, rows: b.rows ? b.rows : 1 }; z.count = z.cols * z.rows; z.width = d.width / z.cols, z.height = d.height / z.rows; for (var A = 0; A < z.cols; A++) for (var j = 0; j < z.rows; j++) z[A + "," + j] = [j * z.height, A * z.width + z.width, j * z.height + z.height, A * z.width]; var B = g(b); var C = g(b); C.top = B.bottom; C.bottom = B.top; C.left = B.right; C.right = B.left; b.order = k(b.order, "straight,swirl,snake,straight_stairs,random"); var D = w(z.cols, z.rows, b.order, b.road, b.reverse); var E = b.order == "random" ? h() : [b.interval, b.duration, b.delay, b.cols, b.rows, b.top, b.right, b.bottom, b.left, b.fade, b.zoom, b.move, b.chess, b.order, b.road, b.reverse].join(","); if (t[E]) { m = t[E].startStylesArr; n = t[E].AnimateArr; q = t[E].needAnimate } else { for (j = 0; j < z.rows; j++) for (A = 0; A < z.cols; A++) { f = D[A + "," + j]; if (b.chess && f % 2 == 1) b = C; else b = B; u = { top: 0, left: 0, opacity: 1, width: d.width, height: d.height, overflow: "hidden" }; v = g(u); i = g(z[A + "," + j]); if (b.fade) u.opacity = 0; if (b.top && b.bottom) i[0] = i[2] = (i[0] + i[2]) / 2; else if (b.top) i[2] -= z.height; else if (b.bottom) i[0] += z.height; if (b.left && b.right) i[1] = i[3] = (i[1] + i[3]) / 2; else if (b.left) i[1] -= z.width; else if (b.right) i[3] += z.width; if (b.zoom) { u.left = z[A + "," + j][3]; u.top = z[A + "," + j][0]; if (b.left && b.right) u.left += z.width / 2; else if (b.right) u.left += z.width; else if (!b.left) u.left = 0; if (b.top && b.bottom) u.top += z.height / 2; else if (b.bottom) u.top += z.height; else if (!b.top) u.top = 0; if (b.left || b.right) i[1] = i[3] = 0; if (b.top || b.bottom) i[0] = i[2] = 0; u.width = b.left || b.right ? 0 : d.width; u.height = b.top || b.bottom ? 0 : d.height } if (b.move) { if (b.top) { u.top = parseInt(u.top) - z.height; i[0] += z.height; i[2] += z.height } if (b.bottom) { u.top = parseInt(u.top) + z.height; i[0] -= z.height; i[2] -= z.height } if (b.left) { u.left = parseInt(u.left) - z.width; i[1] += z.width; i[3] += z.width } if (b.right) { u.left = parseInt(u.left) + z.width; i[1] -= z.width; i[3] -= z.width } } u.clip = i; v.clip = z[A + "," + j]; x = []; c(v, function (a) { if (u[a].toString() != v[a].toString()) { x[a] = []; if (a == "clip") { c(u[a], function (b) { x[a][b] = v[a][b] - u[a][b] }) } else x[a] = v[a] - u[a]; q[f] = true } }); m[f] = u; n[f] = []; if (b.delay) for (var F = 0; F < Math.round(f * b.delay / b.interval); F++) n[f].push(null); var G; if (!q[f]) n[f].push({ display: "" }); else for (G = 1; G <= e; G++) { progress = G / e; progress = -Math.cos(progress * Math.PI) / 2 + .5; var H = []; if (G == e) H = v; else { c(x, function (a) { value = []; if (a == "clip") { c(x[a], function (b) { value[b] = u[a][b] + x[a][b] * progress }) } else value = u[a] + x[a] * progress; H[a] = value }) } n[f].push(H) } } t[E] = { startStylesArr: m, AnimateArr: n, needAnimate: q} } for (j = 0; j < z.rows; j++) for (A = 0; A < z.cols; A++) { f = D[A + "," + j]; if (a.contentmode) { l = s("DIV", m[f]); l.appendChild(a.src.cloneNode(true)) } else { l = s("IMG", m[f]); l.src = a.src } var I = l.style; I.position = "absolute"; y.appendChild(l); r[f] = I; if (!q[f]) p(r[f]) } var J = h(); var K = n[n.length - 1].length; var L, M = [], N = true, O = function () { if (N) { var e = Math.ceil((h() - J) / b.interval); e = e >= K ? K - 1 : e - 1; c(n, function (a) { L = e > n[a].length - 1 ? n[a].length - 1 : e; if (n[a][L] && !M[a + "," + L]) { o(r[a], n[a][L]); M[a + "," + L] = true } }); if (e == K - 1) { if (z.count > 1) { y.innerHTML = ""; if (a.contentmode) y.appendChild(a.src); else y.innerHTML = '<img src="' + a.src + '" width="' + d.width + '" height="' + d.height + '" />' } a.callback(y); N = false } } return N }; var P = setInterval(function () { if (!O()) clearInterval(P) }, b.interval) } function s(a, b) { var c = document.createElement(a); if (b) o(c.style, b); return c } function q(a) { a.display = "" } function p(a) { a.display = "none" } function o(a, b) { c(b, function (c) { n(a, c, b[c]) }) } function n(a, b, c) { if (typeof c == "string") a[b] = c; else if (b == "clip") a[b] = "rect(" + Math.round(c[0]) + "px, " + Math.round(c[1]) + "px, " + Math.round(c[2]) + "px, " + Math.round(c[3]) + "px)"; else if (b == "opacity") l(a, c); else a[b] = Math.round(c) + "px" } function m() { if (l) return; var a, b = document.body, c = b.style; if (typeof c.opacity == "string") a = "opacity"; else if (typeof c.MozOpacity == "string") a = "MozOpacity"; else if (typeof c.KhtmlOpacity == "string") a = "KhtmlOpacity"; else if (b.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1] >= 5.5) a = "filter"; if (a == "filter") { l = function (b, c) { if (c > 1) c = 1; else if (c < 0) c = 0; b[a] = "alpha(opacity=" + Math.round(c * 100) + ")" } } else if (a) { l = function (b, c) { if (c > 1) c = 1; else if (c < 0) c = 0; b[a] = c.toFixed(2) } } else l = ef } function k(a, b) { b = b.split(","); var d; c(b, function (c) { d = b[c]; if (i(a, b[c])) return true }); return d } function j(a, b, d) { var e = false; if (!d) { c(a, function (b) { if (i(a[b], d)) { e = b; return true } }) } else { c(a, function (c) { if (i(a[c][b], d)) { e = c; return true } }) } return e } function i(a, b) { return String(a).replace(/^\s+/, "").replace(/\s+$/, "").toLowerCase() == String(b).replace(/^\s+/, "").replace(/\s+$/, "").toLowerCase() } function h() { return (new Date).getTime() } function g(a) { if (a.constructor == Array) var b = []; else var b = {}; c(a, function (c) { b[c] = typeof a[c] != "object" ? a[c] : g(a[c]) }); return b } function f(a, b, c) { var d = function () { if (e[a]) { if (b) b(a) } else { var c = s("IMG"); c.onload = function () { e[a] = true; if (b) b(a) }; new function () { c.src = a } } }; if (c) setTimeout(d, typeof c == "number" ? c : 1e3); else d() } function d(a, b, c) { var d = a[b]; a[b] = typeof d != "function" ? c : function () { d(); c() } } function c(a, b) { for (var c in a) { if (a.hasOwnProperty(c) && b(c, a[c], a)) return } } function b(a) { r = Math.round(Math.random() * (a + 1)); if (r > 0 && r < a + 1) r--; else r = b(a); return r } var a = this; var e = []; var l; var t = []; var v = []; var x = 0; var z = []; a.effect = function (a) { if (a) { var b = -1; if (a.name) { var c = j(z, "name", a.name); if (c) b = c } else a.name = y(); if (b >= 0) z[b] = a; else z.push(a) } }; a.effect({ name: "fade", fade: true, duration: 400 }); a.effect({ name: "move", left: true, move: true, duration: 400 }); a.effect({ name: "stairs", cols: 7, rows: 5, delay: 30, order: "straight_stairs", road: "BL", fade: true }); a.effect({ name: "blinds", cols: 10, delay: 100, duration: 400, order: "straight", right: true, zoom: true, fade: true }); a.effect({ name: "rain", cols: 10, delay: 100, duration: 400, order: "straight", top: true, fade: true }); a.slider = function (a) { m(); var c = {}, e, h, i, r = "free", t = false, v = [], w = [], x = [], A = function () { }; var B = a.events, C = B ? function (a) { if (B[a] && typeof B[a] == "function") B[a](c) } : A; var D = a.contentmode; var E = []; var F = -1; var G = function (a) { if (typeof a == "string") { a = a.split(","); if (a.length == 1) { var b = j(z, "name", a); if (b) G(z[b]) } else for (var c = 0; c < a.length; c++) G(a[c]) } else if (a) { if (!a.name) a.name = y(); var d = j(E, "name", a.name); if (!d) d = E.length; E[d] = g(a) } }; var H = function () { var a = 0; if (E.length > 1) { a = b(E.length); if (F == a) a++; a %= E.length; F = a } return E[a] }; if (a.effects) { if (a.effects.constructor == Array) for (var I = 0; I < a.effects.length; I++) G(a.effects[I]); else G(a.effects) } if (!E.length) E = g(z); var J = a.display || {}; J.width = a.width; J.height = a.height; var K = J.loading || {}; var L = J.description || null; var M = J.navigation || null; var N = J.buttons || null; var O = { width: J.width, height: J.height, position: "absolute", top: 0, left: 0, display: "block" }; var P = document.getElementById(a.container); d(P, "onmouseover", function () { t = true; if (N && N.hide) q(bf.style); if (L && L.hide && !D) q(ba.style); if (J.pause) bn(false) }); d(P, "onmouseout", function () { t = false; if (N && N.hide) p(bf.style); if (L && L.hide && !D) p(ba.style); if (J.pause) bn(true) }); if (D) { for (var I = 0; I < P.childNodes.length; I++) { if (P.childNodes[I].nodeType == 1) { v.push(P.childNodes[I].cloneNode(true)); p(P.childNodes[I].style) } } } else { for (var I = 0; I < P.childNodes.length; I++) { if (P.childNodes[I].nodeType == 1) { if (P.childNodes[I].tagName == "A") { var Q = P.childNodes[I].getElementsByTagName("IMG"); if (Q.length) { v.push(Q[0].src); x[v.length - 1] = P.childNodes[I] } else w[v.length - 1] = P.childNodes[I] } else if (P.childNodes[I].tagName == "IMG") { v.push(P.childNodes[I].src); if (P.childNodes[I].useMap) { var R = document.getElementsByTagName("MAP"), S; if (R.length) { for (var T = 0; T < R.length; T++) { if (R[T].name && P.childNodes[I].useMap.replace(/^[^#]*#/, "") == R[T].name) S = R[T] } } if (S) x[v.length - 1] = S } } else if (P.childNodes[I].tagName == "MAP") continue; else w[v.length - 1] = P.childNodes[I]; p(P.childNodes[I].style) } } for (var I = 0; I < v.length; I++) f(v[I]) } var U = s("DIV", { width: J.width, height: J.height, position: "relative" }); P.appendChild(U); var V = s("DIV", O); U.appendChild(V); partsCont = U; if (D) var W = A; else { var X = s("DIV", O); partsCont.appendChild(X); var W = function () { X.innerHTML = ""; value = x[e]; if (value) { if (value.tagName == "MAP") { var a = s("IMG", O); a.src = v[e]; a.useMap = "#" + value.name } else { var a = s("A", O); a.href = value.href; a.target = value.target } o(a.style, { opacity: 0, background: "#000000" }); a.onfocus = function () { this.blur() }; X.appendChild(a) } } } if (D) var Y = A; else { var Z = s("DIV"); partsCont.appendChild(Z); if (K.background) { var $ = g(O); $.background = K.background; if (K.opacity) $.opacity = K.opacity; Z.appendChild(s("DIV", $)) } if (K.image) { var _ = g(O); _.background = "url(" + K.image + ") no-repeat center center"; Z.appendChild(s("DIV", _)) } var Y = function (a) { if (a) q(Z.style); else p(Z.style); r = a ? "loading" : "free" } } if (L && !D) { var ba = s("DIV"); partsCont.appendChild(ba); if (L.hide) p(ba.style); var bb = { position: "absolute", overflow: "hidden", textAlign: "left" }; if (!L) L = []; L.position = k(L.position, "top,left,right,bottom"); bb.background = L.background || "white"; bb.opacity = L.opacity || .5; bb.width = L.position == "top" || L.position == "bottom" ? J.width : L.width || J.width * .2; bb.height = L.position == "left" || L.position == "right" ? J.height : L.height || J.height * .2; bb[L.position == "bottom" ? "bottom" : "top"] = 0; bb[L.position == "right" ? "right" : "left"] = 0; var bc = s("DIV", bb); ba.appendChild(bc); bb.opacity = 1; bb.background = ""; var bd = s("DIV", bb); ba.appendChild(bd); var be = function () { bd.innerHTML = ""; n(ba.style, "visibility", "hidden"); var a = w[e]; if (a) { n(ba.style, "visibility", "visible"); a = a.cloneNode(true); q(a.style); bd.appendChild(a); if (t) q(ba.style) } } } else var be = A; if (N) { var bf = s("DIV"); partsCont.appendChild(bf); if (N.hide) p(bf.style); var bg = s("A"); bf.appendChild(bg); bg.href = "javascript:void(0);"; var bh = bg.cloneNode(true); bf.appendChild(bh); bg.onfocus = function () { this.blur() }; bh.onfocus = function () { this.blur() }; bg.onclick = function () { c.prev() }; bh.onclick = function () { c.next() }; if (N.prev.label) bg.innerHTML = typeof N.prev.label == "string" ? N.prev.label : "prev"; if (N.prev.label) bh.innerHTML = typeof N.next.label == "string" ? N.next.label : "next"; if (N.prev.className) bg.className = N.prev.className; if (N.next.className) bh.className = N.next.className; if (N.opacity || N.prev.opacity) l(bg.style, N.opacity || N.prev.opacity); if (N.opacity || N.next.opacity) l(bh.style, N.opacity || N.next.opacity) } if (M) { var bi = document.getElementById(M.container); var bj; if (M.prev) { bj = s("A"); if (M.prev.label) bj.innerHTML = typeof M.prev.label == "string" ? M.prev.label : "Prev"; if (M.prev.className) bj.className = M.prev.className; bj.href = "javascript:void(0);"; bj.onfocus = function () { this.blur() }; bj.onclick = function () { c.prev() }; bi.appendChild(bj) } var bk = []; for (var I = 0; I < v.length; I++) { bj = s("li"); if (M.label) { var Q = '<img src="' + v[I].toString().replace(".jpg", "k.jpg") + '"/>'; bj.innerHTML = typeof M.label == "string" ? Q : I + 1 } if (M.className) bj.className = M.className; bj.href = "javascript:void(0);"; bj.id = a.container + "_SliderNavigation" + I; bj.onfocus = function () { this.blur() }; bj.onclick = function () { c.go(this.id.replace(/[^\d]+/g, "")) }; bk.push(bj); bi.appendChild(bj) } if (M.next) { bj = s("A"); if (M.next.label) bj.innerHTML = typeof M.next.label == "string" ? M.next.label : "Next"; if (M.next.className) bj.className = M.next.className; bj.href = "javascript:void(0);"; bj.onfocus = function () { this.blur() }; bj.onclick = function () { c.next() }; bi.appendChild(bj) } var bl = function () { for (var a = 0; a < bk.length; a++) bk[a].className = bk[a].className.replace(/\bactive\b/g, ""); bk[e].className += " active" } } else var bl = A; if (J.autoplay) { var bm; var bn = function (a) { if (bm) clearTimeout(bm); if (a && !(t && J.pause)) bm = setTimeout(c.next, J.autoplay) } } else var bn = A; var bo = function (a) { C("before"); Y(false); r = "busy"; be(); W(); bl(); u({ effect: H(), display: J, container: V, src: a, callback: function (a) { if (i) i.parentNode.removeChild(i); i = a; r = "free"; bn(true); C("after") }, contentmode: D }) }; c.next = function () { c.go(e + 1) }; c.prev = function () { c.go(e - 1) }; c.go = function (a) { a = (v.length + a) % v.length; bn(false); if (r != "free" || e == a) return; h = e; e = a; C("loading"); Y(true); if (D) bo(v[e]); else f(v[e], bo, J.always_show_loading) }; c.get = function (a) { switch (a) { case "length": return v.length; break; case "current": return e; break; case "previous": return h; break; case "images": return v; break; case "links": return x; break; case "descriptions": return w; break } }; if (J.mousewheel) { onmousewheel = function (a) { if (a > 0) c.prev(); else if (a < 0) c.next(); return true }; function bp(a) { var b = 0; if (!a) a = window.event; if (a.wheelDelta) { b = a.wheelDelta / 120; if (window.opera) b = -b } else if (a.detail) b = -a.detail / 3; if (b && onmousewheel(b)) { if (a.preventDefault) a.preventDefault(); a.returnValue = false } } if (P.addEventListener) { P.addEventListener("DOMMouseScroll", bp, false); P.addEventListener("mousewheel", bp, false) } else d(P, "onmousewheel", bp) } c.go(0); return c } }
