﻿var DvWnd={
	doc:document,
	win:window,
	c:{fun:'DvWnd',id:'dvwnd',title:'dvwndtitle',body:'dvwndbody',i:'dvwndiframe',bgs:'dvwndbgs',bgs2:'dvwndbgs_ifr',c:'dvwndclose'},
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////默认白色#ffffff
	$:function(id){return this.doc.getElementById(id)},
	closetext:"关闭/Close",
	move:0,
	eventStartX:0,
	eventStartY:0,
	wndStartX:0,
	wndStartY:0,
	e:null,
	x:function(){return this.e.clientX;},
	y:function(){return this.e.clientY;},
	start:function(e){
		this.e=e;
		this.move=1;
		this.eventStartX=this.x();
		this.eventStartY=this.y();
		this.wndStartX=this.$(this.c.id).offsetLeft;
		this.wndStartY=this.$(this.c.id).offsetTop;
	},
	stop:function(e){
		this.e=e;
		this.move=0;
	},
	drag:function(e){
		this.e=e;
		if(this.move){
			this.$(this.c.id).style.left=this.wndStartX+(this.x()-this.eventStartX)+'px';
			this.$(this.c.id).style.top=this.wndStartY+(this.y()-this.eventStartY)+'px';
			try{noright(this.$(this.c.title));}catch(e){}
		}
	},
	close:function(){
		this.doc.body.removeChild(this.$(this.c.id));
		this.doc.body.removeChild(this.$(this.c.bgs));
	},
	closef:function(){
		getFid(this.c.id).style.display="none";
		getFid(this.c.bgs).style.display="none";
	},
	noright:function(obj){
		obj.oncontextmenu = function(){return false;}
		obj.ondragstart = function(){return false;}
		obj.onselectstart = function(){return false;}
		obj.onselect = function(){obj.selection.empty();}
		obj.oncopy = function(){obj.selection.empty();}
		obj.onbeforecopy = function(){return false;}
	},
	autoIframe:function(obj,type){
		this.$("wndLoading").style.display="none";
		obj.style.display="";
		if(type==2){
			var oldH=obj.clientHeight;
			try{
				var bHeight=obj.contentWindow.document.body.scrollHeight;
				var dHeight=obj.contentWindow.document.documentElement.scrollHeight;
				var height=Math.max(bHeight,dHeight);
				obj.style.height=height+"px";
			}catch(e){}
			var ca=height-oldH;
			var nTop=parseInt(this.$(this.c.id).style.top)-ca;
			if(nTop<0)nTop=0;
			this.$(this.c.id).style.top=nTop+"px";
			this.$(this.c.id).style.height="auto";
		}
		else
			return;
	},
	open:function(){
		var loaded=false;
		var de=this.doc.documentElement;
		var pW=this.win.innerWidth || self.innerWidth || (de&&de.clientWidth) || this.doc.body.clientWidth;
		var pH=this.win.innerHeight || self.innerHeight || (de&&de.clientHeight) || this.doc.body.clientHeight;
		if(self.pageYOffset){
			var sTop=self.pageYOffset;
		}else if(de&&de.scrollTop){
			var sTop=de.scrollTop;
		}else if(this.doc.body){
			var sTop=this.doc.body.scrollTop;
		}
		if(this.win.innerHeight && this.win.scrollMaxY){	
			var sh=this.win.innerHeight + this.win.scrollMaxY;
		}else if(this.doc.body.scrollHeight > this.doc.body.offsetHeight){
			var sh=this.doc.body.scrollHeight;
		}else{
			var sh=this.doc.body.offsetHeight;
		}
		var a=arguments,s='';
		this.title=a[0]||'信息窗口';									//title
		this.para=a[1];													//网址或者要显示的内容
		this.width=a[2]||900;											//宽
		this.height=a[3]||520;											//高
		this.type=formatnum(a[4],1);									//0-直接显示内容，1-框架,2-自适应高度框架
		this.canvas=a[5]||{bgc:'#ffffff',opa:0.5,full:0,none:0};		//背景色和透明度,不消除滚动条，有边框
		this.left=a[6]||(pW-this.width)/2;								//X位置
		this.top=a[7]+sTop||(pH-(this.height||200))/2+sTop;			//Y位置
		var o=this.$(this.c.id);
		if(o)this.doc.body.removeChild(o);
		o=this.doc.createElement("div");
		o.id=this.c.id;
		o.style.width=this.width+'px';
		o.style.height=this.height+'px';
		o.style.left=this.left+"px";
		o.style.top=this.top+"px";		
		s+='<div id="'+this.c.title+'" onmousedown="'+this.c.fun+'.start(event);" onmouseup="'+this.c.fun+'.stop(event);" onmousemove="'+this.c.fun+'.drag(event);">';
		s+='<a href="javascript:'+this.c.fun+'.close();" class="'+this.c.c+'" title="'+this.closetext+'"></a>'+this.title+'</div>';
		s+='<div id="'+this.c.body+'">';
		s+=this.type!=0?'<div id="wndLoading"><img src="'+webpath+'images/loading3.gif" align="absmiddle" /> Loading……</div>':'';
		s+=this.type!=0?('<iframe id="'+this.c.i+'" name="'+this.c.i+'" onload="'+this.c.fun+'.autoIframe(this,'+this.type+');" src="'+this.para+'" allowTransparency="true" style="width:100%;height:'+(this.height-26)+'px;display:none;" frameborder="0"></iframe>'):('<div style="margin:10px;">'+this.para+'</div>');
		s+='</div>';
		o.innerHTML=s;
		this.doc.body.appendChild(o);
		s=this.canvas;		
		if(!!s.none){o.className="none";this.$(this.c.i).style.height=o.style.height;}
		var nbg=0,fullstr,rollbarw=0;
		if(!!s.full)
			fullstr="<style>html,body{overflow:hidden;}<style>",rollbarw=30;
		else
			fullstr="<style>html,body{overflow-x:hidden;}<style>",rollbarw=0;		
		o=this.$(this.c.bgs);
		if(!o){nbg=1;o=this.doc.createElement("div");}
		o.id=this.c.bgs;
		o.style.width=(pW+rollbarw)+'px';
		o.style.height=(sh>pH?sh:pH)+'px';		
		o.style.backgroundColor=s.bgc;
		o.style.filter='alpha(opacity='+(s.opa*100)+')';
		o.style.opacity=s.opa;
		o.style.display='block';
		o.innerHTML='<iframe id="'+this.c.bgs2+'" src="about:blank" scrolling="no" frameborder="0"></iframe>'+fullstr;
		if(nbg){this.doc.body.appendChild(o)};
		var o2=this.$(this.c.bgs2);
		if(o2){o2.style.width=pW+'px';o2.style.height=(sh>pH?sh:pH)+'px';}
		if(this.type!=0){this.$(this.c.i).src=this.para;}
	}
}