var openWin = {
	$:function(obj,tag){//这个地球人都知道
		if(typeof obj=='string'){var obj=document.getElementById(obj);if(!obj)return}
		if(tag){return obj.getElementsByTagName(tag)}
		else{return obj}
		},
	wd:function(obj){//用于处理获取初始化对象的。wd没啥意思，随手写的。
		this.obj=obj;//指定显示对象
		this.oc(1);//显示：遮罩 + select + 页面滚动条  + 显示对象
		},
	oc:function(o){//o不为空的话，就是开启（一大串...）。这个“o”如果为空，则关闭（还是一大串...）。实际上是用来区别“openWin.wd”与“openWin.oc”的，因为用“wd”初始化时也要调用“oc”。
		if(!o){var o=0;}
		this.bodyBg(o);//显示隐藏遮罩
		this.center(o);//显示隐藏主内容
		this.hs(o);//显示隐藏select
		this.ha(o);//显示隐藏select
		this.hb(o);//显示隐藏页面滚动条
		},
	hb:function(o){//第一串：显示隐藏滚动条
		if(document.documentElement){document.documentElement.style.overflow=(o==1)?"hidden":"";}
		else{document.body.style.overflow=(o==1)?"hidden":"";}
		},
	hs:function(o){//第二串：显示隐藏下拉菜单(select)
		var s=document.getElementsByTagName("select");//找出页面内所有select
		if(s[0]=="undefined"){return}//如果不存在则返回(也就是不往下走了，掉头继续玩第三串去。)
		for(var i=0;i<s.length;i++){
			if(o==1){s[i].style.visibility="hidden";}
			else{s[i].style.visibility="";}
			}
		},
		ha:function(o){//第二串：显示隐藏下拉菜单(select)
		var a=document.getElementsByTagName("object");//找出页面内所有select
		if(a[0]=="undefined"){return}//如果不存在则返回(也就是不往下走了，掉头继续玩第三串去。)
		for(var i=0;i<a.length;i++){
			if(o==1){a[i].style.position="bottom";}
			else{a[i].style.position="bottom";}
			}
		},
	bodyBg:function(o){//第三串：创建|显示隐藏透明遮罩
		if(o==0){document.getElementsByTagName("body")[0].removeChild(this.$("body_pr"));}
		else{
			document.getElementsByTagName("body")[0].style.height="100%";
			var style={position:"absolute",left:"0",top:"0",zIndex:"2",width:"100%",height:"999em",backgroundColor:"#000",filter:"alpha(opacity=50)",opacity:"0.5"}//预置样式用于生成遮罩对象
			this.cDiv("body_pr","div",style,document.getElementsByTagName("body")[0]);//5、4、3、2、1 创建！
			}
		},
	center:function(o){//第四串：创建|删除 主要内容/正文
		if(o==0){document.getElementsByTagName("body")[0].removeChild(this.$("center_pr"));}
		else{
			var style={position:"absolute",left:"50%",top:"50%",zIndex:"999"}//预置样式用于生成 [主要内容] 的父容器对象
			this.cDiv("center_pr","div",style,document.getElementsByTagName("body")[0]);//5、4、3、2、1 创建！
			if(typeof this.obj=='string'){var obj=this.obj;this.$("center_pr").innerHTML=obj;}//如果 [主要内容] 的对象类型为string(字符串)，则直接输出到父容器内。
			else{var obj=this.obj.cloneNode(true);this.$("center_pr").appendChild(obj);}//否则就用插入的方式搞进去吧。呃，前提是记得先copy [主要内容] 生成一个新的，不然下面的操作都会影响到源内容哦。
			openWin.$("center_pr").style.marginTop=-(openWin.$("center_pr").scrollHeight/2)+((window.pageYOffset)?window.pageYOffset:document.documentElement.scrollTop)+"px";//绝对居中的方法都熟悉吧，这里是得到一个marginTop值，那么就得用“网页卷去的高”加上自身高度的一半。
			openWin.$("center_pr").style.marginLeft=-(openWin.$("center_pr").scrollWidth/2)+"px";//宽度。。。懒得写了，一般没人卷这东西。
			if(this.$("center_pr").getElementsByTagName("img")[0]){//然后如果内容有图片，则图片预加载后再计算对象高宽。不然自身的高度就不对了（有时候图片把容器撑开了，但是我们在图片没下载完毕之前就获取了当时的容器高度。。。）
				var objimg=this.$("center_pr").getElementsByTagName("img");
				objimg[objimg.length-1].onload=function(){
					openWin.$("center_pr").style.marginTop=-(openWin.$("center_pr").scrollHeight/2)+((window.pageYOffset)?window.pageYOffset:document.documentElement.scrollTop)+"px";
					openWin.$("center_pr").style.marginLeft=-(openWin.$("center_pr").scrollWidth/2)+"px";
					}
				}
			}
		},
	cDiv:function(id,tag,style,fid){//创建HTML标签方法
		var div=document.createElement(tag);//创建标签对象
			div.id=id;//赋予对象ID
			for(var i in style){div.style[i]=style[i];}//批量插入style属性与属性值
			fid.appendChild(div);//插入标签对象到指定对象内
		}
	}
