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_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 = this .root_dir + "g_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(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_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 + "next.gif";
		}
		if (! this .img_prev) {
			this .img_prev = this .root_dir + "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(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 + 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(GB_ROOT_DIR + "w_close.gif", GB_ROOT_DIR + "header_bg.gif");


script_loaded = true;