//<!--

var GB_CURRENT=null;
GB_hide=function(cb)
{
    GB_CURRENT.hide(cb);
};

var GreyBox=new AJS.Class
(
    {
        init:function(_2)
        {
            this.use_fx=AJS.fx;
            this.type="page";
            this.overlay_click_close=false;
            this.salt=0;

            this.callback_fns=[];
            this.reload_on_close=false;
            this.src_loader="/js/GreyBox/GreyBox-frame.html";
            var _3=window.location.hostname.indexOf("www");
            var _4=this.src_loader.indexOf("www");

            if(_3!=-1&&_4==-1)
            {
                this.src_loader=this.src_loader.replace("://","://www.");
            }
            if(_3==-1&&_4!=-1)
            {
                this.src_loader=this.src_loader.replace("://www.","://");
            }

            this.show_loading=true;
            AJS.update(this,_2);
        },
        addCallback:function(fn)
        {
            if(fn)
            {
                this.callback_fns.push(fn);
            }
        },
        show:function(_6)
        {
            GB_CURRENT=this;
            this.url=_6;
            var _7=[AJS.$bytc("object"),AJS.$bytc("select")];
            AJS.map(
                AJS.flattenList(_7),
                function(_8)
                {
                    _8.style.visibility="hidden";
                }
            );
            this.createElements();
            return false;
        },
        hide:function(cb)
        {
            var me=this;
            AJS.callLater
            (
                function()
                {
                    var _b=me.callback_fns;
                    if(_b!=[])
                    {
                        AJS.map
                        (
                            _b,
                            function(fn)
                            {
                                fn();
                            }
                        );
                    }
                    me.onHide();
                    if(me.use_fx)
                    {
                        var _d=me.overlay;
                        AJS.fx.fadeOut
                        (
                            me.overlay,
                            {
                                onComplete:function()
                                {
                                    AJS.removeElement(_d);
                                    _d=null;
                                },
                                duration:300
                            }
                        );
                        AJS.removeElement(me.g_window);
                    }
                    else
                    {
                        AJS.removeElement(me.g_window,me.overlay);
                    }
                    me.removeFrame();

                    AJS.REV(window,"scroll",_GB_setOverlayDimension);
                    AJS.REV(window,"resize",_GB_update);
                    var _e=[AJS.$bytc("object"),AJS.$bytc("select")];

                    AJS.map
                    (
                        AJS.flattenList(_e),
                        function(_f)
                        {
                            _f.style.visibility="visible";
                        }
                    );

                    GB_CURRENT=null;

                    if(me.reload_on_close)
                    {
                        window.location.reload();
                    }

                    if(AJS.isFunction(cb))
                    {
                        cb();
                    }
                },
                10
            );
        },
        update:function()
        {
            this.setOverlayDimension();
            this.setFrameSize();
            this.setWindowPosition();
        },
        createElements:function()
        {
            this.initOverlay();
            this.g_window=AJS.DIV({"id":"GB_window"});
            AJS.hideElement(this.g_window);
            AJS.getBody().insertBefore(this.g_window,this.overlay.nextSibling);
            this.initFrame();
            this.initHook();
            this.update();
            var me=this;

            if(this.use_fx)
            {
                AJS.fx.fadeIn
                (
                    this.overlay,
                    {
                        duration:300,
                        to:0.7,
                        onComplete:function()
                        {
                            me.onShow();
                            AJS.showElement(me.g_window);
                            me.startLoading();
                        }
                    }
                );
            }
            else
            {
                AJS.setOpacity(this.overlay,0.7);
                AJS.showElement(this.g_window);
                this.onShow();
                this.startLoading();
            }

            AJS.AEV(window,"scroll",_GB_setOverlayDimension);
            AJS.AEV(window,"resize",_GB_update);
        },
        removeFrame:function()
        {
            try
            {
                AJS.removeElement(this.iframe);
            }
            catch(e){}
            this.iframe=null;
        },
        startLoading:function()
        {
            this.iframe.src=this.src_loader+"?s="+this.salt++;
            AJS.showElement(this.iframe);
        },
        setOverlayDimension:function()
        {
            var _11=AJS.getWindowSize();
            if(AJS.isMozilla()||AJS.isOpera())
            {
                AJS.setWidth(this.overlay,"100%");
            }
            else
            {
                AJS.setWidth(this.overlay,_11.w);
            }

            var _12=Math.max(AJS.getScrollTop()+_11.h,AJS.getScrollTop()+this.height);
            if(_12<AJS.getScrollTop())
            {
                AJS.setHeight(this.overlay,_12);
            }
            else
            {
                AJS.setHeight(this.overlay,AJS.getScrollTop()+_11.h);
            }
        },
        initOverlay:function()
        {
            this.overlay=AJS.DIV({"id":"GB_overlay"});
            if(this.overlay_click_close)
            {
                AJS.AEV(this.overlay,"click",GB_hide);
            }
            AJS.setOpacity(this.overlay,0);
            AJS.getBody().insertBefore(this.overlay,AJS.getBody().firstChild);
        },
        initFrame:function()
        {
            if(!this.iframe)
            {
                var d={"name":"GB_frame","class":"GB_frame","frameBorder":0};
                if(AJS.isIe())
                {
                    d.src="javascript:false;document.write(\"\");";
                }
                this.iframe=AJS.IFRAME(d);
                this.middle_cnt=AJS.DIV({"class":"content"},this.iframe);
                this.top_cnt=AJS.DIV();
                this.bottom_cnt=AJS.DIV();
                AJS.ACN(this.g_window,this.top_cnt,this.middle_cnt,this.bottom_cnt);
            }
        },
        onHide:function()
        {
        },
        onShow:function()
        {
        },
        setFrameSize:function()
        {
        },
        setWindowPosition:function()
        {
        },
        initHook:function()
        {
        }
    }
);


