var Shadowbox = function () {
	var ua = navigator.userAgent.toLowerCase(), S = {version:"3.0b", adapter:null, current:-1, gallery:[], cache:[], content:null, dimensions:null, plugins:null, path:"", options:{adapter:null, animate:true, animateFade:true, autoplayMovies:true, autoDimensions:false, continuous:false, counterLimit:10, counterType:"default", displayCounter:true, displayNav:true, 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"], qt:["dv", "mov", "moov", "movie", "mp4"], wmp:["asf", "wm", "wmv"], qtwmp:["avi", "mpg", "mpeg"], iframe:["asp", "aspx", "cgi", "cfm", "htm", "html", "jsp", "pl", "php", "php3", "php4", "php5", "phtml", "rb", "rhtml", "shtml", "txt", "vbs"]}, fadeDuration:0.35, flashParams:{bgcolor:"#000000", allowFullScreen:true}, flashVars:{}, flashVersion:"9.0.115", handleOversize:"resize", handleUnsupported:"link", initialHeight:160, initialWidth:320, language:"en", modal:false, onChange:null, onClose:null, onFinish:null, onOpen:null, overlayColor:"#000", overlayOpacity:0.8, players:["img"], resizeDuration:0.35, showOverlay:true, showMovieControls:true, skipSetup:false, slideshowDelay:0, useSizzle:true, viewportPadding:20}, 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}, regex:{domain:/:\/\/(.*?)[:\/]/, inline:/#(.+)$/, rel:/^(light|shadow)box/i, gallery:/^(light|shadow)box\[(.*?)\]/i, unsupported:/^unsupported-(\w+)/, param:/\s*([a-z_]*?)\s*=\s*(.+)\s*/}, libraries:{Prototype:"prototype", jQuery:"jquery", MooTools:"mootools", YAHOO:"yui", dojo:"dojo", Ext:"ext"}, applyOptions:function (opts) {
		if (opts) {
			default_options = apply({}, S.options);
			apply(S.options, opts);
		}
	}, buildCacheObj:function (link, opts) {
		var href = link.href, obj = {el:link, title:link.getAttribute("title"), options:apply({}, opts || {}), content:href};
		each(["player", "title", "height", "width", "gallery"], function (o) {
			if (typeof obj.options[o] != "undefined") {
				obj[o] = obj.options[o];
				delete obj.options[o];
			}
		});
		if (!obj.player) {
			obj.player = getPlayer(href);
		}
		var rel = link.getAttribute("rel");
		if (rel) {
			var m = rel.match(S.regex.gallery);
			if (m) {
				obj.gallery = escape(m[2]);
			}
			each(rel.split(";"), function (p) {
				m = p.match(S.regex.param);
				if (m) {
					if (m[1] == "options") {
						eval("apply(obj.options," + m[2] + ")");
					} else {
						obj[m[1]] = m[2];
					}
				}
			});
		}
		return obj;
	}, change:function (n) {
		if (!S.gallery) {
			return;
		}
		if (!S.gallery[n]) {
			if (!S.options.continuous) {
				return;
			} else {
				n = n < 0 ? S.gallery.length - 1 : 0;
			}
		}
		S.current = n;
		if (typeof slide_timer == "number") {
			clearTimeout(slide_timer);
			slide_timer = null;
			slide_delay = slide_start = 0;
		}
		if (S.options.onChange) {
			S.options.onChange();
		}
		loadContent();
	}, clearCache:function () {
		each(S.cache, function (obj) {
			if (obj.el) {
				S.lib.removeEvent(obj.el, "click", handleClick);
			}
		});
		S.cache = [];
	}, 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();
		each(v_cache, function (c) {
			c[0].style.visibility = c[1];
		});
	}, contentId:function () {
		return content_id;
	}, getCounter:function () {
		var len = S.gallery.length;
		if (S.options.counterType == "skip") {
			var c = [], i = 0, end = len, limit = parseInt(S.options.counterLimit) || 0;
			if (limit < len && limit > 2) {
				var h = Math.floor(limit / 2);
				i = S.current - h;
				if (i < 0) {
					i += len;
				}
				end = S.current + (limit - h);
				if (end > len) {
					end -= len;
				}
			}
			while (i != end) {
				if (i == len) {
					i = 0;
				}
				c.push(i++);
			}
		} else {
			var c = (S.current + 1) + " " + S.lang.of + " " + len;
		}
		return c;
	}, 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 path_re = /(.+)shadowbox\.js/i, path;
			each(document.getElementsByTagName("script"), function (s) {
				if ((path = path_re.exec(s.src)) != null) {
					S.path = path[1];
					return false;
				}
			});
		}
		if (S.options.adapter) {
			S.adapter = S.options.adapter;
		} 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) {
			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");
			}
		});
		U.include(S.path + "/adapters/shadowbox-base.js");
	}, isActive:function () {
		return active;
	}, isPaused:function () {
		return slide_timer == "paused";
	}, load:function () {
		if (S.skin.options) {
			apply(S.options, S.skin.options);
			apply(S.options, init_options);
		}
		var markup = S.skin.markup.replace(/\{(\w+)\}/g, function (m, p) {
			return S.lang[p];
		});
		S.lib.append(document.body, markup);
		if (S.skin.init) {
			S.skin.init();
		}
		var id;
		S.lib.addEvent(window, "resize", function () {
			if (id) {
				clearTimeout(id);
				id = null;
			}
			if (active) {
				id = setTimeout(function () {
					if (S.skin.onWindowResize) {
						S.skin.onWindowResize();
					}
					var c = S.content;
					if (c && c.onWindowResize) {
						c.onWindowResize();
					}
				}, 50);
			}
		});
		if (!S.options.skipSetup) {
			S.setup();
		}
	}, next:function () {
		S.change(S.current + 1);
	}, open:function (obj) {
		if (U.isLink(obj)) {
			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 g, r, m, s, a, oe = S.options.errors, msg, el;
		for (var i = 0; i < S.gallery.length; ++i) {
			g = S.gallery[i] = apply({}, S.gallery[i]);
			r = false;
			if (g.player == "unsupported") {
				r = true;
			} else {
				if (m = S.regex.unsupported.exec(g.player)) {
					if (S.options.handleUnsupported == "link") {
						g.player = "html";
						switch (m[1]) {
						  case "qtwmp":
							s = "either";
							a = [oe.qt.url, oe.qt.name, oe.wmp.url, oe.wmp.name];
							break;
						  case "qtf4m":
							s = "shared";
							a = [oe.qt.url, oe.qt.name, oe.f4m.url, oe.f4m.name];
							break;
						  default:
							s = "single";
							if (m[1] == "swf" || m[1] == "flv") {
								m[1] = "fla";
							}
							a = [oe[m[1]].url, oe[m[1]].name];
						}
						msg = S.lang.errors[s].replace(/\{(\d+)\}/g, function (m, n) {
							return a[n];
						});
						g.content = "<div class=\"sb-message\">" + msg + "</div>";
					} else {
						r = true;
					}
				} else {
					if (g.player == "inline") {
						m = S.regex.inline.exec(g.content);
						if (m) {
							var el = U.get(m[1]);
							if (el) {
								g.content = el.innerHTML;
							} else {
								throw "Cannot find element with id " + m[1];
							}
						} else {
							throw "Cannot find element id for inline content";
						}
					} else {
						if (g.player == "swf" || g.player == "flv") {
							var version = (g.options && g.options.flashVersion) || S.options.flashVersion;
							if (!swfobject.hasFlashPlayerVersion(version)) {
								g.width = 310;
								g.height = 177;
							}
						}
					}
				}
			}
			if (r) {
				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;
				}
				v_cache = [];
				each(["select", "object", "embed", "canvas"], function (tag) {
					each(document.getElementsByTagName(tag), function (el) {
						v_cache.push([el, el.style.visibility || "visible"]);
						el.style.visibility = "hidden";
					});
				});
				var h = S.options.autoDimensions && "height" in obj ? obj.height : S.options.initialHeight;
				var w = S.options.autoDimensions && "width" in obj ? obj.width : S.options.initialWidth;
				S.skin.onOpen(h, w, 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);
	}, revertOptions:function () {
		apply(S.options, default_options);
	}, 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};
		return S.dimensions;
	}, setup:function (links, opts) {
		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];
			}
		}
		each(links, function (link) {
			if (typeof link.shadowboxCacheKey == "undefined") {
				link.shadowboxCacheKey = S.cache.length;
				S.lib.addEvent(link, "click", handleClick);
			}
			S.cache[link.shadowboxCacheKey] = S.buildCacheObj(link, opts);
		});
	}}, 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(), end = begin + d, time, timer = setInterval(function () {
			time = new Date().getTime();
			if (time >= end) {
				clearInterval(timer);
				fn(1);
				if (cb) {
					cb();
				}
			} else {
				fn(S.options.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;
			document.write("<script type=\"text/javascript\" src=\"" + file + "\"></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, v_cache = [];
	if (navigator.plugins && navigator.plugins.length) {
		var names = [];
		each(navigator.plugins, function (p) {
			names.push(p.name);
		});
		names = names.join();
		var detectPlugin = function (n) {
			return names.indexOf(n) > -1;
		};
		var f4m = detectPlugin("Flip4Mac");
		S.plugins = {fla:detectPlugin("Shockwave Flash"), qt:detectPlugin("QuickTime"), wmp:!f4m && detectPlugin("Windows Media"), 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 getPlayer(url) {
		var re = S.regex, p = S.plugins, m = url.match(re.domain), d = m && document.domain == m[1];
		if (url.indexOf("#") > -1 && d) {
			return "inline";
		}
		var q = url.indexOf("?");
		if (q > -1) {
			url = url.substring(0, q);
		}
		if (re.img.test(url)) {
			return "img";
		}
		if (re.swf.test(url)) {
			return p.fla ? "swf" : "unsupported-swf";
		}
		if (re.flv.test(url)) {
			return p.fla ? "flv" : "unsupported-flv";
		}
		if (re.qt.test(url)) {
			return p.qt ? "qt" : "unsupported-qt";
		}
		if (re.wmp.test(url)) {
			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 (re.qtwmp.test(url)) {
			if (p.qt) {
				return "qt";
			}
			if (p.wmp) {
				return "wmp";
			}
			return S.client.isMac ? "unsupported-qt" : "unsupported-qtwmp";
		}
		if (!d || re.iframe.test(url)) {
			return "iframe";
		}
		return "unsupported";
	}
	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;
			}
		}
		if (link) {
			var key = link.shadowboxCacheKey;
			if (typeof key != "undefined" && typeof S.cache[key] != "undefined") {
				link = S.cache[key];
			}
			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);
		S.lib.preventDefault(e);
		switch (code) {
		  case 81:
		  case 88:
		  case 27:
			S.close();
			break;
		  case 37:
			S.previous();
			break;
		  case 39:
			S.next();
			break;
		  case 32:
			S[(typeof slide_timer == "number" ? "pause" : "play")]();
		}
	}
	function loadContent() {
		var obj = S.getCurrent();
		if (!obj) {
			return;
		}
		var p = obj.player == "inline" ? "html" : obj.player;
		if (typeof S[p] != "function") {
			throw "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);
	}
	return S;
}();
Shadowbox.skin = function () {
	var e = Shadowbox, d = e.util, o = false, k = ["sb-nav-close", "sb-nav-next", "sb-nav-play", "sb-nav-pause", "sb-nav-previous"];
	function l() {
		d.get("sb-container").style.top = document.documentElement.scrollTop + "px";
	}
	function g(p) {
		var q = d.get("sb-overlay"), r = d.get("sb-container"), t = d.get("sb-wrapper");
		if (p) {
			if (e.client.isIE6) {
				l();
				e.lib.addEvent(window, "scroll", l);
			}
			if (e.options.showOverlay) {
				o = true;
				q.style.backgroundColor = e.options.overlayColor;
				d.setOpacity(q, 0);
				if (!e.options.modal) {
					e.lib.addEvent(q, "click", e.close);
				}
				t.style.display = "none";
			}
			r.style.visibility = "visible";
			if (o) {
				var s = parseFloat(e.options.overlayOpacity);
				d.animate(q, "opacity", s, e.options.fadeDuration, p);
			} else {
				p();
			}
		} else {
			if (e.client.isIE6) {
				e.lib.removeEvent(window, "scroll", l);
			}
			e.lib.removeEvent(q, "click", e.close);
			if (o) {
				t.style.display = "none";
				d.animate(q, "opacity", 0, e.options.fadeDuration, function () {
					r.style.display = "";
					t.style.display = "";
					d.clearOpacity(q);
				});
			} else {
				r.style.visibility = "hidden";
			}
		}
	}
	function b(r, p) {
		var q = d.get("sb-nav-" + r);
		if (q) {
			q.style.display = p ? "" : "none";
		}
	}
	function i(r, q) {
		var t = d.get("sb-loading"), v = e.getCurrent().player, u = (v == "img" || v == "html");
		if (r) {
			function s() {
				d.clearOpacity(t);
				if (q) {
					q();
				}
			}
			d.setOpacity(t, 0);
			t.style.display = "";
			if (u) {
				d.animate(t, "opacity", 1, e.options.fadeDuration, s);
			} else {
				s();
			}
		} else {
			function s() {
				t.style.display = "none";
				d.clearOpacity(t);
				if (q) {
					q();
				}
			}
			if (u) {
				d.animate(t, "opacity", 0, e.options.fadeDuration, s);
			} else {
				s();
			}
		}
	}
	function a(s) {
		var u = e.getCurrent();
		d.get("sb-title-inner").innerHTML = u.title || "";
		var x, r, t, y, q;
		if (e.options.displayNav) {
			x = true;
			var w = e.gallery.length;
			if (w > 1) {
				if (e.options.continuous) {
					r = q = true;
				} else {
					r = (w - 1) > e.current;
					q = e.current > 0;
				}
			}
			if (e.options.slideshowDelay > 0 && e.hasNext()) {
				y = !e.isPaused();
				t = !y;
			}
		} else {
			x = r = t = y = q = false;
		}
		b("close", x);
		b("next", r);
		b("play", t);
		b("pause", y);
		b("previous", q);
		var x = "";
		if (e.options.displayCounter && e.gallery.length > 1) {
			var v = e.getCounter();
			if (typeof v == "string") {
				x = v;
			} else {
				d.each(v, function (p) {
					x += "<a onclick=\"Shadowbox.change(" + p + ");\"";
					if (p == e.current) {
						x += " class=\"sb-counter-current\"";
					}
					x += ">" + (p + 1) + "</a>";
				});
			}
		}
		d.get("sb-counter").innerHTML = x;
		s();
	}
	function h(r, q) {
		var w = d.get("sb-wrapper"), z = d.get("sb-title"), s = d.get("sb-info"), p = d.get("sb-title-inner"), x = d.get("sb-info-inner"), y = parseInt(e.lib.getStyle(p, "height")) || 0, v = parseInt(e.lib.getStyle(x, "height")) || 0;
		function u() {
			p.style.visibility = x.style.visibility = "hidden";
			a(q);
		}
		if (r) {
			d.animate(z, "height", 0, 0.35);
			d.animate(s, "height", 0, 0.35);
			d.animate(w, "paddingTop", y, 0.35);
			d.animate(w, "paddingBottom", v, 0.35, u);
		} else {
			z.style.height = s.style.height = "0px";
			w.style.paddingTop = y + "px";
			w.style.paddingBottom = v + "px";
			u();
		}
	}
	function j(r) {
		var q = d.get("sb-wrapper"), u = d.get("sb-title"), s = d.get("sb-info"), x = d.get("sb-title-inner"), w = d.get("sb-info-inner"), v = parseInt(e.lib.getStyle(x, "height")) || 0, p = parseInt(e.lib.getStyle(w, "height")) || 0;
		x.style.visibility = w.style.visibility = "";
		if (x.innerHTML != "") {
			d.animate(u, "height", v, 0.35);
			d.animate(q, "paddingTop", 0, 0.35);
		}
		d.animate(s, "height", p, 0.35);
		d.animate(q, "paddingBottom", 0, 0.35, r);
	}
	function c(q, x, w, p) {
		var y = d.get("sb-body"), v = d.get("sb-wrapper"), u = parseInt(q), r = parseInt(x);
		if (w) {
			d.animate(y, "height", u, e.options.resizeDuration);
			d.animate(v, "top", r, e.options.resizeDuration, p);
		} else {
			y.style.height = u + "px";
			v.style.top = r + "px";
			if (p) {
				p();
			}
		}
	}
	function f(u, x, v, p) {
		var t = d.get("sb-wrapper"), r = parseInt(u), q = parseInt(x);
		if (v) {
			d.animate(t, "width", r, e.options.resizeDuration);
			d.animate(t, "left", q, e.options.resizeDuration, p);
		} else {
			t.style.width = r + "px";
			t.style.left = q + "px";
			if (p) {
				p();
			}
		}
	}
	function n(p) {
		var r = e.content;
		if (!r) {
			return;
		}
		var q = m(r.height, r.width, r.resizable);
		switch (e.options.animSequence) {
		  case "hw":
			c(q.inner_h, q.top, true, function () {
				f(q.width, q.left, true, p);
			});
			break;
		  case "wh":
			f(q.width, q.left, true, function () {
				c(q.inner_h, q.top, true, p);
			});
			break;
		  default:
			f(q.width, q.left, true);
			c(q.inner_h, q.top, true, p);
		}
	}
	function m(p, s, r) {
		var q = d.get("sb-body-inner");
		sw = d.get("sb-wrapper"), so = d.get("sb-overlay"), tb = sw.offsetHeight - q.offsetHeight, lr = sw.offsetWidth - q.offsetWidth, max_h = so.offsetHeight, max_w = so.offsetWidth;
		return e.setDimensions(p, s, max_h, max_w, tb, lr, r);
	}
	return {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\" class=\"c_btn_gray\" title=\"{close}\" onclick=\"Shadowbox.close()\"><span>Close Window</span></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"}, init:function () {
		if (e.client.isIE6) {
			d.get("sb-body").style.zoom = 1;
			var r, p, q = /url\("(.*\.png)"\)/;
			d.each(k, function (s) {
				r = d.get(s);
				if (r) {
					p = e.lib.getStyle(r, "backgroundImage").match(q);
					if (p) {
						r.style.backgroundImage = "none";
						r.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=" + p[1] + ",sizingMethod=scale);";
					}
				}
			});
		}
	}, bodyEl:function () {
		return d.get("sb-body-inner");
	}, onOpen:function (r, q, p) {
		d.get("sb-container").style.display = "block";
		var s = m(r, q);
		c(s.inner_h, s.top, false);
		f(s.width, s.left, false);
		g(p);
	}, onLoad:function (q, r, p) {
		i(true);
		h(r, function () {
			if (!q) {
				return;
			}
			if (!r) {
				d.get("sb-wrapper").style.display = "";
			}
			p();
		});
	}, onReady:function (p) {
		n(function () {
			j(p);
		});
	}, onFinish:function (p) {
		i(false, p);
	}, onClose:function () {
		g(false);
	}, onPlay:function () {
		b("play", false);
		b("pause", true);
	}, onPause:function () {
		b("pause", false);
		b("play", true);
	}, onWindowResize:function () {
		var r = e.content;
		if (!r) {
			return;
		}
		var q = m(r.height, r.width, r.resizable);
		f(q.width, q.left, false);
		c(q.inner_h, q.top, false);
		var p = d.get(e.contentId());
		if (p) {
			if (r.resizable && e.options.handleOversize == "resize") {
				p.height = q.resize_h;
				p.width = q.resize_w;
			}
		}
	}};
}();

