//getEvent
function getEvent()
{
	if(document.all) return window.event;    
	func=getEvent.caller;        
	while(func!=null){
	   var arg0=func.arguments[0]; 
	   if(arg0){ 
	    if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ 
	     return arg0; 
	    } 
	   } 
	   func=func.caller; 
	}
}
function getMousePoint (e){
	var x = y = 0;
	if(!e) e = window.event;
	if (e.pageX && e.pageY) {
		//标准浏览器下        
		x = e.pageX;        
		y = e.pageY;    
	}else if(e.offsetX && e.offsetY) {
		//IE下        
		x = e.clientX + document.body.scrollLeft - document.body.clientLeft;
		y = e.clientY + document.body.scrollTop - document.body.clientTop;
	}
	return {'x' : x,'y' : y }
}

function getTop(e){ 
	var offset=e.offsetTop; 
	if(e.offsetParent!=null) offset+=getTop(e.offsetParent); 
	return offset; 
} 

function getLeft(e){ 
	var offset=e.offsetLeft; 
	if(e.offsetParent!=null) offset+=getLeft(e.offsetParent); 
	return offset; 
} 

function EritADShowFrame(){
	this.formDiv=null;	 		//
	//初始化共享变量
	if(typeof EritADShowFrame._initShareVar == "undefined"){
		EritADShowFrame.prototype.instanceCount=0; //初始化实例数
		EritADShowFrame.prototype.instanceArray=new Array(); //保存实例数组
		EritADShowFrame._initShareVar=true;
	}
	EritADShowFrame.prototype.instanceCount++;
	this.hwnd=EritADShowFrame.prototype.instanceCount; //窗口句柄用于窗口代码回调使用
	EritADShowFrame.prototype.instanceArray[this.hwnd]=this; //保存实例引用
	//变量初始化完毕

	//初始化共享方法用于减少内存使用
	if(typeof EritADShowFrame._initialized == "undefined"){
		EritADShowFrame.prototype.show=function(pe,pid){ //显示窗口
		var e1=getEvent();
		var srcEle=null;
		if(e1.srcElement){
			srcEle=e1.srcElement;
		}else{
			srcEle=e1.target;	
		}
		//srcEle=srcEle;
		//alert(srcEle.offsetParent);
		if(e1.toElement){if(e1.toElement==e1.fromElement){return;}}
		
		if(this.formDiv!=null&&this.formDiv.style.display==""){
			return;	
		}
		if(this.formDiv==null){
				this.formDiv=document.createElement("div");
				this.formDiv.style.width=225;
				this.formDiv.style.height=169;
				this.formDiv.style.position="absolute";
				this.formDiv.style.border="3px solid #A6C9E1";
				this.formDiv.style.background="#ffffff";
				this.formDiv.style.zIndex="9999";
				document.body.appendChild(this.formDiv);
			}else if(this.formDiv.style.display==""){
				return;
			}else{
				this.formDiv.style.display="";
			}

			
			this.formDiv.style.left=getLeft(srcEle)+srcEle.offsetWidth;
			this.formDiv.style.top=getTop(srcEle);
			
			//this.formDiv.style.left=e1.pageX; //window.event.clientX;
			//this.formDiv.style.top=e1.pageY;  //window.event.clientX;
			this.formDiv.innerHTML=document.getElementById(pid).innerHTML;
		}
		
		EritADShowFrame.prototype.hide=function(){ //隐藏窗口
			var e1=getEvent();
			if(e1.toElement){
				if(e1.toElement==e1.fromElement){
					return;	
				}
			}
			this.formDiv.style.display="none";
		}
		
				
		//静态方法调用函数
		EritADShowFrame.CallFunc=function(pHwnd,pFuncName,pPara){
			if(pFuncName=="show"){
				EritADShowFrame.prototype.instanceArray[pHwnd].show();
			}else if(pFuncName=="hide"){
				EritADShowFrame.prototype.instanceArray[pHwnd].hide();
			}else if(pFuncName=="login"){
				EritADShowFrame.prototype.instanceArray[pHwnd].login(pPara);
			}
		};
		EritADShowFrame._initialized = true; 
	}	
}
