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.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(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");
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_pageset1"){
a.onclick=function(){
GB_showFullScreenSet(GB_SETS[_18],_19);
return false;
};
}
if (_17 == "gb_pageset") {
    a.onclick = function() {
        GB_showScreenSet(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_WindowGallery = 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" });
    this.header = AJS.DIV({ "class": "GB_header" }, _28);
}, 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());
}, 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 + "g_close_gb.gif");


GB_Gallery=GreyBox.extend({init:function(_27){
this.parent({});
this.img_close=this.root_dir+"g_close_gb.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(GB_ROOT_DIR+"g_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_showScreenSet = function(set, _36, _37) {
    var _38 = { type: "page", fullscreen: false, center_win: true, width: 750, height: 385 };
    var _39 = new GB_Menu(_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_showImageSetTop = function(set, _3b, _3c) {
    var _3d = { type: "image", fullscreen: false, center_win: false, 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+"next_gb.gif";
}
if(!this.img_prev){
this.img_prev=this.root_dir+"prev_gb.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(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"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=this.root_dir+"header_bg.gif";
this.img_close=this.root_dir+"w_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);
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(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");
GB_Menu = GB_WindowGallery.extend({ init: function(_3f, set) {
    this.parent(_3f);
    this.current_set = set;
}, showSet: function(_41) {
    this.current_index = _41;
    var _42 = this.current_set[this.current_index];
    this.show(_42.url);
} 
});
AJS.AEV(window, "load", function() {
   
});
GB_WindowNoBar = GreyBox.extend({ init: function(_58) {
    this.parent({});
    //this.img_header=this.root_dir+"header_bg.gif";
    //this.img_close=this.root_dir+"w_close.gif";
    this.show_close_img = false;
    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);
    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(GB_ROOT_DIR + "w_close.gif", GB_ROOT_DIR + "header_bg.gif");

GB_alert = function(caption, url, /* optional */height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 385,
        width: width || 750,
        center_win:true,
        fullscreen: false,
        overlay_click_close: true,
        show_loading: true,
        callback_fn: callback_fn
    }
    var win = new GB_WindowNoBar(options);
    return win.show(url);
}

var RED_NEXT = function() {
    var current = this.GB_CURRENT;
    if (current.current_index != current.current_set.length - 1) {
        current.current_index++;
        var nexturl = current.current_set[current.current_index];
        current.url = nexturl.url;
        current.startLoading();

    }
}

var RED_PREV = function() {
    var current = this.GB_CURRENT;
    if (current.current_index != 0) {
        current.current_index--;
        var prevurl = current.current_set[current.current_index];
        current.url = prevurl.url;
        current.startLoading();

    }
}

var CUSTOMIZER = function(caption, url, /* optional */height, width, callback_fn) {
    var current = this.GB_CURRENT;
    AJS.removeElement(current.g_window);
    AJS.removeElement(current.overlay);
    this.GB_customizer(caption, url, height, width, callback_fn);
}
GB_customizer = function(caption, url, /* optional */height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 500,
        width: width || 500,
        fullscreen: false,
        overlay_click_close: true,
        show_loading: false,
        callback_fn: callback_fn
    }
    var win = new GB_Window(options);
    return win.show(url);
}

var HOMERESTAURANTSTEP2 = function(caption, url, /* optional */height, width, callback_fn) {
    var current = this.GB_CURRENT;
    AJS.removeElement(current.g_window);
    AJS.removeElement(current.overlay);
    this.GB_customizer(caption, url, height, width, callback_fn);
}
GB_customizer = function(caption, url, /* optional */height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 500,
        width: width || 500,
        fullscreen: false,
        overlay_click_close: true,
        show_loading: false,
        callback_fn: callback_fn
    }
    var win = new GB_Window(options);
    return win.show(url);
}

GB_greyboxGame = function(caption, url, /* optional */height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 500,
        width: width || 500,
        fullscreen: false,
        overlay_click_close: true,
        show_loading: false,
	center_win:true,	
        callback_fn: callback_fn
    }
    var win = new GB_Window(options);
    return win.show(url);
}
script_loaded = true;
