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.7,
					onComplete:
						function(){
							a.onShow();
							AJS.showElement(a.g_window);
							a.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(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",
							fullscreen:false,
							center_win:true,
							width:300,
							height:300
						};
						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,
				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(" ");
										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;