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: ["aspx", "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") } }); if (!S.lib) { U.include(S.path + "adapters/shadowbox-" + S.adapter + ".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" 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" }, 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 } } } } } ();