//Hipaa =  new Meteor.Collection("hipaa");

Session.setDefault("hipaaSearchFilter", '');
Session.setDefault("hipaaTypeFilter", '');

// search window defaults to seven days in the past and one day in the future
Session.setDefault("beginDateFilter", new Date(moment().subtract(7, "days")).toISOString());
Session.setDefault("endDateFilter", new Date(moment().add(1, "days")).toISOString());




Template.hipaaAuditLog.onRendered(function () {
  Session.set("ribbonWidth", $('#hipaaRibbon').width());
});

Template.hipaaAuditLog.helpers({
  getHipaaSearchFilter: function () {
    return Session.get('hipaaSearchFilter');
  },
  hipaaAudit: function () {
    // return HipaaLog.find();
    return HipaaLog.find({
      $or: [
        {
          userName: {
            $regex: Session.get('hipaaSearchFilter'),
            $options: 'i'
          }
        },
        {
          patientName: {
            $regex: Session.get('hipaaSearchFilter'),
            $options: 'i'
          }
        }
      ],
      eventType: {
        $regex: Session.get("hipaaTypeFilter"),
        $options: 'i'
      },
      timestamp: {
        $lte: new Date(Session.get('endDateFilter')),
        $gte: new Date(Session.get('beginDateFilter'))
      }
    }, {
      sort: {
        timestamp: -1
      }
    });
  }
});

Template.hipaaAuditLog.events({
  "keyup #hipaaSearchFilter": function (event, template) {
    Session.set("hipaaSearchFilter", $('#hipaaSearchFilter').val());
  }
});


//==================================================================================================
// HIPAA EVENT RECORD

Template.hipaaEntry.helpers({
  getHighlightColor: function () {
    var hipaaAuditLog = Session.get('HipaaAuditLogConfig');
    if (hipaaAuditLog) {
      return "color:" + hipaaAuditLog.highlightColor;
    } else {
      return null;
    }
  },
  getUserName: function () {
    if (this.userName) {
      return this.userName;
    } else {
      return "---";
    }
  },
  getPatientName: function () {
    if (this.patientName) {
      return this.patientName;
    } else {
      return "---";
    }
  },
  hasPatientInfo: function () {
    if (this.patientName) {
      return true;
    } else {
      return false;
    }
  },
  getErrorMessage: function () {
    if (this.message) {
      return this.message;
    } else {
      return "---";
    }
  },
  getCollectionName: function () {
    if (this.collectionName) {
      return this.collectionName;
    } else {
      return "---";
    }
  },
  getRecordId: function () {
    if (this.recordId) {
      return this.recordId;
    } else {
      return "---";
    }
  },
  entryTimestamp: function () {
    return moment(this.timestamp).format("YYYY, MMM DD, hh:mm A");
  },
  entryTime: function () {
    return moment(this.timestamp).format("HH:MM A");
  },
  entryDate: function () {
    return moment(this.timestamp).format("YYYY, MMM DD");
  },
  logMessageType: function (eventType) {
    if (this.eventType === eventType) {
      return true;
    } else {
      return false;
    }
  }
});
