﻿var GB_CURRENT=null;
GB_hide=function(cb){
GB_CURRENT.hide(cb);
};
GreyBox = new AJS.Class({ init: function(_2) {
    this.use_fx = AJS.fx;
    this.type = "page";
    this.overlay_click_close = false;
    this.salt = 0;
    this.root_dir = GB_ROOT_DIR;
    this.callback_fns = [];
    this.reload_on_close = false;
    this.src_loader = this.root_dir + "loader_frame.htm";
    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.8, onComplete: function() {
            me.onShow();
            AJS.showElement(me.g_window);
            me.startLoading();
        }
        });
    } else {
        AJS.setOpacity(this.overlay, 0.8);
        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.8);
    AJS.getBody().insertBefore(this.overlay, AJS.getBody().firstChild);
}, initFrame: function() {
    if (!this.iframe) {
        var d = { "name": "GB_frame",  "frameBorder": 0 };
        if (AJS.isIe()) {
            d.src = "javascript:false;document.write(\"\");";
        }
        this.iframe = AJS.IFRAME(d);
        this.middle_cnt = AJS.DIV({"id":"GB_content"}, this.iframe);
       
        AJS.ACN(this.g_window,  this.middle_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);
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;
}
}
}
});
}
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({});
AJS.update(this,_27);
this.addCallback(this.callback_fn);
},initHook:function(){
AJS.addClass(this.g_window,"GB_Gallery");
var _28=AJS.DIV({"class":"inner"});
AJS.setOpacity(this.header,0);
AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
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(GB_ROOT_DIR);
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=this.root_dir;
}
if(!this.img_prev){
this.img_prev=this.root_dir;
}
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(GB_ROOT_DIR,GB_ROOT_DIR);
});
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({});
    AJS.update(this, _58);
    this.addCallback(this.callback_fn);
}, initHook: function() {
    AJS.addClass(this.g_window, "GB_Window");
    this.header = AJS.DIV();
    AJS.ACN(this.header);
    AJS.ACN( 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) - 10);
    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);
    }
}
});
script_loaded=true;
