( function() {
	var ua = navigator.userAgent.toLowerCase(), S = {
		version : "3.0rc1",
		adapter : null,
		cache : [],
		client : {
			isIE : ua.indexOf("msie") > -1,
			isIE6 : ua.indexOf("msie 6") > -1,
			isIE7 : ua.indexOf("msie 7") > -1,
			isGecko : ua.indexOf("gecko") > -1 && ua.indexOf("safari") == -1,
			isWebkit : ua.indexOf("applewebkit/") > -1,
			isWindows : ua.indexOf("windows") > -1 || ua.indexOf("win32") > -1,
			isMac : ua.indexOf("macintosh") > -1 || ua.indexOf("mac os x") > -1,
			isLinux : ua.indexOf("linux") > -1
		},
		content : null,
		current : -1,
		dimensions : null,
		gallery : [],
		expando : "shadowboxCacheKey",
		libraries : {
			Prototype : "prototype",
			jQuery : "jquery",
			MooTools : "mootools",
			YAHOO : "yui",
			dojo : "dojo",
			Ext : "ext"
		},
		options : {
			adapter : null,
			animate : true,
			animateFade : true,
			autoplayMovies : true,
			continuous : false,
			ease : function(x) {
				return 1 + Math.pow(x - 1, 3)
			},
			enableKeys : true,
			errors : {
				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"
				}
			},
			ext : {
				img : [ "png", "jpg", "jpeg", "gif", "bmp" ],
				swf : [ "swf" ],
				flv : [ "flv", "m4v" ],
				qt : [ "dv", "mov", "moov", "movie", "mp4" ],
				wmp : [ "asf", "wm", "wmv" ],
				qtwmp : [ "avi", "mpg", "mpeg" ]
			},
			flashParams : {
				bgcolor : "#000000",
				allowfullscreen : true
			},
			flashVars : {},
			flashVersion : "9.0.115",
			handleOversize : "resize",
			handleUnsupported : "link",
			language : "en",
			onChange : null,
			onClose : null,
			onFinish : null,
			onOpen : null,
			players : [ "img" ],
			showMovieControls : true,
			skipSetup : false,
			slideshowDelay : 0,
			useSizzle : true,
			viewportPadding : 20
		},
		path : "",
		plugins : null,
		ready : false,
		regex : {
			domain : /:\/\/(.*?)[:\/]/,
			inline : /#(.+)$/,
			rel : /^(light|shadow)box/i,
			gallery : /^(light|shadow)box\[(.*?)\]/i,
			unsupported : /^unsupported-(\w+)/,
			param : /\s*([a-z_]*?)\s*=\s*(.+)\s*/
		},
		applyOptions : function(opts) {
			if (opts) {
				default_options = apply( {}, S.options);
				apply(S.options, opts)
			}
		},
		revertOptions : function() {
			apply(S.options, default_options)
		},
		change : function(index) {
			if (!S.gallery) {
				return
			}
			if (!S.gallery[index]) {
				if (!S.options.continuous) {
					return
				} else {
					index = index < 0 ? S.gallery.length - 1 : 0
				}
			}
			S.current = index;
			if (typeof slide_timer == "number") {
				clearTimeout(slide_timer);
				slide_timer = null;
				slide_delay = slide_start = 0
			}
			if (S.options.onChange) {
				S.options.onChange()
			}
			loadContent()
		},
		close : function() {
			if (!active) {
				return
			}
			active = false;
			listenKeys(false);
			if (S.content) {
				S.content.remove();
				S.content = null
			}
			if (typeof slide_timer == "number") {
				clearTimeout(slide_timer)
			}
			slide_timer = null;
			slide_delay = 0;
			if (S.options.onClose) {
				S.options.onClose()
			}
			S.skin.onClose();
			S.revertOptions()
		},
		contentId : function() {
			return content_id
		},
		error : function(msg) {
			if (!S.debug) {
				return
			}
			if (typeof window.console != "undefined"
					&& typeof console.log == "function") {
				console.log(msg)
			} else {
				alert(msg)
			}
		},
		getCurrent : function() {
			return S.current > -1 ? S.gallery[S.current] : null
		},
		hasNext : function() {
			return S.gallery.length > 1
					&& (S.current != S.gallery.length - 1 || S.options.continuous)
		},
		init : function(opts) {
			if (initialized) {
				return
			}
			initialized = true;
			opts = opts || {};
			init_options = opts;
			if (opts) {
				apply(S.options, opts)
			}
			for ( var e in S.options.ext) {
				S.regex[e] = new RegExp(".(" + S.options.ext[e].join("|")
						+ ")s*$", "i")
			}
			if (!S.path) {
				var pathre = /(.+\/)shadowbox\.js/i, path;
				each(document.getElementsByTagName("script"), function(s) {
					path = pathre.exec(s.src);
					if (path) {
						S.path = path[1];
						return false
					}
				})
			}
			if (S.options.adapter) {
				S.adapter = S.options.adapter.toLowerCase()
			} else {
				for ( var lib in S.libraries) {
					if (typeof window[lib] != "undefined") {
						S.adapter = S.libraries[lib];
						break
					}
				}
				if (!S.adapter) {
					S.adapter = "base"
				}
			}
			if (S.options.useSizzle && !window.Sizzle) {
				if (window.jQuery) {
					window.Sizzle = jQuery.find
				} else {
					U.include(S.path + "libraries/sizzle/sizzle.js")
				}
			}
			if (!S.lang) {
				U.include(S.path + "languages/shadowbox-" + S.options.language
						+ ".js")
			}
			each(S.options.players, function(p) {
				if ((p == "swf" || p == "flv") && !window.swfobject) {
					U.include(S.path + "libraries/swfobject/swfobject.js")
				}
				if (!S[p]) {
					U.include(S.path + "players/shadowbox-" + p + ".js")
				}
			});
			if (!S.lib) {
				U.include(S.path + "adapters/shadowbox-" + S.adapter + ".js")
			}
			waitDom(waitLibs)
		},
		isActive : function() {
			return active
		},
		isPaused : function() {
			return slide_timer == "paused"
		},
		load : function() {
			if (S.ready) {
				return
			}
			S.ready = true;
			if (S.skin.options) {
				apply(S.options, S.skin.options);
				apply(S.options, init_options)
			}
			S.skin.init();
			if (!S.options.skipSetup) {
				S.setup()
			}
		},
		next : function() {
			S.change(S.current + 1)
		},
		open : function(obj) {
			if (U.isLink(obj)) {
				if (S.inCache(obj)) {
					obj = S.cache[obj[S.expando]]
				} else {
					obj = S.buildCacheObj(obj)
				}
			}
			if (obj.constructor == Array) {
				S.gallery = obj;
				S.current = 0
			} else {
				if (!obj.gallery) {
					S.gallery = [ obj ];
					S.current = 0
				} else {
					S.current = null;
					S.gallery = [];
					each(S.cache, function(c) {
						if (c.gallery && c.gallery == obj.gallery) {
							if (S.current == null && c.content == obj.content
									&& c.title == obj.title) {
								S.current = S.gallery.length
							}
							S.gallery.push(c)
						}
					});
					if (S.current == null) {
						S.gallery.unshift(obj);
						S.current = 0
					}
				}
			}
			obj = S.getCurrent();
			if (obj.options) {
				S.revertOptions();
				S.applyOptions(obj.options)
			}
			var item, remove, m, format, replace, oe = S.options.errors, msg, el;
			for ( var i = 0; i < S.gallery.length; ++i) {
				item = S.gallery[i] = apply( {}, S.gallery[i]);
				remove = false;
				if (m = S.regex.unsupported.exec(item.player)) {
					if (S.options.handleUnsupported == "link") {
						item.player = "html";
						switch (m[1]) {
						case "qtwmp":
							format = "either";
							replace = [ oe.qt.url, oe.qt.name, oe.wmp.url,
									oe.wmp.name ];
							break;
						case "qtf4m":
							format = "shared";
							replace = [ oe.qt.url, oe.qt.name, oe.f4m.url,
									oe.f4m.name ];
							break;
						default:
							format = "single";
							if (m[1] == "swf" || m[1] == "flv") {
								m[1] = "fla"
							}
							replace = [ oe[m[1]].url, oe[m[1]].name ]
						}
						msg = S.lang.errors[format].replace(/\{(\d+)\}/g,
								function(m, n) {
									return replace[n]
								});
						item.content = '<div class="sb-message">' + msg
								+ "</div>"
					} else {
						remove = true
					}
				} else {
					if (item.player == "inline") {
						m = S.regex.inline.exec(item.content);
						if (m) {
							var el = U.get(m[1]);
							if (el) {
								item.content = el.innerHTML
							} else {
								S.error("Cannot find element with id " + m[1])
							}
						} else {
							S
									.error("Cannot find element id for inline content")
						}
					} else {
						if (item.player == "swf" || item.player == "flv") {
							var version = (item.options && item.options.flashVersion)
									|| S.options.flashVersion;
							if (!swfobject.hasFlashPlayerVersion(version)) {
								item.width = 310;
								item.height = 177
							}
						}
					}
				}
				if (remove) {
					S.gallery.splice(i, 1);
					if (i < S.current) {
						--S.current
					} else {
						if (i == S.current) {
							S.current = i > 0 ? i - 1 : i
						}
					}
					--i
				}
			}
			if (S.gallery.length) {
				if (!active) {
					if (typeof S.options.onOpen == "function"
							&& S.options.onOpen(obj) === false) {
						return
					}
					S.skin.onOpen(obj, loadContent)
				} else {
					loadContent()
				}
				active = true
			}
		},
		pause : function() {
			if (typeof slide_timer != "number") {
				return
			}
			var time = new Date().getTime();
			slide_delay = Math.max(0, slide_delay - (time - slide_start));
			if (slide_delay) {
				clearTimeout(slide_timer);
				slide_timer = "paused";
				if (S.skin.onPause) {
					S.skin.onPause()
				}
			}
		},
		play : function() {
			if (!S.hasNext()) {
				return
			}
			if (!slide_delay) {
				slide_delay = S.options.slideshowDelay * 1000
			}
			if (slide_delay) {
				slide_start = new Date().getTime();
				slide_timer = setTimeout( function() {
					slide_delay = slide_start = 0;
					S.next()
				}, slide_delay);
				if (S.skin.onPlay) {
					S.skin.onPlay()
				}
			}
		},
		previous : function() {
			S.change(S.current - 1)
		},
		setDimensions : function(height, width, max_h, max_w, tb, lr, resizable) {
			var h = height = parseInt(height), w = width = parseInt(width), pad = parseInt(S.options.viewportPadding) || 0;
			var extra_h = 2 * pad + tb;
			if (h + extra_h >= max_h) {
				h = max_h - extra_h
			}
			var extra_w = 2 * pad + lr;
			if (w + extra_w >= max_w) {
				w = max_w - extra_w
			}
			var resize_h = height, resize_w = width, change_h = (height - h)
					/ height, change_w = (width - w) / width, oversized = (change_h > 0 || change_w > 0);
			if (resizable && oversized && S.options.handleOversize == "resize") {
				if (change_h > change_w) {
					w = Math.round((width / height) * h)
				} else {
					if (change_w > change_h) {
						h = Math.round((height / width) * w)
					}
				}
				resize_w = w;
				resize_h = h
			}
			S.dimensions = {
				height : h + tb,
				width : w + lr,
				inner_h : h,
				inner_w : w,
				top : (max_h - (h + extra_h)) / 2 + pad,
				left : (max_w - (w + extra_w)) / 2 + pad,
				oversized : oversized,
				resize_h : resize_h,
				resize_w : resize_w
			}
		},
		setup : function(links, opts) {
			each(S.findLinks(links), function(link) {
				S.addCache(link, opts)
			})
		},
		teardown : function(links) {
			each(S.findLinks(links), S.removeCache)
		},
		findLinks : function(links) {
			if (!links) {
				var links = [], rel;
				each(document.getElementsByTagName("a"), function(a) {
					rel = a.getAttribute("rel");
					if (rel && S.regex.rel.test(rel)) {
						links.push(a)
					}
				})
			} else {
				var len = links.length;
				if (len) {
					if (window.Sizzle) {
						if (typeof links == "string") {
							links = Sizzle(links)
						} else {
							if (len == 2 && links.push
									&& typeof links[0] == "string"
									&& links[1].nodeType) {
								links = Sizzle(links[0], links[1])
							}
						}
					}
				} else {
					links = [ links ]
				}
			}
			return links
		},
		inCache : function(link) {
			return typeof link[S.expando] == "number"
					&& S.cache[link[S.expando]]
		},
		addCache : function(link, opts) {
			if (!S.inCache(link)) {
				link[S.expando] = S.cache.length;
				S.lib.addEvent(link, "click", handleClick)
			}
			S.cache[link[S.expando]] = S.buildCacheObj(link, opts)
		},
		removeCache : function(link) {
			S.lib.removeEvent(link, "click", handleClick);
			S.cache[link[S.expando]] = null;
			delete link[S.expando]
		},
		clearCache : function() {
			each(S.cache, function(obj) {
				S.removeCache(obj.link)
			});
			S.cache = []
		},
		buildCacheObj : function(link, opts) {
			var obj = {
				link : link,
				title : link.getAttribute("title"),
				options : apply( {}, opts || {}),
				content : link.href
			};
			if (opts) {
				each( [ "player", "title", "height", "width", "gallery" ],
						function(option) {
							if (typeof obj.options[option] != "undefined") {
								obj[option] = obj.options[option];
								delete obj.options[option]
							}
						})
			}
			if (!obj.player) {
				obj.player = S.getPlayer(obj.content)
			}
			var rel = link.getAttribute("rel");
			if (rel) {
				var match = rel.match(S.regex.gallery);
				if (match) {
					obj.gallery = escape(match[2])
				}
				each(rel.split(";"), function(parameter) {
					match = parameter.match(S.regex.param);
					if (match) {
						if (match[1] == "options") {
							eval("apply(obj.options," + match[2] + ")")
						} else {
							obj[match[1]] = match[2]
						}
					}
				})
			}
			return obj
		},
		getPlayer : function(content) {
			var r = S.regex, p = S.plugins, m = content.match(r.domain), same_domain = m
					&& document.domain == m[1];
			if (content.indexOf("#") > -1 && same_domain) {
				return "inline"
			}
			var q = content.indexOf("?");
			if (q > -1) {
				content = content.substring(0, q)
			}
			if (r.img.test(content)) {
				return "img"
			}
			if (r.swf.test(content)) {
				return p.fla ? "swf" : "unsupported-swf"
			}
			if (r.flv.test(content)) {
				return p.fla ? "flv" : "unsupported-flv"
			}
			if (r.qt.test(content)) {
				return p.qt ? "qt" : "unsupported-qt"
			}
			if (r.wmp.test(content)) {
				if (p.wmp) {
					return "wmp"
				}
				if (p.f4m) {
					return "qt"
				}
				if (S.client.isMac) {
					return p.qt ? "unsupported-f4m" : "unsupported-qtf4m"
				}
				return "unsupported-wmp"
			}
			if (r.qtwmp.test(content)) {
				if (p.qt) {
					return "qt"
				}
				if (p.wmp) {
					return "wmp"
				}
				return S.client.isMac ? "unsupported-qt" : "unsupported-qtwmp"
			}
			return "iframe"
		}
	}, U = S.util = {
		animate : function(el, p, to, d, cb) {
			var from = parseFloat(S.lib.getStyle(el, p));
			if (isNaN(from)) {
				from = 0
			}
			var delta = to - from;
			if (delta == 0) {
				if (cb) {
					cb()
				}
				return
			}
			var op = p == "opacity";
			function fn(ease) {
				var to = from + ease * delta;
				if (op) {
					U.setOpacity(el, to)
				} else {
					el.style[p] = to + "px"
				}
			}
			if (!d || (!op && !S.options.animate)
					|| (op && !S.options.animateFade)) {
				fn(1);
				if (cb) {
					cb()
				}
				return
			}
			d *= 1000;
			var begin = new Date().getTime(), ease = S.options.ease, end = begin
					+ d, time, timer = setInterval( function() {
				time = new Date().getTime();
				if (time >= end) {
					clearInterval(timer);
					fn(1);
					if (cb) {
						cb()
					}
				} else {
					fn(ease((time - begin) / d))
				}
			}, 10)
		},
		apply : function(o, e) {
			for ( var p in e) {
				o[p] = e[p]
			}
			return o
		},
		clearOpacity : function(el) {
			var s = el.style;
			if (window.ActiveXObject) {
				if (typeof s.filter == "string" && (/alpha/i).test(s.filter)) {
					s.filter = s.filter.replace(/[\w\.]*alpha\(.*?\);?/i, "")
				}
			} else {
				s.opacity = ""
			}
		},
		each : function(obj, fn, scope) {
			for ( var i = 0, len = obj.length; i < len; ++i) {
				if (fn.call(scope || obj[i], obj[i], i, obj) === false) {
					return
				}
			}
		},
		get : function(id) {
			return document.getElementById(id)
		},
		include : function() {
			var includes = {};
			return function(file) {
				if (includes[file]) {
					return
				}
				includes[file] = true;
				var head = document.getElementsByTagName("head")[0], script = document
						.createElement("script");
				script.src = file;
				head.appendChild(script)
			}
		}(),
		isLink : function(obj) {
			if (!obj || !obj.tagName) {
				return false
			}
			var up = obj.tagName.toUpperCase();
			return up == "A" || up == "AREA"
		},
		removeChildren : function(el) {
			while (el.firstChild) {
				el.removeChild(el.firstChild)
			}
		},
		setOpacity : function(el, o) {
			var s = el.style;
			if (window.ActiveXObject) {
				s.zoom = 1;
				s.filter = (s.filter || "").replace(/\s*alpha\([^\)]*\)/gi, "")
						+ (o == 1 ? "" : " alpha(opacity=" + (o * 100) + ")")
			} else {
				s.opacity = o
			}
		}
	}, apply = U.apply, each = U.each, init_options, initialized = false, default_options = {}, content_id = "sb-content", active = false, slide_timer, slide_start, slide_delay = 0;
	if (navigator.plugins && navigator.plugins.length) {
		var names = [];
		each(navigator.plugins, function(p) {
			names.push(p.name)
		});
		names = names.join();
		var f4m = names.indexOf("Flip4Mac") > -1;
		S.plugins = {
			fla : names.indexOf("Shockwave Flash") > -1,
			qt : names.indexOf("QuickTime") > -1,
			wmp : !f4m && names.indexOf("Windows Media") > -1,
			f4m : f4m
		}
	} else {
		function detectPlugin(n) {
			try {
				var axo = new ActiveXObject(n)
			} catch (e) {
			}
			return !!axo
		}
		S.plugins = {
			fla : detectPlugin("ShockwaveFlash.ShockwaveFlash"),
			qt : detectPlugin("QuickTime.QuickTime"),
			wmp : detectPlugin("wmplayer.ocx"),
			f4m : false
		}
	}
	function waitDom(cb) {
		if (document.addEventListener) {
			document.addEventListener("DOMContentLoaded", function() {
				document.removeEventListener("DOMContentLoaded",
						arguments.callee, false);
				cb()
			}, false)
		} else {
			if (document.attachEvent) {
				document.attachEvent("onreadystatechange", function() {
					if (document.readyState === "complete") {
						document.detachEvent("onreadystatechange",
								arguments.callee);
						cb()
					}
				});
				if (document.documentElement.doScroll && window == window.top) {
					( function() {
						if (S.ready) {
							return
						}
						try {
							document.documentElement.doScroll("left")
						} catch (error) {
							setTimeout(arguments.callee, 0);
							return
						}
						cb()
					})()
				}
			}
		}
		if (typeof window.onload == "function") {
			var oldonload = window.onload;
			window.onload = function() {
				oldonload();
				cb()
			}
		} else {
			window.onload = cb
		}
	}
	function waitLibs() {
		if (S.lib && S.lang) {
			S.load()
		} else {
			setTimeout(waitLibs, 0)
		}
	}
	function handleClick(e) {
		var link;
		if (U.isLink(this)) {
			link = this
		} else {
			link = S.lib.getTarget(e);
			while (!U.isLink(link) && link.parentNode) {
				link = link.parentNode
			}
		}
		S.lib.preventDefault(e);
		if (link) {
			S.open(link);
			if (S.gallery.length) {
				S.lib.preventDefault(e)
			}
		}
	}
	function listenKeys(on) {
		if (!S.options.enableKeys) {
			return
		}
		S.lib[(on ? "add" : "remove") + "Event"]
				(document, "keydown", handleKey)
	}
	function handleKey(e) {
		var code = S.lib.keyCode(e), handler;
		switch (code) {
		case 81:
		case 88:
		case 27:
			handler = S.close;
			break;
		case 37:
			handler = S.previous;
			break;
		case 39:
			handler = S.next;
			break;
		case 32:
			handler = typeof slide_timer == "number" ? S.pause : S.play
		}
		if (handler) {
			S.lib.preventDefault(e);
			handler()
		}
	}
	function loadContent() {
		var obj = S.getCurrent();
		if (!obj) {
			return
		}
		var p = obj.player == "inline" ? "html" : obj.player;
		if (typeof S[p] != "function") {
			S.error("Unknown player: " + p)
		}
		var change = false;
		if (S.content) {
			S.content.remove();
			change = true;
			S.revertOptions();
			if (obj.options) {
				S.applyOptions(obj.options)
			}
		}
		U.removeChildren(S.skin.bodyEl());
		S.content = new S[p](obj);
		listenKeys(false);
		S.skin.onLoad(S.content, change, function() {
			if (!S.content) {
				return
			}
			if (typeof S.content.ready != "undefined") {
				var id = setInterval( function() {
					if (S.content) {
						if (S.content.ready) {
							clearInterval(id);
							id = null;
							S.skin.onReady(contentReady)
						}
					} else {
						clearInterval(id);
						id = null
					}
				}, 100)
			} else {
				S.skin.onReady(contentReady)
			}
		});
		if (S.gallery.length > 1) {
			var next = S.gallery[S.current + 1] || S.gallery[0];
			if (next.player == "img") {
				var a = new Image();
				a.src = next.content
			}
			var prev = S.gallery[S.current - 1]
					|| S.gallery[S.gallery.length - 1];
			if (prev.player == "img") {
				var b = new Image();
				b.src = prev.content
			}
		}
	}
	function contentReady() {
		if (!S.content) {
			return
		}
		S.content.append(S.skin.bodyEl(), content_id, S.dimensions);
		S.skin.onFinish(finishContent)
	}
	function finishContent() {
		if (!S.content) {
			return
		}
		if (S.content.onLoad) {
			S.content.onLoad()
		}
		if (S.options.onFinish) {
			S.options.onFinish()
		}
		if (!S.isPaused()) {
			S.play()
		}
		listenKeys(true)
	}
	window.Shadowbox = S
})();
( function() {
	var g = Shadowbox, f = g.util, q = false, b = [], m = [ "sb-nav-close",
			"sb-nav-next", "sb-nav-play", "sb-nav-pause", "sb-nav-previous" ], o = {
		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-body"><div id="sb-body-inner"></div><div id="sb-loading"><a onclick="Shadowbox.close()">{cancel}</a></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 style="clear:both"></div></div></div></div></div>',options:{animSequence:"sync",autoDimensions:false,counterLimit:10,counterType:"default",displayCounter:true,displayNav:true,fadeDuration:0.35,initialHeight:160,initialWidth:320,modal:false,overlayColor:"#000",overlayOpacity:0.8,resizeDuration:0.35,showOverlay:true,troubleElements:["select","object","embed","canvas"]},init:function(){var s=o.markup.replace(/\{(\w+)\}/g,function(w,x){return g.lang[x]});g.lib.append(document.body,s);if(g.client.isIE6){f.get("sb-body").style.zoom=1;var u,r,t=/url\("(.*\.png)"\)/;f.each(m,function(w){u=f.get(w);if(u){r=g.lib.getStyle(u,"backgroundImage").match(t);if(r){u.style.backgroundImage="none";u.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src="+r[1]+",sizingMethod=scale);"}}})}var v;g.lib.addEvent(window,"resize",function(){if(v){clearTimeout(v);v=null}if(g.isActive()){v=setTimeout(function(){o.onWindowResize();var w=g.content;if(w&&w.onWindowResize){w.onWindowResize()}},50)}})},bodyEl:function(){return f.get("sb-body-inner")},onOpen:function(u,r){e(false);var t=g.options.autoDimensions&&"height" in u?u.height:g.options.initialHeight,s=g.options.autoDimensions&&"width" in u?u.width:g.options.initialWidth;f.get("sb-container").style.display="block";var v=p(t,s);d(v.inner_h,v.top,false);h(v.width,v.left,false);i(r)},onLoad:function(s,t,r){k(true);j(t,function(){if(!s){return}if(!t){f.get("sb-wrapper").style.display=""}r()})},onReady:function(r){var t=g.content;if(!t){return}var s=p(t.height,t.width,t.resizable);o.resizeContent(s.inner_h,s.width,s.top,s.left,true,function(){l(r)})},onFinish:function(r){k(false,r)},onClose:function(){i();e(true)},onPlay:function(){c("play",false);c("pause",true)},onPause:function(){c("pause",false);c("play",true)},onWindowResize:function(){var t=g.content;if(!t){return}var s=p(t.height,t.width,t.resizable);h(s.width,s.left,false);d(s.inner_h,s.top,false);var r=f.get(g.contentId());if(r){if(t.resizable&&g.options.handleOversize=="resize"){r.height=s.resize_h;r.width=s.resize_w}}},resizeContent:function(s,t,w,v,u,r){var y=g.content;if(!y){return}var x=p(y.height,y.width,y.resizable);switch(g.options.animSequence){case"hw":d(x.inner_h,x.top,u,function(){h(x.width,x.left,u,r)});break;case"wh":h(x.width,x.left,u,function(){d(x.inner_h,x.top,u,r)});break;default:h(x.width,x.left,u);d(x.inner_h,x.top,u,r)}}};function n(){f.get("sb-container").style.top=document.documentElement.scrollTop+"px"}function e(r){if(r){f.each(b,function(s){s[0].style.visibility=s[1]||""})}else{b=[];f.each(g.options.troubleElements,function(s){f.each(document.getElementsByTagName(s),function(t){b.push([t,t.style.visibility]);t.style.visibility="hidden"})})}}function i(r){var s=f.get("sb-overlay"),t=f.get("sb-container"),v=f.get("sb-wrapper");if(r){if(g.client.isIE6){n();g.lib.addEvent(window,"scroll",n)}if(g.options.showOverlay){q=true;s.style.backgroundColor=g.options.overlayColor;f.setOpacity(s,0);if(!g.options.modal){g.lib.addEvent(s,"click",g.close)}v.style.display="none"}t.style.visibility="visible";if(q){var u=parseFloat(g.options.overlayOpacity);f.animate(s,"opacity",u,g.options.fadeDuration,r)}else{r()}}else{if(g.client.isIE6){g.lib.removeEvent(window,"scroll",n)}g.lib.removeEvent(s,"click",g.close);if(q){v.style.display="none";f.animate(s,"opacity",0,g.options.fadeDuration,function(){t.style.display="";v.style.display="";f.clearOpacity(s)})}else{t.style.visibility="hidden"}}}function c(t,r){var s=f.get("sb-nav-"+t);if(s){s.style.display=r?"":"none"}}function k(s,r){var u=f.get("sb-loading"),w=g.getCurrent().player,v=(w=="img"||w=="html");if(s){function t(){f.clearOpacity(u);if(r){r()}}f.setOpacity(u,0);u.style.display="";if(v){f.animate(u,"opacity",1,g.options.fadeDuration,t)}else{t()}}else{function t(){u.style.display="none";f.clearOpacity(u);if(r){r()}}if(v){f.animate(u,"opacity",0,g.options.fadeDuration,t)}else{t()}}}function a(u){var z=g.getCurrent();f.get("sb-title-inner").innerHTML=z.title||"";var C,t,x,D,s;if(g.options.displayNav){C=true;var B=g.gallery.length;if(B>1){if(g.options.continuous){t=s=true}else{t=(B-1)>g.current;s=g.current>0}}if(g.options.slideshowDelay>0&&g.hasNext()){D=!g.isPaused();x=!D}}else{C=t=x=D=s=false}c("close",C);c("next",t);c("play",x);c("pause",D);c("previous",s);var r="";if(g.options.displayCounter&&g.gallery.length>1){var B=g.gallery.length;if(g.options.counterType=="skip"){var y=0,w=B,v=parseInt(g.options.counterLimit)||0;if(v<B&&v>2){var A=Math.floor(v/2);y=g.current-A;if(y<0){y+=B}w=g.current+(v-A);if(w>B){w-=B}}while(y!=w){if(y==B){y=0}r+='<a onclick="Shadowbox.change('+y+');"';if(y==g.current){r+=' class="sb-counter-current"'}r+=">"+(y++)+"</a>"}}else{var r=(g.current+1)+" "+g.lang.of+" "+B}}f.get("sb-counter").innerHTML=r;u()}function j(u,s){var y=f.get("sb-wrapper"),B=f.get("sb-title"),v=f.get("sb-info"),r=f.get("sb-title-inner"),z=f.get("sb-info-inner"),A=parseInt(g.lib.getStyle(r,"height"))||0,x=parseInt(g.lib.getStyle(z,"height"))||0;var w=function(){r.style.visibility=z.style.visibility="hidden";a(s)};if(u){f.animate(B,"height",0,0.35);f.animate(v,"height",0,0.35);f.animate(y,"paddingTop",A,0.35);f.animate(y,"paddingBottom",x,0.35,w)}else{B.style.height=v.style.height="0px";y.style.paddingTop=A+"px";y.style.paddingBottom=x+"px";w()}}function l(u){var s=f.get("sb-wrapper"),w=f.get("sb-title"),v=f.get("sb-info"),z=f.get("sb-title-inner"),y=f.get("sb-info-inner"),x=parseInt(g.lib.getStyle(z,"height"))||0,r=parseInt(g.lib.getStyle(y,"height"))||0;z.style.visibility=y.style.visibility="";if(z.innerHTML!=""){f.animate(w,"height",x,0.35);f.animate(s,"paddingTop",0,0.35)}f.animate(v,"height",r,0.35);f.animate(s,"paddingBottom",0,0.35,u)}function d(u,z,y,r){var A=f.get("sb-body"),x=f.get("sb-wrapper"),w=parseInt(u),v=parseInt(z);if(y){f.animate(A,"height",w,g.options.resizeDuration);f.animate(x,"top",v,g.options.resizeDuration,r)}else{A.style.height=w+"px";x.style.top=v+"px";if(r){r()}}}function h(x,z,y,r){var v=f.get("sb-wrapper"),u=parseInt(x),t=parseInt(z);if(y){f.animate(v,"width",u,g.options.resizeDuration);f.animate(v,"left",t,g.options.resizeDuration,r)}else{v.style.width=u+"px";v.style.left=t+"px";if(r){r()}}}function p(r,u,t){var s=f.get("sb-body-inner");sw=f.get("sb-wrapper"),so=f.get("sb-overlay"),tb=sw.offsetHeight-s.offsetHeight,lr=sw.offsetWidth-s.offsetWidth,max_h=so.offsetHeight,max_w=so.offsetWidth;g.setDimensions(r,u,max_h,max_w,tb,lr,t);return g.dimensions}g.skin=o})();