
var GB_CURRENT = null;
GB_hide = function () {
	GB_CURRENT.hide();
};
GreyBox = new AJS.Class({init:function (_1) {
	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 _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.5, 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");
			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};
				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 _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);
	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) {
	AJS.setHTML(AJS.$("GB_caption"), _40);
}, updateFrame:function () {
	var _41 = this.current_set[this.current_index];
	this._setCaption(_41.caption);
	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.img_close = "/img/btn-chiudi-gallery.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("");
		var btn = AJS.DIV({"id":"_chiudi"});
		AJS.ACN(btn,_58);
		AJS.ACN(btn,_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 {
		// modificato LUCA
		var fl = AJS.getScrollTop() - 36;
		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");

