
Function ReaderCheck
  dim aLETTORE, sLETTORE
  ret = cie.CheckReader(sLETTORE)
  aLETTORE = Split(sLETTORE,"|")
  if aLETTORE(0) <> 13 Then
    alert(aLETTORE(1))
    ReaderCheck = "ReaderFailed"
  else
    document.getElementById("txtReader").value = aLETTORE(1)
    ReaderCheck = "ReaderOK"
  end if
End Function



Function CheckCard
  dim retval, sDATI, aDATI  
  if ReaderCheck = "ReaderOK" then
	  retval = cie.ReadDatiPersonaliPubblici(sDATI)
	  aDATI = Split(sDATI,"|")
	  Select Case aDATI(0)
		Case "01"
			document.getElementById("txtPIN").value = "00000"
			if VerifySmartCard() = true then
				document.getElementById("cie_form").submit()
			end if
	  	Case "00"
      document.getElementById("autenticaCRS").style.display = "none"
      document.getElementById("pulsanteCRS").style.display = "none"
      document.getElementById("pulsanteCIE").style.display = "none"
      document.getElementById("inserisciCIE").style.display = "none"
      document.getElementById("avvisa").style.display = "none"

			document.getElementById("trpin").style.display = "block"
			document.getElementById("trlogin").style.display = "block"
			'document.getElementById("trauth").style.display = "none"
			document.getElementById("txtPIN").focus
	  	Case "03"
	  		alert("E' necessario inserire la carta nel lettore")
	  	Case else
			alert(aDATI(0) & "-" & aDATI(1))
	  End Select
  else
	  alert("Lettore di SmartCard non accessibile")
  end if
End Function


Function VerifySmartCard
  dim retval, sDATI, aDATI
  VerifySmartCard = false
  if document.getElementById("txtPIN").value <> "" then
    if ReaderCheck = "ReaderOK" then
      retval = cie.ReadDatiPersonali(document.getElementById("txtPIN").value, sDATI)
      aDATI = Split(sDATI,"|")
      if aDATI(0) <> "04" then
  	    ' Tenta l'autenticazione con la CIE
		    VerifySmartCard = VerifyCIE
      else
        alert(aDATI(1))
      end if
    else
	    alert("Lettore di SmartCard non accessibile")
    end if
  else
    alert("E' necessario inserire il PIN")
  end if
End Function

Function VerifyCIE
	VerifyCIE = false
	retval = cie.ReadDatiPersonaliPubblici(sDATI)
	aDATI = Split(sDATI,"|")
	if aDATI(0) > 0 then
		if aDATI(0) = "03" then
		  alert("Inserire la carta nel lettore")
		else
		  alert(aDATI(1))
		end if
	else
	  document.getElementById("txtIDCard").value = aDATI(1)
	  document.getElementById("txtCognome").value = aDATI(5)
	  document.getElementById("txtNome").value = aDATI(6)
	  document.getElementById("txtCF").value = aDATI(10)
	  VerifyCIE = true
	end if
End Function

Function VerifyCRS_Siemens
   document.getElementById("autenticaCIE").style.display = "none"
   document.getElementById("pulsanteCIE").style.display = "none"
   document.getElementById("inserisciCRS").style.display = "none"
   document.getElementById("avvisa").style.display = "none"
   on error resume next
   VerifyCRS_Siemens = false
   'alert("ssl.start")
   ssl.Start
   'alert("checksigning")
   mio=PdLCit.CheckSigning
   if Err.Number <> 0 then
        alert("Carta non inserita, PIN errato oppure Operazione annullata")
   else
		Dim Files,LessFiles,i
		Files = Array ("EF.NKAF","EF.NKCF","EF.NKEF")
		LessFiles = Array ("EF.NKAF")
		if SSL.CardState=3 then
			for i = 0 To ubound (LessFiles)
				esito=esito&CRSInfo.ASN1BERAsXML (PdLCit.GetAsnBerFileContent (LessFiles (I)))
			next
			document.getElementById("txtTipoCard").value = "CRS"
            		document.getElementById("txtIDCard").value = GetDatoCRS(esito, "t80", 1) & GetDatoCRS(esito, "t81", 1)
	            	document.getElementById("txtCognome").value = GetDatoCRS(esito, "t87", 1)
            		document.getElementById("txtNome").value = GetDatoCRS(esito, "t4", 1)
            		document.getElementById("txtCF").value = GetDatoCRS(esito, "t81", 2)
		    	VerifyCRS_Siemens = true
		else
			alert("Errore durante la lettura della carta")
		end if
    end if
   
End Function

Function GetDatoCRS(xstr, xmltag, xoccur)
dim xesito, xi
	xesito = xstr
	for xi = 1 to xoccur
		xpos = instr(xesito, "<" & xmltag)
		if xpos > 0 then
			xesito = mid(xesito,xpos+1)
			xpos = instr(xesito, ">")
			xesito = mid(xesito,xpos+1)
		end if
	next
	xpos = instr(xesito, xmltag)
	xesito = left(xesito,xpos-3)
	GetDatoCRS = xesito
end function

