﻿function fnTrapEnter(cid,logstyle)
{
   if(event.keyCode==13)
   {
      if(logstyle==null||logstyle==0)
        onsmit(cid);
      var bt=document.all[cid+'_BtLogin'];
      bt.focus();
   }
}

function Validate(RandData,PCtlID)
{
	var Digest = "01234567890123456";
	//Let detecte whether the ePass 1000 Safe Active Control loaded.
	//If we call any method and the Err.number be set to &H1B6, it 
	//'means the ePass 1000 Safe Active Control had not be loaded.
	var ePass=document.all["ePass"];
	try
	{
		ePass.GetLibVersion();
	}
	catch(e)
	{
		//If Err.number = &H1B6 Then
		//alert("ePass的控件加载错误!");
		return true;
	}

	try
	{
		ePass.OpenDevice(1, "");
	}
	catch(e)
	{
		//alert("ePass的设备加载错误!");
		ePass.CloseDevice();
		return true;
	}
	
	var results = "01234567890123456";
	try
	{
		results = ePass.GetStrProperty(7, 0, 0);
		//alert(results);
		ePass.VerifyPIN(0, "lxg13");//'TheForm.UserPIN.Value
	}
	catch(e)
	{
		alert("ePass的设备PIN认证错误!");
		ePass.CloseDevice();
		return false;
	}
	
	try
	{
		ePass.ChangeDir(0x300, 0, "ASP_DEMO");
	}
	catch(e)
	{
		alert("ePass目录没有找到!");
		ePass.CloseDevice();
		return false;
	}	
		
	try
	{	//Open the first key file.
		ePass.OpenFile(0, 1);
	}
	catch(e)
	{
		alert("ePass第一个KEY没有找到!");
		ePass.CloseDevice();
		return false;
	}	
	
	try
	{	//Do HASH-MD5-HMAC compute.
		Digest = ePass.HashToken (1, 2,RandData);
		//alert(Digest);
		if(PCtlID!=null)
		{
		    document.all[PCtlID+"_TextBoxDigest"].value=Digest;
		    document.all[PCtlID+"_TextBoxSN_SERAL"].value=results;
		}
		else
		{
		    theForm.TextBoxDigest.value=Digest;
		    theForm.TextBoxSN_SERAL.value=results;
		}
	}
	catch(e)
	{
		alert("ePass HASH-MD5-HMAC 计算错误!");
		ePass.CloseDevice();
		return false;
	}
	
	ePass.CloseDevice();
	return true;	
		
}

