
function checkWQDisk()
{
	try{
		var r=udisk.open("USB1");//握奇
		udisk.close(r);
		return r;
	}catch(e){
		return -1;
	}
}
function checkFTDisk(){
	try{
		var r=udiskft.open("USB1");//
		udiskft.close(r);
		return r;
	}catch(e){
		return -1;
	}
}
function checkFT2Disk(){
	try{
		var r=udiskft.openHC("USB2");//
		udiskft.closeHC(r);
		return r;
	}catch(e){
		return -1;
	}
}
//检查U盘
function checkUDisk(isAuto)
{
  var type=0;
  var r=0;
  r=checkWQDisk();
  if(r>0)
  {
	  type=1;
  }	  
  else{
	r=checkFTDisk();
	if(r>0)
		type=2;
	else{
	   r=checkFT2Disk();
	   if(r>0)
		   type=3;
	}
  }
  
  return type;
 
}


function readUDiskUserCode(){
	var code="";
	var str =checkUDisk(false);
	if(str==0)
	{
	  alert("未找到有效的身份识别器!");
	  return "";
	}
	if(str==1){
	    var fd = udisk.open("USB1");
	    code = udisk.ReadBin("12345678", 0, 256);
	    udisk.close(fd);
	 }
    if(str==2){
      	 var fd = udiskft.open("USB1");
         code = udiskft.ReadBin("12345678", 0, 256);
   		 udiskft.close(fd);
      }
    if(str==3){
     	 var fd = udiskft.openHC("USB2");
        code = udiskft.ReadBinHC("12345678", 0, 256);
        udiskft.CloseHC(fd);
     }
    
		  //alert(code);
		  var re = /^9000[0-9a-zA-Z]+_([0-9a-zA-Z]+)_[0-9a-zA-Z]+_[0-9]*\s/;
		  var arr=code.match(re);
		  if (arr==null)
		  {      
		      
			alert("无效的身份识别卡信息！");
			return "";     
		       
		   }
		    return arr[1];  
     
	
  
}

//读U盘
function readUDisk(isAuto)
{
	var code="";
	var str =checkUDisk(isAuto);
	if(str==0)
	{
	  alert("未找到有效的身份识别器!");
	  return "";
	}
	if(str==1){
	    var fd = udisk.open("USB1");
	    code = udisk.ReadBin("12345678", 0, 256);
	    udisk.close(fd);
    }
    if(str==2){
	    var fd = udiskft.open("USB1");
	    code = udiskft.ReadBin("12345678", 0, 256);
	    udiskft.close(fd);
    }
    if(str==3){
    	 var fd = udiskft.openHC("USB2");
       code = udiskft.ReadBinHC("12345678", 0, 256);
       udiskft.CloseHC(fd);
    }
    
	    /*var re = /^9000([0-9a-zA-Z]+_[0-9a-zA-Z]+_[0-9a-zA-Z]+_[0-9]*\s)/;
	    var arr=code.match(re);
	    if (arr==null)
	    {
	     	if (!isAuto)
	      	alert("无效的身份识别卡信息！");
	      	return "";
	    }
	    //alert(arr[1]);
	    return arr[1];*/
    return code; 

}


//写U盘
function writeUDisk(code)
{
	var str=checkUDisk(false);
	var check="";
	if(str==0)
	{
	  alert("未找到有效的身份识别器!");
	  return "";
	}
  if (str==1)
  {
    	var fd = udisk.open("USB1");
    	udisk.WriteBin("12345678", 0, code + "\n");
     	check = udisk.ReadBin("12345678", 0, 256);
    	udisk.close(fd);
   }
   if (str==2)
  {
   		var fd = udiskft.open("USB1");
   	 	udiskft.WriteBin("12345678", 0, code + "\n");
     	check = udiskft.ReadBin("12345678", 0, 256);
    	udiskft.close(fd);
  }
    if(str==3){
    	 var fd = udiskft.openHC("USB2");
    	 udiskft.WriteBinHC("12345678", 0, code + "\n");
         check = udiskft.ReadBinHC("12345678", 0, 256);
         udiskft.CloseHC(fd);
    }
 
 var re = eval("/^9000" + code + "/");
    if (re.test(check))
      return true;
    else
      return false;

   
}
