/*
 * Shadowbox.js, version 3.0.3
 * http://shadowbox-js.com/
 *
 * Copyright 2007-2010, Michael J. I. Jackson
 * Date: 2011-05-14 08:00:36 +0000
 */
(function(au, k) {
	var Q = {
		version : "3.0.3"
	};
	var J = navigator.userAgent.toLowerCase();
	if(J.indexOf("windows") > -1 || J.indexOf("win32") > -1) {
		Q.isWindows = true
	} else {
		if(J.indexOf("macintosh") > -1 || J.indexOf("mac os x") > -1) {
			Q.isMac = true
		} else {
			if(J.indexOf("linux") > -1) {
				Q.isLinux = true
			}
		}
	}
	Q.isIE = J.indexOf("msie") > -1;
	Q.isIE6 = J.indexOf("msie 6") > -1;
	Q.isIE7 = J.indexOf("msie 7") > -1;
	Q.isGecko = J.indexOf("gecko") > -1 && J.indexOf("safari") == -1;
	Q.isWebKit = J.indexOf("applewebkit/") > -1;
	var ab = /#(.+)$/, af = /^(light|shadow)box\[(.*?)\]/i, az = /\s*([a-z_]*?)\s*=\s*(.+)\s*/, f = /[0-9a-z]+$/i, aD = /(.+\/)shadowbox\.js/i;
	var A = false, a = false, l = {}, z = 0, R, ap;
	Q.current = -1;
	Q.dimensions = null;
	Q.ease = function(K) {
		return 1 + Math.pow(K - 1, 3)
	};
	Q.errorInfo = {
		fla : {
			name : "Flash",
			url : "http://www.adobe.com/products/flashplayer/"
		},
		qt : {
			name : "QuickTime",
			url : "http://www.apple.com/quicktime/download/"
		},
		wmp : {
			name : "Windows Media Player",
			url : "http://www.microsoft.com/windows/windowsmedia/"
		},
		f4m : {
			name : "Flip4Mac",
			url : "http://www.flip4mac.com/wmv_download.htm"
		}
	};
	Q.gallery = [];
	Q.onReady = aj;
	Q.path = null;
	Q.player = null;
	Q.playerId = "sb-player";
	Q.options = {
		animate : true,
		animateFade : true,
		autoplayMovies : true,
		continuous : false,
		enableKeys : true,
		flashParams : {
			bgcolor : "#000000",
			allowfullscreen : true
		},
		flashVars : {},
		flashVersion : "9.0.115",
		handleOversize : "resize",
		handleUnsupported : "link",
		onChange : aj,
		onClose : aj,
		onFinish : aj,
		onOpen : aj,
		showMovieControls : true,
		skipSetup : false,
		slideshowDelay : 0,
		viewportPadding : 20
	};
	Q.getCurrent = function() {
		return Q.current > -1 ? Q.gallery[Q.current] : null
	};
	Q.hasNext = function() {
		return Q.gallery.length > 1 && (Q.current != Q.gallery.length - 1 || Q.options.continuous)
	};
	Q.isOpen = function() {
		return A
	};
	Q.isPaused = function() {
		return ap == "pause"
	};
	Q.applyOptions = function(K) {
		l = aC({}, Q.options);
		aC(Q.options, K)
	};
	Q.revertOptions = function() {aC(Q.options, l)
	};
	Q.init = function(aG, aJ) {
		if(a) {
			return
		}
		a = true;
		if(Q.skin.options) {aC(Q.options, Q.skin.options)
		}
		if(aG) {aC(Q.options, aG)
		}
		if(!Q.path) {
			var aI, S = document.getElementsByTagName("script");
			for(var aH = 0, K = S.length; aH < K; ++aH) {
				aI = aD.exec(S[aH].src);
				if(aI) {
					Q.path = aI[1];
					break
				}
			}
		}
		if(aJ) {
			Q.onReady = aJ
		}P()
	};
	Q.open = function(S) {
		if(A) {
			return
		}
		var K = Q.makeGallery(S);
		Q.gallery = K[0];
		Q.current = K[1];
		S = Q.getCurrent();
		if(S == null) {
			return
		}
		Q.applyOptions(S.options || {});
		G();
		if(Q.gallery.length) {
			S = Q.getCurrent();
			if(Q.options.onOpen(S) === false) {
				return
			}
			A = true;
			Q.skin.onOpen(S, c)
		}
	};
	Q.close = function() {
		if(!A) {
			return
		}
		A = false;
		if(Q.player) {
			Q.player.remove();
			Q.player = null
		}
		if( typeof ap == "number") {clearTimeout(ap);
			ap = null
		}
		z = 0;
		aq(false);
		Q.options.onClose(Q.getCurrent());
		Q.skin.onClose();
		Q.revertOptions()
	};
	Q.play = function() {
		if(!Q.hasNext()) {
			return
		}
		if(!z) {
			z = Q.options.slideshowDelay * 1000
		}
		if(z) {
			R = aw();
			ap = setTimeout(function() {
				z = R = 0;
				Q.next()
			}, z);
			if(Q.skin.onPlay) {
				Q.skin.onPlay()
			}
		}
	};
	Q.pause = function() {
		if( typeof ap != "number") {
			return
		}
		z = Math.max(0, z - (aw() - R));
		if(z) {clearTimeout(ap);
			ap = "pause";
			if(Q.skin.onPause) {
				Q.skin.onPause()
			}
		}
	};
	Q.change = function(K) {
		if(!( K in Q.gallery)) {
			if(Q.options.continuous) {
				K = (K < 0 ? Q.gallery.length + K : 0);
				if(!( K in Q.gallery)) {
					return
				}
			} else {
				return
			}
		}
		Q.current = K;
		if( typeof ap == "number") {clearTimeout(ap);
			ap = null;
			z = R = 0
		}
		Q.options.onChange(Q.getCurrent());
		c(true)
	};
	Q.next = function() {
		Q.change(Q.current + 1)
	};
	Q.previous = function() {
		Q.change(Q.current - 1)
	};
	Q.setDimensions = function(aS, aJ, aQ, aR, aI, K, aO, aL) {
		var aN = aS, aH = aJ;
		var aM = 2 * aO + aI;
		if(aS + aM > aQ) {
			aS = aQ - aM
		}
		var aG = 2 * aO + K;
		if(aJ + aG > aR) {
			aJ = aR - aG
		}
		var S = (aN - aS) / aN, aP = (aH - aJ) / aH, aK = (S > 0 || aP > 0);
		if(aL && aK) {
			if(S > aP) {
				aJ = Math.round((aH / aN) * aS)
			} else {
				if(aP > S) {
					aS = Math.round((aN / aH) * aJ)
				}
			}
		}
		Q.dimensions = {
			height : aS + aI,
			width : aJ + K,
			innerHeight : aS,
			innerWidth : aJ,
			top : Math.floor((aQ - (aS + aM)) / 2 + aO),
			left : Math.floor((aR - (aJ + aG)) / 2 + aO),
			oversized : aK
		};
		return Q.dimensions
	};
	Q.makeGallery = function(aI) {
		var K = [], aH = -1;
		if( typeof aI == "string") {
			aI = [aI]
		}
		if( typeof aI.length == "number") {aF(aI, function(aK, aL) {
				if(aL.content) {
					K[aK] = aL
				} else {
					K[aK] = {
						content : aL
					}
				}
			});
			aH = 0
		} else {
			if(aI.tagName) {
				var S = Q.getCache(aI);
				aI = S ? S : Q.makeObject(aI)
			}
			if(aI.gallery) {
				K = [];
				var aJ;
				for(var aG in Q.cache) {
					aJ = Q.cache[aG];
					if(aJ.gallery && aJ.gallery == aI.gallery) {
						if(aH == -1 && aJ.content == aI.content) {
							aH = K.length
						}
						K.push(aJ)
					}
				}
				if(aH == -1) {
					K.unshift(aI);
					aH = 0
				}
			} else {
				K = [aI];
				aH = 0
			}
		}aF(K, function(aK, aL) {
			K[aK] = aC({}, aL)
		});
		return [K, aH]
	};
	Q.makeObject = function(aH, aG) {
		var aI = {
			content : aH.href,
			title : aH.getAttribute("title") || "",
			link : aH
		};
		if(aG) {
			aG = aC({}, aG);
			aF(["player", "title", "height", "width", "gallery"], function(aJ, aK) {
				if( typeof aG[aK] != "undefined") {
					aI[aK] = aG[aK];
					delete aG[aK]
				}
			});
			aI.options = aG
		} else {
			aI.options = {}
		}
		if(!aI.player) {
			aI.player = Q.getPlayer(aI.content)
		}
		var K = aH.getAttribute("rel");
		if(K) {
			var S = K.match(af);
			if(S) {
				aI.gallery = escape(S[2])
			}aF(K.split(";"), function(aJ, aK) {
				S = aK.match(az);
				if(S) {
					aI[S[1]] = S[2]
				}
			})
		}
		return aI
	};
	Q.getPlayer = function(aG) {
		if(aG.indexOf("#") > -1 && aG.indexOf(document.location.href) == 0) {
			return "inline"
		}
		var aH = aG.indexOf("?");
		if(aH > -1) {
			aG = aG.substring(0, aH)
		}
		var S, K = aG.match(f);
		if(K) {
			S = K[0].toLowerCase()
		}
		if(S) {
			if(Q.img && Q.img.ext.indexOf(S) > -1) {
				return "img"
			}
			if(Q.swf && Q.swf.ext.indexOf(S) > -1) {
				return "swf"
			}
			if(Q.flv && Q.flv.ext.indexOf(S) > -1) {
				return "flv"
			}
			if(Q.qt && Q.qt.ext.indexOf(S) > -1) {
				if(Q.wmp && Q.wmp.ext.indexOf(S) > -1) {
					return "qtwmp"
				} else {
					return "qt"
				}
			}
			if(Q.wmp && Q.wmp.ext.indexOf(S) > -1) {
				return "wmp"
			}
		}
		return "iframe"
	};
	function G() {
		var aH = Q.errorInfo, aI = Q.plugins, aK, aL, aO, aG, aN, S, aM, K;
		for(var aJ = 0; aJ < Q.gallery.length; ++aJ) {
			aK = Q.gallery[aJ];
			aL = false;
			aO = null;
			switch(aK.player) {
				case"flv":
				case"swf":
					if(!aI.fla) {
						aO = "fla"
					}
					break;
				case"qt":
					if(!aI.qt) {
						aO = "qt"
					}
					break;
				case"wmp":
					if(Q.isMac) {
						if(aI.qt && aI.f4m) {
							aK.player = "qt"
						} else {
							aO = "qtf4m"
						}
					} else {
						if(!aI.wmp) {
							aO = "wmp"
						}
					}
					break;
				case"qtwmp":
					if(aI.qt) {
						aK.player = "qt"
					} else {
						if(aI.wmp) {
							aK.player = "wmp"
						} else {
							aO = "qtwmp"
						}
					}
					break
			}
			if(aO) {
				if(Q.options.handleUnsupported == "link") {
					switch(aO) {
						case"qtf4m":
							aN = "shared";
							S = [aH.qt.url, aH.qt.name, aH.f4m.url, aH.f4m.name];
							break;
						case"qtwmp":
							aN = "either";
							S = [aH.qt.url, aH.qt.name, aH.wmp.url, aH.wmp.name];
							break;
						default:
							aN = "single";
							S = [aH[aO].url, aH[aO].name]
					}
					aK.player = "html";
					aK.content = '<div class="sb-message">' + s(Q.lang.errors[aN], S) + "</div>"
				} else {
					aL = true
				}
			} else {
				if(aK.player == "inline") {
					aG = ab.exec(aK.content);
					if(aG) {
						aM = ad(aG[1]);
						if(aM) {
							aK.content = aM.innerHTML
						} else {
							aL = true
						}
					} else {
						aL = true
					}
				} else {
					if(aK.player == "swf" || aK.player == "flv") {
						K = (aK.options && aK.options.flashVersion) || Q.options.flashVersion;
						if(Q.flash && !Q.flash.hasFlashPlayerVersion(K)) {
							aK.width = 310;
							aK.height = 177
						}
					}
				}
			}
			if(aL) {
				Q.gallery.splice(aJ, 1);
				if(aJ < Q.current) {--Q.current
				} else {
					if(aJ == Q.current) {
						Q.current = aJ > 0 ? aJ - 1 : aJ
					}
				}--aJ
			}
		}
	}

	function aq(K) {
		if(!Q.options.enableKeys) {
			return
		}( K ? F : M)(document, "keydown", an)
	}

	function an(aG) {
		if(aG.metaKey || aG.shiftKey || aG.altKey || aG.ctrlKey) {
			return
		}
		var S = v(aG), K;
		switch(S) {
			case 81:
			case 88:
			case 27:
				K = Q.close;
				break;
			case 37:
				K = Q.previous;
				break;
			case 39:
				K = Q.next;
				break;
			case 32:
				K = typeof ap == "number" ? Q.pause : Q.play;
				break
		}
		if(K) {n(aG);
			K()
		}
	}

	function c(aK) {aq(false);
		var aJ = Q.getCurrent();
		var aG = (aJ.player == "inline" ? "html" : aJ.player);
		if( typeof Q[aG] != "function") {
			throw "unknown player " + aG
		}
		if(aK) {
			Q.player.remove();
			Q.revertOptions();
			Q.applyOptions(aJ.options || {})
		}
		Q.player = new Q[aG](aJ, Q.playerId);
		if(Q.gallery.length > 1) {
			var aH = Q.gallery[Q.current + 1] || Q.gallery[0];
			if(aH.player == "img") {
				var S = new Image();
				S.src = aH.content
			}
			var aI = Q.gallery[Q.current - 1] || Q.gallery[Q.gallery.length - 1];
			if(aI.player == "img") {
				var K = new Image();
				K.src = aI.content
			}
		}
		Q.skin.onLoad(aK, W)
	}

	function W() {
		if(!A) {
			return
		}
		if( typeof Q.player.ready != "undefined") {
			var K = setInterval(function() {
				if(A) {
					if(Q.player.ready) {clearInterval(K);
						K = null;
						Q.skin.onReady(e)
					}
				} else {clearInterval(K);
					K = null
				}
			}, 10)
		} else {
			Q.skin.onReady(e)
		}
	}

	function e() {
		if(!A) {
			return
		}
		Q.player.append(Q.skin.body, Q.dimensions);
		Q.skin.onShow(I)
	}

	function I() {
		if(!A) {
			return
		}
		if(Q.player.onLoad) {
			Q.player.onLoad()
		}
		Q.options.onFinish(Q.getCurrent());
		if(!Q.isPaused()) {
			Q.play()
		}aq(true)
	}

	if(!Array.prototype.indexOf) {
		Array.prototype.indexOf = function(S, aG) {
			var K = this.length >>> 0;
			aG = aG || 0;
			if(aG < 0) {
				aG += K
			}
			for(; aG < K; ++aG) {
				if( aG in this && this[aG] === S) {
					return aG
				}
			}
			return -1
		}
	}
	function aw() {
		return (new Date).getTime()
	}

	function aC(K, aG) {
		for(var S in aG) {
			K[S] = aG[S]
		}
		return K
	}

	function aF(aH, aI) {
		var S = 0, K = aH.length;
		for(var aG = aH[0]; S < K && aI.call(aG, S, aG) !== false; aG = aH[++S]) {
		}
	}

	function s(S, K) {
		return S.replace(/\{(\w+?)\}/g, function(aG, aH) {
			return K[aH]
		})
	}

	function aj() {
	}

	function ad(K) {
		return document.getElementById(K)
	}

	function C(K) {
		K.parentNode.removeChild(K)
	}

	var h = true, x = true;
	function d() {
		var K = document.body, S = document.createElement("div");
		h = typeof S.style.opacity === "string";
		S.style.position = "fixed";
		S.style.margin = 0;
		S.style.top = "20px";
		K.appendChild(S, K.firstChild);
		x = S.offsetTop == 20;
		K.removeChild(S)
	}
	Q.getStyle = (function() {
		var K = /opacity=([^)]*)/, S = document.defaultView && document.defaultView.getComputedStyle;
		return function(aJ, aI) {
			var aH;
			if(!h && aI == "opacity" && aJ.currentStyle) {
				aH = K.test(aJ.currentStyle.filter || "") ? (parseFloat(RegExp.$1) / 100) + "" : "";
				return aH === "" ? "1" : aH
			}
			if(S) {
				var aG = S(aJ, null);
				if(aG) {
					aH = aG[aI]
				}
				if(aI == "opacity" && aH == "") {
					aH = "1"
				}
			} else {
				aH = aJ.currentStyle[aI]
			}
			return aH
		}
	})();
	Q.appendHTML = function(aG, S) {
		if(aG.insertAdjacentHTML) {
			aG.insertAdjacentHTML("BeforeEnd", S)
		} else {
			if(aG.lastChild) {
				var K = aG.ownerDocument.createRange();
				K.setStartAfter(aG.lastChild);
				var aH = K.createContextualFragment(S);
				aG.appendChild(aH)
			} else {
				aG.innerHTML = S
			}
		}
	};
	Q.getWindowSize = function(K) {
		if(document.compatMode === "CSS1Compat") {
			return document.documentElement["client" + K]
		}
		return document.body["client" + K]
	};
	Q.setOpacity = function(aG, K) {
		var S = aG.style;
		if(h) {
			S.opacity = (K == 1 ? "" : K)
		} else {
			S.zoom = 1;
			if(K == 1) {
				if( typeof S.filter == "string" && (/alpha/i).test(S.filter)) {
					S.filter = S.filter.replace(/\s*[\w\.]*alpha\([^\)]*\);?/gi, "")
				}
			} else {
				S.filter = (S.filter || "").replace(/\s*[\w\.]*alpha\([^\)]*\)/gi, "") + " alpha(opacity=" + (K * 100) + ")"
			}
		}
	};
	Q.clearOpacity = function(K) {
		Q.setOpacity(K, 1)
	};
	function o(K) {
		return K.target
	}

	function V(K) {
		return [K.pageX, K.pageY]
	}

	function n(K) {
		K.preventDefault()
	}

	function v(K) {
		return K.keyCode
	}

	function F(aG, S, K) {
		jQuery(aG).bind(S, K)
	}

	function M(aG, S, K) {
		jQuery(aG).unbind(S, K)
	}
	jQuery.fn.shadowbox = function(K) {
		return this.each(function() {
			var aG = jQuery(this);
			var aH = jQuery.extend({}, K || {}, jQuery.metadata ? aG.metadata() : jQuery.meta ? aG.data() : {});
			var S = this.className || "";
			aH.width = parseInt((S.match(/w:(\d+)/)||[])[1]) || aH.width;
			aH.height = parseInt((S.match(/h:(\d+)/)||[])[1]) || aH.height;
			Shadowbox.setup(aG, aH)
		})
	};
	var y = false, al;
	if(document.addEventListener) {
		al = function() {
			document.removeEventListener("DOMContentLoaded", al, false);
			Q.load()
		}
	} else {
		if(document.attachEvent) {
			al = function() {
				if(document.readyState === "complete") {
					document.detachEvent("onreadystatechange", al);
					Q.load()
				}
			}
		}
	}
	function g() {
		if(y) {
			return
		}
		try {
			document.documentElement.doScroll("left")
		} catch(K) {setTimeout(g, 1);
			return
		}
		Q.load()
	}

	function P() {
		if(document.readyState === "complete") {
			return Q.load()
		}
		if(document.addEventListener) {
			document.addEventListener("DOMContentLoaded", al, false);
			au.addEventListener("load", Q.load, false)
		} else {
			if(document.attachEvent) {
				document.attachEvent("onreadystatechange", al);
				au.attachEvent("onload", Q.load);
				var K = false;
				try {
					K = au.frameElement === null
				} catch(S) {
				}
				if(document.documentElement.doScroll && K) {g()
				}
			}
		}
	}
	Q.load = function() {
		if(y) {
			return
		}
		if(!document.body) {
			return setTimeout(Q.load, 13)
		}
		y = true;
		d();
		Q.onReady();
		if(!Q.options.skipSetup) {
			Q.setup()
		}
		Q.skin.init()
	};
	Q.plugins = {};
	if(navigator.plugins && navigator.plugins.length) {
		var w = [];
		aF(navigator.plugins, function(K, S) {
			w.push(S.name)
		});
		w = w.join(",");
		var ai = w.indexOf("Flip4Mac") > -1;
		Q.plugins = {
			fla : w.indexOf("Shockwave Flash") > -1,
			qt : w.indexOf("QuickTime") > -1,
			wmp : !ai && w.indexOf("Windows Media") > -1,
			f4m : ai
		}
	} else {
		var p = function(K) {
			var S;
			try {
				S = new ActiveXObject(K)
			} catch(aG) {
			}
			return !!S
		};
		Q.plugins = {
			fla : p("ShockwaveFlash.ShockwaveFlash"),
			qt : p("QuickTime.QuickTime"),
			wmp : p("wmplayer.ocx"),
			f4m : false
		}
	}
	var X = /^(light|shadow)box/i, am = "shadowboxCacheKey", b = 1;
	Q.cache = {};
	Q.select = function(S) {
		var aG = [];
		if(!S) {
			var K;
			aF(document.getElementsByTagName("a"), function(aJ, aK) {
				K = aK.getAttribute("rel");
				if(K && X.test(K)) {
					aG.push(aK)
				}
			})
		} else {
			var aI = S.length;
			if(aI) {
				if( typeof S == "string") {
					if(Q.find) {
						aG = Q.find(S)
					}
				} else {
					if(aI == 2 && typeof S[0] == "string" && S[1].nodeType) {
						if(Q.find) {
							aG = Q.find(S[0], S[1])
						}
					} else {
						for(var aH = 0; aH < aI; ++aH) {
							aG[aH] = S[aH]
						}
					}
				}
			} else {
				aG.push(S)
			}
		}
		return aG
	};
	Q.setup = function(K, S) {aF(Q.select(K), function(aG, aH) {
			Q.addCache(aH, S)
		})
	};
	Q.teardown = function(K) {aF(Q.select(K), function(S, aG) {
			Q.removeCache(aG)
		})
	};
	Q.addCache = function(aG, K) {
		var S = aG[am];
		if(S == k) {
			S = b++;
			aG[am] = S;
			F(aG, "click", u)
		}
		Q.cache[S] = Q.makeObject(aG, K)
	};
	Q.removeCache = function(K) {M(K, "click", u);
		delete Q.cache[K[am]];
		K[am] = null
	};
	Q.getCache = function(S) {
		var K = S[am];
		return ( K in Q.cache && Q.cache[K])
	};
	Q.clearCache = function() {
		for(var K in Q.cache) {
			Q.removeCache(Q.cache[K].link)
		}
		Q.cache = {}
	};
	function u(K) {
		Q.open(this);
		if(Q.gallery.length) {n(K)
		}
	}

	/*
	 * Sizzle CSS Selector Engine - v1.0
	 *  Copyright 2009, The Dojo Foundation
	 *  Released under the MIT, BSD, and GPL Licenses.
	 *  More information: http://sizzlejs.com/
	 *
	 * Modified for inclusion in Shadowbox.js
	 */
	Q.find = (function() {
		var aP = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, aQ = 0, aS = Object.prototype.toString, aK = false, aJ = true;
		[0, 0].sort(function() {
			aJ = false;
			return 0
		});
		var aG = function(a1, aW, a4, a5) {
			a4 = a4 || [];
			var a7 = aW = aW || document;
			if(aW.nodeType !== 1 && aW.nodeType !== 9) {
				return []
			}
			if(!a1 || typeof a1 !== "string") {
				return a4
			}
			var a2 = [], aY, a9, bc, aX, a0 = true, aZ = aH(aW), a6 = a1;
			while((aP.exec(""), aY = aP.exec(a6)) !== null) {
				a6 = aY[3];
				a2.push(aY[1]);
				if(aY[2]) {
					aX = aY[3];
					break
				}
			}
			if(a2.length > 1 && aL.exec(a1)) {
				if(a2.length === 2 && aM.relative[a2[0]]) {
					a9 = aT(a2[0] + a2[1], aW)
				} else {
					a9 = aM.relative[a2[0]] ? [aW] : aG(a2.shift(), aW);
					while(a2.length) {
						a1 = a2.shift();
						if(aM.relative[a1]) {
							a1 += a2.shift()
						}
						a9 = aT(a1, a9)
					}
				}
			} else {
				if(!a5 && a2.length > 1 && aW.nodeType === 9 && !aZ && aM.match.ID.test(a2[0]) && !aM.match.ID.test(a2[a2.length - 1])) {
					var a8 = aG.find(a2.shift(), aW, aZ);
					aW = a8.expr ? aG.filter(a8.expr,a8.set)[0] : a8.set[0]
				}
				if(aW) {
					var a8 = a5 ? {
						expr : a2.pop(),
						set : aO(a5)
					} : aG.find(a2.pop(), a2.length === 1 && (a2[0] === "~" || a2[0] === "+") && aW.parentNode ? aW.parentNode : aW, aZ);
					a9 = a8.expr ? aG.filter(a8.expr, a8.set) : a8.set;
					if(a2.length > 0) {
						bc = aO(a9)
					} else {
						a0 = false
					}
					while(a2.length) {
						var bb = a2.pop(), ba = bb;
						if(!aM.relative[bb]) {
							bb = ""
						} else {
							ba = a2.pop()
						}
						if(ba == null) {
							ba = aW
						}aM.relative[bb](bc, ba, aZ)
					}
				} else {
					bc = a2 = []
				}
			}
			if(!bc) {
				bc = a9
			}
			if(!bc) {
				throw "Syntax error, unrecognized expression: " + (bb || a1)
			}
			if(aS.call(bc) === "[object Array]") {
				if(!a0) {
					a4.push.apply(a4, bc)
				} else {
					if(aW && aW.nodeType === 1) {
						for(var a3 = 0; bc[a3] != null; a3++) {
							if(bc[a3] && (bc[a3] === true || bc[a3].nodeType === 1 && aN(aW, bc[a3]))) {
								a4.push(a9[a3])
							}
						}
					} else {
						for(var a3 = 0; bc[a3] != null; a3++) {
							if(bc[a3] && bc[a3].nodeType === 1) {
								a4.push(a9[a3])
							}
						}
					}
				}
			} else {aO(bc, a4)
			}
			if(aX) {aG(aX, a7, a4, a5);
				aG.uniqueSort(a4)
			}
			return a4
		};
		aG.uniqueSort = function(aX) {
			if(aR) {
				aK = aJ;
				aX.sort(aR);
				if(aK) {
					for(var aW = 1; aW < aX.length; aW++) {
						if(aX[aW] === aX[aW - 1]) {
							aX.splice(aW--, 1)
						}
					}
				}
			}
			return aX
		};
		aG.matches = function(aW, aX) {
			return aG(aW, null, null, aX)
		};
		aG.find = function(a3, aW, a4) {
			var a2, a0;
			if(!a3) {
				return []
			}
			for(var aZ = 0, aY = aM.order.length; aZ < aY; aZ++) {
				var a1 = aM.order[aZ], a0;
				if(( a0 = aM.leftMatch[a1].exec(a3))) {
					var aX = a0[1];
					a0.splice(1, 1);
					if(aX.substr(aX.length - 1) !== "\\") {
						a0[1] = (a0[1] || "").replace(/\\/g, "");
						a2 = aM.find[a1](a0, aW, a4);
						if(a2 != null) {
							a3 = a3.replace(aM.match[a1], "");
							break
						}
					}
				}
			}
			if(!a2) {
				a2 = aW.getElementsByTagName("*")
			}
			return {
				set : a2,
				expr : a3
			}
		};
		aG.filter = function(a6, a5, a9, aZ) {
			var aY = a6, bb = [], a3 = a5, a1, aW, a2 = a5 && a5[0] && aH(a5[0]);
			while(a6 && a5.length) {
				for(var a4 in aM.filter) {
					if(( a1 = aM.match[a4].exec(a6)) != null) {
						var aX = aM.filter[a4], ba, a8;
						aW = false;
						if(a3 === bb) {
							bb = []
						}
						if(aM.preFilter[a4]) {
							a1 = aM.preFilter[a4](a1, a3, a9, bb, aZ, a2);
							if(!a1) {
								aW = ba = true
							} else {
								if(a1 === true) {
									continue
								}
							}
						}
						if(a1) {
							for(var a0 = 0; ( a8 = a3[a0]) != null; a0++) {
								if(a8) {
									ba = aX(a8, a1, a0, a3);
									var a7 = aZ ^ !!ba;
									if(a9 && ba != null) {
										if(a7) {
											aW = true
										} else {
											a3[a0] = false
										}
									} else {
										if(a7) {
											bb.push(a8);
											aW = true
										}
									}
								}
							}
						}
						if(ba !== k) {
							if(!a9) {
								a3 = bb
							}
							a6 = a6.replace(aM.match[a4], "");
							if(!aW) {
								return []
							}
							break
						}
					}
				}
				if(a6 === aY) {
					if(aW == null) {
						throw "Syntax error, unrecognized expression: " + a6
					} else {
						break
					}
				}
				aY = a6
			}
			return a3
		};
		var aM = aG.selectors = {
			order : ["ID", "NAME", "TAG"],
			match : {
				ID : /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
				CLASS : /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
				NAME : /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
				ATTR : /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
				TAG : /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
				CHILD : /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
				POS : /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
				PSEUDO : /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
			},
			leftMatch : {},
			attrMap : {
				"class" : "className",
				"for" : "htmlFor"
			},
			attrHandle : {
				href : function(aW) {
					return aW.getAttribute("href")
				}
			},
			relative : {
				"+" : function(a2, aX) {
					var aZ = typeof aX === "string", a1 = aZ && !/\W/.test(aX), a3 = aZ && !a1;
					if(a1) {
						aX = aX.toLowerCase()
					}
					for(var aY = 0, aW = a2.length, a0; aY < aW; aY++) {
						if(( a0 = a2[aY])) {
							while(( a0 = a0.previousSibling) && a0.nodeType !== 1) {
							}
							a2[aY] = a3 || a0 && a0.nodeName.toLowerCase() === aX ? a0 || false : a0 === aX
						}
					}
					if(a3) {
						aG.filter(aX, a2, true)
					}
				},
				">" : function(a2, aX) {
					var a0 = typeof aX === "string";
					if(a0 && !/\W/.test(aX)) {
						aX = aX.toLowerCase();
						for(var aY = 0, aW = a2.length; aY < aW; aY++) {
							var a1 = a2[aY];
							if(a1) {
								var aZ = a1.parentNode;
								a2[aY] = aZ.nodeName.toLowerCase() === aX ? aZ : false
							}
						}
					} else {
						for(var aY = 0, aW = a2.length; aY < aW; aY++) {
							var a1 = a2[aY];
							if(a1) {
								a2[aY] = a0 ? a1.parentNode : a1.parentNode === aX
							}
						}
						if(a0) {
							aG.filter(aX, a2, true)
						}
					}
				},
				"" : function(aZ, aX, a1) {
					var aY = aQ++, aW = aU;
					if( typeof aX === "string" && !/\W/.test(aX)) {
						var a0 = aX = aX.toLowerCase();
						aW = K
					}aW("parentNode", aX, aY, aZ, a0, a1)
				},
				"~" : function(aZ, aX, a1) {
					var aY = aQ++, aW = aU;
					if( typeof aX === "string" && !/\W/.test(aX)) {
						var a0 = aX = aX.toLowerCase();
						aW = K
					}aW("previousSibling", aX, aY, aZ, a0, a1)
				}
			},
			find : {
				ID : function(aX, aY, aZ) {
					if( typeof aY.getElementById !== "undefined" && !aZ) {
						var aW = aY.getElementById(aX[1]);
						return aW ? [aW] : []
					}
				},
				NAME : function(aY, a1) {
					if( typeof a1.getElementsByName !== "undefined") {
						var aX = [], a0 = a1.getElementsByName(aY[1]);
						for(var aZ = 0, aW = a0.length; aZ < aW; aZ++) {
							if(a0[aZ].getAttribute("name") === aY[1]) {
								aX.push(a0[aZ])
							}
						}
						return aX.length === 0 ? null : aX
					}
				},
				TAG : function(aW, aX) {
					return aX.getElementsByTagName(aW[1])
				}
			},
			preFilter : {
				CLASS : function(aZ, aX, aY, aW, a2, a3) {
					aZ = " " + aZ[1].replace(/\\/g, "") + " ";
					if(a3) {
						return aZ
					}
					for(var a0 = 0, a1; ( a1 = aX[a0]) != null; a0++) {
						if(a1) {
							if(a2 ^ (a1.className && (" " + a1.className + " ").replace(/[\t\n]/g, " ").indexOf(aZ) >= 0)) {
								if(!aY) {
									aW.push(a1)
								}
							} else {
								if(aY) {
									aX[a0] = false
								}
							}
						}
					}
					return false
				},
				ID : function(aW) {
					return aW[1].replace(/\\/g, "")
				},
				TAG : function(aX, aW) {
					return aX[1].toLowerCase()
				},
				CHILD : function(aW) {
					if(aW[1] === "nth") {
						var aX = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(aW[2] === "even" && "2n" || aW[2] === "odd" && "2n+1" || !/\D/.test(aW[2]) && "0n+" + aW[2] || aW[2]);
						aW[2] = (aX[1] + (aX[2] || 1)) - 0;
						aW[3] = aX[3] - 0
					}
					aW[0] = aQ++;
					return aW
				},
				ATTR : function(a0, aX, aY, aW, a1, a2) {
					var aZ = a0[1].replace(/\\/g, "");
					if(!a2 && aM.attrMap[aZ]) {
						a0[1] = aM.attrMap[aZ]
					}
					if(a0[2] === "~=") {
						a0[4] = " " + a0[4] + " "
					}
					return a0
				},
				PSEUDO : function(a0, aX, aY, aW, a1) {
					if(a0[1] === "not") {
						if((aP.exec(a0[3]) || "").length > 1 || /^\w/.test(a0[3])) {
							a0[3] = aG(a0[3], null, null, aX)
						} else {
							var aZ = aG.filter(a0[3], aX, aY, true ^ a1);
							if(!aY) {
								aW.push.apply(aW, aZ)
							}
							return false
						}
					} else {
						if(aM.match.POS.test(a0[0]) || aM.match.CHILD.test(a0[0])) {
							return true
						}
					}
					return a0
				},
				POS : function(aW) {
					aW.unshift(true);
					return aW
				}
			},
			filters : {
				enabled : function(aW) {
					return aW.disabled === false && aW.type !== "hidden"
				},
				disabled : function(aW) {
					return aW.disabled === true
				},
				checked : function(aW) {
					return aW.checked === true
				},
				selected : function(aW) {
					aW.parentNode.selectedIndex
					return aW.selected === true
				},
				parent : function(aW) {
					return !!aW.firstChild
				},
				empty : function(aW) {
					return !aW.firstChild
				},
				has : function(aY, aX, aW) {
					return !!aG(aW[3], aY).length
				},
				header : function(aW) {
					return /h\d/i.test(aW.nodeName)
				},
				text : function(aW) {
					return "text" === aW.type
				},
				radio : function(aW) {
					return "radio" === aW.type
				},
				checkbox : function(aW) {
					return "checkbox" === aW.type
				},
				file : function(aW) {
					return "file" === aW.type
				},
				password : function(aW) {
					return "password" === aW.type
				},
				submit : function(aW) {
					return "submit" === aW.type
				},
				image : function(aW) {
					return "image" === aW.type
				},
				reset : function(aW) {
					return "reset" === aW.type
				},
				button : function(aW) {
					return "button" === aW.type || aW.nodeName.toLowerCase() === "button"
				},
				input : function(aW) {
					return /input|select|textarea|button/i.test(aW.nodeName)
				}
			},
			setFilters : {
				first : function(aX, aW) {
					return aW === 0
				},
				last : function(aY, aX, aW, aZ) {
					return aX === aZ.length - 1
				},
				even : function(aX, aW) {
					return aW % 2 === 0
				},
				odd : function(aX, aW) {
					return aW % 2 === 1
				},
				lt : function(aY, aX, aW) {
					return aX < aW[3] - 0
				},
				gt : function(aY, aX, aW) {
					return aX > aW[3] - 0
				},
				nth : function(aY, aX, aW) {
					return aW[3] - 0 === aX
				},
				eq : function(aY, aX, aW) {
					return aW[3] - 0 === aX
				}
			},
			filter : {
				PSEUDO : function(a2, aY, aZ, a3) {
					var aX = aY[1], a0 = aM.filters[aX];
					if(a0) {
						return a0(a2, aZ, aY, a3)
					} else {
						if(aX === "contains") {
							return (a2.textContent || a2.innerText || S([a2]) || "").indexOf(aY[3]) >= 0
						} else {
							if(aX === "not") {
								var a1 = aY[3];
								for(var aZ = 0, aW = a1.length; aZ < aW; aZ++) {
									if(a1[aZ] === a2) {
										return false
									}
								}
								return true
							} else {
								throw "Syntax error, unrecognized expression: " + aX
							}
						}
					}
				},
				CHILD : function(aW, aZ) {
					var a2 = aZ[1], aX = aW;
					switch(a2) {
						case"only":
						case"first":
							while(( aX = aX.previousSibling)) {
								if(aX.nodeType === 1) {
									return false
								}
							}
							if(a2 === "first") {
								return true
							}
							aX = aW;
						case"last":
							while(( aX = aX.nextSibling)) {
								if(aX.nodeType === 1) {
									return false
								}
							}
							return true;
						case"nth":
							var aY = aZ[2], a5 = aZ[3];
							if(aY === 1 && a5 === 0) {
								return true
							}
							var a1 = aZ[0], a4 = aW.parentNode;
							if(a4 && (a4.sizcache !== a1 || !aW.nodeIndex)) {
								var a0 = 0;
								for( aX = a4.firstChild; aX; aX = aX.nextSibling) {
									if(aX.nodeType === 1) {
										aX.nodeIndex = ++a0
									}
								}
								a4.sizcache = a1
							}
							var a3 = aW.nodeIndex - a5;
							if(aY === 0) {
								return a3 === 0
							} else {
								return (a3 % aY === 0 && a3 / aY >= 0)
							}
					}
				},
				ID : function(aX, aW) {
					return aX.nodeType === 1 && aX.getAttribute("id") === aW
				},
				TAG : function(aX, aW) {
					return (aW === "*" && aX.nodeType === 1) || aX.nodeName.toLowerCase() === aW
				},
				CLASS : function(aX, aW) {
					return (" " + (aX.className || aX.getAttribute("class")) + " ").indexOf(aW) > -1
				},
				ATTR : function(a1, aZ) {
					var aY = aZ[1], aW = aM.attrHandle[aY] ? aM.attrHandle[aY](a1) : a1[aY] != null ? a1[aY] : a1.getAttribute(aY), a2 = aW + "", a0 = aZ[2], aX = aZ[4];
					return aW == null ? a0 === "!=" : a0 === "=" ? a2 === aX : a0 === "*=" ? a2.indexOf(aX) >= 0 : a0 === "~=" ? (" " + a2 + " ").indexOf(aX) >= 0 : !aX ? a2 && aW !== false : a0 === "!=" ? a2 !== aX : a0 === "^=" ? a2.indexOf(aX) === 0 : a0 === "$=" ? a2.substr(a2.length - aX.length) === aX : a0 === "|=" ? a2 === aX || a2.substr(0, aX.length + 1) === aX + "-" : false
				},
				POS : function(a0, aX, aY, a1) {
					var aW = aX[2], aZ = aM.setFilters[aW];
					if(aZ) {
						return aZ(a0, aY, aX, a1)
					}
				}
			}
		};
		var aL = aM.match.POS;
		for(var aI in aM.match) {
			aM.match[aI] = new RegExp(aM.match[aI].source + /(?![^\[]*\])(?![^\(]*\))/.source);
			aM.leftMatch[aI] = new RegExp(/(^(?:.|\r|\n)*?)/.source + aM.match[aI].source)
		}
		var aO = function(aX, aW) {
			aX = Array.prototype.slice.call(aX, 0);
			if(aW) {
				aW.push.apply(aW, aX);
				return aW
			}
			return aX
		};
		try {
			Array.prototype.slice.call(document.documentElement.childNodes, 0)
		} catch(aV) {
			aO = function(a0, aZ) {
				var aX = aZ || [];
				if(aS.call(a0) === "[object Array]") {
					Array.prototype.push.apply(aX, a0)
				} else {
					if( typeof a0.length === "number") {
						for(var aY = 0, aW = a0.length; aY < aW; aY++) {
							aX.push(a0[aY])
						}
					} else {
						for(var aY = 0; a0[aY]; aY++) {
							aX.push(a0[aY])
						}
					}
				}
				return aX
			}
		}
		var aR;
		if(document.documentElement.compareDocumentPosition) {
			aR = function(aX, aW) {
				if(!aX.compareDocumentPosition || !aW.compareDocumentPosition) {
					if(aX == aW) {
						aK = true
					}
					return aX.compareDocumentPosition ? -1 : 1
				}
				var aY = aX.compareDocumentPosition(aW) & 4 ? -1 : aX === aW ? 0 : 1;
				if(aY === 0) {
					aK = true
				}
				return aY
			}
		} else {
			if("sourceIndex" in document.documentElement) {
				aR = function(aX, aW) {
					if(!aX.sourceIndex || !aW.sourceIndex) {
						if(aX == aW) {
							aK = true
						}
						return aX.sourceIndex ? -1 : 1
					}
					var aY = aX.sourceIndex - aW.sourceIndex;
					if(aY === 0) {
						aK = true
					}
					return aY
				}
			} else {
				if(document.createRange) {
					aR = function(aZ, aX) {
						if(!aZ.ownerDocument || !aX.ownerDocument) {
							if(aZ == aX) {
								aK = true
							}
							return aZ.ownerDocument ? -1 : 1
						}
						var aY = aZ.ownerDocument.createRange(), aW = aX.ownerDocument.createRange();
						aY.setStart(aZ, 0);
						aY.setEnd(aZ, 0);
						aW.setStart(aX, 0);
						aW.setEnd(aX, 0);
						var a0 = aY.compareBoundaryPoints(Range.START_TO_END, aW);
						if(a0 === 0) {
							aK = true
						}
						return a0
					}
				}
			}
		}
		function S(aW) {
			var aX = "", aZ;
			for(var aY = 0; aW[aY]; aY++) {
				aZ = aW[aY];
				if(aZ.nodeType === 3 || aZ.nodeType === 4) {
					aX += aZ.nodeValue
				} else {
					if(aZ.nodeType !== 8) {
						aX += S(aZ.childNodes)
					}
				}
			}
			return aX
		}(function() {
			var aX = document.createElement("div"), aY = "script" + (new Date).getTime();
			aX.innerHTML = "<a name='" + aY + "'/>";
			var aW = document.documentElement;
			aW.insertBefore(aX, aW.firstChild);
			if(document.getElementById(aY)) {
				aM.find.ID = function(a0, a1, a2) {
					if( typeof a1.getElementById !== "undefined" && !a2) {
						var aZ = a1.getElementById(a0[1]);
						return aZ ? aZ.id === a0[1] || typeof aZ.getAttributeNode !== "undefined" && aZ.getAttributeNode("id").nodeValue === a0[1] ? [aZ] : k : []
					}
				};
				aM.filter.ID = function(a1, aZ) {
					var a0 = typeof a1.getAttributeNode !== "undefined" && a1.getAttributeNode("id");
					return a1.nodeType === 1 && a0 && a0.nodeValue === aZ
				}
			}
			aW.removeChild(aX);
			aW = aX = null
		})();
		(function() {
			var aW = document.createElement("div");
			aW.appendChild(document.createComment(""));
			if(aW.getElementsByTagName("*").length > 0) {
				aM.find.TAG = function(aX, a1) {
					var a0 = a1.getElementsByTagName(aX[1]);
					if(aX[1] === "*") {
						var aZ = [];
						for(var aY = 0; a0[aY]; aY++) {
							if(a0[aY].nodeType === 1) {
								aZ.push(a0[aY])
							}
						}
						a0 = aZ
					}
					return a0
				}
			}
			aW.innerHTML = "<a href='#'></a>";
			if(aW.firstChild && typeof aW.firstChild.getAttribute !== "undefined" && aW.firstChild.getAttribute("href") !== "#") {
				aM.attrHandle.href = function(aX) {
					return aX.getAttribute("href", 2)
				}
			}
			aW = null
		})();
		if(document.querySelectorAll) {(function() {
				var aW = aG, aY = document.createElement("div");
				aY.innerHTML = "<p class='TEST'></p>";
				if(aY.querySelectorAll && aY.querySelectorAll(".TEST").length === 0) {
					return
				}
				aG = function(a2, a1, aZ, a0) {
					a1 = a1 || document;
					if(!a0 && a1.nodeType === 9 && !aH(a1)) {
						try {
							return aO(a1.querySelectorAll(a2), aZ)
						} catch(a3) {
						}
					}
					return aW(a2, a1, aZ, a0)
				};
				for(var aX in aW) {
					aG[aX] = aW[aX]
				}
				aY = null
			})()
		}(function() {
			var aW = document.createElement("div");
			aW.innerHTML = "<div class='test e'></div><div class='test'></div>";
			if(!aW.getElementsByClassName || aW.getElementsByClassName("e").length === 0) {
				return
			}
			aW.lastChild.className = "e";
			if(aW.getElementsByClassName("e").length === 1) {
				return
			}
			aM.order.splice(1, 0, "CLASS");
			aM.find.CLASS = function(aX, aY, aZ) {
				if( typeof aY.getElementsByClassName !== "undefined" && !aZ) {
					return aY.getElementsByClassName(aX[1])
				}
			};
			aW = null
		})();
		function K(aX, a2, a1, a5, a3, a4) {
			for(var aZ = 0, aY = a5.length; aZ < aY; aZ++) {
				var aW = a5[aZ];
				if(aW) {
					aW = aW[aX];
					var a0 = false;
					while(aW) {
						if(aW.sizcache === a1) {
							a0 = a5[aW.sizset];
							break
						}
						if(aW.nodeType === 1 && !a4) {
							aW.sizcache = a1;
							aW.sizset = aZ
						}
						if(aW.nodeName.toLowerCase() === a2) {
							a0 = aW;
							break
						}
						aW = aW[aX]
					}
					a5[aZ] = a0
				}
			}
		}

		function aU(aX, a2, a1, a5, a3, a4) {
			for(var aZ = 0, aY = a5.length; aZ < aY; aZ++) {
				var aW = a5[aZ];
				if(aW) {
					aW = aW[aX];
					var a0 = false;
					while(aW) {
						if(aW.sizcache === a1) {
							a0 = a5[aW.sizset];
							break
						}
						if(aW.nodeType === 1) {
							if(!a4) {
								aW.sizcache = a1;
								aW.sizset = aZ
							}
							if( typeof a2 !== "string") {
								if(aW === a2) {
									a0 = true;
									break
								}
							} else {
								if(aG.filter(a2, [aW]).length > 0) {
									a0 = aW;
									break
								}
							}
						}
						aW = aW[aX]
					}
					a5[aZ] = a0
				}
			}
		}

		var aN = document.compareDocumentPosition ? function(aX, aW) {
			return aX.compareDocumentPosition(aW) & 16
		} : function(aX, aW) {
			return aX !== aW && (aX.contains ? aX.contains(aW) : true)
		};
		var aH = function(aW) {
			var aX = ( aW ? aW.ownerDocument || aW : 0).documentElement;
			return aX ? aX.nodeName !== "HTML" : false
		};
		var aT = function(aW, a3) {
			var aZ = [], a0 = "", a1, aY = a3.nodeType ? [a3] : a3;
			while(( a1 = aM.match.PSEUDO.exec(aW))) {
				a0 += a1[0];
				aW = aW.replace(aM.match.PSEUDO, "")
			}
			aW = aM.relative[aW] ? aW + "*" : aW;
			for(var a2 = 0, aX = aY.length; a2 < aX; a2++) {aG(aW, aY[a2], aZ)
			}
			return aG.filter(a0, aZ)
		};
		return aG
	})();
	Q.lang = {
		code : "pl",
		of : "z",
		loading : "wczytywanie",
		cancel : "Anuluj",
		next : "Dalej",
		previous : "Wróć",
		play : "Odtwarzaj",
		pause : "Pauza",
		close : "Zamknij",
		errors : {
			single : 'Musisz zainstalować plugin <a href="{0}">{1}</a> aby zobaczyć zawartość',
			shared : 'Musisz zainstalować pluginy <a href="{0}">{1}</a> i <a href="{2}">{3}</a> aby zobaczyć zawartość ',
			either : 'Musisz zainstalować plugin <a href="{0}">{1}</a> lub <a href="{2}">{3}</a> aby zobaczyć zawartość'
		}
	};
	var D, at = "sb-drag-proxy", E, j, ag;
	function ax() {
		E = {
			x : 0,
			y : 0,
			startX : null,
			startY : null
		}
	}

	function aA() {
		var K = Q.dimensions;
		aC(j.style, {
			height : K.innerHeight + "px",
			width : K.innerWidth + "px"
		})
	}

	function O() {ax();
		var K = ["position:absolute", "cursor:" + (Q.isGecko ? "-moz-grab" : "move"), "background-color:" + (Q.isIE ? "#fff;filter:alpha(opacity=0)" : "transparent")].join(";");
		Q.appendHTML(Q.skin.body, '<div id="' + at + '" style="' + K + '"></div>');
		j = ad(at);
		aA();
		F(j, "mousedown", L)
	}

	function B() {
		if(j) {M(j, "mousedown", L);
			C(j);
			j = null
		}
		ag = null
	}

	function L(S) {n(S);
		var K = V(S);
		E.startX = K[0];
		E.startY = K[1];
		ag = ad(Q.player.id);
		F(document, "mousemove", H);
		F(document, "mouseup", i);
		if(Q.isGecko) {
			j.style.cursor = "-moz-grabbing"
		}
	}

	function H(aI) {
		var K = Q.player, aJ = Q.dimensions, aH = V(aI);
		var aG = aH[0] - E.startX;
		E.startX += aG;
		E.x = Math.max(Math.min(0, E.x + aG), aJ.innerWidth - K.width);
		var S = aH[1] - E.startY;
		E.startY += S;
		E.y = Math.max(Math.min(0, E.y + S), aJ.innerHeight - K.height);
		aC(ag.style, {
			left : E.x + "px",
			top : E.y + "px"
		})
	}

	function i() {M(document, "mousemove", H);
		M(document, "mouseup", i);
		if(Q.isGecko) {
			j.style.cursor = "-moz-grab"
		}
	}
	Q.img = function(S, aG) {
		this.obj = S;
		this.id = aG;
		this.ready = false;
		var K = this;
		D = new Image();
		D.onload = function() {
			K.height = S.height ? parseInt(S.height, 10) : D.height;
			K.width = S.width ? parseInt(S.width, 10) : D.width;
			K.ready = true;
			D.onload = null;
			D = null
		};
		D.src = S.content
	};
	Q.img.ext = ["bmp", "gif", "jpg", "jpeg", "png"];
	Q.img.prototype = {
		append : function(S, aI) {
			var aG = document.createElement("img");
			aG.id = this.id;
			aG.src = this.obj.content;
			aG.style.position = "absolute";
			var K, aH;
			if(aI.oversized && Q.options.handleOversize == "resize") {
				K = aI.innerHeight;
				aH = aI.innerWidth
			} else {
				K = this.height;
				aH = this.width
			}
			aG.setAttribute("height", K);
			aG.setAttribute("width", aH);
			S.appendChild(aG)
		},
		remove : function() {
			var K = ad(this.id);
			if(K) {C(K)
			}B();
			if(D) {
				D.onload = null;
				D = null
			}
		},
		onLoad : function() {
			var K = Q.dimensions;
			if(K.oversized && Q.options.handleOversize == "drag") {O()
			}
		},
		onWindowResize : function() {
			var aH = Q.dimensions;
			switch(Q.options.handleOversize) {
				case"resize":
					var K = ad(this.id);
					K.height = aH.innerHeight;
					K.width = aH.innerWidth;
					break;
				case"drag":
					if(ag) {
						var aG = parseInt(Q.getStyle(ag, "top")), S = parseInt(Q.getStyle(ag, "left"));
						if(aG + this.height < aH.innerHeight) {
							ag.style.top = aH.innerHeight - this.height + "px"
						}
						if(S + this.width < aH.innerWidth) {
							ag.style.left = aH.innerWidth - this.width + "px"
						}aA()
					}
					break
			}
		}
	};
	var ao = false, Y = [], q = ["sb-nav-close", "sb-nav-next", "sb-nav-play", "sb-nav-pause", "sb-nav-previous"], aa, ae, Z, m = true;
	function N(aG, aQ, aN, aL, aR) {
		var K = (aQ == "opacity"), aM = K ? Q.setOpacity : function(aS, aT) {
			aS.style[aQ] = "" + aT + "px"
		};
		if(aL == 0 || (!K && !Q.options.animate) || (K && !Q.options.animateFade)) {aM(aG, aN);
			if(aR) {aR()
			}
			return
		}
		var aO = parseFloat(Q.getStyle(aG, aQ)) || 0;
		var aP = aN - aO;
		if(aP == 0) {
			if(aR) {aR()
			}
			return
		}
		aL *= 1000;
		var aH = aw(), aK = Q.ease, aJ = aH + aL, aI;
		var S = setInterval(function() {
			aI = aw();
			if(aI >= aJ) {clearInterval(S);
				S = null;
				aM(aG, aN);
				if(aR) {aR()
				}
			} else {aM(aG, aO + aK((aI - aH) / aL) * aP)
			}
		}, 10)
	}

	function aB() {
		aa.style.height = Q.getWindowSize("Height") + "px";
		aa.style.width = Q.getWindowSize("Width") + "px"
	}

	function aE() {
		aa.style.top = document.documentElement.scrollTop + "px";
		aa.style.left = document.documentElement.scrollLeft + "px"
	}

	function ay(K) {
		if(K) {aF(Y, function(S, aG) {
				aG[0].style.visibility = aG[1] || ""
			})
		} else {
			Y = [];
			aF(Q.options.troubleElements, function(aG, S) {aF(document.getElementsByTagName(S), function(aH, aI) {
					Y.push([aI, aI.style.visibility]);
					aI.style.visibility = "hidden"
				})
			})
		}
	}

	function r(aG, K) {
		var S = ad("sb-nav-" + aG);
		if(S) {
			S.style.display = K ? "" : "none"
		}
	}

	function ah(K, aJ) {
		var aI = ad("sb-loading"), aG = Q.getCurrent().player, aH = (aG == "img" || aG == "html");
		if(K) {
			Q.setOpacity(aI, 0);
			aI.style.display = "block";
			var S = function() {
				Q.clearOpacity(aI);
				if(aJ) {aJ()
				}
			};
			if(aH) {N(aI, "opacity", 1, Q.options.fadeDuration, S)
			} else {S()
			}
		} else {
			var S = function() {
				aI.style.display = "none";
				Q.clearOpacity(aI);
				if(aJ) {aJ()
				}
			};
			if(aH) {N(aI, "opacity", 0, Q.options.fadeDuration, S)
			} else {S()
			}
		}
	}

	function t(aO) {
		var aJ = Q.getCurrent();
		ad("sb-title-inner").innerHTML = aJ.title || "";
		var aP, aL, S, aQ, aM;
		if(Q.options.displayNav) {
			aP = true;
			var aN = Q.gallery.length;
			if(aN > 1) {
				if(Q.options.continuous) {
					aL = aM = true
				} else {
					aL = (aN - 1) > Q.current;
					aM = Q.current > 0
				}
			}
			if(Q.options.slideshowDelay > 0 && Q.hasNext()) {
				aQ = !Q.isPaused();
				S = !aQ
			}
		} else {
			aP = aL = S = aQ = aM = false
		}r("close", aP);
		r("next", aL);
		r("play", S);
		r("pause", aQ);
		r("previous", aM);
		var K = "";
		if(Q.options.displayCounter && Q.gallery.length > 1) {
			var aN = Q.gallery.length;
			if(Q.options.counterType == "skip") {
				var aI = 0, aH = aN, aG = parseInt(Q.options.counterLimit) || 0;
				if(aG < aN && aG > 2) {
					var aK = Math.floor(aG / 2);
					aI = Q.current - aK;
					if(aI < 0) {
						aI += aN
					}
					aH = Q.current + (aG - aK);
					if(aH > aN) {
						aH -= aN
					}
				}
				while(aI != aH) {
					if(aI == aN) {
						aI = 0
					}
					K += '<a onclick="Shadowbox.change(' + aI + ');"';
					if(aI == Q.current) {
						K += ' class="sb-counter-current"'
					}
					K += ">" + (++aI) + "</a>"
				}
			} else {
				K = [Q.current + 1, Q.lang.of, aN].join(" ")
			}
		}
		ad("sb-counter").innerHTML = K;
		aO()
	}

	function U(aH) {
		var K = ad("sb-title-inner"), aG = ad("sb-info-inner"), S = 0.35;
		K.style.visibility = aG.style.visibility = "";
		if(K.innerHTML != "") {N(K, "marginTop", 0, S)
		}N(aG, "marginTop", 0, S, aH)
	}

	function av(aG, aM) {
		var aK = ad("sb-title"), K = ad("sb-info"), aH = aK.offsetHeight, aI = K.offsetHeight, aJ = ad("sb-title-inner"), aL = ad("sb-info-inner"), S = ( aG ? 0.35 : 0);
		N(aJ, "marginTop", aH, S);
		N(aL, "marginTop", aI * -1, S, function() {
			aJ.style.visibility = aL.style.visibility = "hidden";
			aM()
		})
	}

	function ac(K, aH, S, aJ) {
		var aI = ad("sb-wrapper-inner"), aG = ( S ? Q.options.resizeDuration : 0);
		N(Z, "top", aH, aG);
		N(aI, "height", K, aG, aJ)
	}

	function ar(K, aH, S, aI) {
		var aG = ( S ? Q.options.resizeDuration : 0);
		N(Z, "left", aH, aG);
		N(Z, "width", K, aG, aI)
	}

	function ak(aM, aG) {
		var aI = ad("sb-body-inner"), aM = parseInt(aM), aG = parseInt(aG), S = Z.offsetHeight - aI.offsetHeight, K = Z.offsetWidth - aI.offsetWidth, aK = ae.offsetHeight, aL = ae.offsetWidth, aJ = parseInt(Q.options.viewportPadding) || 20, aH = (Q.player && Q.options.handleOversize != "drag");
		return Q.setDimensions(aM, aG, aK, aL, S, K, aJ, aH)
	}

	var T = {};
	T.markup = '<div id="sb-container"><div id="sb-overlay"></div><div id="sb-wrapper"><div id="sb-title"><div id="sb-title-inner"></div></div><div id="sb-wrapper-inner"><div id="sb-body"><div id="sb-body-inner"></div><div id="sb-loading"><div id="sb-loading-inner"><span>{loading}</span></div></div></div></div><div id="sb-info"><div id="sb-info-inner"><div id="sb-counter"></div><div id="sb-nav"><a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a><a id="sb-nav-next" title="{next}" onclick="Shadowbox.next()"></a><a id="sb-nav-play" title="{play}" onclick="Shadowbox.play()"></a><a id="sb-nav-pause" title="{pause}" onclick="Shadowbox.pause()"></a><a id="sb-nav-previous" title="{previous}" onclick="Shadowbox.previous()"></a></div></div></div></div></div>';
	T.options = {
		animSequence : "sync",
		counterLimit : 10,
		counterType : "default",
		displayCounter : true,
		displayNav : true,
		fadeDuration : 0.35,
		initialHeight : 160,
		initialWidth : 320,
		modal : false,
		overlayColor : "#000",
		overlayOpacity : 0.5,
		resizeDuration : 0.35,
		showOverlay : true,
		troubleElements : ["select", "object", "embed", "canvas"]
	};
	T.init = function() {
		Q.appendHTML(document.body, s(T.markup, Q.lang));
		T.body = ad("sb-body-inner");
		aa = ad("sb-container");
		ae = ad("sb-overlay");
		Z = ad("sb-wrapper");
		if(!x) {
			aa.style.position = "absolute"
		}
		if(!h) {
			var aG, K, S = /url\("(.*\.png)"\)/;
			aF(q, function(aI, aJ) {
				aG = ad(aJ);
				if(aG) {
					K = Q.getStyle(aG, "backgroundImage").match(S);
					if(K) {
						aG.style.backgroundImage = "none";
						aG.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=" + K[1] + ",sizingMethod=scale);"
					}
				}
			})
		}
		var aH;
		F(au, "resize", function() {
			if(aH) {clearTimeout(aH);
				aH = null
			}
			if(A) {
				aH = setTimeout(T.onWindowResize, 10)
			}
		})
	};
	T.onOpen = function(K, aG) {
		m = false;
		aa.style.display = "block";
		aB();
		var S = ak(Q.options.initialHeight, Q.options.initialWidth);
		ac(S.innerHeight, S.top);
		ar(S.width, S.left);
		if(Q.options.showOverlay) {
			ae.style.backgroundColor = Q.options.overlayColor;
			Q.setOpacity(ae, 0);
			if(!Q.options.modal) {F(ae, "click", Q.close)
			}
			ao = true
		}
		if(!x) {aE();
			F(au, "scroll", aE)
		}ay();
		aa.style.visibility = "visible";
		if(ao) {N(ae, "opacity", Q.options.overlayOpacity, Q.options.fadeDuration, aG)
		} else {aG()
		}
	};
	T.onLoad = function(S, K) {ah(true);
		while(T.body.firstChild) {C(T.body.firstChild)
		}av(S, function() {
			if(!A) {
				return
			}
			if(!S) {
				Z.style.visibility = "visible"
			}t(K)
		})
	};
	T.onReady = function(aH) {
		if(!A) {
			return
		}
		var S = Q.player, aG = ak(S.height, S.width);
		var K = function() {U(aH)
		};
		switch(Q.options.animSequence) {
			case"hw":
				ac(aG.innerHeight, aG.top, true, function() {ar(aG.width, aG.left, true, K)
				});
				break;
			case"wh":
				ar(aG.width, aG.left, true, function() {ac(aG.innerHeight, aG.top, true, K)
				});
				break;
			default:
				ar(aG.width, aG.left, true);
				ac(aG.innerHeight, aG.top, true, K)
		}
	};
	T.onShow = function(K) {ah(false, K);
		m = true
	};
	T.onClose = function() {
		if(!x) {M(au, "scroll", aE)
		}M(ae, "click", Q.close);
		Z.style.visibility = "hidden";
		var K = function() {
			aa.style.visibility = "hidden";
			aa.style.display = "none";
			ay(true)
		};
		if(ao) {N(ae, "opacity", 0, Q.options.fadeDuration, K)
		} else {K()
		}
	};
	T.onPlay = function() {r("play", false);
		r("pause", true)
	};
	T.onPause = function() {r("pause", false);
		r("play", true)
	};
	T.onWindowResize = function() {
		if(!m) {
			return
		}aB();
		var K = Q.player, S = ak(K.height, K.width);
		ar(S.width, S.left);
		ac(S.innerHeight, S.top);
		if(K.onWindowResize) {
			K.onWindowResize()
		}
	};
	Q.skin = T;
	au.Shadowbox = Q
})(window);

