(function(a) {
	var b;
	a.fn.setTransition = function(c) {
		b.setTransition(c)
	};
	a.fn.setTextEffect = function(c) {
		b.setTextEffect(c)
	};
	a.fn.setTooltipType = function(c) {
		b.setTooltipType(c)
	};
	a.fn.setCpanelAlign = function(c) {
		b.setCpanelAlign(c)
	};
	a.fn.setCpanelPos = function(c) {
		b.setCpanelPos(c)
	};
	a.fn.setThumbs = function(c) {
		b.setThumbs(c)
	};
	a.fn.setDButtons = function(c) {
		b.setDButtons(c)
	};
	a.fn.setPlayButton = function(c) {
		b.setPlayButton(c)
	};
	a.fn.setTooltip = function(c) {
		b.setTooltip(c)
	};
	a.fn.setTimerBar = function(c) {
		b.setTimerBar(c)
	};
	a.fn.setMouseoverPause = function(c) {
		b.setMouseoverPause(c)
	};
	a.fn.setMouseoverCPanel = function(c) {
		b.setMouseoverCPanel(c)
	};
	a.fn.setMouseoverText = function(c) {
		b.setMouseoverText(c)
	};
	a.fn.wtRotator = function(B) {
		var y = "TL";
		var e = "TR";
		var w = "TC";
		var u = "BL";
		var f = "BR";
		var n = "BC";
		var k = "inside";
		var q = "outside";
		var h = new Array(42);
		h.fade = 0;
		h["block.top"] = 1;
		h["block.right"] = 2;
		h["block.bottom"] = 3;
		h["block.left"] = 4;
		h["block.drop"] = 5;
		h["diag.fade"] = 6;
		h["diag.exp"] = 7;
		h["rev.diag.fade"] = 8;
		h["rev.diag.exp"] = 9;
		h["block.fade"] = 10;
		h["block.exp"] = 11;
		h["block.top.zz"] = 12;
		h["block.bottom.zz"] = 13;
		h["block.left.zz"] = 14;
		h["block.right.zz"] = 15;
		h["spiral.in"] = 16;
		h["spiral.out"] = 17;
		h["vert.tl"] = 18;
		h["vert.tr"] = 19;
		h["vert.bl"] = 20;
		h["vert.br"] = 21;
		h["fade.left"] = 22;
		h["fade.right"] = 23;
		h["alt.left"] = 24;
		h["alt.right"] = 25;
		h["blinds.left"] = 26;
		h["blinds.right"] = 27;
		h["vert.random.fade"] = 28;
		h["horz.tl"] = 29;
		h["horz.tr"] = 30;
		h["horz.bl"] = 31;
		h["horz.br"] = 32;
		h["fade.top"] = 33;
		h["fade.bottom"] = 34;
		h["alt.top"] = 35;
		h["alt.bottom"] = 36;
		h["blinds.top"] = 37;
		h["blinds.bottom"] = 38;
		h["horz.random.fade"] = 39;
		h.none = 40;
		h.random = 41;
		var z = new Array(4);
		z.fade = 0;
		z.down = 1;
		z.right = 2;
		z.none = 3;
		var p = 5000;
		var x = 800;
		var v = 600;
		var m = 600;
		var g = "updatetext";
		function c(G, P, N, R, M, H, I) {
			var J;
			var E;
			var L;
			var Q = null;
			var S = function() {
				L = Math.ceil(P / R);
				var U = "";
				for ( var T = 0; T < L; T++) {
					U += "<div class='vpiece' id='" + T + "'></div>"
				}
				G.addToScreen(U);
				J = a("div.vpiece", G.$el);
				E = new Array(L);
				J.each(function(V) {
					a(this).css({
						left : (V * R),
						height : N
					});
					E[V] = a(this)
				})
			};
			this.clear = function() {
				clearInterval(Q);
				J.stop(true).css({
					"z-index" : 2,
					opacity : 0
				})
			};
			this.displayContent = function(T, U) {
				D(T, U);
				if (U == h["vert.random.fade"]) {
					O(T)
				} else {
					F(T, U)
				}
			};
			var D = function(T, U) {
				switch (U) {
				case h["vert.tl"]:
				case h["vert.tr"]:
					K(T, -N, 1, R, false);
					break;
				case h["vert.bl"]:
				case h["vert.br"]:
					K(T, N, 1, R, false);
					break;
				case h["alt.left"]:
				case h["alt.right"]:
					K(T, 0, 1, R, true);
					break;
				case h["blinds.left"]:
				case h["blinds.right"]:
					K(T, 0, 1, 0, false);
					break;
				default:
					K(T, 0, 0, R, false)
				}
			};
			var K = function(T, Z, aa, V, Y) {
				var ac = T.attr("src");
				var ab = (N - T.height()) / 2;
				var U = (P - T.width()) / 2;
				for ( var W = 0; W < L; W++) {
					var X = ((-W * R) + U);
					if (Y) {
						Z = (W % 2) == 0 ? -N : N
					}
					a(J.get(W)).css({
						background : M + " url('" + ac + "') no-repeat",
						backgroundPosition : X + "px " + ab + "px",
						opacity : aa,
						top : Z,
						width : V,
						"z-index" : 3
					})
				}
			};
			var F = function(V, W) {
				var Y, U, X, T;
				switch (W) {
				case h["vert.tl"]:
				case h["vert.bl"]:
				case h["fade.left"]:
				case h["blinds.left"]:
				case h["alt.left"]:
					Y = 0;
					U = L - 1;
					X = 1;
					break;
				default:
					Y = L - 1;
					U = 0;
					X = -1
				}
				Q = setInterval(function() {
					a(J.get(Y)).animate({
						top : 0,
						opacity : 1,
						width : R
					}, H, "", function() {
						if (a(this).attr("id") == U) {
							G.setComplete(V)
						}
					});
					if (Y == U) {
						clearInterval(Q)
					}
					Y += X
				}, I)
			};
			var O = function(U) {
				s(E);
				var T = 0;
				var V = 0;
				Q = setInterval(function() {
					E[T++].animate({
						opacity : 1
					}, H, "", function() {
						if (++V == L) {
							G.setComplete(U)
						}
					});
					if (T == L) {
						clearInterval(Q)
					}
				}, I)
			};
			S()
		}
		function t(G, P, N, R, M, H, I) {
			var J;
			var E;
			var L;
			var Q = null;
			var S = function() {
				L = Math.ceil(N / R);
				var U = "";
				for ( var T = 0; T < L; T++) {
					U += "<div class='hpiece' id='" + T + "'><!-- --></div>"
				}
				G.addToScreen(U);
				J = a("div.hpiece", G.$el);
				E = new Array(L);
				J.each(function(V) {
					a(this).css({
						top : (V * R),
						width : P
					});
					E[V] = a(this)
				})
			};
			this.clear = function() {
				clearInterval(Q);
				J.stop(true).css({
					"z-index" : 2,
					opacity : 0
				})
			};
			this.displayContent = function(T, U) {
				D(T, U);
				if (U == h["horz.random.fade"]) {
					O(T)
				} else {
					F(T, U)
				}
			};
			var D = function(T, U) {
				switch (U) {
				case h["horz.tr"]:
				case h["horz.br"]:
					K(T, P, 1, R, false);
					break;
				case h["horz.tl"]:
				case h["horz.bl"]:
					K(T, -P, 1, R, false);
					break;
				case h["alt.top"]:
				case h["alt.bottom"]:
					K(T, 0, 1, R, true);
					break;
				case h["blinds.top"]:
				case h["blinds.bottom"]:
					K(T, 0, 1, 0, false);
					break;
				default:
					K(T, 0, 0, R, false)
				}
			};
			var K = function(T, W, Z, ab, Y) {
				var ac = T.attr("src");
				var aa = (N - T.height()) / 2;
				var U = (P - T.width()) / 2;
				for ( var X = 0; X < L; X++) {
					var V = ((-X * R) + aa);
					if (Y) {
						W = (X % 2) == 0 ? -P : P
					}
					a(J.get(X)).css({
						background : M + " url('" + ac + "') no-repeat",
						backgroundPosition : U + "px " + V + "px",
						opacity : Z,
						left : W,
						height : ab,
						"z-index" : 3
					})
				}
			};
			var F = function(U, V) {
				var X, T, W;
				switch (V) {
				case h["horz.tl"]:
				case h["horz.tr"]:
				case h["fade.top"]:
				case h["blinds.top"]:
				case h["alt.top"]:
					X = 0;
					T = L - 1;
					W = 1;
					break;
				default:
					X = L - 1;
					T = 0;
					W = -1
				}
				Q = setInterval(function() {
					a(J.get(X)).animate({
						left : 0,
						opacity : 1,
						height : R
					}, H, "", function() {
						if (a(this).attr("id") == T) {
							G.setComplete(U)
						}
					});
					if (X == T) {
						clearInterval(Q)
					}
					X += W
				}, I)
			};
			var O = function(U) {
				s(E);
				var T = 0;
				var V = 0;
				Q = setInterval(function() {
					E[T++].animate({
						opacity : 1
					}, H, "", function() {
						if (++V == L) {
							G.setComplete(U)
						}
					});
					if (T == L) {
						clearInterval(Q)
					}
				}, I)
			};
			S()
		}
		function l(N, O, J, P, M, D, W) {
			var L;
			var E;
			var Q;
			var I;
			var K;
			var Y;
			var X;
			var V = function() {
				I = Math.ceil(J / P);
				K = Math.ceil(O / P);
				Y = I * K;
				var ac = "";
				for ( var ab = 0; ab < I; ab++) {
					for ( var aa = 0; aa < K; aa++) {
						ac += "<div class='block' id='" + ab + "-" + aa
								+ "'></div>"
					}
				}
				N.addToScreen(ac);
				E = a("div.block", N.$el);
				E.data({
					tlId : "0-0",
					trId : "0-" + (K - 1),
					blId : (I - 1) + "-0",
					brId : (I - 1) + "-" + (K - 1)
				});
				var Z = 0;
				Q = new Array(Y);
				L = new Array(I);
				for ( var ab = 0; ab < I; ab++) {
					L[ab] = new Array(K);
					for ( var aa = 0; aa < K; aa++) {
						L[ab][aa] = Q[Z++] = E.filter("#" + (ab + "-" + aa))
								.data("top", ab * P)
					}
				}
			};
			this.clear = function() {
				clearInterval(X);
				E.stop(true).css({
					"z-index" : 2,
					opacity : 0
				})
			};
			this.displayContent = function(Z, aa) {
				switch (aa) {
				case h["diag.fade"]:
					S(Z, 0, P, 0);
					T(Z, {
						opacity : 1
					}, false);
					break;
				case h["diag.exp"]:
					S(Z, 0, 0, 0);
					T(Z, {
						opacity : 1,
						width : P,
						height : P
					}, false);
					break;
				case h["rev.diag.fade"]:
					S(Z, 0, P, 0);
					T(Z, {
						opacity : 1
					}, true);
					break;
				case h["rev.diag.exp"]:
					S(Z, 0, 0, 0);
					T(Z, {
						opacity : 1,
						width : P,
						height : P
					}, true);
					break;
				case h["block.fade"]:
					S(Z, 0, P, 0);
					F(Z);
					break;
				case h["block.exp"]:
					S(Z, 1, 0, 0);
					F(Z);
					break;
				case h["block.drop"]:
					S(Z, 1, P, -(I * P));
					F(Z);
					break;
				case h["block.top.zz"]:
				case h["block.bottom.zz"]:
					S(Z, 0, P, 0);
					H(Z, aa);
					break;
				case h["block.left.zz"]:
				case h["block.right.zz"]:
					S(Z, 0, P, 0);
					R(Z, aa);
					break;
				case h["spiral.in"]:
					S(Z, 0, P, 0);
					U(Z, false);
					break;
				case h["spiral.out"]:
					S(Z, 0, P, 0);
					U(Z, true);
					break;
				default:
					S(Z, 1, 0, 0);
					G(Z, aa)
				}
			};
			var S = function(Z, af, aj, ae) {
				var ag = (J - Z.height()) / 2;
				var ab = (O - Z.width()) / 2;
				var ah = Z.attr("src");
				for ( var ad = 0; ad < I; ad++) {
					for ( var ac = 0; ac < K; ac++) {
						var ai = ((-ad * P) + ag);
						var aa = ((-ac * P) + ab);
						L[ad][ac].css({
							background : M + " url('" + ah + "') no-repeat",
							backgroundPosition : aa + "px " + ai + "px",
							opacity : af,
							top : (ad * P) + ae,
							left : (ac * P),
							width : aj,
							height : aj,
							"z-index" : 3
						})
					}
				}
			};
			var T = function(Z, ah, ae) {
				var ag = new Array(Y);
				var aa, ad, ab, ac;
				var ai = (I - 1) + (K - 1);
				if (ae) {
					aa = ai;
					ad = -1;
					ab = -1;
					ac = E.data("tlId")
				} else {
					aa = 0;
					ad = ai + 1;
					ab = 1;
					ac = E.data("brId")
				}
				var af = 0;
				while (aa != ad) {
					i = Math.min(I - 1, aa);
					while (i >= 0) {
						j = Math.abs(i - aa);
						if (j >= K) {
							break
						}
						ag[af++] = L[i][j];
						i--
					}
					aa += ab
				}
				af = 0;
				X = setInterval(function() {
					ag[af++].animate(ah, D, "", function() {
						if (a(this).attr("id") == ac) {
							N.setComplete(Z)
						}
					});
					if (af == Y) {
						clearInterval(X)
					}
				}, W)
			};
			var R = function(ac, ad) {
				var ab = true;
				var aa = 0, Z, af, ae;
				if (ad == h["block.left.zz"]) {
					ae = (K % 2 == 0) ? E.data("trId") : E.data("brId");
					Z = 0;
					af = 1
				} else {
					ae = (K % 2 == 0) ? E.data("tlId") : E.data("blId");
					Z = K - 1;
					af = -1
				}
				X = setInterval(function() {
					L[aa][Z].animate({
						opacity : 1
					}, D, "", function() {
						if (a(this).attr("id") == ae) {
							N.setComplete(ac)
						}
					});
					if (L[aa][Z].attr("id") == ae) {
						clearInterval(X)
					}
					(ab ? aa++ : aa--);
					if (aa == I || aa < 0) {
						ab = !ab;
						aa = (ab ? 0 : I - 1);
						Z += af
					}
				}, W)
			};
			var H = function(ac, ad) {
				var ab = true;
				var aa, Z = 0, af, ae;
				if (ad == h["block.top.zz"]) {
					ae = (I % 2 == 0) ? E.data("blId") : E.data("brId");
					aa = 0;
					af = 1
				} else {
					ae = (I % 2 == 0) ? E.data("tlId") : E.data("trId");
					aa = I - 1;
					af = -1
				}
				X = setInterval(function() {
					L[aa][Z].animate({
						opacity : 1
					}, D, "", function() {
						if (a(this).attr("id") == ae) {
							N.setComplete(ac)
						}
					});
					if (L[aa][Z].attr("id") == ae) {
						clearInterval(X)
					}
					(ab ? Z++ : Z--);
					if (Z == K || Z < 0) {
						ab = !ab;
						Z = (ab ? 0 : K - 1);
						aa += af
					}
				}, W)
			};
			var G = function(ab, ac) {
				var ae = new Array(Y);
				var af;
				var ad = 0;
				switch (ac) {
				case h["block.left"]:
					af = E.data("brId");
					for ( var Z = 0; Z < K; Z++) {
						for ( var aa = 0; aa < I; aa++) {
							ae[ad++] = L[aa][Z]
						}
					}
					break;
				case h["block.right"]:
					af = E.data("blId");
					for ( var Z = K - 1; Z >= 0; Z--) {
						for ( var aa = 0; aa < I; aa++) {
							ae[ad++] = L[aa][Z]
						}
					}
					break;
				case h["block.top"]:
					af = E.data("brId");
					for ( var aa = 0; aa < I; aa++) {
						for ( var Z = 0; Z < K; Z++) {
							ae[ad++] = L[aa][Z]
						}
					}
					break;
				default:
					af = E.data("trId");
					for ( var aa = I - 1; aa >= 0; aa--) {
						for ( var Z = 0; Z < K; Z++) {
							ae[ad++] = L[aa][Z]
						}
					}
				}
				ad = 0;
				X = setInterval(function() {
					ae[ad++].animate({
						width : P,
						height : P
					}, D, "", function() {
						if (a(this).attr("id") == af) {
							N.setComplete(ab)
						}
					});
					if (ad == Y) {
						clearInterval(X)
					}
				}, W)
			};
			var F = function(aa) {
				s(Q);
				var Z = 0;
				count = 0;
				X = setInterval(function() {
					Q[Z].animate({
						top : Q[Z].data("top"),
						width : P,
						height : P,
						opacity : 1
					}, D, "", function() {
						if (++count == Y) {
							N.setComplete(aa)
						}
					});
					Z++;
					if (Z == Y) {
						clearInterval(X)
					}
				}, W)
			};
			var U = function(Z, ah) {
				var ag = 0, af = 0;
				var ak = I - 1;
				var al = K - 1;
				var ab = 0;
				var ae = al;
				var aj = new Array();
				while (ak >= 0 && al >= 0) {
					var ai = 0;
					while (true) {
						aj[aj.length] = L[ag][af];
						if ((++ai) > ae) {
							break
						}
						switch (ab) {
						case 0:
							af++;
							break;
						case 1:
							ag++;
							break;
						case 2:
							af--;
							break;
						case 3:
							ag--
						}
					}
					switch (ab) {
					case 0:
						ab = 1;
						ae = (--ak);
						ag++;
						break;
					case 1:
						ab = 2;
						ae = (--al);
						af--;
						break;
					case 2:
						ab = 3;
						ae = (--ak);
						ag--;
						break;
					case 3:
						ab = 0;
						ae = (--al);
						af++
					}
				}
				if (aj.length > 0) {
					if (ah) {
						aj.reverse()
					}
					var ad = aj.length - 1;
					var aa = aj[ad].attr("id");
					var ac = 0;
					X = setInterval(function() {
						aj[ac].animate({
							opacity : 1
						}, D, "", function() {
							if (a(this).attr("id") == aa) {
								N.setComplete(Z)
							}
						});
						if (ac == ad) {
							clearInterval(X)
						}
						ac++
					}, W)
				}
			};
			V()
		}
		function A(bl, bh) {
			var an = d(bh.width, 825);
			var bc = d(bh.height, 300);
			var a7 = C(bh.button_margin, 4);
			var ak = bh.transition.toLowerCase();
			var ar = d(bh.transition_speed, x);
			var W = d(bh.delay, p);
			var aG = bh.auto_start;
			var U = bh.cpanel_position.toLowerCase();
			var aZ = bh.cpanel_align.toUpperCase();
			var af = d(bh.button_width, 24);
			var aT = d(bh.button_height, 24);
			var F = bh.display_thumbs;
			var aE = bh.display_dbuttons;
			var aC = bh.display_playbutton;
			var ay = bh.cpanel_mouseover;
			var au = bh.text_mouseover;
			var Z = bh.mouseover_pause;
			var aa = bh.tooltip_type.toLowerCase();
			var at = bh.text_effect.toLowerCase();
			var bi = bh.text_sync;
			var ah;
			var ap;
			var J;
			var H;
			var Q;
			var aI;
			var aV;
			var a3 = null;
			var ag = a(".wt-rotator", bl);
			var aP = ag.find("div.screen");
			var aq;
			var aM;
			var E;
			var I = ag.find("div.c-panel");
			var aW = I.find("div.thumbnails");
			var ab = aW.find(">ul:first>li");
			var K = I.find("div.buttons");
			var R = K.find("div.play-btn");
			var P = K.find("div.prev-btn");
			var a4 = K.find("div.next-btn");
			var S;
			var M;
			var aA;
			var Y;
			this.$el = bl;
			this.init = function() {
				ap = 0;
				J = -1;
				ah = ab.size();
				aA = new Array(ah);
				aD();
				aH();
				aX();
				aQ();
				bg();
				av();
				ag.css({
					width : an,
					height : bc + (U == q ? I.outerHeight() : 0)
				});
				var bm = aP.css("background-color");
				Q = new c(this, an, bc, d(bh.vert_size, 50), bm, ar, d(
						bh.vstripe_delay, 75));
				aI = new t(this, an, bc, d(bh.horz_size, 50), bm, ar, d(
						bh.hstripe_delay, 75));
				aV = new l(this, an, bc, d(bh.block_size, 75), bm, ar, d(
						bh.block_delay, 25));
				a1(0);
				aB(ap)
			};
			this.setComplete = function(bm) {
				D(bm)
			};
			this.addToScreen = function(bm) {
				aq.append(bm)
			};
			var aD = function() {
				var bm = "<a href='#'></a>								<div class='desc'></div>								<div class='preloader'></div>								<div id='timer'></div>";
				aP.empty().append(bm);
				aq = aP.find(">a:first");
				aM = aP.find("div.desc");
				E = aP.find("div.preloader");
				aP.css({
					width : an,
					height : bc
				})
			};
			var aH = function() {
				aM
						.append("<div class='inner-bg'></div><div class='inner-text'></div>");
				Y = aM.find("div.inner-text");
				if (au) {
					ag.hover(ad, aj)
				} else {
					ag.bind(g, aY)
				}
			};
			var bg = function() {
				if (F || aE || aC) {
					aW.css("height", ab.outerHeight());
					var bo = an - (K.width() + a7);
					if (aW.width() > bo) {
						aW.width(bo)
					}
					if (U == k) {
						I.css({
							"margin-top" : a7,
							"margin-right" : 0,
							"margin-bottom" : a7,
							"margin-left" : a7
						});
						var bn = I.outerWidth(true);
						var bm = I.outerHeight(true);
						switch (aZ) {
						case y:
							a0(0, 0, -bm, "left");
							break;
						case w:
							a0(0, Math.round((an - bn) / 2), -bm, "right");
							break;
						case e:
							a0(0, (an - bn), -bm, "right");
							break;
						case u:
							a0((bc - bm), 0, bc, "left");
							break;
						case n:
							a0((bc - bm), Math.round((an - bn) / 2), bc,
									"right");
							break;
						default:
							a0((bc - bm), (an - bn), bc, "right")
						}
						if (ay) {
							ag.hover(bj, az)
						}
					} else {
						if (ag.outerWidth() - ag.width() > 0) {
							I.css({
								"border-left" : "none",
								"border-right" : "none"
							})
						}
						I.css({
							"padding-top" : a7,
							"padding-bottom" : a7
						}).addClass("cp-bg");
						var bn = I.outerWidth();
						switch (aZ) {
						case y:
							aK(I.outerHeight(), 0, a7, "left");
							break;
						case w:
							aK(I.outerHeight(), 0, Math.round((an - bn) / 2),
									"right");
							break;
						case e:
							aK(I.outerHeight(), 0, an - bn, "right");
							break;
						case u:
							aK(0, bc, a7, "left");
							break;
						case n:
							aK(0, bc, Math.round((an - bn) / 2), "right");
							break;
						default:
							aK(0, bc, an - bn, "right")
						}
					}
					I.css("visibility", "visible")
				}
			};
			var a0 = function(bm, bo, bn, bp) {
				I.data({
					offset : bn,
					pos : bm
				}).css({
					top : (ay ? bn : bm),
					left : bo
				});
				aW.css("float", bp);
				K.css("float", bp)
			};
			var aK = function(bn, bo, bm, bp) {
				aP.css("top", bn);
				I.css(bn == 0 ? "border-bottom" : "border-top", "none");
				I.css({
					top : bo,
					"padding-left" : bm,
					"padding-right" : an - (bm + I.outerWidth())
				});
				aW.css("float", bp);
				K.css("float", bp)
			};
			var aQ = function() {
				var bm = {
					"margin-right" : a7,
					width : af,
					height : aT
				};
				if (aE) {
					P.css(bm).click(ao).mouseover(G).mouseout(aU).mousedown(ai);
					a4.css(bm).click(L).mouseover(G).mouseout(aU).mousedown(ai)
				} else {
					P.hide();
					a4.hide()
				}
				if (aC) {
					if (aG) {
						R.addClass("pause")
					}
					R.css(bm).click(ac).mouseover(G).mouseout(aU).mousedown(ai)
				} else {
					R.hide()
				}
				if (Z) {
					ag.hover(aL, X)
				}
			};
			var av = function() {
				S = aP.find("#timer").data("pct", 1);
				if (bh.display_timer) {
					var bm = bh.timer_align.toLowerCase();
					S.css("visibility", "visible");
					S.css(bm == "bottom" ? "bottom" : "top", 0)
				} else {
					S.hide()
				}
			};
			var aX = function() {
				var bm = Y.outerHeight() - Y.height();
				ab
						.each(function(bo) {
							var bn = a(this).find(">a:first");
							a(this)
									.data(
											{
												imgurl : bn.attr("href"),
												caption : bn.attr("title"),
												tturl : bn.find(">img:first")
														.attr("src"),
												effect : h[a(this).attr(
														"effect")] != undefined ? h[a(
														this).attr("effect")]
														: h[ak],
												delay : d(
														a(this).attr("delay"),
														W)
											});
							a9(a(this), bm);
							aA[bo] = a(this);
							if (bh.display_numbers) {
								a(this).append(bo + 1)
							}
						});
				Y.css({
					width : "auto",
					height : "auto"
				}).html("");
				aM.css("visibility", "visible");
				if (bh.shuffle) {
					O()
				}
				if (F) {
					aW.click(aw);
					ab.css({
						width : af,
						height : aT,
						"line-height" : aT + "px",
						"margin-right" : a7
					}).mouseover(bb).mouseout(V).mousedown(ai);
					ba()
				} else {
					ab.hide()
				}
			};
			var a9 = function(bm, bo) {
				var bn = bm.find(">div:hidden");
				var bq = d(parseInt(bn.css("width")) - bo, 300);
				var bp = d(parseInt(bn.css("height")) - bo, 0);
				Y.width(bq).html(bn.html());
				if (bp < Y.height()) {
					bp = Y.height()
				}
				bm.data("textbox", {
					x : bn.css("left"),
					y : bn.css("top"),
					w : bq + bo,
					h : bp + bo,
					color : bn.css("color"),
					bgcolor : bn.css("background-color")
				})
			};
			var ba = function() {
				M = a("<div id='rotator-tooltip'></div>");
				if (aa == "text") {
					M.append("<div class='tt-txt'></div>");
					a("body").append(M);
					switch (aZ) {
					case y:
					case w:
					case e:
						M.data("bottom", true).addClass("txt-down");
						break;
					default:
						M.data("bottom", false).addClass("txt-up")
					}
					for ( var bn = 0; bn < aA.length; bn++) {
						var bm = aA[bn].data("caption");
						if (bm != "") {
							aA[bn].mouseover(be).mouseout(aJ).bind("mousemove",
									T)
						}
					}
				} else {
					if (aa == "image") {
						M.append("<img class='tt-img'/>");
						a("body").append(M);
						switch (aZ) {
						case y:
						case w:
						case e:
							M.data("bottom", true).addClass("img-down");
							break;
						default:
							M.data("bottom", false).addClass("img-up")
						}
						for ( var bn = 0; bn < aA.length; bn++) {
							var bo = aA[bn].data("tturl");
							if (bo != undefined) {
								aA[bn].mouseover(a8).mouseout(aJ).bind(
										"mousemove", ax)
							}
						}
					}
				}
				if (jQuery.browser.msie
						&& parseInt(jQuery.browser.version) <= 6) {
					M.css("background-image", "none").find(":only-child").css(
							"margin", 0)
				}
			};
			var a8 = function(bm) {
				var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
				M.find(">img.tt-img").attr("src",
						aA[a(this).index()].data("tturl"));
				M.css({
					top : bm.pageY + bn,
					left : bm.pageX - M.outerWidth() / 2
				}).stop(true, true).delay(m).fadeIn(300)
			};
			var ax = function(bm) {
				var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
				M.css({
					top : bm.pageY + bn,
					left : bm.pageX - M.outerWidth() / 2
				})
			};
			var be = function(bm) {
				var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
				M.find(">div.tt-txt").html(aA[a(this).index()].data("caption"));
				M.css({
					top : bm.pageY + bn,
					left : bm.pageX
				}).stop(true, true).delay(m).fadeIn(300)
			};
			var T = function(bm) {
				var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
				M.css({
					top : bm.pageY + bn,
					left : bm.pageX
				})
			};
			var aJ = function() {
				M.stop(true, true).fadeOut(0)
			};
			var bj = function() {
				I.stop(true).animate({
					top : I.data("pos"),
					opacity : 1
				}, v)
			};
			var az = function() {
				I.stop(true).animate({
					top : I.data("offset"),
					opacity : 0
				}, v)
			};
			var aw = function(bn) {
				if (bn.target.nodeName == "LI") {
					var bm = a(bn.target).index();
					if (bm >= 0 && bm != ap) {
						a5();
						J = ap;
						ap = bm;
						aB(ap)
					}
				}
				return false
			};
			var bb = function() {
				a(this).addClass("thumb-over")
			};
			var V = function() {
				a(this).removeClass("thumb-over")
			};
			var ao = function() {
				a5();
				J = ap;
				ap = (ap > 0) ? (ap - 1) : (ah - 1);
				aB(ap);
				return false
			};
			var L = function() {
				a5();
				J = ap;
				ap = (ap < ah - 1) ? (ap + 1) : 0;
				aB(ap);
				return false
			};
			var ac = function() {
				aG = !aG;
				a(this).toggleClass("pause", aG);
				aG ? aO() : N();
				return false
			};
			var X = function() {
				aG = true;
				R.toggleClass("pause", aG);
				aO()
			};
			var aL = function() {
				aG = false;
				R.toggleClass("pause", aG);
				N()
			};
			var G = function() {
				a(this).addClass("button-over")
			};
			var aU = function() {
				a(this).removeClass("button-over")
			};
			var aY = function(bn) {
				if (!aM.data("visible")) {
					aM.data("visible", true);
					var bo = aA[ap].find(">div:first").html();
					if (bo && bo.length > 0) {
						var bm = aA[ap].data("textbox");
						Y.css("color", bm.color);
						aM.find(".inner-bg")
								.css("background-color", bm.bgcolor);
						switch (z[at]) {
						case z.fade:
							aS(bo, bm);
							break;
						case z.down:
							a6(bo, {
								display : "block",
								top : bm.y,
								left : bm.x,
								width : bm.w,
								height : 0
							}, {
								height : bm.h
							});
							break;
						case z.right:
							a6(bo, {
								display : "block",
								top : bm.y,
								left : bm.x,
								width : 0,
								height : bm.h
							}, {
								width : bm.w
							});
							break;
						default:
							bk(bo, bm)
						}
					}
				}
			};
			var a6 = function(bo, bn, bm) {
				Y.html("");
				aM.stop(true).css(bn).animate(bm, v, function() {
					Y.html(bo)
				})
			};
			var aS = function(bn, bm) {
				Y.css("opacity", 1).html(bn);
				aM.css({
					top : bm.y,
					left : bm.x,
					width : bm.w,
					height : bm.h
				}).stop(true, true).fadeIn(v, function() {
					if (jQuery.browser.msie) {
						Y[0].style.removeAttribute("filter")
					}
				})
			};
			var bk = function(bn, bm) {
				aM.stop(true).css({
					display : "block",
					top : bm.y,
					left : bm.x,
					width : bm.w,
					height : bm.h
				});
				Y.html(bn)
			};
			var ad = function() {
				ag.unbind(g).bind(g, aY).trigger(g)
			};
			var aj = function() {
				ag.unbind(g);
				bd()
			};
			var aB = function(bo) {
				ab.filter(".curr-thumb").removeClass("curr-thumb");
				a(ab.get(bo)).addClass("curr-thumb");
				H = aA[bo].data("delay");
				bd();
				if (!bi) {
					ag.trigger(g)
				}
				var bp = aA[bo].find(">a:nth-child(2)");
				var bm = bp.attr("href");
				if (bm) {
					aq.unbind("click").css("cursor", "pointer").attr({
						href : bm,
						target : bp.attr("target")
					})
				} else {
					aq.click(ai).css("cursor", "default")
				}
				if (aA[bo].data("img")) {
					E.hide();
					aF(aA[bo].data("img"))
				} else {
					var bn = a("<img class='main-img'/>");
					bn.attr("src", aA[bo].data("imgurl"));
					if (!bn[0].complete) {
						E.show();
						bn.load(function() {
							E.hide();
							bf(aA[bo], a(this));
							aF(a(this))
						}).error(function() {
							alert("Error loading image")
						})
					} else {
						E.hide();
						bf(aA[bo], bn);
						aF(bn)
					}
				}
			};
			var aF = function(bm) {
				Q.clear();
				aI.clear();
				aV.clear();
				al();
				var bn = aA[ap].data("effect");
				if (bn == h.none) {
					D(bm);
					return
				}
				if (bn == h.random) {
					bn = Math.floor(Math.random() * (h.length - 2))
				}
				if (bn == h.fade) {
					a2(bm)
				} else {
					if (bn < h["vert.tl"]) {
						aV.displayContent(bm, bn)
					} else {
						if (bn < h["horz.tl"]) {
							Q.displayContent(bm, bn)
						} else {
							aI.displayContent(bm, bn)
						}
					}
				}
			};
			var al = function() {
				if (J >= 0) {
					var bn = a("img#curr-img").attr("src");
					var bo = aA[J].data("imgurl");
					if (bn != bo) {
						a("img.main-img", aq).removeAttr("id").hide();
						var bm = a("img.main-img", aq).filter(function() {
							return a(this).attr("src") == bo
						});
						a(bm.get(0)).show()
					}
				}
			};
			var D = function(bm) {
				if (bi) {
					ag.trigger(g)
				}
				a("img.main-img", aq).removeAttr("id").hide();
				bm.attr("id", "curr-img").show();
				aO()
			};
			var a2 = function(bm) {
				a("img#curr-img", aq).stop(true, true);
				a("img.main-img", aq).removeAttr("id").css("z-index", 0);
				bm.attr("id", "curr-img").css("z-index", 1).stop(true, true)
						.fadeIn(ar, function() {
							a("img.main-img:not('#curr-img')", aq).hide();
							if (bi) {
								ag.trigger(g)
							}
							aO()
						})
			};
			var a1 = function(bn) {
				var bm = aA[bn];
				var bo = a("<img class='main-img'/>");
				bo.attr("src", bm.data("imgurl"));
				bo.load(function() {
					if (!bm.data("img")) {
						bf(bm, a(this))
					}
					bn++;
					if (bn < ah) {
						a1(bn)
					}
				}).error(function() {
					bn++;
					if (bn < ah) {
						a1(bn)
					}
				})
			};
			var bf = function(bo, bq) {
				aq.append(bq);
				var bt = (bc - bq.height()) / 2;
				var bp = (an - bq.width()) / 2;
				var bs = 0, br = 0, bn = 0, bm = 0;
				if (bt > 0) {
					bn = bt
				} else {
					if (bt < 0) {
						bs = bt
					}
				}
				if (bp > 0) {
					bm = bp
				} else {
					if (bp < 0) {
						br = bp
					}
				}
				bq.css({
					top : bs,
					left : br,
					"padding-top" : bn,
					"padding-bottom" : bn,
					"padding-left" : bm,
					"padding-right" : bm
				});
				bo.data("img", bq)
			};
			var aO = function() {
				if (aG && a3 == null) {
					var bm = Math.round(S.data("pct") * H);
					S.animate({
						width : (S.parent().width() + 1)
					}, bm);
					a3 = setTimeout(L, bm)
				}
			};
			var a5 = function() {
				clearTimeout(a3);
				a3 = null;
				S.stop(true).width(0).data("pct", 1)
			};
			var N = function() {
				clearTimeout(a3);
				a3 = null;
				var bm = 1 - (S.width() / (S.parent().width() + 1));
				S.stop(true).data("pct", bm)
			};
			var O = function() {
				for ( var bo = 0; bo < aA.length; bo++) {
					var bm = Math.floor(Math.random() * aA.length);
					var bn = aA[bo];
					aA[bo] = aA[bm];
					aA[bm] = bn
				}
			};
			var ai = function() {
				return false
			};
			this.setMouseoverPause = function(bm) {
				Z = bm;
				if (Z) {
					ag.bind("mouseenter", aL).bind("mouseleave", X)
				} else {
					ag.unbind("mouseenter", aL).unbind("mouseleave", X)
				}
			};
			this.setMouseoverText = function(bm) {
				au = bm;
				if (au) {
					aj();
					ag.bind("mouseenter", ad).bind("mouseleave", aj)
				} else {
					ad();
					ag.unbind("mouseenter", ad).unbind("mouseleave", aj)
				}
			};
			this.setMouseoverCPanel = function(bm) {
				ay = bm;
				if (ay && U == k) {
					az();
					ag.bind("mouseenter", bj).bind("mouseleave", az)
				} else {
					bj();
					ag.unbind("mouseenter", bj).unbind("mouseleave", az)
				}
			};
			this.setTransition = function(bm) {
				ak = bm;
				ab.data("effect", h[ak])
			};
			this.setTextEffect = function(bm) {
				at = bm
			};
			var aN;
			this.setThumbs = function(bm) {
				if (aN == undefined) {
					aN = aW.width()
				}
				F = bm;
				if (F) {
					aW.width(aN).show()
				} else {
					aW.hide().width(0)
				}
				am()
			};
			var ae = 31;
			this.setDButtons = function(bm) {
				aE = bm;
				if (aE) {
					P.show();
					a4.show();
					if (aC) {
						K.width(3 * ae)
					} else {
						K.width(2 * ae)
					}
				} else {
					P.hide();
					a4.hide();
					if (aC) {
						K.width(ae)
					} else {
						K.width(0)
					}
				}
				am()
			};
			this.setPlayButton = function(bm) {
				aC = bm;
				if (aC) {
					R.show();
					if (aE) {
						K.width(3 * ae)
					} else {
						K.width(ae)
					}
				} else {
					R.hide();
					if (aE) {
						K.width(2 * ae)
					} else {
						K.width(0)
					}
				}
				am()
			};
			this.setTimerBar = function(bm) {
				displayTimer = bm;
				if (displayTimer) {
					S.css({
						visibility : "visible"
					})
				} else {
					S.css({
						visibility : "hidden"
					})
				}
			};
			this.setCpanelAlign = function(bm) {
				aZ = bm;
				am();
				aR()
			};
			this.setCpanelPos = function(bm) {
				U = bm;
				am()
			};
			var am = function() {
				aP.css("top", 0);
				I.css({
					margin : 0,
					padding : 0,
					top : 0,
					left : 0,
					border : "none"
				}).removeClass("cp-bg");
				ag.unbind("mouseenter", bj).unbind("mouseleave", az);
				if (!F && !aE && !aC) {
					I.hide();
					ag.css({
						width : an,
						height : bc
					});
					return
				}
				if (U == k) {
					I.css({
						"margin-top" : a7,
						"margin-right" : 0,
						"margin-bottom" : a7,
						"margin-left" : a7
					});
					var bn = I.outerWidth(true);
					var bm = I.outerHeight(true);
					switch (aZ) {
					case y:
						a0(0, 0, -bm, "left");
						break;
					case w:
						a0(0, Math.round((an - bn) / 2), -bm, "right");
						break;
					case e:
						a0(0, (an - bn), -bm, "right");
						break;
					case u:
						a0((bc - bm), 0, bc, "left");
						break;
					case n:
						a0((bc - bm), Math.round((an - bn) / 2), bc, "right");
						break;
					default:
						a0((bc - bm), (an - bn), bc, "right")
					}
					if (ay) {
						ag.hover(bj, az)
					}
					ag.css({
						width : an,
						height : bc
					})
				} else {
					I.stop(true).css({
						opacity : 1,
						"padding-top" : a7,
						"padding-bottom" : a7
					}).addClass("cp-bg");
					var bn = I.outerWidth();
					switch (aZ) {
					case y:
						aK(I.outerHeight(), 0, a7, "left");
						break;
					case w:
						aK(I.outerHeight(), 0, Math.round((an - bn) / 2),
								"right");
						break;
					case e:
						aK(I.outerHeight(), 0, an - bn, "right");
						break;
					case u:
						aK(0, bc, a7, "left");
						break;
					case n:
						aK(0, bc, Math.round((an - bn) / 2), "right");
						break;
					default:
						aK(0, bc, an - bn, "right")
					}
					ag.css({
						width : an,
						height : bc + I.outerHeight()
					})
				}
				I.show()
			};
			this.setTooltipType = function(bm) {
				aa = bm;
				aR()
			};
			var aR = function() {
				M.remove();
				ab.unbind("mouseover", a8).unbind("mousemove", ax).unbind(
						"mouseover", be).unbind("mousemove", T).unbind(
						"mouseout", aJ);
				M = a("<div id='rotator-tooltip'></div>");
				if (aa == "text") {
					M.append("<div class='tt-txt'></div>");
					a("body").append(M);
					switch (aZ) {
					case y:
					case w:
					case e:
						M.data("bottom", true).addClass("txt-down");
						break;
					default:
						M.data("bottom", false).addClass("txt-up")
					}
					for ( var bn = 0; bn < aA.length; bn++) {
						var bm = aA[bn].data("caption");
						if (bm != "") {
							aA[bn].mouseover(be).mouseout(aJ).bind("mousemove",
									T)
						}
					}
				} else {
					if (aa == "image") {
						M.append("<img class='tt-img'/>");
						a("body").append(M);
						switch (aZ) {
						case y:
						case w:
						case e:
							M.data("bottom", true).addClass("img-down");
							break;
						default:
							M.data("bottom", false).addClass("img-up")
						}
						for ( var bn = 0; bn < aA.length; bn++) {
							var bo = aA[bn].data("tturl");
							if (bo != undefined) {
								aA[bn].mouseover(a8).mouseout(aJ).bind(
										"mousemove", ax)
							}
						}
					}
				}
			};
			var bd = function() {
				aM.data("visible", false).stop(true, true);
				switch (z[at]) {
				case z.down:
					Y.html("");
					aM.animate({
						height : 0
					}, v);
					break;
				case z.right:
					Y.html("");
					aM.animate({
						width : 0
					}, v);
					break;
				default:
					aM.css("display", "none")
				}
			}
		}
		var d = function(D, E) {
			if (!isNaN(D) && D > 0) {
				return D
			}
			return E
		};
		var C = function(D, E) {
			if (!isNaN(D) && D >= 0) {
				return D
			}
			return E
		};
		var s = function(D) {
			var H = D.length;
			for ( var G = 0; G < H; G++) {
				var E = Math.floor(Math.random() * H);
				var F = D[G];
				D[G] = D[E];
				D[E] = F
			}
		};
		var o = {
			width:726,
			height:327,
			button_width : 24,
			button_height : 24,
			button_margin : 4,
			auto_start : true,
			delay : p,
			transition : "fade",
			transition_speed : x,
			cpanel_position : k,
			cpanel_align : f,
			timer_align : "top",
			display_thumbs : true,
			display_dbuttons : true,
			display_playbutton : true,
			display_imgtooltip : true,
			display_numbers : true,
			display_timer : true,
			mouseover_pause : false,
			cpanel_mouseover : false,
			text_mouseover : false,
			text_effect : "fade",
			text_sync : true,
			tooltip_type : "text",
			shuffle : false,
			block_size : 75,
			vert_size : 50,
			horz_size : 50,
			block_delay : 25,
			vstripe_delay : 75,
			hstripe_delay : 75
		};
		var r = a.extend({}, o, B);
		return this.each(function() {
			b = new A(a(this), r);
			b.init()
		})
	}
})(jQuery);
