var GB_CURRENT=null;
GB_hide=function(){
    GB_CURRENT.hide();
};
GreyBox=new AJS.Class({
    init:function(_1){
        this.use_fx=false; //AJS.fx;
        this.type="page";
        this.overlay_click_close=false;
        this.salt=0;
        this.captiontext = ''; // ERICH
        this.root_dir=GB_ROOT_DIR;
        this.callback_fns=[];
        this.reload_on_close=false;
        this.src_loader=this.root_dir+"loader_frame.html";
        var _2=window.location.hostname.indexOf("www");
        var _3=this.src_loader.indexOf("www");
        if(_2!=-1&&_3==-1){
            this.src_loader=this.src_loader.replace("://","://www.");
        }
        if(_2==-1&&_3!=-1){
            this.src_loader=this.src_loader.replace("://www.","://");
        }
        this.show_loading=true;
        AJS.update(this,_1);
    },
    addCallback:function(fn){
        if(fn){
            this.callback_fns.push(fn);
        }
    },
    show:function(_5){
        GB_CURRENT=this;
        this.url=_5;
        var _6=[AJS.$bytc("object"),AJS.$bytc("select")];
        AJS.map(AJS.flattenList(_6),function(_7){
            _7.style.visibility="hidden";
        });
        this.createElements();
        return false;
    },
    hide:function(){
        var _8=this.callback_fns;
        if(_8!=[]){
            AJS.map(_8,function(fn){
                fn();
            });
        }
        this.onHide();
        if(this.use_fx){
            var _a=this.overlay;
            AJS.fx.fadeOut(this.overlay,{
                onComplete:function(){
                    AJS.removeElement(_a);
                    _a=null;
                },
                duration:300
            });
            AJS.removeElement(this.g_window);
        }else{
            AJS.removeElement(this.g_window,this.overlay);
        }
        this.removeFrame();
        AJS.REV(window,"scroll",_GB_setOverlayDimension);
        AJS.REV(window,"resize",_GB_update);
        var _b=[AJS.$bytc("object"),AJS.$bytc("select")];
        AJS.map(AJS.flattenList(_b),function(_c){
            _c.style.visibility="visible";
        });
        GB_CURRENT=null;
        if(this.reload_on_close){
            window.location.reload();
        }
    },
    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 _e=AJS.getWindowSize();
        if(AJS.isMozilla()||AJS.isOpera()){
            AJS.setWidth(this.overlay,"100%");
        }else{
            AJS.setWidth(this.overlay,_e.w);
        }
        var _f=Math.max(AJS.getScrollTop()+_e.h,AJS.getScrollTop()+this.height);
        if(_f<AJS.getScrollTop()){
            AJS.setHeight(this.overlay,_f);
        }else{
            AJS.setHeight(this.overlay,AJS.getScrollTop()+_e.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
            };
            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(GB_ROOT_DIR+"indicator.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");
            var tmpcaptiontext = a.getAttribute("captiontext"); // ERICH

            if(rel.indexOf("gb_")==0){
                var _14=rel.match(/\w+/)[0];
                var _15=rel.match(/\[(.*)\]/)[1];
                var _16=0;
                var _17={
                    "caption":a.title||"",
                    "url":a.href,
                    "captiontext":tmpcaptiontext||'' // ERICH
                    };
                if(_14=="gb_pageset"||_14=="gb_imageset"){
                    if(!GB_SETS[_15]){
                        GB_SETS[_15]=[];
                    }
                    GB_SETS[_15].push(_17);
                    _16=GB_SETS[_15].length;
                }
                if(_14=="gb_pageset"){
                    a.onclick=function(){
                        GB_showFullScreenSet(GB_SETS[_15],_16);
                        return false;
                    };
                }
                if(_14=="gb_imageset"){
                    a.onclick=function(){
                        GB_showImageSet(GB_SETS[_15],_16);
                        return false;
                    };
                }
                if(_14=="gb_image"){
                    a.onclick=function(){
                        GB_showImage(_17.caption,_17.url);
                        return false;
                    };
                }
                if(_14=="gb_page"){
                    a.onclick=function(){
                        var sp=_15.split(/, ?/);
                        GB_show(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0]));
                        return false;
                    };
                }
                if(_14=="gb_page_fs"){
                    a.onclick=function(){
                        GB_showFullScreen(_17.caption,_17.url);
                        return false;
                    };
                }
                if(_14=="gb_page_center"){
                    a.onclick=function(){
                        var sp=_15.split(/, ?/);
                        GB_showCenter(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0]));
                        return false;
                    };
                }
            }
        }
    });
}
AJS.AEV(window,"load",decoGreyboxLinks);
GB_showImage=function(_1a,url,_1c){
    var _1d={
        width:300,
        height:300,
        type:"image",
        fullscreen:false,
        center_win:true,
        caption:_1a,
        callback_fn:_1c
    };
    var win=new GB_Gallery(_1d);
    return win.show(url);
};
GB_showPage=function(_1f,url,_21){
    var _22={
        type:"page",
        caption:_1f,
        callback_fn:_21,
        fullscreen:true,
        center_win:false
    };
    var win=new GB_Gallery(_22);
    return win.show(url);
};
GB_Gallery=GreyBox.extend({
    init:function(_24){
        this.parent({});
        this.img_close=this.root_dir+"g_close.gif";
        AJS.update(this,_24);
        this.addCallback(this.callback_fn);
    },
    initHook:function(){
        AJS.addClass(this.g_window,"GB_Gallery");
        var _25=AJS.DIV({
            "class":"inner"
        });
        this.header=AJS.DIV({
            "class":"GB_header"
        },_25);
        AJS.setOpacity(this.header,0);
        AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
        var _26=AJS.TD({
            "id":"GB_caption",
            "class":"caption",
            "width":"40%"
        },this.caption);
        var _27=AJS.TD({
            "id":"GB_middle",
            "class":"middle",
            "width":"20%"
        });
        var _28=AJS.IMG({
            "src":this.img_close
            });
        AJS.AEV(_28,"click",GB_hide);
        var _29=AJS.TD({
            "class":"close",
            "width":"40%"
        },_28);
        var _2a=AJS.TBODY(AJS.TR(_26,_27,_29));
        var _2b=AJS.TABLE({
            "cellspacing":"0",
            "cellpadding":0,
            "border":0
        },_2a);
        AJS.ACN(_25,_2b);
        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 _2c=this.overlay.offsetWidth;
        var _2d=AJS.getWindowSize();
        if(this.fullscreen){
            this.width=_2c-40;
            this.height=_2d.h-80;
        }
        AJS.setWidth(this.iframe,this.width);
        AJS.setHeight(this.iframe,this.height);
        AJS.setWidth(this.header,_2c);
    },
    _setHeaderPos:function(){
        AJS.setTop(this.header,AJS.getScrollTop()+10);
    },
    setWindowPosition:function(){
        var _2e=this.overlay.offsetWidth;
        var _2f=AJS.getWindowSize();
        AJS.setLeft(this.g_window,((_2e-50-this.width)/2));
        var _30=AJS.getScrollTop()+55;
        if(!this.center_win){
            AJS.setTop(this.g_window,_30);
        }else{
            var fl=((_2f.h-this.height)/2)+20+AJS.getScrollTop();
            if(fl<0){
                fl=0;
            }
            if(_30>fl){
                fl=_30;
            }
            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(GB_ROOT_DIR+"g_close.gif");
GB_showFullScreenSet=function(set,_33,_34){
    //var _35={type:"page",fullscreen:true,center_win:false};
    var _35={
        type:"page",
        fullscreen:false,
        center_win:true,
        width:580,
        height:640
    };  //ERICH
    var _36=new GB_Sets(_35,set);
    _36.addCallback(_34);
    _36.showSet(_33-1);
    return false;
};
GB_showImageSet=function(set,_38,_39){
    var _3a={
        type:"image",
        fullscreen:false,
        center_win:true,
        width:300,
        height:300
    };
    var _3b=new GB_Sets(_3a,set);
    _3b.addCallback(_39);
    _3b.showSet(_38-1);
    return false;
};
GB_Sets=GB_Gallery.extend({
    init:function(_3c,set){
        this.parent(_3c);
        if(!this.img_next){
            this.img_next=this.root_dir+"next.gif";
        }
        if(!this.img_prev){
            this.img_prev=this.root_dir+"prev.gif";
        }
        this.current_set=set;
    },
    showSet:function(_3e){
        this.current_index=_3e;
        var _3f=this.current_set[this.current_index];
        this.show(_3f.url);
        this._setCaption(_3f.caption,_3f.captiontext); // ERICH
        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(_40,_41){
        AJS.setHTML(AJS.$("GB_caption"),_40);
        this.captiontext = _41; // ERICH
    },
    updateFrame:function(){
        var _41=this.current_set[this.current_index];
        this._setCaption(_41.caption,_41.captiontext);
        this.url=_41.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(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"prev.gif");
});
GB_show=function(_42,url,_44,_45,_46){
    var _47={
        caption:_42,
        height:_44||500,
        width:_45||500,
        fullscreen:false,
        callback_fn:_46
    };
    var win=new GB_Window(_47);
    return win.show(url);
};
GB_showCenter=function(_49,url,_4b,_4c,_4d){
    var _4e={
        caption:_49,
        center_win:true,
        height:_4b||500,
        width:_4c||500,
        fullscreen:false,
        callback_fn:_4d
    };
    var win=new GB_Window(_4e);
    return win.show(url);
};
GB_showFullScreen=function(_50,url,_52){
    var _53={
        caption:_50,
        fullscreen:true,
        callback_fn:_52
    };
    var win=new GB_Window(_53);
    return win.show(url);
};
GB_Window=GreyBox.extend({
    init:function(_55){
        this.parent({});
        this.img_header=this.root_dir+"header_bg.gif";
        this.img_close=this.root_dir+"w_close.gif";
        this.show_close_img=true;
        AJS.update(this,_55);
        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 _56=AJS.TD({
            "class":"caption"
        },this.caption);
        var _57=AJS.TD({
            "class":"close"
        });
        if(this.show_close_img){
            var _58=AJS.IMG({
                "src":this.img_close
                });
            var _59=AJS.SPAN("Close");
            var btn=AJS.DIV(_58,_59);
            AJS.AEV([_58,_59],"mouseover",function(){
                AJS.addClass(_59,"on");
            });
            AJS.AEV([_58,_59],"mouseout",function(){
                AJS.removeClass(_59,"on");
            });
            AJS.AEV([_58,_59],"mousedown",function(){
                AJS.addClass(_59,"click");
            });
            AJS.AEV([_58,_59],"mouseup",function(){
                AJS.removeClass(_59,"click");
            });
            AJS.AEV([_58,_59],"click",GB_hide);
            AJS.ACN(_57,btn);
        }
        tbody_header=AJS.TBODY();
        AJS.ACN(tbody_header,AJS.TR(_56,_57));
        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 _5b=AJS.getWindowSize();
            overlay_h=_5b.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 _5c=AJS.getWindowSize();
        AJS.setLeft(this.g_window,((_5c.w-this.width)/2)-13);
        if(!this.center_win){
            AJS.setTop(this.g_window,AJS.getScrollTop());
        }else{
            var fl=((_5c.h-this.height)/2)-20+AJS.getScrollTop();
            if(fl<0){
                fl=0;
            }
            AJS.setTop(this.g_window,fl);
        }
    }
    });
AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");


script_loaded=true;