(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]
                }
            }
            var anchors = document.getElementsByTagName("a")
            for (var i=0; i<anchors.length; i++){
                var anchor = anchors[i];
                if (anchor.href.match("Snippet")){
                    anchor.setAttribute('rel','shadowbox;height=250;width=450;player=iframe');
                    links.push(anchor)
                }
            }
            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"flv"
        }
    },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
})();