_GB_update=function()
{
    if(GB_CURRENT)
    {
        GB_CURRENT.update();
    }
};

_GB_setOverlayDimension=function()
{
    if(GB_CURRENT)
    {
        GB_CURRENT.setOverlayDimension();
    }
};

AJS.preloadImages("/images/GreyBox-loading.gif");
script_loaded=true;
var GB_SETS={};


function decoGreyboxLinks()
{
    var as=AJS.$bytc("a");
    AJS.map
    (
        as,
        function(a)
        {
            if(a.getAttribute("href")&&a.getAttribute("rel"))
            {
                var rel=a.getAttribute("rel");
                if(rel.indexOf("gb_")==0)
                {
                    var _17=rel.match(/\w+/)[0];
                    var _18=rel.match(/\[(.*)\]/)[1];
                    var _19=0;
                    var _1a={"caption":a.title||"","url":a.href};
                    if(_17=="gb_pageset"||_17=="gb_imageset")
                    {
                        if(!GB_SETS[_18])
                        {
                            GB_SETS[_18]=[];
                        }
                        GB_SETS[_18].push(_1a);
                        _19=GB_SETS[_18].length;
                    }

                    if(_17=="gb_pageset")
                    {
                        a.onclick=function()
                        {
                            GB_showFullScreenSet(GB_SETS[_18],_19);
                            return false;
                        };
                    }

                    if(_17=="gb_imageset")
                    {
                        a.onclick=function()
                        {
                            GB_showImageSet(GB_SETS[_18],_19);
                            return false;
                        };
                    }

                    if(_17=="gb_image")
                    {
                        a.onclick=function()
                        {
                            GB_showImage(_1a.caption,_1a.url);
                            return false;
                        };
                    }
                    
                    if(_17=="gb_page")
                    {
                        a.onclick=function()
                        {
                            var sp=_18.split(/, ?/);
                            GB_show(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
                            return false;
                        };
                    }
                    
                    if(_17=="gb_page_fs")
                    {
                        a.onclick=function()
                        {
                            GB_showFullScreen(_1a.caption,_1a.url);
                            return false;
                        };
                    }
                    
                    if(_17=="gb_page_center")
                    {
                        a.onclick=function()
                        {
                            var sp=_18.split(/, ?/);
                            GB_showCenter(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
                            return false;
                        };
                    }
                }
            }
        }
    );
}

AJS.AEV(window,"load",decoGreyboxLinks);

GB_showImage=function(_1d,url,_1f)
{
    var _20={width:300,height:300,type:"image",fullscreen:false,center_win:true,caption:_1d,callback_fn:_1f};
    var win=new GB_Gallery(_20);
    return win.show(url);
};

GB_showPage=function(_22,url,_24)
{
    var _25={type:"page",caption:_22,callback_fn:_24,fullscreen:true,center_win:false};
    var win=new GB_Gallery(_25);
    return win.show(url);
};

GB_Gallery=GreyBox.extend
(
    {
        init:function(_27)
        {
            this.parent({});
            this.img_close="/images/GreyBox-close.gif";
            AJS.update(this,_27);
            this.addCallback(this.callback_fn);
        },
        initHook:function()
        {
            AJS.addClass(this.g_window,"GB_Gallery");
            var _28=AJS.DIV({"class":"inner"});
            this.header=AJS.DIV({"class":"GB_header"},_28);
            AJS.setOpacity(this.header,0);
            AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
            var _29=AJS.TD({"id":"GB_caption","class":"caption","width":"40%"},this.caption);
            var _2a=AJS.TD({"id":"GB_middle","class":"middle","width":"20%"});
            var _2b=AJS.IMG({"src":this.img_close});
            AJS.AEV(_2b,"click",GB_hide);
            var _2c=AJS.TD({"class":"close","width":"40%"},_2b);
            var _2d=AJS.TBODY(AJS.TR(_29,_2a,_2c));
            var _2e=AJS.TABLE({"cellspacing":"0","cellpadding":0,"border":0},_2d);
            AJS.ACN(_28,_2e);

            if(this.fullscreen)
            {
                AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
            }
            else
            {
                AJS.AEV(window,"scroll",AJS.$b(this._setHeaderPos,this));
            }
        },
        setFrameSize:function()
        {
            var _2f=this.overlay.offsetWidth;
            var _30=AJS.getWindowSize();
            if(this.fullscreen)
            {
                this.width=_2f-40;
                this.height=_30.h-80;
            }

            AJS.setWidth(this.iframe,this.width);
            AJS.setHeight(this.iframe,this.height);
            AJS.setWidth(this.header,_2f);
        },
        _setHeaderPos:function()
        {
            AJS.setTop(this.header,AJS.getScrollTop()+10);
        },
        setWindowPosition:function()
        {
            var _31=this.overlay.offsetWidth;
            var _32=AJS.getWindowSize();
            AJS.setLeft(this.g_window,((_31-50-this.width)/2));
            var _33=AJS.getScrollTop()+55;

            if(!this.center_win)
            {
                AJS.setTop(this.g_window,_33);
            }
            else
            {
                var fl=((_32.h-this.height)/2)+20+AJS.getScrollTop();
                if(fl<0)
                {
                    fl=0;
                }
                if(_33>fl)
                {
                    fl=_33;
                }
                AJS.setTop(this.g_window,fl);
            }
            
            this._setHeaderPos();
        },
        onHide:function()
        {
            AJS.removeElement(this.header);
            AJS.removeClass(this.g_window,"GB_Gallery");
        },
        onShow:function()
        {
            if(this.use_fx)
            {
                AJS.fx.fadeIn(this.header,{to:1});
            }
            else
            {
                AJS.setOpacity(this.header,1);
            }
        }
    }
);

AJS.preloadImages("/images/GreyBox-close.gif");
GB_showFullScreenSet=function(set,_36,_37)
{
    var _38={type:"page",fullscreen:true,center_win:false};
    var _39=new GB_Sets(_38,set);
    _39.addCallback(_37);
    _39.showSet(_36-1);
    return false;
};

GB_showImageSet=function(set,_3b,_3c)
{
    var _3d={type:"image",fullscreen:false,center_win:true,width:300,height:300};
    var _3e=new GB_Sets(_3d,set);
    _3e.addCallback(_3c);
    _3e.showSet(_3b-1);
    return false;
};

GB_Sets=GB_Gallery.extend
(
    {
        init:function(_3f,set)
        {
            this.parent(_3f);
            if(!this.img_next)
            {
                this.img_next="/images/GreyBox-next.gif";
            }

            if(!this.img_prev)
            {
                this.img_prev="/images/GreyBox-prev.gif";
            }

            this.current_set=set;
        },
        showSet:function(_41)
        {
            this.current_index=_41;
            var _42=this.current_set[this.current_index];
            this.show(_42.url);
            this._setCaption(_42.caption);
            this.btn_prev=AJS.IMG({"class":"left",src:this.img_prev});
            this.btn_next=AJS.IMG({"class":"right",src:this.img_next});
            AJS.AEV(this.btn_prev,"click",AJS.$b(this.switchPrev,this));
            AJS.AEV(this.btn_next,"click",AJS.$b(this.switchNext,this));
            GB_STATUS=AJS.SPAN({"class":"GB_navStatus"});
            AJS.ACN(AJS.$("GB_middle"),this.btn_prev,GB_STATUS,this.btn_next);
            this.updateStatus();
        },
        updateStatus:function()
        {
            AJS.setHTML(GB_STATUS,(this.current_index+1)+" / "+this.current_set.length);
            if(this.current_index==0)
            {
                AJS.addClass(this.btn_prev,"disabled");
            }
            else
            {
                AJS.removeClass(this.btn_prev,"disabled");
            }
            
            if(this.current_index==this.current_set.length-1)
            {
                AJS.addClass(this.btn_next,"disabled");
            }
            else
            {
                AJS.removeClass(this.btn_next,"disabled");
            }
        },
        _setCaption:function(_43)
        {
            AJS.setHTML(AJS.$("GB_caption"),_43);
        },
        updateFrame:function()
        {
            var _44=this.current_set[this.current_index];
            this._setCaption(_44.caption);
            this.url=_44.url;
            this.startLoading();
        },
        switchPrev:function()
        {
            if(this.current_index!=0)
            {
                this.current_index--;
                this.updateFrame();
                this.updateStatus();
            }
        },
        switchNext:function()
        {
            if(this.current_index!=this.current_set.length-1)
            {
                this.current_index++;
                this.updateFrame();
                this.updateStatus();
            }
        }
    }
);


AJS.AEV
(
    window, "load",function()
    {
        AJS.preloadImages("/images/GreyBox-next.gif","/images/GreyBox-prev.gif");
    }
);

GB_show=function(_45,url,_47,_48,_49)
{
    var _4a={caption:_45,height:_47||500,width:_48||500,fullscreen:false,callback_fn:_49};
    var win=new GB_Window(_4a);
    return win.show(url);
};

GB_showCenter=function(_4c,url,_4e,_4f,_50)
{
    var _51={caption:_4c,center_win:true,height:_4e||500,width:_4f||500,fullscreen:false,callback_fn:_50};
    var win=new GB_Window(_51);
    return win.show(url);
};

GB_showFullScreen=function(_53,url,_55)
{
    var _56={caption:_53,fullscreen:true,callback_fn:_55};
    var win=new GB_Window(_56);
    return win.show(url);
};

GB_Window=GreyBox.extend
(
    {
        init:function(_58)
        {
            this.parent({});
            this.img_header="/js/GreyBox/images/GreyBox-header.gif";
            this.img_close="/js/GreyBox/images/GreyBox-window_close.gif";
            this.show_close_img=true;
            AJS.update(this,_58);
            this.addCallback(this.callback_fn);
        },
        initHook:function()
        {
            AJS.addClass(this.g_window,"GB_Window");
            this.header=AJS.TABLE({"class":"header"});
            this.header.style.backgroundImage="url("+this.img_header+")";
            var _59=AJS.TD({"class":"caption"},this.caption);
            var _5a=AJS.TD({"class":"close"});

            if(this.show_close_img)
            {
                var _5b=AJS.IMG({"src":this.img_close});
                var _5c=AJS.SPAN("Close");
                var btn=AJS.DIV(_5b,_5c);

                AJS.AEV([_5b,_5c],"mouseover",function(){AJS.addClass(_5c,"on");});
                AJS.AEV([_5b,_5c],"mouseout",function(){AJS.removeClass(_5c,"on");});
                AJS.AEV([_5b,_5c],"mousedown",function(){AJS.addClass(_5c,"click");});
                AJS.AEV([_5b,_5c],"mouseup",function(){AJS.removeClass(_5c,"click");});
                AJS.AEV([_5b,_5c],"click",GB_hide);
                AJS.ACN(_5a,btn);
            }

            tbody_header=AJS.TBODY();
            AJS.ACN(tbody_header,AJS.TR(_59,_5a));
            AJS.ACN(this.header,tbody_header);
            AJS.ACN(this.top_cnt,this.header);

            if(this.fullscreen)
            {
                AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
            }
        },
        setFrameSize:function()
        {
            if(this.fullscreen)
            {
                var _5e=AJS.getWindowSize();
                overlay_h=_5e.h;
                this.width=Math.round(this.overlay.offsetWidth-(this.overlay.offsetWidth/100)*10);
                this.height=Math.round(overlay_h-(overlay_h/100)*10);
            }

            AJS.setWidth(this.header,this.width+6);
            AJS.setWidth(this.iframe,this.width);
            AJS.setHeight(this.iframe,this.height);
        },
        setWindowPosition:function()
        {
            var _5f=AJS.getWindowSize();
            AJS.setLeft(this.g_window,((_5f.w-this.width)/2)-13);

            if(!this.center_win)
            {
                AJS.setTop(this.g_window,AJS.getScrollTop());
            }
            else
            {
                var fl=((_5f.h-this.height)/2)-20+AJS.getScrollTop();
                if(fl<0)
                {
                    fl=0;
                }
            
                AJS.setTop(this.g_window,fl);
             }
        }
    }
);

AJS.preloadImages("/images/GreyBox-window_close.gif","/images/GreyBox-header.gif");
script_loaded=true;

//-->