﻿' VBScript 文件
function DetectApabiByVbscript()
	on error resume next
	dim objChk,ret,msg
	msg = "您没有安装Apabi Reader、版本不够高或者安装存在问题。" & vbCrLf & "请将Apabi Reader的安装程序下载到本地后，关闭所有IE浏览器窗口，然后再执行安装程序。"
	set objChk = CreateObject("Check.CheckReader")
	if Err.number<>0 then
		DetectApabiByVbscript="UnDetected"
		exit function
	end if
	
		// 判断对象是否创建成功
	If IsObject(objChk) = False Then
		DetectApabiByVbscript="UnDetected"
		exit function
	End If
	
	
	
	// 检测新版本是否安装
	ret=-1
	bAirVer = 1
	ret = objChk.CheckAIRVersion(1000,-1)
	If ret <> 0 Then
		bAirVer = 0
	   ret = objChk.CheckNewReaderVersion(3179, -1)
	   if ret <> 0 then
			DetectApabiByVbscript="LowerVersion"
			exit function
	end if
   end if
   
	//检测Reader是否安装数字图书馆插件
	If bAirVer = 0 Then
	ret=-1
	ret = objChk.CheckNewPluginVersion("Elibrary.api",1000,-1)
	if ret <> 0 then
			DetectApabiByVbscript="UnDetected"
			exit function
	end if
	end if
	
	Set objChk = Nothing
	DetectApabiByVbscript="Detected"
	
end function


//// 检测手持设备阅读器，实现一键下载功能
//// wanwei 2006-12-01
function DetectMReaderByVbscript()
	
	On Error Resume Next
	Dim objChk, nRet
	Set objChk = CreateObject("Check.CheckDownload")
	If Err.number <> 0 then
		DetectMReaderByVbscript = "UnDetected"
		Exit Function
	End If
	
	// 判断对象是否创建成功
	If IsObject(objChk) = False Then
		DetectMReaderByVbscript = "UnDetected"
		Exit Function
	End If
	
	// 检查一键下载程序是否存在
	nRet = -1
	nRet = objChk.CheckRegister()
	If nRet & "" = "1" Then
		DetectMReaderByVbscript = "Detected"
	Else
		DetectMReaderByVbscript = "UnDetected"
	End If
	
	Set objChk = Nothing
End function



//检测客户端时间是否与服务器相差太大
function DiffTime()
	DiffTime=Abs(DateDiff("d",Now(),"<%= GetDateTimeNow()%>"))>1
end function	

function getDevice()
	Dim device
	Dim  vType,value
	Dim  objChk,ret,strRet
	
	device = ""
	On Error Resume Next
	strRet = DetectApabiByVbscript()
	If strRet<>"Detected" Then
		device = ""
	Else
		Set objChk= createobject("Check.CheckReader")
		If IsObject(objChk) = True Then
			device = objChk.CheckHWInfo()
		End If
		Set objChk = Nothing
	End If
	getDevice = device
End function

// 获取手持设备ID wanwei 2006-12-05
function getMobileDevice()
	Dim device
	Dim vType, value
	Dim objChk, ret, strRet
	
	device = ""
	On Error Resume Next
	strRet = DetectMReaderByVbscript()
	If strRet&"" <> "Detected" Then
		device = ""
	Else
		Set objChk = createobject("Check.CheckDownload")
		If IsObject(objChk) = True Then
			device = objChk.GetReaderID()
		End If
		Set objChk = Nothing
	End If
	getMobileDevice = device
End function




// 获取 Apabi Reader的版本
// 返回值：18表示使用GBK编码通信协议的Reader, 30表示使用UTF-8编码通信协议的Reader 0表示Reader版本太低或未安装
// Apabi Reader 3040及以下版本的通信协议使用GBK编码，3045及以上版本通信协议使用UTF-8编码
function GetReaderVersion()
    dim objChk,ret
    
    On Error Resume Next
    set objChk = CreateObject("Check.CheckReader")
	if Err.number<>0 then
		GetReaderVersion = 0
		exit function
	end if
	// 判断对象是否创建成功
	If IsObject(objChk) = False Then
		GetReaderVersion = 0
		exit function
	End If
	
    //检测Reader版本
	ret = -1
	ret=objChk.CheckReaderVersion(1761,1854)
	If ret<>0 Then
	    ret = objChk.CheckNewReaderVersion(2000,3040)
        If ret <> 0 Then	    
		    ret = objChk.CheckNewReaderVersion(3045,-1)
		    If ret <> 0 Then
		        GetReaderVersion = 0
		    Else
		        GetReaderVersion = 3.0
		    End If
		Else
		    GetReaderVersion = 1.8
		End If
	Else
	    GetReaderVersion = 1.8
	End if    
End function
