﻿var TimeTracker = function(opt_bucket) { if (opt_bucket) { this.bucket_ = opt_bucket.sort(this.sortNumber); } else { this.bucket_ = TimeTracker.DEFAULT_BUCKET; } }; TimeTracker.prototype.startTime_; TimeTracker.prototype.stopTime_; TimeTracker.prototype.bucket_; TimeTracker.DEFAULT_BUCKET = [100, 500, 1500, 2500, 5000]; TimeTracker.prototype._getTimeDiff = function() { return (this.stopTime_ - this.startTime_); }; TimeTracker.prototype.sortNumber = function(a, b) { return (a - b); }
TimeTracker.prototype._recordStartTime = function(opt_time) { if (opt_time != undefined) { this.startTime_ = opt_time; } else { this.startTime_ = (new Date()).getTime(); } }; TimeTracker.prototype._recordEndTime = function(opt_time) { if (opt_time != undefined) { this.stopTime_ = opt_time; } else { this.stopTime_ = (new Date()).getTime(); } }; TimeTracker.prototype._track = function(tracker, opt_event_obj_name, opt_event_label) {
    var eventTracker; if (opt_event_obj_name != undefined && opt_event_obj_name.length != 0) { eventTracker = tracker._createEventTracker(opt_event_obj_name); } else { eventTracker = tracker._createEventTracker('TimeTracker'); }
    var i; var bucketString; for (i = 0; i < this.bucket_.length; i++) { if ((this._getTimeDiff()) < this.bucket_[i]) { if (i == 0) { bucketString = "0-" + (this.bucket_[0]); break; } else { bucketString = this.bucket_[i - 1] + "-" + (this.bucket_[i] - 1); break; } } }
    if (!bucketString) { bucketString = this.bucket_[i - 1] + "+"; }
    eventTracker._trackEvent(bucketString, opt_event_label, this._getTimeDiff());
}; TimeTracker.prototype._setHistogramBuckets = function(buckets_array) { this.bucket_ = buckets_array.sort(this.sortNumber); };