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