function SerieAutentia( field_lector )
{
	var objNSuareu = document.getElementById('NSuareu');
	field_lector.value = objNSuareu.GetNroSerie(1);
}

function SesionAutentia()
{
	var objAutentia = document.getElementById('Autentia');
	var res  = Autentia.IniciarSesion ("",false);
	return res;
}

function AutentiaIniciarSesion( rut, dvrut, flag )
{
	var _rut = "";

	for(i=0;i<rut.length;i++)
	{
		c = rut.charAt(i);

		if(c != '.')
			_rut += "" + c;
	}

	_dvrut = dvrut;

	if(_dvrut == "k")
		_dvrut = "K";

	var objAutentia = document.getElementById('Autentia');

	if(!objAutentia)
	{
		alert ("No se encuentra el objeto Autentia o su explorador no es compatible.");
		return false;
	}

	var dv = objAutentia.DigVer(_rut);

	if (dv != _dvrut)
	{
		alert ("El RUN ingresado es incorrecto.");
		return false;
	}

	res = objAutentia.IniciarSesion( _rut, flag );

	if(res != 0)
	{
		//var mensaje = "No se pudo identificar la identidad del médico, por tal motivo NO podrá emitir licencias y solo podrá acceder a la información previamente guardada en el sistema.";
		var mensaje = "No se pudo identificar la identidad del médico.";
		alert(mensaje);
		return false;
	}
	return true;
}

function LlamarAutentia(rut, dvrut, cod_auth, extra_params, sesion_app_autentia)
{
	var _rut = "";
	for(i=0;i<rut.length;i++)
	{
		c = rut.charAt(i);

		if(c != '.')
			_rut += "" + c;
	}

	_dvrut = dvrut;

	if(_dvrut == "k")
		_dvrut = "K";

	var objAutentia = document.getElementById('Autentia');

	if(!objAutentia)
	{
		alert ("No se encuentra el objeto Autentia o su explorador no es compatible.");
		return false;
	}

	var dv = objAutentia.DigVer(_rut);

	if (dv != _dvrut)
	{
		alert ("El RUN ingresado es incorrecto.");
		return false;
	}

	var Params   = new AutentiaParams;
	Params.Rut   = _rut + "-" + _dvrut;
	Params.DV    = _dvrut;

	eval( extra_params );
	try {
		if (sesion_app_autentia == true) {
			objAutentia.IniciarSesion(_rut, 21);
		} else {
			objAutentia.IniciarSesion(_rut);
		}
	} catch(err) {}
	res = objAutentia.Transaccion ("LME_verifica-huella", Params);

	if(res != 0)
	{
		alert("Error: " + res + "-" + objAutentia.DetalleResultado + ".\n" + "Vuelva a intentarlo, en caso de no funcionar deberá otorgar la licencia en formulario a papel.");
		return false;
	}

	if(Params.erc != 0)
	{
		alert( "Error [" + Params.erc + "] " + Params.ercText);
		return false;
	}

	if(cod_auth)
		cod_auth.value = Params.NroAudit;

	return true;
}

function AutentiaParams()
{
	this.length = 18;
	this.trabajador_rut = "";
	this.trabajador_dvrut = "";
	this.trabajador_rut_Editado = "";
	this.Nombre = "";
	this.FechaNac = "";
	this.Sexo = "";
	this.Enrolado = "N";
	this.Dedo_inx = "";
	this.Dedo_id = "";
	this.Huella = 0;
	this.Score = 0;
	this.Institucion = "";
	this.trabajador_rutOper = "";
	this.NroAudit = "";
	this.NroSerie = "";
	this.erc = 0;
	this.ercText = "";
	this.ErcVers = "";
}

function InfoAutentia( Params )
{
	alert(
	"        RUN: " + Params.Rut
	+ "\n     Nombre: " + Params.Nombre
	+ "\n   FechaNac: " + Params.FechaNac
	+ "\n       Sexo: " + Params.Sexo
	+ "\n   Enrolado: " + Params.Enrolado
	+ "\n"
	+ "\n   Dedo_inx: " + Params.Dedo_inx
	+ "\n    Dedo_id: " + Params.Dedo_id
	+ "\nInstitucion: " + Params.Institucion
	+ "\n    RutOper: " + Params.RutOper
	+ "\n"
	+ "\n   NroSerie: " + Params.NroSerie
	+ "\n   NroAudit: " + Params.NroAudit
	);
}

function TParams ()
{
   this.length = 7;
   this.Rut = "";
   this.DV = "";
   this.Descripcion = "";
   this.Ubicacion = "";
   this.erc = 0;
   this.ercText = "";
   this.ErcVers = 0;
}

function RegistrarSensor (rut_usuario, dv_usuario,ubicacion,descripcion)
{
   var Params         = new TParams;
   Params.Descripcion = descripcion;
   Params.Ubicacion   = ubicacion;
   Params.Rut         = rut_usuario;
   Params.DV          = dv_usuario;

   res = Autentia.Transaccion ("$SYS/_LME_SensorAdd",Params);
   if (res != 0)
   {
      alert ("Error: " + res + "-" + Autentia.DetalleResultado);
      return false;
   }
   if (Params.erc != 0)
   {
      alert ("Error [" + Params.erc + "] " + Params.ercText);
      return false;
   }
   return true;
}

function BProcesar(rut, dvrut, idTran, datos)
{
	if(dvrut == "k")
		dvrut = "K";

	if(rut == "")
	{
		alert ("Debe ingresar el RUT");
		return false;
	}

	if (dvrut == "")
	{
		alert ("Debe ingresar el Dígito Verificador del RUT");
		return false;
	}

	var dv = Autentia.DigVer (rut);

	if (dv != dvrut)
	{
		alert ("El RUT ingresado es incorrecto");
		return false;
	}

	var Params = new TParams;
	Params.Rut = rut;
	Params.DV  = dvrut;

	if(datos)
		eval(datos);

	res = Autentia.Transaccion (idTran,Params);

	if(res != 0)
	{
		alert ("Error: " + res + "-" + Autentia.DetalleResultado);
		return false;
	}

	if(Params.erc != 0)
	{
		alert ("Error [" + Params.erc + "] " + Params.ercText);
		return false;
	}

	var s = "Oper " + Params.Rut + "-" + Params.DV + " ";

	return true;
}

function BProcesar2(rut, dvrut,nombres,paterno,materno,nacimiento,sexo, idTran, datos)
{
	if(dvrut == "k")
		dvrut = "K";

	var Params		= new TParams;
	Params.Rut		= rut;
	Params.DV		= dvrut;
	Params.Nombres	= nombres;
	Params.ApPaterno= paterno;
	Params.ApMaterno= materno;
	Params.FechaNac	= nacimiento;
	Params.sexo		= sexo;

	if(datos)
		eval(datos);

	res = Autentia.Transaccion (idTran,Params);

	if(res != 0)
	{
		alert ("Error: " + res + "-" + Autentia.DetalleResultado);
		return false;
	}

	if(Params.erc != 0)
	{
		alert ("Error [" + Params.erc + "] " + Params.ercText);
		return false;
	}

	var s = "Oper " + Params.Rut + "-" + Params.DV + " ";

	return true;
}

