

// 功能：检测 OWC 控件是否安装
function checkOWCObject()
{
	if (!Detect("OWC10.PivotTable.10"))
	{
		alert("系统检测到您未安装 OWC 控件，请点击[确定]安装！");
		openMyFullWin("/ActiveX/ActiveXSetup.htm");
	}
}

// 功能：检测 psrview 版本
// 参数：o	-- MySoftActiveX.CAB 控件对象
function checkPsrviewVersion(o)
{
	try
	{
		// 判断如果本地psrview版本号小于最新版本，提示安装
		// sPsrviewVer 是 Global.js 中的全局变量
		var bIsSetupPsrview;
		var sLocalVersion, sPsrviewVersion;
		var arrLocalVersion, arrPsrviewVersion;
		
		bIsSetupPsrview = false;
		sLocalVersion = o.GetPsrVersion();
		sPsrviewVersion = sPsrviewVer;
		arrLocalVersion = sLocalVersion.split(".");
		arrPsrviewVersion = sPsrviewVersion.split(".");
		for (var i = 0; i < arrPsrviewVersion.length; i++)
		{
			if (arrLocalVersion[i] < arrPsrviewVersion[i])
			{
				bIsSetupPsrview = true;
				break;
			}
			else if (arrLocalVersion[i] > arrPsrviewVersion[i])
				break;
		}
		
		if (bIsSetupPsrview)
		{
			var sHeight = 200;
			var sWidth = 450;
			var url = "/FrameTemp0.aspx?title=" + escape("安装最新的 Excel 转换工具") + "&height=&filename=" + escape("/ActiveX/PBReport/psrview_setup.htm") + "&param=";
			window.showModalDialog( url, "", "dialogHeight:" + sHeight + "px; dialogWidth:" + sWidth + "px; help:no; status:no;scroll:no;") ;
		}
	}
	catch(e)
	{
		alert("系统检测到您未安装最新的[基础控件]，请点击[确定]尝试安装最新的[基础控件]。\n如果问题依然存在，请与系统管理员联系！");
		openMyFullWin("/ActiveX/ActiveXSetup.htm");
	}
}

// 功能：检测 ActiveX 如果没有正确安装，弹出安装提示
function checkMysoftActiveX()
{
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.async = false;
	xmlDoc.resolveExternals = false;
	xmlDoc.load("/ActiveX/ActiveX.xml");
	if (xmlDoc.parseError.errorCode != 0) 
	{
		var myError = xmlDoc.parseError;
		alert("发现错误：" + myError.reason);
	} 
	else 
	{
		var xmlActveXNodes = xmlDoc.selectNodes("//activex");
		
		for (var i = 0; i < xmlActveXNodes.length; i++)
		{
			if (xmlActveXNodes[i].selectSingleNode("ismust").text == "1")		// 如果该控件必须安装
			{
				if (!Detect(xmlActveXNodes[i].selectSingleNode("progid").text))
				{
					if(confirm("使用本系统需要安装插件，否则程序可能无法正常运行。\n\n【确定】立即安装！"))
					{
						document.URL = "/ActiveX/ActiveXSetup.htm";
					}
					
					break;
				}
			}
		}
	}
}

// 功能：用创建对象的方法检测 ActiveX 是否安装
function Detect(ProgID)
{
	var obj;
	var bOk;
	try
	{
		obj = new ActiveXObject(ProgID);
	} 
	catch(e) {}

	if (!obj)
		bOk = false;
	else
		bOk = true;
		
	delete(obj);
		
	return bOk;
}

//从链接中获取域名
function GetDomain(sUrl)
{
	var re = new RegExp("^(http://|https://|)(([\\w\\-.])+)($|:|/)", "ig");
	if (re.exec(sUrl) == null) return "";

	return RegExp.$2;
}
