var GB_CURRENT=null;
GB_hide=function(a){
	GB_CURRENT.hide(a)
};
GreyBox=new AJS.Class({
	init:function(c){
		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 b=window.location.hostname.indexOf("www");
		var a=this.src_loader.indexOf("www");
		if(b!=-1&&a==-1){
			this.src_loader=this.src_loader.replace("://","://www.")
		}
		if(b==-1&&a!=-1){
			this.src_loader=this.src_loader.replace("://www.","://")
		}
		this.show_loading=true;
		AJS.update(this,c)
	},
	addCallback:function(a){
		if(a){
			this.callback_fns.push(a)
		}
	},
	show:function(a){
		GB_CURRENT=this;
		this.url=a;
		var b=[AJS.$bytc("object"),AJS.$bytc("select")];
		AJS.map(AJS.flattenList(b),
		function(c){
			c.style.visibility="hidden"
		});
		this.createElements();
		return false
	},
	hide:function(a){
		var b=this;
		setTimeout(function(){
			var d=b.callback_fns;
			if(d!=[]){
				AJS.map(d,function(f){
					f()
				})
			}
			b.onHide();
			if(b.use_fx){
				var e=b.overlay;
				AJS.fx.fadeOut(b.overlay,{
					onComplete:function(){
						AJS.removeElement(e);
						e=null
					},duration:300
				});
				AJS.removeElement(b.g_window)
			}else{
				AJS.removeElement(b.g_window,b.overlay)
			}
			b.removeFrame();
			AJS.REV(window,"scroll",_GB_setOverlayDimension);
			AJS.REV(window,"resize",_GB_update);
			var c=[AJS.$bytc("object"),AJS.$bytc("select")];
			AJS.map(AJS.flattenList(c),function(f){
				f.style.visibility="visible"
			});
			GB_CURRENT=null;
			if(b.reload_on_close){
				window.location.reload()
			}
			if(AJS.isFunction(a)){
				a()
			}
		},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 a=this;
		if(this.use_fx){
			AJS.fx.fadeIn(this.overlay,{
				duration:300,to:0.6,onComplete:function(){
					a.onShow();
					AJS.showElement(a.g_window);
					a.startLoading()
				}
			})
		}else{
			AJS.setOpacity(this.overlay,0.6);
			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(a){
			
		}
		this.iframe=null
	},
	startLoading:function(){
		this.iframe.src=this.src_loader+"?s="+this.salt++;
		AJS.showElement(this.iframe)
	},
	setOverlayDimension:function(){
		var b=AJS.getWindowSize();
		if(AJS.isMozilla()||AJS.isOpera()){
			AJS.setWidth(this.overlay,"100%")
		}else{
			AJS.setWidth(this.overlay,b.w)
		}
		var a=Math.max(AJS.getScrollTop()+b.h,AJS.getScrollTop()+this.height);
		if(a<AJS.getScrollTop()){
			AJS.setHeight(this.overlay,a)
		}else{
			AJS.setHeight(this.overlay,AJS.getScrollTop()+b.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 a={
				name:"GB_frame","class":"GB_frame",frameBorder:0
			};
			if(AJS.isIe()){
				a.src='javascript:false;document.write("");'
			}
			this.iframe=AJS.IFRAME(a);
			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 a=AJS.$bytc("a");
	AJS.map(a,function(c){
		if(c.getAttribute("href")&&c.getAttribute("rel")){
			var b=c.getAttribute("rel");
			if(b.indexOf("gb_")==0){
				var f=b.match(/\w+/)[0];
				var e=b.match(/\[(.*)\]/)[1];
				var d=0;
				var g={caption:c.title||"",url:c.href};
				if(f=="gb_pageset"||f=="gb_imageset"){
					if(!GB_SETS[e]){GB_SETS[e]=[]}GB_SETS[e].push(g);d=GB_SETS[e].length
				}
				if(f=="gb_pageset"){
					c.onclick=function(){
						GB_showFullScreenSet(GB_SETS[e],d);return false
					}
				}
				if(f=="gb_imageset"){
					c.onclick=function(){
						GB_showImageSet(GB_SETS[e],d);return false
					}
				}
				if(f=="gb_image"){
					c.onclick=function(){
						GB_showImage(g.caption,g.url);
						return false
					}
				}
				if(f=="gb_page"){
					c.onclick=function(){
						var h=e.split(/, ?/);
						GB_show(g.caption,g.url,parseInt(h[1]),parseInt(h[0]));
						return false
					}
				}
				if(f=="gb_page_fs"){
					c.onclick=function(){
						GB_showFullScreen(g.caption,g.url);
						return false
					}
				}
				if(f=="gb_page_center"){
					c.onclick=function(){
						var h=e.split(/, ?/);
						GB_showCenter(g.caption,g.url,parseInt(h[1]),parseInt(h[0]));
						return false
					}
				}
			}
		}
	})
}
AJS.AEV(window,"load",decoGreyboxLinks);
GB_showImage=function(a,c,e){
	var b={
		width:300,
		height:300,
		type:"image",
		fullscreen:false,
		center_win:true,
		caption:a,
		callback_fn:e
	};
	var d=new GB_Gallery(b);
	return d.show(c)
};
GB_showPage=function(a,c,e){
	var b={
		type:"page",
		caption:a,
		callback_fn:e,
		fullscreen:true,
		center_win:false
	};
	var d=new GB_Gallery(b);
	return d.show(c)
};
GB_Gallery=GreyBox.extend({
	init:function(a){
		this.parent({
			
		});
		this.img_close=this.root_dir+"g_close.gif";
		AJS.update(this,a);
		this.addCallback(this.callback_fn)
	},
	initHook:function(){
		AJS.addClass(this.g_window,"GB_Gallery");
		var c=AJS.DIV({
			"class":"inner"
		});
		this.header=AJS.DIV({
			"class":"GB_header"
		},c);
		AJS.setOpacity(this.header,0);
		AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
		var e=AJS.TD({
			id:"GB_caption","class":"caption",width:"40%"
		},this.caption);
		var b=AJS.TD({
			id:"GB_middle","class":"middle",width:"20%"
		});
		var f=AJS.IMG({
			src:this.img_close
		});
		AJS.AEV(f,"click",GB_hide);
		var a=AJS.TD({
			"class":"close",
			width:"40%"
		},f);
		var d=AJS.TBODY(AJS.TR(e,b,a));
		var g=AJS.TABLE({
			cellspacing:"0",
			cellpadding:0,
			border:0
		},d);
		AJS.ACN(c,g);
		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 b=this.overlay.offsetWidth;
		var a=AJS.getWindowSize();
		if(this.fullscreen){
			this.width=b-40;
			this.height=a.h-80
		}
		AJS.setWidth(this.iframe,this.width);
		AJS.setHeight(this.iframe,this.height);
		AJS.setWidth(this.header,b)
	},
	_setHeaderPos:function(){
		AJS.setTop(this.header,AJS.getScrollTop()+10)
	},
	setWindowPosition:function(){
		var c=this.overlay.offsetWidth;
		var a=AJS.getWindowSize();
		AJS.setLeft(this.g_window,((c-50-this.width)/2));
		var d=AJS.getScrollTop()+55;
		if(!this.center_win){
			AJS.setTop(this.g_window,d)
		}else{
			var b=((a.h-this.height)/2)+20+AJS.getScrollTop();
			if(b<0){
				b=0
			}
			if(d>b){
				b=d
			}
			AJS.setTop(this.g_window,b)
		}
		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(e,a,d){
	var b={
		type:"page",
		fullscreen:true,
		center_win:false
	};
	var c=new GB_Sets(b,e);
	c.addCallback(d);
	c.showSet(a-1);
	return false
};
GB_showImageSet=function(e,a,d){
	var b={
		type:"image",
		overlay_click_close: true,
		fullscreen:false,
		center_win:true,
		width:400,
		height:400
	};
	var c=new GB_Sets(b,e);
	c.addCallback(d);
	c.showSet(a-1);
	return false
};
GB_Sets=GB_Gallery.extend({
	init:function(a,b){
		this.parent(a);
		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=b
	},
	showSet:function(a){
		this.current_index=a;
		var b=this.current_set[this.current_index];
		this.show(b.url);
		this._setCaption(b.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(a){
		AJS.setHTML(AJS.$("GB_caption"),a)
	},
	updateFrame:function(){
		var a=this.current_set[this.current_index];
		this._setCaption(a.caption);
		this.url=a.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(b,d,a,e,g){
	var c={
		caption:b,
		height:a||500,
		width:e||500,
		fullscreen:false,
		callback_fn:g
	};
	var f=new GB_Window(c);
	return f.show(d)
};
GB_showCenter=function(b,d,a,e,g){
	var c={
		caption:b,
		overlay_click_close: true,
		center_win:true,
		height:a||500,
		width:e||500,
		fullscreen:false,
		callback_fn:g
	};
	var f=new GB_Window(c);
	return f.show(d)
};
GB_showFullScreen=function(a,c,e){
	var b={
		caption:a,
		fullscreen:true,
		callback_fn:e
	};
	var d=new GB_Window(b);
	return d.show(c)
};
GB_Window=GreyBox.extend({
	init:function(a){
		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,a);
		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 b=AJS.TD({
			"class":"caption"
		},this.caption);
		var a=AJS.TD({
			"class":"close"
		});
		if(this.show_close_img){
			var e=AJS.IMG({
				src:this.img_close
			});
			var d=AJS.SPAN("Close");
			var c=AJS.DIV(e,d);
			AJS.AEV([e,d],"mouseover",function(){
				AJS.addClass(d,"on")
			});
			AJS.AEV([e,d],"mouseout",function(){
				AJS.removeClass(d,"on")
			});
			AJS.AEV([e,d],"mousedown",function(){
				AJS.addClass(d,"click")
			});
			AJS.AEV([e,d],"mouseup",function(){
				AJS.removeClass(d,"click")
			});
			AJS.AEV([e,d],"click",GB_hide);
			AJS.ACN(a,c)
		}
		tbody_header=AJS.TBODY();
		AJS.ACN(tbody_header,AJS.TR(b,a));
		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 a=AJS.getWindowSize();
			overlay_h=a.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 a=AJS.getWindowSize();
		AJS.setLeft(this.g_window,((a.w-this.width)/2)-13);
		if(!this.center_win){
			AJS.setTop(this.g_window,AJS.getScrollTop())
		}else{
			var b=((a.h-this.height)/2)-20+AJS.getScrollTop();
			if(b<0){
				b=0
			}
			AJS.setTop(this.g_window,b)
		}
	}
});
AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");
script_loaded=true;