﻿// JScript 文件
var g_agt = navigator.userAgent.toLowerCase();
var is_opera = (g_agt.indexOf("opera") != -1);

function exist(s)
{
	return document.getElementById(s)!=null;
}
function myInnerHTML(idname, html)
{
	if (exist(idname))
	{
		document.getElementById(idname).innerHTML = html;
	}
}
function dialog(v_w, v_h, v_title)
{
	var width = v_w;
	var height = v_h;
	var title = v_title;
	
	var sBox = '\
		<div id="dialogBox" style="display:none;z-index:19999;width:'+width+'px;">\
			<div style="position:absolute;height:'+height+'px;top:8px;" >\
			<table border="0" cellpadding="0" cellspacing="0">\
			<tr style="height:'+(height)+'px;">\
			<td style="width:'+(width-14)+'px;">\
				<div style="border:2px solid #000000;">\
				<table width="100%" border="0" cellpadding="0" cellspacing="0">\
				';
	
		var sClose = '<a href="javascript:;" onclick="javascript:new dialog().close();"><img src="/images/close2.gif" border="0" /></a>';
		sBox +=	'\
					<tr height="24" bgcolor="#486CAE">\
						<td>\
							<div class="ts3">\
								<div id="dialogBoxTitle" style="float:left; font-size:13px; color:#fff; padding:3px 8px;font-weight: bold;"><span id="title">'+title+'</span></div>\
								<div id="dialogClose" style="float:right; padding:2px 3px;">' + sClose + '</div>\
							</div>\
						</td>\
					</tr>\
					<tr valign="top">\
						<td id="dialogBody" style="height:' + (height-28) + 'px" bgcolor="#ffffff"></td>\
					</tr>\
		';
		
	sBox += '\
				</table>\
				</div>\
			</td>\
			</tr>\
			</table>\
			</div>\
		</div><div id="dialogBoxShadow" style="display:none;z-index:19998;"></div>\
	';
	
	var sIfram = '\
		<iframe id="dialogIframBG" name="dialogIframBG" frameborder="0" marginheight="0" marginwidth="0" hspace="0" vspace="0" scrolling="auto" style="position:absolute;z-index:19997;display:none;"></iframe>\
	';
	
	var sBG = '\
		<div id="dialogBoxBG" style="position:absolute;top:0px;left:0px;width:100%;height:100%;"></div>\
	';
	
	this.init = function()
	{
		document.getElementById('dialogCase') ? document.getElementById('dialogCase').parentNode.removeChild(document.getElementById('dialogCase')) : function(){};
		var oDiv = document.createElement('span');
		oDiv.id = "dialogCase";
		if (!is_opera)
		{
			oDiv.innerHTML = sBG + sIfram + sBox;
		}
		else
		{
			oDiv.innerHTML = sBG + sBox;
		}
		document.body.appendChild(oDiv);
	}

	this.open = function(_sUrl)
	{		
		this.show();
		var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' src='" + _sUrl + "' frameborder='0' scrolling='auto'></iframe>";
		myInnerHTML('dialogBody', openIframe);
	}

	this.show = function()
	{
		this.middle('dialogBox');
		if (document.getElementById('dialogIframBG'))
		{
			document.getElementById('dialogIframBG').style.top = document.getElementById('dialogBox').style.top;
			document.getElementById('dialogIframBG').style.left = document.getElementById('dialogBox').style.left;
			document.getElementById('dialogIframBG').style.width = document.getElementById('dialogBox').offsetWidth + "px";
			document.getElementById('dialogIframBG').style.height = document.getElementById('dialogBox').offsetHeight + "px";
			document.getElementById('dialogIframBG').style.display = 'block';
		}
		if (!is_opera) {
			this.shadow();
		}
	}
	
	this.reset = function()
	{
		this.close();
	}

	this.close = function()
	{
		if (window.removeEventListener) 
		{
			window.removeEventListener('resize', this.event_b, false);
			window.removeEventListener('scroll', this.event_b, false);
		} 
		else if (window.detachEvent) 
		{
			try {
				window.detachEvent('onresize', this.event_b);
				window.detachEvent('onscroll', this.event_b);
			} catch (e) {}
		}
		if (document.getElementById('dialogIframBG')) {
			document.getElementById('dialogIframBG').style.display = 'none';
		}
		document.getElementById('dialogBox').style.display='none';
		document.getElementById('dialogBoxBG').style.display='none';
		document.getElementById('dialogBoxShadow').style.display = "none";
	}

	this.shadow = function()
	{
		this.event_b_show();
		if (window.attachEvent)
		{
			window.attachEvent('onresize', this.event_b);
			window.attachEvent('onscroll', this.event_b);
		}
		else
		{
			window.addEventListener('resize', this.event_b, false);
			window.addEventListener('scroll', this.event_b, false);
		}
	}
	
	this.event_b = function()
	{
		var oShadow = document.getElementById('dialogBoxShadow');
		
		if (oShadow.style.display != "none")
		{
			if (this.event_b_show)
			{
				this.event_b_show();
			}
		}
	}
	
	this.event_b_show = function()
	{
		var oShadow = document.getElementById('dialogBoxShadow');
		oShadow['style']['position'] = "absolute";
		oShadow['style']['display']	= "";		
		oShadow['style']['opacity']	= "0.2";
		oShadow['style']['filter'] = "alpha(opacity=50)";
		oShadow['style']['background']	= "#000";
		var sClientWidth = parent ? parent.document.body.offsetWidth : document.body.offsetWidth;
		var sClientHeight = parent ? parent.document.body.offsetHeight : document.body.offsetHeight;
		var sScrollTop = parent ? (parent.document.body.scrollTop+parent.document.documentElement.scrollTop) : (document.body.scrollTop+document.documentElement.scrollTop);
		oShadow['style']['top'] = '0px';
		oShadow['style']['left'] = '0px';
		oShadow['style']['width'] = sClientWidth + "px";
		oShadow['style']['height'] = (sClientHeight + sScrollTop) + "px";
	}

	this.middle = function(_sId)
	{
		document.getElementById(_sId)['style']['display'] = '';
		document.getElementById(_sId)['style']['position'] = "absolute";

		var sClientWidth = parent.document.body.clientWidth;
		var sClientHeight = parent.document.body.clientHeight;
		var sScrollTop = parent.document.body.scrollTop+parent.document.documentElement.scrollTop;

		var sleft = (sClientWidth - document.getElementById(_sId).offsetWidth) / 2;
		var iTop = sScrollTop + 80;
		var sTop = iTop > 0 ? iTop : 0;

		document.getElementById(_sId)['style']['left'] = sleft + "px";
		document.getElementById(_sId)['style']['top'] = sTop + "px";
	}
}

function openWindow(_sUrl, _sWidth, _sHeight, _sTitle)
{
    var oEdit = new dialog(_sWidth, _sHeight, _sTitle);
	oEdit.init();
	oEdit.open(_sUrl);
}

