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("");
					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");

script_loaded = true;
