
var ActivityLogger = Class.create({

    /**
     * Class Constructor
     *
     * @param logger
     * URL of the server-side logger
     *
     * @param logInterval
     * interval at which AJAX requests are made
     *
     * @param responseContainer
     * DOM element to update
     *
     * @param userId
     * email of the log item owner
     *
     * @param reference
     * log item reference
     *
     * @param task
     * log item task
     *
     * @param iType
     *
     * log item insertion type
     *
     */
    initialize: function(
        logger,
        logInterval,
        responseContainer,
        userId,
        reference,
        task,
        iType
    ) {
        this.logger = logger;
        this.logInterval = logInterval;
        this.responseContainer = responseContainer;
        this.userId  = userId;
        this.reference  = reference;
        this.task = task;
        this.minutes = logInterval;
        this.iType = iType;
    },

    enable: function() {
        if (!this.periodicalUpdater) {
            this.periodicalUpdater = new Ajax.PeriodicalUpdater(
                this.responseContainer,
                this.logger,
                {
                    method: 'post',
                    frequency: this.logInterval,
                    parameters: {
                        userId: this.userId,
                        reference: this.reference,
                        task: this.task,
                        minutes: this.minutes,
                        iType: this.iType
                    }
                }
            );
        } else {
            this.periodicalUpdater.start();
        }
        this.loggerStatus = 'enabled';
    },

    disable: function() {
        this.periodicalUpdater.stop();
        this.loggerStatus = 'disabled';
    },

    getReferenceItems: function(
        reference
    ) {
    }

});

