﻿(function(a) { a.fn.extend({ gallery: function(b) { var c = a.extend({ random: true, autoscroll: false, circular: true, masked: true, animation: "blind", noofthumbnails: 6, thumbnailscrollspeed: 2000, animationspeed: 1000, stickthumbnails: false, imagedisplaytime: 3000 }, b); return this.each(function() { var E; var p; var aB; var D = 0; var av = 0; var e = null; var aq = null; var aa; var r; var x; var ao; var l; var aH; var h; var A; var j = 0; var aG = 0; var v = 0; var O = a("<div/>"); var af; var H; var f = c.noofthumbnails; var s = c.thumbnailscrollspeed; var am; var T; var y; var V; var aF; var ap = "forward"; var al = "forward"; var at = true; var o = false; var aA = 0; var g = 0; var m = 0; var G; var k; var aC; var aJ = false; var N = ["fadein", "blind", "fallingbars", "appear", "fillin", "explode", "jumble", "risingbars", "paint", "diagonal", "crunchingbars", "slidein"]; E = a(this).addClass("min-gallery"); var ai = E.find("a"); aB = E.find("img"); ai.remove(); aa = a("<div/>").addClass("preview"); r = a("<div/>").addClass("bottom"); x = a("<div/>").addClass("short"); ao = a("<div/>").css("display", "none").addClass("long"); l = a("<div/>").addClass("left"); aH = a("<div/>").addClass("right"); h = a("<div/>").addClass("middle"); A = a("<div/>").addClass("thumb-nails"); ao.append(A).mouseleave(function() { if (!c.stickthumbnails) { if (ao.css("display") != "none") { } x.css("display", ""); ac(); ao.stop(false, true).animate({ marginTop: a(".bottom").height() }, c.animationspeed, function() { a(this).css("display", "none") }) } }); if (c.stickthumbnails) { a("<div/>").html("close").addClass("close").click(function() { x.css("display", ""); aJ = false; ac(); ao.stop(false, true).animate({ marginTop: a(".bottom").height() }, c.animationspeed, function() { a(this).css("display", "none") }) }).appendTo(ao) } ai.each(function(i) { a(this).addClass("" + (i + 1)) }); aB.each(function(i) { a(this).addClass("" + (i + 1)) }); E.append(aa).append(r.append(ao).append(x.append(l).append(h).append(aH))); ao.append(a("<div/>").addClass("clear-fix")); var t = a("<div/>").addClass("thumbnails-contents"); var J = a("<div/>").addClass("thumbnails-back"); var S = a("<div/>").addClass("thumbnails-forward"); A.append(J).append(t).append(S); A.addClass("thumbnails").append(a("<div/>").addClass("clear-fix")); j = aB.length; af = parseInt(j / f); if (j % f > 0) { af++ } var M = 1; for (var P = 0; P < af; P++) { m = P * f; g = m + f; var ad; if (g >= j) { var I = m; m -= (g - j); g = j; ad = aB.slice(I, g); var K = 0; for (var R = m; R < I; R++) { ad.splice(K, 0, a(aB[R]).clone(true)); K++ } } else { ad = aB.slice(m, g) } var ak = a("<div/>"); ad.each(function(aK, i) { ak.append(a(this)) }); t.append(ak) } t.find("img").click(function() { if (!at) { D = parseInt(a(this).attr("class").split(" ")[0]) - 1; av = aa.find("img.previous").prevAll().length; if (D != av) { aI() } } }); if (c.masked) { a("img", t).addClass("thumbnail-inactive").hover(function() { a(this).removeClass("thumbnail-inactive").addClass("thumbnail-active") }, function() { a(this).removeClass("thumbnail-active").addClass("thumbnail-inactive") }) } function w() { at = false; clearTimeout(H); A.children().clearQueue(); A.children().stop(false, true) } function X() { clearTimeout(H); if (c.autoscroll) { H = setTimeout(F, c.delay) } } function F() { if (ap == "forward") { if (aG <= 0) { aG = af } } else { if (aG >= af - 1) { aG = -1 } } an(); H = setTimeout(F, c.delay) } function au(i) { return i + "px" } function an() { at = true; var aK = a(".visible", t); var i = s; if (ap == "forward") { aG--; if (aG >= 0) { a(">div:eq(" + aG + ")", t).css("left", au(aF)).removeClass("hidden").addClass("visible").stop(false, true).animate({ left: "-=" + au(aF) }, i, function() { at = false; D = parseInt(a(this).find("img:eq(0)").attr("class").split(" ")[0]) - 1; av = aa.find("img.previous").prevAll().length; aI() }); aK.stop(false, true).animate({ left: "-=" + au(aF) }, i, function() { a(this).removeClass("visible").addClass("hidden"); a(this).css("left", T); at = false }) } else { aG = 0 } } else { if (ap == "backward") { aG++; if (aG < af) { a(">div:eq(" + aG + ")", t).removeClass("hidden").addClass("visible").css({ left: au(-aF) }).stop(false, true).animate({ left: "+=" + au(aF) }, i, function() { at = false; D = parseInt(a(this).find("img:eq(0)").attr("class").split(" ")[0]) - 1; av = aa.find("img.previous").prevAll().length; aI() }); aK.stop(false, true).animate({ left: "+=" + au(aF) }, i, function() { a(this).removeClass("visible").addClass("hidden"); a(this).css("left", au(-aF)); at = false }) } else { aG = af - 1 } } } } a("> div > div", t).css("cursor", "pointer"); aG = 0; a("> div", t).addClass("hidden"); a("> div > div", t).css("display", ""); T = a("> div:eq(" + aG + ")", t).css("left"); aF = t.width(); a("> div", t).css("left", "-" + aF + "px"); at = false; A.mouseenter(function() { if (c.autoscroll) { w() } }).mouseleave(function() { if (c.autoscroll) { X() } }); if (c.autoscroll) { X() } S.click(function() { if (!at) { ap = "forward"; if (c.circular) { if (aG <= 0) { aG = af } } an() } }); J.click(function() { if (!at) { ap = "backward"; if (c.circular) { if (aG >= af - 1) { aG = -1 } } an() } }); aa.append(a("<img/>").css({ top: aa.height() / 2, left: aa.width() / 2 }).attr("src", "loading.gif")); var C = 0; for (var P = 0; P < ai.length; P++) { var Q = a("<img/>").attr("src", a(ai[P]).attr("href")); Q.load(function() { C++; if (C == ai.length) { aa.find("img").remove(); a.each(ai, function(i, aK) { aa.append(a("<img/>").css("display", "none").addClass(a(aK).attr("class")).attr("src", "" + a(aK).attr("href") + "").attr("alt", a(aK).attr("title"))) }); p = aa.find("img"); p.css("z-index", "98"); aa.find("img:eq(0)").css("z-index", "101"); aa.find("img:gt(0)").css("z-index", "98").css("display", ""); E.find("a").remove(); D = 0; av = p.length; ac() } }) } var ah = a("<div/>").addClass("gallery-nav-left"); var W = a("<div/>").addClass("gallery-nav-right"); ah.html("&nbsp;"); W.html("&nbsp;"); var aj = a("<div/>").addClass("short-thumbnail-container"); h.append(ah).append(aj).append(W); for (var P = 0; P < 9; P++) { aj.append(a("<div/>").addClass("thumbnail-button")) } aj.click(function() { ax(); ao.css("display", "").stop(false, true).animate({ marginTop: 0 }, c.animationspeed, function() { x.css("display", "none"); at = false; aG = parseInt(D / c.noofthumbnails) + 1; an() }) }); ah.click(function() { if (!o) { al = "backward"; ax(); aJ = false; ac() } }); W.click(function() { if (!o) { al = "forward"; ax(); aJ = false; ac() } }); function az() { if (al == "forward") { if (D < p.length - 1) { D++ } else { D = 0 } av = D - 1; if (av == -1) { av = p.length - 1 } } else { if (al == "backward") { if (D > 0) { D-- } else { D = p.length - 1 } av = D + 1; if (av == p.length) { av = 0 } } } } function ax() { clearInterval(aC); o = false; at = false } function ac() { if (!aJ) { aJ = true; aI(); az() } aC = setInterval(function() { aI(); az() }, c.imagedisplaytime) } function aD() { if (c.random) { return N[Math.floor(Math.random() * 12)] } else { return c.animation } } function aI() { if (!o) { o = true; var i = aD(); e = a(p[D]); aq = a(p[av]); a(".anim-wrapper", E).remove(); p.removeClass("previous"); G = e.attr("src"); e.addClass("previous"); k = a("<div/>").addClass("anim-wrapper").css({ width: aa.width(), height: aa.height(), position: "absolute", zIndex: 101 }); if (i != "fadein") { aa.append(k) } if (i == "fadein") { ay() } else { if (i == "blind") { ag() } else { if (i == "fallingbars") { d() } else { if (i == "risingbars") { ab() } else { if (i == "crunchingbars") { aE() } else { if (i == "slidein") { B() } else { if (i == "fillin") { Y() } else { if (i == "appear") { L() } else { if (i == "explode") { q() } else { if (i == "jumble") { u() } else { if (i == "diagonal") { aw() } else { if (i == "paint") { ae() } } } } } } } } } } } } l.html(a(p[D]).attr("alt")); aH.html("" + (D + 1) + " of " + p.length + "") } } function aw() { var aT = Math.ceil(aa.width() / 6); var aQ = Math.ceil(aa.height() / 6); for (var aU = 0; aU < 6; aU++) { for (var aM = 0; aM < 6; aM++) { a("<div/>").addClass("dg").css({ width: aT, height: aQ, left: Math.ceil(aM * aT), top: Math.ceil(aU * aQ), position: "absolute", opacity: 0 }).css({ "background-image": "url(" + G + ")", "background-position": "" + (-(aM * aT)) + "px " + (-(aU * aQ)) + "px" }).appendTo(k) } } var aK = 0; var aV = 6; var aS = 6; var aR; var aN = c.animationspeed / 18; var aL = new Array(17); for (var aP = 0; aP < aV + aS - 1; aP++) { aL[aP] = new Array(); for (var aO = Math.min(aV, aP + 1) - 1; aO >= Math.max(0, aP - aS + 1); aO--) { aL[aP].push((aO * aS) + aP - aO) } } z(aL, aN, 0) } function z(aM, aO, aL) { var aK = true; if (aM[aL]) { for (var aN = 0; aN < aM[aL].length; aN++) { var aP = aM[aL][aN]; a(".anim-wrapper .dg:eq(" + aP + ")", E).stop(false, true).animate({ opacity: 1 }, aO, function() { if (aK) { z(aM, aO, ++aL); if (aL == 11) { e.addClass("previous").css("z-index", "100").fadeIn("slow", function() { aq.css("z-index", "98") }); o = false } aK = false } }) } } } function u() { var aQ = Math.ceil(aa.width() / 4); var aO = Math.ceil(aa.height() / 4); var aM = 0; var aR = 0; for (var aS = 0; aS < 4; aS++) { if (aS == 0) { aM = 0; aR = 0 } if (aS == 1) { aM = aa.width() - aQ; aR = 0 } if (aS == 2) { aM = 0; aR = aa.height() - aO } if (aS == 4) { aM = aa.width() - aQ; aR = aa.height() - aO } aM = Math.ceil(aM); aR = Math.ceil(aR); for (var aK = 0; aK < 4; aK++) { a("<div/>").css({ width: aQ, height: aO, left: aM, top: aR, opacity: 0, position: "absolute" }).css("background-image", "url(" + G + ")").addClass(" " + (aK * aQ) + "").addClass("" + (aS * aO) + "").css("background-position", "" + (-(aK * aQ)) + "px " + (-(aS * aO)) + "px").appendTo(k) } } var aN = k.find("div"); var aP = 0; var aL = c.animationspeed; var i = n(aN); a.each(i, function(aV, aU) { var aX = a(aU); var aT = parseFloat(aX.attr("class").split(" ")[0]); var aW = aW = parseFloat(aX.attr("class").split(" ")[1]); aX.stop(false, true).animate({ left: aT, top: aW, opacity: 1 }, aL, function() { ++aP; if (aP == aN.length) { e.addClass("previous").css("z-index", "100").fadeIn("slow", function() { aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false }) } }) }) } function Z(aK, i) { return (parseInt(Math.random() * 10) % 2) } function n(aM) { var i, aL, aK = aM.length; if (aK) { while (--aK) { aL = Math.floor(Math.random() * (aK + 1)); i = aM[aL]; aM[aL] = aM[aK]; aM[aK] = i } } return aM } function ae() { var i = Math.ceil(aa.width() / 4); var aL = Math.ceil(aa.height() / 4); for (var aO = 0; aO < 4; aO++) { for (var aK = 0; aK < 4; aK++) { a("<div/>").css({ width: i, height: aL, left: Math.ceil(aK * i), top: Math.ceil(aO * aL), position: "absolute" }).append(a("<div/>").addClass("rboxes").css({ "background-image": "url(" + G + ")", width: 0, height: 0, opacity: 0, display: "none", "background-position": "" + (-(aK * i)) + "px " + (-(aO * aL)) + "px" })).appendTo(k) } } var aN = k.find(".rboxes"); var aM = c.animationspeed / aN.length; ar(aN, aM / 2, i, aL) } function ay() { p.removeClass("previous"); e.css({ "z-index": "101", opacity: 0 }); e.stop(true, true).animate({ opacity: 1 }, c.animationspeed, function() { if (aq != null) { aq.css("z-index", "98") } a(this).addClass("previous"); o = false }) } function ag() { for (var aK = 0; aK < 12; aK++) { a("<div/>").css({ width: 0, height: aa.find("img:eq(0)").height(), left: Math.ceil((aK * aa.width() / 12)), position: "absolute" }).css({ "background-image": "url(" + G + ")", "background-position": "" + (-(aK * aa.width() / 12)) + "px 0px" }).appendTo(k) } k.find("div").animate({ width: aa.width() / 12 }, c.animationspeed, function() { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false }) } function d() { for (var aL = 0; aL < 12; aL++) { a("<div/>").css({ width: Math.ceil(aa.width() / 12), height: aa.find("img:eq(0)").height(), marginTop: -(aa.find("img:eq(0)").height()), left: Math.ceil((aL * aa.width() / 12)), position: "absolute", backgroundImage: "url(" + G + ")", backgroundPosition: "" + (-(aL * aa.width() / 12)) + "px 0px", opacity: 0 }).appendTo(k) } var aO = k.find("div"); var aN = c.animationspeed; var aK = 0; for (var aM = 0; aM < aO.length; aM++) { aN -= 50; a(aO[aM]).stop(false, true).animate({ marginTop: 0, opacity: 1 }, aN, function() { ++aK; if (aK == aO.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function ab() { for (var aL = 0; aL < 12; aL++) { a("<div/>").css({ width: Math.ceil(aa.width() / 12), height: aa.find("img:eq(0)").height(), marginTop: (aa.find("img:eq(0)").height()), left: Math.ceil((aL * aa.width() / 12)), position: "absolute", backgroundImage: "url(" + G + ")", backgroundPosition: "" + (-(aL * aa.width() / 12)) + "px 0px", opacity: 0 }).appendTo(k) } var aO = k.find("div"); var aN = c.animationspeed; var aK = 0; for (var aM = 0; aM < aO.length; aM++) { aN -= 50; a(aO[aM]).stop(false, true).animate({ marginTop: 0, opacity: 1 }, aN, function() { ++aK; if (aK == aO.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function aE() { for (var aL = 0; aL < 12; aL++) { a("<div/>").css({ width: Math.ceil(aa.width() / 12), height: aa.find("img:eq(0)").height(), marginTop: ((aL % 2 == 0) ? -(aa.find("img:eq(0)").height()) : aa.find("img:eq(0)").height()), left: Math.ceil((aL * aa.width() / 12)), position: "absolute", backgroundImage: "url(" + G + ")", backgroundPosition: "" + (-(aL * aa.width() / 12)) + "px 0px", opacity: 0 }).appendTo(k) } var aO = k.find("div"); var aN = c.animationspeed; var aK = 0; for (var aM = 0; aM < aO.length; aM++) { a(aO[aM]).stop(false, true).animate({ marginTop: 0, opacity: 1 }, aN, function() { ++aK; if (aK == aO.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function B() { for (var aL = 0; aL < 12; aL++) { a("<div/>").css({ width: aa.width(), height: Math.ceil(aa.height() / 12), marginLeft: -aa.width(), top: Math.ceil((aL * aa.height() / 12)), position: "absolute", backgroundImage: "url(" + G + ")", backgroundPosition: "0px " + (-(aL * aa.height() / 12)) + "px", opacity: 0 }).appendTo(k) } var aO = k.find("div"); var aN = c.animationspeed; var aK = 0; for (var aM = 0; aM < aO.length; aM++) { aN -= 50; a(aO[aM]).stop(false, true).animate({ marginLeft: 0, opacity: 1 }, aN, function() { ++aK; if (aK == aO.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function Y() { for (var aL = 0; aL < 12; aL++) { a("<div/>").css({ width: aa.width(), height: Math.ceil(aa.height() / 12), marginLeft: ((aL % 2 == 0) ? -aa.width() : aa.width()), top: Math.ceil((aL * aa.height() / 12)), position: "absolute", backgroundImage: "url(" + G + ")", backgroundPosition: "0px " + (-(aL * aa.height() / 12)) + "px", opacity: 0 }).appendTo(k) } var aO = k.find("div"); var aN = c.animationspeed; var aK = 0; for (var aM = 0; aM < aO.length; aM++) { a(aO[aM]).stop(false, true).animate({ marginLeft: 0, opacity: 1 }, aN, function() { ++aK; if (aK == aO.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function L() { var i = Math.ceil(aa.width() / 4); var aL = Math.ceil(aa.height() / 4); for (var aM = 0; aM < 4; aM++) { for (var aK = 0; aK < 4; aK++) { a("<div/>").css({ width: i, height: aL, left: Math.ceil(aK * i), top: Math.ceil(aM * aL), position: "absolute" }).append(a("<div/>").addClass("checker").css({ backgroundImage: "url(" + G + ")", width: 0, height: 0, "background-position": "" + (-(aK * i)) + "px " + (-(aM * aL)) + "px" })).appendTo(k) } } k.find(".checker").animate({ width: i, height: aL }, c.animationspeed, function() { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false }) } function q() { var aQ = Math.ceil(aa.width() / 4); var aN = Math.ceil(aa.height() / 4); for (var aS = 0; aS < 4; aS++) { for (var aK = 0; aK < 4; aK++) { a("<div/>").css({ width: aQ, height: aN, left: Math.ceil((aa.width() / 2 - aQ / 2)), top: Math.ceil((aa.height() / 2 - aN / 2)), opacity: 0, position: "absolute" }).css("background-image", "url(" + G + ")").addClass(" " + (aK * aQ) + "").addClass("" + (aS * aN) + "").css("background-position", "" + (-(aK * aQ)) + "px " + (-(aS * aN)) + "px").appendTo(k) } } var aM = k.find("div"); var aO = 0; for (var aP = 0; aP < aM.length; aP++) { var i = a(aM[aP]); var aL = parseFloat(i.attr("class").split(" ")[0]); var aR = 0; if (aP > 0) { aR = parseFloat(i.attr("class").split(" ")[1]) } i.stop(false, true).animate({ left: aL, top: aR, opacity: 1 }, c.animationspeed, function() { ++aO; if (aO == aM.length) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); k.fadeOut("fase", function() { a(this).remove() }); o = false } }) } } function ar(aL, aM, i, aK) { aL.eq(0).css("display", "").animate({ width: i, height: aK, opacity: 1 }, aM, function() { ar(aL.slice(1), aM, i, aK); if (aL.length == 1) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); o = false } }) } function U(aN, aO) { var aM = Math.floor(Math.random() * (aN.length)); var aL = aN.eq(aM); if (aL.length > 0) { var i = parseFloat(aL.attr("class").split(" ")[0]); var aK = 0; if (aL.attr("class").split(" ").length > 1) { aK = parseFloat(aL.attr("class").split(" ")[1]) } aN.eq(0).css("display", "").animate({ left: i, top: aK, opacity: 1 }, aO, function() { U(aN.slice(1), aO); if (aN.length == 1) { e.fadeIn("slow", function() { a(this).css("z-index", "100") }); aq.css("z-index", "98"); a(".anim-wrapper").fadeOut("fast"); o = false } }) } } }) } }) })(jQuery);
