context: Timeline.HotZoneGregorianEtherPainter = function(params, band, timeline) {    this._band = band;    this._timeline = timeline;        this._theme = params.theme;        this._zones = [{        startTime:  Number.NEGATIVE_INFINITY,        endTime:    Number.POSITIVE_INFINITY,        unit:       params.unit,        multiple:   1    }];    for (var i = 0; i < params.zones.length; i++) {        var zone = params.zones[i];        var zoneStart = Timeline.DateTime.parseGregorianDateTime(zone.start).getTime();        var zoneEnd = Timeline.DateTime.parseGregorianDateTime(zone.end).getTime();                for (var j = 0; j < this._zones.length && zoneEnd > zoneStart; j++) {            var zone2 = this._zones[j];                        if (zoneStart < zone2.endTime) {                if (zoneStart > zone2.startTime) {                    this._zones.splice(j, 0, {                        startTime:   zone2.startTime,                        endTime:     zoneStart,                        unit:        zone2.unit,                        multiple:    zone2.multiple                    });                    j++;                                        zone2.startTime = zoneStart;                }                                if (zoneEnd < zone2.endTime) {                    this._zones.splice(j, 0, {                        startTime:  zoneStart,                        endTime:    zoneEnd,                        unit:       zone.unit,                        multiple:   (zone.multiple) ? zone.multiple : 1                    });                    j++;                                        zone2.startTime = zoneEnd;                    zoneStart = zoneEnd;                } else {                    zone2.multiple = zone.multiple;                    zoneStart = zone2.endTime;                }            } // else, try the next existing zone        }    }        this._backgroundLayer = band.createLayerDiv(0);    this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging    this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()];        this._markerLayer = null;    this._lineLayer = null;        var align = ("align" in params) ? params.align :         this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"];    var showLine = ("showLine" in params) ? params.showLine :         this._theme.ether.interval.line.show;            this._intervalMarkerLayout = new Timeline.EtherIntervalMarkerLayout(        this._timeline, this._band, this._theme, align, showLine);            this._highlight = new Timeline.EtherHighlight(        this._timeline, this._band, this._theme, this._backgroundLayer);};
meta: 6925	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/6925/45a4cab321947748bd8ef9ff80d840735ecbb442/ethers.js/buggy/src/main/webapp/api/scripts/ethers.js