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(){
				if(this.iframe){
					this.iframe.src=this.src_loader+"?s="+this.salt++;
					AJS.showElement(this.iframe);
				}
				else{
					AJS.showElement(AJS.getElement("GB_window"));
				}
		},
		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 && this.url!=""){
					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","id":"GB_Frame_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);
				}
				else{
					this.middle_cnt=AJS.DIV({"class":"content","id":"GB_Frame_Content"},"");
					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(){
		},
		setHTML:function(t){
				this.middle_cnt.innerHTML = t;            
		},
		getHTML:function(){
				return this.middle_cnt.innerHTML;            
		},
		close:function(){
	        GB_hide();
		}
	}
);
_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);
	win.show(url);
	return win;
};
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);
	win.show(url);
	return  win;
};
GB_showFullScreen=function(_53,url,_55){
	var _56={caption:_53,fullscreen:true,callback_fn:_55};
	var win=new GB_Window(_56);
	win.show(url);
	return win;
};
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);
			if(this.top_cnt)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);
			if(this.iframe){
				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;