﻿//浮动窗口效果(弹出公告)
var ShadeDiv = 
{
	objid : null,
	Shade : document.createElement('div'),
	ShadeID : 'Shade',
	width : 400,
	height : 300,
	Position : function()
	{
		if (!ShadeDiv.objid)
		{
			ShadeDiv.objid = null;
			return;
		}
		var de = document.documentElement;
		var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
		var ch = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
		if (self.pageYOffset) 
		{
			var st = self.pageYOffset;
		} 
		else if (document.documentElement && document.documentElement.scrollTop)
		{	 
		    // Explorer 6 Strict
			var st = document.documentElement.scrollTop;
		} 
		else if (document.body) 
		{
		    // all other Explorers
			var st = document.body.scrollTop;
		}
		if (window.innerHeight && window.scrollMaxY) 
		{	
			var sh = window.innerHeight + window.scrollMaxY;
		} 
		else if (document.body.scrollHeight > document.body.offsetHeight)
		{ 
		    // all but Explorer Mac
			var sh = document.body.scrollHeight;
		} 
		else 
		{ 
		    // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			var sh = de.scrollHeight ;
		}
		ShadeDiv.Shade.style.backgroundColor = "#000000";
		ShadeDiv.Shade.style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity=60,finishOpacity=100,style=0)";
		ShadeDiv.Shade.style.height = (sh > ch ? sh : ch) + 'px';
		ShadeDiv.Shade.style.width = w + 'px';
		ShadeDiv.Shade.style.top = "0px";
		ShadeDiv.Shade.style.left = "0px";
		var pos = [], pw;
		pw = ShadeDiv.width;
		pos[0] = (w-pw)/2;
		pos[1] = (ch-(ShadeDiv.height || 300))/2 + st;
		//window.status="ch:"+ch+"st:"+st+"post[1]:"+pos[1]+"ShadeDiv.clientHeight"+ShadeDiv.objid.clientHeight;
		if (navigator.product && navigator.product == 'Gecko')
		{
			pw -= 40;
		}
		ShadeDiv.objid.style.width = ShadeDiv.width + 'px';
		ShadeDiv.objid.style.height = ShadeDiv.height + 'px';
		ShadeDiv.objid.style.left = pos[0] + 'px';
		ShadeDiv.objid.style.top = pos[1] + 'px';
		ShadeDiv.Shade.style.display = 'block';
		ShadeDiv.Shade.style.position = "absolute"
		ShadeDiv.Shade.style.zIndex   = "998";
	    ShadeDiv.objid.style.position = "absolute"
		ShadeDiv.objid.style.zIndex   = "999";
		ShadeDiv.objid.style.display = 'block';
		
	},
	Show : function(id,w,h,src)
	{
		ShadeDiv.height = parseInt(h);
		ShadeDiv.width = parseInt(w);
		ShadeDiv.Shade.id = ShadeDiv.ShadeID;
		ShadeDiv.objid = document.getElementById(id);
		document.body.insertBefore(ShadeDiv.Shade,null);
		ShadeDiv.Position();
		if (document.getElementById("iframeContent"))
		{
		    document.getElementById("iframeContent").src=src;
		}
	},
	//如：<a href="#" onclick="ShadeDiv.ShowFrame('链接文件地址&sh=300&sw=500',this);" title="txt">test</a>
	ShowFrame  : function(link,linkobj)
	{
		var gethref=link;
		if (!gethref){return;}
		if(gethref.indexOf("?")==-1){return;}
		var queryString = gethref.replace(/^[^\?]+\??/,'');
		var params = parseQuery( queryString );
		var sh,sw;
		var linktitle="";
		if (linkobj&&linkobj.title)
		{
			linktitle = linkobj.title;
		}
		sw = (params["sw"]*1) || document.body.clientWidth;
		sh = (params["sh"]*1) || document.body.clientHeight;
		var ShadeFrame = document.createElement('div');
		ShadeFrame.id = ShadeDiv.ShadeID + "_frame";
		ShadeFrame.name = ShadeDiv.ShadeID + "_frame"+Math.round(Math.random()*1000);
		ShadeFrame.style.width = sw+"px";
		ShadeFrame.style.height = sh+"px";
		document.body.appendChild(ShadeFrame);
		var divhtml = "<div class='PreviewCloseDiv'><img src='Images/close.gif' alt='关闭' class='PreviewCloseImg' onclick='ShadeDiv.Close();' />&nbsp;"+linktitle+"</div>"
		divhtml += "<iframe frameborder='0' hspace='0' src='' id='iframeContent' name='_iframeContent"+Math.round(Math.random()*1000)+"' scrolling='no' style='width:"+sw+"px;height:"+(sh-30)+"px;'> </iframe>"
		ShadeFrame.innerHTML = divhtml;
		ShadeDiv.Show(ShadeFrame.id,sw,sh,gethref);
		//if (linkobj!="")linkobj.target=null;
		//return false;
	},
	Close : function()
	{
		if (ShadeDiv.objid==null)
		{
			return;
		}
		ShadeDiv.Confirmed();
	},

	Confirmed : function() 
	{
		ShadeDiv.objid.style.display = 'none';
		ShadeDiv.Shade.style.display = 'none';
		document.body.removeChild(ShadeDiv.objid);
		document.body.removeChild(ShadeDiv.Shade);
		
	}

}
//url参数分割
function parseQuery ( query ) 
{
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) 
   {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}
