(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
})();
