if(!Array.prototype.push)
{
	Array.prototype.push=function()
	{
		var a=this.length;
		for(var i=0;i<arguments.length;i++)
		{
			this[a+i]=arguments[i]
		}
		return this.length
	}
};
function G()
{
	var a=new Array();
	for(var i=0;i<arguments.length;i++)
	{
		var b=arguments[i];
		if(typeof b=='string')
		{
			b=document.getElementById(b)
		}
		if(arguments.length==1)
		{
			return b
		}
		a.push(b)
	};
	return a
};
Function.prototype.bind=function(a)
{
	var b=this;
return function()
{
	b.apply(a,arguments)
}
};
Function.prototype.bindAsEventListener=function(b)
{
var c=this;
return function(a)
{
	c.call(b,a||window.event)
}
};
Object.extend=function(a,b)
{
for(property in b)
{
	a[property]=b[property]
};
return a
};
if(!window.Event)
{
var Event=new Object()
};
Object.extend(Event,
{
observers:false,element:function(a)
{
	return a.target||a.srcElement
}
,isLeftClick:function(a)
{
	return(((a.which)&&(a.which==1))||((a.button)&&(a.button==1)))
}
,pointerX:function(a)
{
	return a.pageX||(a.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft))
}
,pointerY:function(a)
{
	return a.pageY||(a.clientY+(document.documentElement.scrollTop||document.body.scrollTop))
}
,stop:function(a)
{
	if(a.preventDefault)
	{
		a.preventDefault();
		a.stopPropagation()
	}
	else
	{
		a.returnValue=false;
		a.cancelBubble=true
	}
}
,findElement:function(a,b)
{
	var c=Event.element(a);
	while(c.parentNode&&(!c.tagName||(c.tagName.toUpperCase()!=b.toUpperCase())))c=c.parentNode;
	return c
}
,_observeAndCache:function(a,b,c,d)
{
	if(!this.observers)this.observers=[];
	if(a.addEventListener)
	{
		this.observers.push([a,b,c,d]);
		a.addEventListener(b,c,d)
	}
	else if(a.attachEvent)
	{
		this.observers.push([a,b,c,d]);
		a.attachEvent('on'+b,c)
	}
}
,unloadCache:function()
{
	if(!Event.observers)return;
	for(var i=0;i<Event.observers.length;i++)
	{
		Event.stopObserving.apply(this,Event.observers[i]);
		Event.observers[i][0]=null
	};
	Event.observers=false
}
,observe:function(a,b,c,d)
{
	var a=G(a);
	d=d||false;
	if(b=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent))b='keydown';
	this._observeAndCache(a,b,c,d)
}
,stopObserving:function(a,b,c,d)
{
	var a=G(a);
	d=d||false;
	if(b=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent))b='keydown';
	if(a.removeEventListener)
	{
		a.removeEventListener(b,c,d)
	}
	else if(a.detachEvent)
	{
		a.detachEvent('on'+b,c)
	}
}
}
);
Event.observe(window,'unload',Event.unloadCache,false);
var Class=function()
{
var a=function()
{
	this.initialize.apply(this,arguments)
};
for(i=0;i<arguments.length;i++)
{
	superClass=arguments[i];
	for(member in superClass.prototype)
	{
		a.prototype[member]=superClass.prototype[member]
	}
};
a.child=function()
{
	return new Class(this)
};
a.extend=function(f)
{
	for(property in f)
	{
		a.prototype[property]=f[property]
	}
};
return a
};
function space(a)
{
	if(a=="begin")
	{
		var b=document.getElementById("ft");
		if(typeof(b)!="undefined"&&b!=null)b.id="ft_popup";
		b=document.getElementById("usrbar");
		if(typeof(b)!="undefined"&&b!=null)b.id="usrbar_popup"
	}
	else if(a=="end")
	{
		var b=document.getElementById("ft_popup");
		if(typeof(b)!="undefined"&&b!=null)b.id="ft";
		b=document.getElementById("usrbar_popup");
		if(typeof(b)!="undefined"&&b!=null)b.id="usrbar"
	}
};
var Popup=new Class();
Popup.prototype=
{
	iframeIdName:'ifr_popup',initialize:function(a)
	{
		this.config=Object.extend(
		{
			contentType:1,formId:null,isHaveTitle:true,addid:Math.random().toString().substr(2,5),isHaveClose:true,scrollType:'yes',isBackgroundCanClick:false,isSupportDraging:true,isShowShadow:true,isHiddenSome:true,isReloadOnClose:true,width:400,height:300
		}
		,a||
		{
		}
		);
		this.info=
		{
			shadowWidth:4,title:"",contentUrl:"",contentHtml:"",callBack:null,parameter:null,confirmCon:"",alertCon:"",someHiddenTag:"select,object,embed",someHiddenEle:"",overlay:0,coverOpacity:40
		};
		this.color=
		{
			cColor:"#EEEEEE",bColor:"#FFFFFF",tColor:"#709CD2",wColor:"#FFFFFF"
		};
		this.dropClass=null;
		this.someToHidden=[];
		this.paras=new Object();
		if(!this.config.isHaveTitle)
		{
			this.config.isSupportDraging=false;
		}
		this.iniBuild()
	},
	setPara:function(name, value){
		this.paras[name] = value;
	},
	getPara:function(name){
		return this.paras[name];		
	}
	,setContent:function(a,b)
	{
		if(b!='')
		{
			switch(a)
			{
				case'width':this.config.width=b;
				break;
				case'height':this.config.height=b;
				break;
				case'title':this.info.title=b;
				break;
				case'contentUrl':this.info.contentUrl=b;
				break;
				case'contentHtml':this.info.contentHtml=b;
				break;
				case'callBack':this.info.callBack=b;
				break;
				case'parameter':this.info.parameter=b;
				break;
				case'confirmCon':this.info.confirmCon=b;
				break;
				case'alertCon':this.info.alertCon=b;
				break;
				case'someHiddenTag':this.info.someHiddenTag=b;
				break;
				case'someHiddenEle':this.info.someHiddenEle=b;
				break;
				case'overlay':this.info.overlay=b
			}
		}
	}
	,setContents:function(a)
	{
		if(null==a||
		{
		}
		==a)return;
		for(var b in a)this.setContent(b,a[b])
	}
	,iniBuild:function()
	{
		G('dialogCase'+this.config.addid)?G('dialogCase'+this.config.addid).parentNode.removeChild(G('dialogCase'+this.config.addid)):function()
		{
		};
		var a=document.createElement('span');
		a.id='dialogCase'+this.config.addid;
		document.body.appendChild(a)
	}
	,build:function()
	{
		var a=10001+this.info.overlay*10;
		var b=a+2;
		this.iframeIdName='ifr_popup'+this.info.overlay;
		var rnd=this.config.addid;
		var c='';
		if(this.config.isHaveClose){
			c='<div style="cursor:pointer;position:absolute;right:10px;top:0px;width:18px;height:18px;border:1px solid #CAD9EC;font:bold 10px/18px;text-align:center;color:#2C5588;overflow:hiddden;" id="dialogBoxClose'+rnd+'">X</div>';
		}
		var d='filter: alpha(opacity='+this.info.coverOpacity+');opacity:'+this.info.coverOpacity/100+';';
		var e='<div id="dialogBoxBG'+rnd+'" style="position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:'+a+';'+d+'background-color:'+this.color.cColor+';display:none;"></div>';
		var f='<div id="dialogBox'+rnd+'" style="border:1px solid '+this.color.tColor+';display:none;z-index:'+b+';position:relative;width:'+this.config.width+'px;"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="'+this.color.bColor+'">';
		if(this.config.isHaveTitle)
		{
			f+='<tr height="24" bgcolor="'+this.color.tColor+'"><td><table style="-moz-user-select:none;height:24px;" width="100%" border="0" cellpadding="0" cellspacing="0" ><tr>'+'<td width="6" height="24"></td><td id="dialogBoxTitle'+rnd+'" style="color:'+this.color.wColor+';font-size:14px;font-weight:bold;">'+this.info.title+'&nbsp;</td>'+'<td id="dialogClose'+rnd+'" width="20" align="right" valign="middle">'+c+'</td><td width="6"></td></tr></table></td></tr>'
		}
		else
		{
			f+='<tr height="10"><td align="right">'+c+'</td></tr>'
		};
		f+='<tr style="height:'+this.config.height+'px" valign="top"><td id="dialogBody'+rnd+'" style="position:relative;"></td></tr></table></div>'+'<div id="dialogBoxShadow'+rnd+'" style="display:none;z-index:'+a+';"></div>';
		if(!this.config.isBackgroundCanClick)
		{
			G('dialogCase'+rnd).innerHTML=e+f;
			G('dialogBoxBG'+rnd).style.width=(document.documentElement.clientWidth>document.body.clientWidth?document.documentElement.clientWidth:document.body.clientWidth)+'px';
			G('dialogBoxBG'+rnd).style.height=(document.documentElement.clientHeight>document.body.clientHeight?document.documentElement.clientHeight:document.body.clientHeight)+'px'
		}
		else
		{
			G('dialogCase'+rnd).innerHTML=f
		}
		if(this.config.isHaveClose){
			Event.observe(G('dialogBoxClose'+rnd),"click",this.reset.bindAsEventListener(this),false);
		}
		if(this.config.isSupportDraging)
		{
			dropClass=new Dragdrop(this.config.width,this.config.height,this.info.shadowWidth,this.config.isSupportDraging,this.config.contentType,this.config.addid);
			G("dialogBoxTitle"+rnd).style.cursor="move"
		};
		this.lastBuild()
	}
	,lastBuild:function()
	{
		var rnd=this.config.addid;
		var a='<div style="width:100%;height:100%;text-align:center;"><div style="margin:20px 20px 0 20px;font-size:14px;line-height:16px;color:#000000;">'+this.info.confirmCon+'</div><div style="margin:20px;"><input id="dialogOk'+rnd+'" type="button" value=" 确定 "/>&nbsp;<input id="dialogCancel'+rnd+'" type="button" value=" 取消 "/></div></div>';
		var b='<div style="width:100%;height:100%;text-align:center;"><div style="margin:20px 20px 0 20px;font-size:14px;line-height:16px;color:#000000;">'+this.info.alertCon+'</div><div style="margin:20px;"><input id="dialogYES'+rnd+'" type="button" value=" 确定 "/></div></div>';
		var c=10001+this.info.overlay*10;
		var d=c+4;
		if(this.config.contentType==1)
		{
			var e="<iframe width='100%' style='height:"+this.config.height+"px' name='"+this.iframeIdName+rnd+"' id='"+this.iframeIdName+rnd+"' src='"+this.info.contentUrl+"' frameborder='0' scrolling='"+this.config.scrollType+"'></iframe>";
			var f="<div id='iframeBG"+rnd+"' style='position:absolute;top:0px;left:0px;width:1px;height:1px;z-index:"+d+";filter: alpha(opacity=00);opacity:0.00;background-color:#ffffff;'><div>";
			G("dialogBody"+rnd).innerHTML=e+f
		}
		else if(this.config.contentType==2)
		{
			G("dialogBody"+rnd).innerHTML=this.info.contentHtml
		}
		else if(this.config.contentType==3)
		{
			G("dialogBody"+rnd).innerHTML=a;
			Event.observe(G('dialogOk'+rnd),"click",this.forCallback.bindAsEventListener(this),false);
			Event.observe(G('dialogCancel'+rnd),"click",this.close.bindAsEventListener(this),false)
		}
		else if(this.config.contentType==4)
		{
			G("dialogBody"+rnd).innerHTML=b;
			Event.observe(G('dialogYES'+rnd),"click",this.close.bindAsEventListener(this),false)
		}
	}
	,reBuild:function()
	{
		var rnd=this.config.addid;
		G('dialogBody'+rnd).height=G('dialogBody'+rnd).clientHeight;
		this.lastBuild();
	}
	,show:function()
	{
		if(this.config.isHiddenSome)this.hiddenSome();
		this.middle();
		if(this.config.isShowShadow)this.shadow()
	}
	,forCallback:function()
	{
		return this.info.callBack(this.info.parameter)
	}
	,shadow:function()
	{
		var rnd=this.config.addid;
		var a=G('dialogBoxShadow'+rnd);
		var b=G('dialogBox'+rnd);
		a['style']['position']="absolute";
		a['style']['background']="#000";
		a['style']['display']="";
		a['style']['opacity']="0.2";
		a['style']['filter']="alpha(opacity=20)";
		a['style']['top']=b.offsetTop+this.info.shadowWidth+'px';
		a['style']['left']=b.offsetLeft+this.info.shadowWidth+'px';
		a['style']['width']=b.offsetWidth+'px';
		a['style']['height']=b.offsetHeight+'px'
	}
	,middle:function()
	{
		var rnd=this.config.addid;
		if(!this.config.isBackgroundCanClick)G('dialogBoxBG'+rnd).style.display='';
		var a=G('dialogBox'+rnd);
		a['style']['position']="absolute";
		a['style']['display']='';
		var b=document.documentElement?document.documentElement:document.body;
		var c=Math.round(b.scrollLeft+(b.clientWidth-a.offsetWidth)/2);
		var d=Math.round(b.scrollTop+(b.clientHeight-a.offsetHeight)/2);
		if(d<1)d="20";
		if(c<1)c="20";
		a['style']['left']=c+'px';
		a['style']['top']=d+'px'
	}
	,reset:function()
	{
		if(this.config.isReloadOnClose)
		{
			top.location.reload()
		};
		this.close()
	}
	,close:function()
	{
		
		Sany.control.removeCurForm();
	}
	,closepopup:function()
	{
		
		var rnd=this.config.addid;
		G('dialogBox'+rnd).style.display='none';
		if(!this.config.isBackgroundCanClick)G('dialogBoxBG'+rnd).style.display='none';
		if(this.config.isShowShadow)G('dialogBoxShadow'+rnd).style.display='none';
		G('dialogBody'+rnd).innerHTML='';
		this.showSome();
		this.paras=new Object();
	
	}
	,hiddenSome:function()
	{
		var a=this.info.someHiddenTag.split(",");
		if(a.length==1&&a[0]=="")
		{
			a.length=0
		}
		for(var i=0;i<a.length;i++)
		{
			this.hiddenTag(a[i])
		};
		var b=this.info.someHiddenEle.split(",");
		if(b.length==1&&b[0]=="")b.length=0;
		for(var i=0;i<b.length;i++)
		{
			this.hiddenEle(b[i])
		};
		space("begin")
	}
	,hiddenTag:function(a)
	{
		var b=document.getElementsByTagName(a);
		if(b!=null)
		{
			for(var i=0;i<b.length;i++)
			{
				if(b[i].style.display!="none"&&b[i].style.visibility!='hidden')
				{
					b[i].style.visibility='hidden';
					this.someToHidden.push(b[i])
				}
			}
		}
	}
	,hiddenEle:function(a)
	{
		var b=document.getElementById(a);
		if(typeof(b)!="undefined"&&b!=null)
		{
			b.style.visibility='hidden';
			this.someToHidden.push(b)
		}
	}
	,showSome:function()
	{
		for(var i=0;i<this.someToHidden.length;i++)
		{
			this.someToHidden[i].style.visibility='visible'
		};
		space("end")
	}
};
var Dragdrop=new Class();
Dragdrop.prototype=
{
	initialize:function(a,b,c,d,e,addid)
	{
		this.dragData=null;
		this.dragDataIn=null;
		this.backData=null;
		this.width=a;
		this.height=b;
		this.shadowWidth=c;
		this.showShadow=d;
		this.contentType=e;
		this.IsDraging=false;
		this.addid=addid;
		this.oObj=G('dialogBox'+addid);
		Event.observe(G('dialogBoxTitle'+addid),"mousedown",this.moveStart.bindAsEventListener(this),false)
	}
	,moveStart:function(a)
	{
		this.IsDraging=true;
		var rnd=this.addid;
		if(this.contentType==1)
		{
			G("iframeBG"+rnd).style.display="";
			G("iframeBG"+rnd).style.width=this.width;
			G("iframeBG"+rnd).style.height=this.height
		};
		Event.observe(document,"mousemove",this.mousemove.bindAsEventListener(this),false);
		Event.observe(document,"mouseup",this.mouseup.bindAsEventListener(this),false);
		Event.observe(document,"selectstart",this.returnFalse,false);
		this.dragData=
		{
			x:Event.pointerX(a),y:Event.pointerY(a)
		};
		this.backData=
		{
			x:parseInt(this.oObj.style.left),y:parseInt(this.oObj.style.top)
		}
	}
	,mousemove:function(a)
	{
		if(!this.IsDraging)return;
		var rnd=this.addid;
		var b=Event.pointerX(a)-this.dragData["x"]+parseInt(this.oObj.style.left);
		var c=Event.pointerY(a)-this.dragData["y"]+parseInt(this.oObj.style.top);
		if(this.dragData["y"]<parseInt(this.oObj.style.top))c=c-12;
		else if(this.dragData["y"]>parseInt(this.oObj.style.top)+25)c=c+12;
		this.oObj.style.left=b+'px';
		this.oObj.style.top=c+'px';
		if(this.showShadow)
		{
			G('dialogBoxShadow'+rnd).style.left=b+this.shadowWidth+'px';
			G('dialogBoxShadow'+rnd).style.top=c+this.shadowWidth+'px'
		};
		this.dragData=
		{
			x:Event.pointerX(a),y:Event.pointerY(a)
		};
		document.body.style.cursor="move"
	}
	,mouseup:function(a)
	{
		if(!this.IsDraging)return;
		var rnd=this.addid;
		if(this.contentType==1)G("iframeBG"+rnd).style.display="none";
		document.onmousemove=null;
		document.onmouseup=null;
		var b=Event.pointerX(a)-(document.documentElement.scrollLeft||document.body.scrollLeft);
		var c=Event.pointerY(a)-(document.documentElement.scrollTop||document.body.scrollTop);
		if(b<1||c<1||b>document.body.clientWidth||c>document.body.clientHeight)
		{
			this.oObj.style.left=this.backData["x"]+'px';
			this.oObj.style.top=this.backData["y"]+'px';
			if(this.showShadow)
			{
				G('dialogBoxShadow'+rnd).style.left=this.backData.x+this.shadowWidth+'px';
				G('dialogBoxShadow'+rnd).style.top=this.backData.y+this.shadowWidth+'px'
			}
		};
		this.IsDraging=false;
		document.body.style.cursor="";
		Event.stopObserving(document,"selectstart",this.returnFalse,false)
	}
	,returnFalse:function()
	{
		return false
	}
};
