This file is indexed.

/usr/share/javascript/timeline_js/timeline-bundle.js is in libjs-simile-timeline 2.3.0+dfsg-0.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
Timeline._Band=function(g,h,c){if(g.autoWidth&&typeof h.width=="string"){h.width=h.width.indexOf("%")>-1?0:parseInt(h.width)}this._timeline=g;this._bandInfo=h;this._index=c;this._locale=("locale" in h)?h.locale:Timeline.getDefaultLocale();this._timeZone=("timeZone" in h)?h.timeZone:0;this._labeller=("labeller" in h)?h.labeller:(("createLabeller" in g.getUnit())?g.getUnit().createLabeller(this._locale,this._timeZone):new Timeline.GregorianDateLabeller(this._locale,this._timeZone));this._theme=h.theme;this._zoomIndex=("zoomIndex" in h)?h.zoomIndex:0;this._zoomSteps=("zoomSteps" in h)?h.zoomSteps:null;this._dragging=false;this._changing=false;this._originalScrollSpeed=5;this._scrollSpeed=this._originalScrollSpeed;this._onScrollListeners=[];var a=this;this._syncWithBand=null;this._syncWithBandHandler=function(b){a._onHighlightBandScroll()};this._selectorListener=function(b){a._onHighlightBandScroll()};var e=this._timeline.getDocument().createElement("div");e.className="timeline-band-input";this._timeline.addDiv(e);this._keyboardInput=document.createElement("input");this._keyboardInput.type="text";e.appendChild(this._keyboardInput);SimileAjax.DOM.registerEventWithObject(this._keyboardInput,"keydown",this,"_onKeyDown");SimileAjax.DOM.registerEventWithObject(this._keyboardInput,"keyup",this,"_onKeyUp");this._div=this._timeline.getDocument().createElement("div");this._div.id="timeline-band-"+c;this._div.className="timeline-band timeline-band-"+c;this._timeline.addDiv(this._div);SimileAjax.DOM.registerEventWithObject(this._div,"mousedown",this,"_onMouseDown");SimileAjax.DOM.registerEventWithObject(this._div,"mousemove",this,"_onMouseMove");SimileAjax.DOM.registerEventWithObject(this._div,"mouseup",this,"_onMouseUp");SimileAjax.DOM.registerEventWithObject(this._div,"mouseout",this,"_onMouseOut");SimileAjax.DOM.registerEventWithObject(this._div,"dblclick",this,"_onDblClick");var f=this._theme!=null?this._theme.mouseWheel:"scroll";if(f==="zoom"||f==="scroll"||this._zoomSteps){if(SimileAjax.Platform.browser.isFirefox){SimileAjax.DOM.registerEventWithObject(this._div,"DOMMouseScroll",this,"_onMouseScroll")}else{SimileAjax.DOM.registerEventWithObject(this._div,"mousewheel",this,"_onMouseScroll")}}this._innerDiv=this._timeline.getDocument().createElement("div");this._innerDiv.className="timeline-band-inner";this._div.appendChild(this._innerDiv);this._ether=h.ether;h.ether.initialize(this,g);this._etherPainter=h.etherPainter;h.etherPainter.initialize(this,g);this._eventSource=h.eventSource;if(this._eventSource){this._eventListener={onAddMany:function(){a._onAddMany()},onClear:function(){a._onClear()}};this._eventSource.addListener(this._eventListener)}this._eventPainter=h.eventPainter;this._eventTracksNeeded=0;this._eventTrackIncrement=0;h.eventPainter.initialize(this,g);this._decorators=("decorators" in h)?h.decorators:[];for(var d=0;d<this._decorators.length;d++){this._decorators[d].initialize(this,g)}};Timeline._Band.SCROLL_MULTIPLES=5;Timeline._Band.prototype.dispose=function(){this.closeBubble();if(this._eventSource){this._eventSource.removeListener(this._eventListener);this._eventListener=null;this._eventSource=null}this._timeline=null;this._bandInfo=null;this._labeller=null;this._ether=null;this._etherPainter=null;this._eventPainter=null;this._decorators=null;this._onScrollListeners=null;this._syncWithBandHandler=null;this._selectorListener=null;this._div=null;this._innerDiv=null;this._keyboardInput=null};Timeline._Band.prototype.addOnScrollListener=function(a){this._onScrollListeners.push(a)};Timeline._Band.prototype.removeOnScrollListener=function(b){for(var a=0;a<this._onScrollListeners.length;a++){if(this._onScrollListeners[a]==b){this._onScrollListeners.splice(a,1);break}}};Timeline._Band.prototype.setSyncWithBand=function(b,a){if(this._syncWithBand){this._syncWithBand.removeOnScrollListener(this._syncWithBandHandler)}this._syncWithBand=b;this._syncWithBand.addOnScrollListener(this._syncWithBandHandler);this._highlight=a;this._positionHighlight()};Timeline._Band.prototype.getLocale=function(){return this._locale};Timeline._Band.prototype.getTimeZone=function(){return this._timeZone};Timeline._Band.prototype.getLabeller=function(){return this._labeller};Timeline._Band.prototype.getIndex=function(){return this._index};Timeline._Band.prototype.getEther=function(){return this._ether};Timeline._Band.prototype.getEtherPainter=function(){return this._etherPainter};Timeline._Band.prototype.getEventSource=function(){return this._eventSource};Timeline._Band.prototype.getEventPainter=function(){return this._eventPainter};Timeline._Band.prototype.getTimeline=function(){return this._timeline};Timeline._Band.prototype.updateEventTrackInfo=function(b,a){this._eventTrackIncrement=a;if(b>this._eventTracksNeeded){this._eventTracksNeeded=b}};Timeline._Band.prototype.checkAutoWidth=function(){if(!this._timeline.autoWidth){return}var a=this._eventPainter.getType()=="overview";var c=a?this._theme.event.overviewTrack.autoWidthMargin:this._theme.event.track.autoWidthMargin;var b=Math.ceil((this._eventTracksNeeded+c)*this._eventTrackIncrement);b+=a?this._theme.event.overviewTrack.offset:this._theme.event.track.offset;var d=this._bandInfo;if(b!=d.width){d.width=b}};Timeline._Band.prototype.layout=function(){this.paint()};Timeline._Band.prototype.paint=function(){this._etherPainter.paint();this._paintDecorators();this._paintEvents()};Timeline._Band.prototype.softLayout=function(){this.softPaint()};Timeline._Band.prototype.softPaint=function(){this._etherPainter.softPaint();this._softPaintDecorators();this._softPaintEvents()};Timeline._Band.prototype.setBandShiftAndWidth=function(a,d){var c=this._keyboardInput.parentNode;var b=a+Math.floor(d/2);if(this._timeline.isHorizontal()){this._div.style.top=a+"px";this._div.style.height=d+"px";c.style.top=b+"px";c.style.left="-1em"}else{this._div.style.left=a+"px";this._div.style.width=d+"px";c.style.left=b+"px";c.style.top="-1em"}};Timeline._Band.prototype.getViewWidth=function(){if(this._timeline.isHorizontal()){return this._div.offsetHeight}else{return this._div.offsetWidth}};Timeline._Band.prototype.setViewLength=function(a){this._viewLength=a;this._recenterDiv();this._onChanging()};Timeline._Band.prototype.getViewLength=function(){return this._viewLength};Timeline._Band.prototype.getTotalViewLength=function(){return Timeline._Band.SCROLL_MULTIPLES*this._viewLength};Timeline._Band.prototype.getViewOffset=function(){return this._viewOffset};Timeline._Band.prototype.getMinDate=function(){return this._ether.pixelOffsetToDate(this._viewOffset)};Timeline._Band.prototype.getMaxDate=function(){return this._ether.pixelOffsetToDate(this._viewOffset+Timeline._Band.SCROLL_MULTIPLES*this._viewLength)};Timeline._Band.prototype.getMinVisibleDate=function(){return this._ether.pixelOffsetToDate(0)};Timeline._Band.prototype.getMinVisibleDateAfterDelta=function(a){return this._ether.pixelOffsetToDate(a)};Timeline._Band.prototype.getMaxVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength)};Timeline._Band.prototype.getMaxVisibleDateAfterDelta=function(a){return this._ether.pixelOffsetToDate(this._viewLength+a)};Timeline._Band.prototype.getCenterVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength/2)};Timeline._Band.prototype.setMinVisibleDate=function(a){if(!this._changing){this._moveEther(Math.round(-this._ether.dateToPixelOffset(a)))}};Timeline._Band.prototype.setMaxVisibleDate=function(a){if(!this._changing){this._moveEther(Math.round(this._viewLength-this._ether.dateToPixelOffset(a)))}};Timeline._Band.prototype.setCenterVisibleDate=function(a){if(!this._changing){this._moveEther(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(a)))}};Timeline._Band.prototype.dateToPixelOffset=function(a){return this._ether.dateToPixelOffset(a)-this._viewOffset};Timeline._Band.prototype.pixelOffsetToDate=function(a){return this._ether.pixelOffsetToDate(a+this._viewOffset)};Timeline._Band.prototype.createLayerDiv=function(d,b){var c=this._timeline.getDocument().createElement("div");c.className="timeline-band-layer"+(typeof b=="string"?(" "+b):"");c.style.zIndex=d;this._innerDiv.appendChild(c);var a=this._timeline.getDocument().createElement("div");a.className="timeline-band-layer-inner";if(SimileAjax.Platform.browser.isIE){a.style.cursor="move"}else{a.style.cursor="-moz-grab"}c.appendChild(a);return a};Timeline._Band.prototype.removeLayerDiv=function(a){this._innerDiv.removeChild(a.parentNode)};Timeline._Band.prototype.scrollToCenter=function(b,c){var a=this._ether.dateToPixelOffset(b);if(a<-this._viewLength/2){this.setCenterVisibleDate(this.pixelOffsetToDate(a+this._viewLength))}else{if(a>3*this._viewLength/2){this.setCenterVisibleDate(this.pixelOffsetToDate(a-this._viewLength))}}this._autoScroll(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(b)),c)};Timeline._Band.prototype.showBubbleForEvent=function(c){var a=this.getEventSource().getEvent(c);if(a){var b=this;this.scrollToCenter(a.getStart(),function(){b._eventPainter.showBubble(a)})}};Timeline._Band.prototype.zoom=function(f,a,e,c){if(!this._zoomSteps){return}a+=this._viewOffset;var d=this._ether.pixelOffsetToDate(a);var b=this._ether.zoom(f);this._etherPainter.zoom(b);this._moveEther(Math.round(-this._ether.dateToPixelOffset(d)));this._moveEther(a)};Timeline._Band.prototype._onMouseDown=function(b,a,c){this.closeBubble();this._dragging=true;this._dragX=a.clientX;this._dragY=a.clientY};Timeline._Band.prototype._onMouseMove=function(d,a,e){if(this._dragging){var c=a.clientX-this._dragX;var b=a.clientY-this._dragY;this._dragX=a.clientX;this._dragY=a.clientY;this._moveEther(this._timeline.isHorizontal()?c:b);this._positionHighlight()}};Timeline._Band.prototype._onMouseUp=function(b,a,c){this._dragging=false;this._keyboardInput.focus()};Timeline._Band.prototype._onMouseOut=function(b,a,d){var c=SimileAjax.DOM.getEventRelativeCoordinates(a,b);c.x+=this._viewOffset;if(c.x<0||c.x>b.offsetWidth||c.y<0||c.y>b.offsetHeight){this._dragging=false}};Timeline._Band.prototype._onMouseScroll=function(g,i,e){var a=new Date();a=a.getTime();if(!this._lastScrollTime||((a-this._lastScrollTime)>50)){this._lastScrollTime=a;var h=0;if(i.wheelDelta){h=i.wheelDelta/120}else{if(i.detail){h=-i.detail/3}}var f=this._theme.mouseWheel;if(this._zoomSteps||f==="zoom"){var d=SimileAjax.DOM.getEventRelativeCoordinates(i,g);if(h!=0){var c;if(h>0){c=true}if(h<0){c=false}this._timeline.zoom(c,d.x,d.y,g)}}else{if(f==="scroll"){var b=50*(h<0?-1:1);this._moveEther(b)}}}if(i.stopPropagation){i.stopPropagation()}i.cancelBubble=true;if(i.preventDefault){i.preventDefault()}i.returnValue=false};Timeline._Band.prototype._onDblClick=function(b,a,d){var c=SimileAjax.DOM.getEventRelativeCoordinates(a,b);var e=c.x-(this._viewLength/2-this._viewOffset);this._autoScroll(-e)};Timeline._Band.prototype._onKeyDown=function(b,a,c){if(!this._dragging){switch(a.keyCode){case 27:break;case 37:case 38:this._scrollSpeed=Math.min(50,Math.abs(this._scrollSpeed*1.05));this._moveEther(this._scrollSpeed);break;case 39:case 40:this._scrollSpeed=-Math.min(50,Math.abs(this._scrollSpeed*1.05));this._moveEther(this._scrollSpeed);break;default:return true}this.closeBubble();SimileAjax.DOM.cancelEvent(a);return false}return true};Timeline._Band.prototype._onKeyUp=function(b,a,c){if(!this._dragging){this._scrollSpeed=this._originalScrollSpeed;switch(a.keyCode){case 35:this.setCenterVisibleDate(this._eventSource.getLatestDate());break;case 36:this.setCenterVisibleDate(this._eventSource.getEarliestDate());break;case 33:this._autoScroll(this._timeline.getPixelLength());break;case 34:this._autoScroll(-this._timeline.getPixelLength());break;default:return true}this.closeBubble();SimileAjax.DOM.cancelEvent(a);return false}return true};Timeline._Band.prototype._autoScroll=function(g,e){var c=this;var d=SimileAjax.Graphics.createAnimation(function(a,b){c._moveEther(b)},0,g,1000,e);d.run()};Timeline._Band.prototype._moveEther=function(a){this.closeBubble();if(!this._timeline.shiftOK(this._index,a)){return}this._viewOffset+=a;this._ether.shiftPixels(-a);if(this._timeline.isHorizontal()){this._div.style.left=this._viewOffset+"px"}else{this._div.style.top=this._viewOffset+"px"}if(this._viewOffset>-this._viewLength*0.5||this._viewOffset<-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1.5)){this._recenterDiv()}else{this.softLayout()}this._onChanging()};Timeline._Band.prototype._onChanging=function(){this._changing=true;this._fireOnScroll();this._setSyncWithBandDate();this._changing=false};Timeline._Band.prototype.busy=function(){return(this._changing)};Timeline._Band.prototype._fireOnScroll=function(){for(var a=0;a<this._onScrollListeners.length;a++){this._onScrollListeners[a](this)}};Timeline._Band.prototype._setSyncWithBandDate=function(){if(this._syncWithBand){var a=this._ether.pixelOffsetToDate(this.getViewLength()/2);this._syncWithBand.setCenterVisibleDate(a)}};Timeline._Band.prototype._onHighlightBandScroll=function(){if(this._syncWithBand){var a=this._syncWithBand.getCenterVisibleDate();var b=this._ether.dateToPixelOffset(a);this._moveEther(Math.round(this._viewLength/2-b));if(this._highlight){this._etherPainter.setHighlight(this._syncWithBand.getMinVisibleDate(),this._syncWithBand.getMaxVisibleDate())}}};Timeline._Band.prototype._onAddMany=function(){this._paintEvents()};Timeline._Band.prototype._onClear=function(){this._paintEvents()};Timeline._Band.prototype._positionHighlight=function(){if(this._syncWithBand){var a=this._syncWithBand.getMinVisibleDate();var b=this._syncWithBand.getMaxVisibleDate();if(this._highlight){this._etherPainter.setHighlight(a,b)}}};Timeline._Band.prototype._recenterDiv=function(){this._viewOffset=-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1)/2;if(this._timeline.isHorizontal()){this._div.style.left=this._viewOffset+"px";this._div.style.width=(Timeline._Band.SCROLL_MULTIPLES*this._viewLength)+"px"}else{this._div.style.top=this._viewOffset+"px";this._div.style.height=(Timeline._Band.SCROLL_MULTIPLES*this._viewLength)+"px"}this.layout()};Timeline._Band.prototype._paintEvents=function(){this._eventPainter.paint()};Timeline._Band.prototype._softPaintEvents=function(){this._eventPainter.softPaint()};Timeline._Band.prototype._paintDecorators=function(){for(var a=0;a<this._decorators.length;a++){this._decorators[a].paint()}};Timeline._Band.prototype._softPaintDecorators=function(){for(var a=0;a<this._decorators.length;a++){this._decorators[a].softPaint()}};Timeline._Band.prototype.closeBubble=function(){SimileAjax.WindowManager.cancelPopups()};Timeline.CompactEventPainter=function(a){this._params=a;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.CompactEventPainter.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._backLayer=null;this._eventLayer=null;this._lineLayer=null;this._highlightLayer=null;this._eventIdToElmt=null};Timeline.CompactEventPainter.prototype.addOnSelectListener=function(a){this._onSelectListeners.push(a)};Timeline.CompactEventPainter.prototype.removeOnSelectListener=function(b){for(var a=0;a<this._onSelectListeners.length;a++){if(this._onSelectListeners[a]==b){this._onSelectListeners.splice(a,1);break}}};Timeline.CompactEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.CompactEventPainter.prototype.setFilterMatcher=function(a){this._filterMatcher=a};Timeline.CompactEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.CompactEventPainter.prototype.setHighlightMatcher=function(a){this._highlightMatcher=a};Timeline.CompactEventPainter.prototype.paint=function(){var r=this._band.getEventSource();if(r==null){return}this._eventIdToElmt={};this._prepareForPainting();var s=this._params.theme;var p=s.event;var k={trackOffset:"trackOffset" in this._params?this._params.trackOffset:10,trackHeight:"trackHeight" in this._params?this._params.trackHeight:10,tapeHeight:s.event.tape.height,tapeBottomMargin:"tapeBottomMargin" in this._params?this._params.tapeBottomMargin:2,labelBottomMargin:"labelBottomMargin" in this._params?this._params.labelBottomMargin:5,labelRightMargin:"labelRightMargin" in this._params?this._params.labelRightMargin:5,defaultIcon:p.instant.icon,defaultIconWidth:p.instant.iconWidth,defaultIconHeight:p.instant.iconHeight,customIconWidth:"iconWidth" in this._params?this._params.iconWidth:p.instant.iconWidth,customIconHeight:"iconHeight" in this._params?this._params.iconHeight:p.instant.iconHeight,iconLabelGap:"iconLabelGap" in this._params?this._params.iconLabelGap:2,iconBottomMargin:"iconBottomMargin" in this._params?this._params.iconBottomMargin:2};if("compositeIcon" in this._params){k.compositeIcon=this._params.compositeIcon;k.compositeIconWidth=this._params.compositeIconWidth||k.customIconWidth;k.compositeIconHeight=this._params.compositeIconHeight||k.customIconHeight}else{k.compositeIcon=k.defaultIcon;k.compositeIconWidth=k.defaultIconWidth;k.compositeIconHeight=k.defaultIconHeight}k.defaultStackIcon="icon" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.icon:k.defaultIcon;k.defaultStackIconWidth="iconWidth" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconWidth:k.defaultIconWidth;k.defaultStackIconHeight="iconHeight" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconHeight:k.defaultIconHeight;var b=this._band.getMinDate();var d=this._band.getMaxDate();var t=(this._filterMatcher!=null)?this._filterMatcher:function(i){return true};var f=(this._highlightMatcher!=null)?this._highlightMatcher:function(i){return -1};var h=r.getEventIterator(b,d);var l="stackConcurrentPreciseInstantEvents" in this._params&&typeof this._params.stackConcurrentPreciseInstantEvents=="object";var g="collapseConcurrentPreciseInstantEvents" in this._params&&this._params.collapseConcurrentPreciseInstantEvents;if(g||l){var o=[];var a=null;while(h.hasNext()){var e=h.next();if(t(e)){if(!e.isInstant()||e.isImprecise()){this.paintEvent(e,k,this._params.theme,f(e))}else{if(a!=null&&a.getStart().getTime()==e.getStart().getTime()){o[o.length-1].push(e)}else{o.push([e]);a=e}}}}for(var n=0;n<o.length;n++){var q=o[n];if(q.length==1){this.paintEvent(q[0],k,this._params.theme,f(e))}else{var c=-1;for(var m=0;c<0&&m<q.length;m++){c=f(q[m])}if(l){this.paintStackedPreciseInstantEvents(q,k,this._params.theme,c)}else{this.paintCompositePreciseInstantEvents(q,k,this._params.theme,c)}}}}else{while(h.hasNext()){var e=h.next();if(t(e)){this.paintEvent(e,k,this._params.theme,f(e))}}}this._highlightLayer.style.display="block";this._lineLayer.style.display="block";this._eventLayer.style.display="block"};Timeline.CompactEventPainter.prototype.softPaint=function(){};Timeline.CompactEventPainter.prototype._prepareForPainting=function(){var b=this._band;if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events");this._backLayer.style.visibility="hidden";var a=document.createElement("span");a.className="timeline-event-label";this._backLayer.appendChild(a);this._frc=SimileAjax.Graphics.getFontRenderingContext(a)}this._frc.update();this._tracks=[];if(this._highlightLayer!=null){b.removeLayerDiv(this._highlightLayer)}this._highlightLayer=b.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";if(this._lineLayer!=null){b.removeLayerDiv(this._lineLayer)}this._lineLayer=b.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";if(this._eventLayer!=null){b.removeLayerDiv(this._eventLayer)}this._eventLayer=b.createLayerDiv(115,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.CompactEventPainter.prototype.paintEvent=function(b,c,d,a){if(b.isInstant()){this.paintInstantEvent(b,c,d,a)}else{this.paintDurationEvent(b,c,d,a)}};Timeline.CompactEventPainter.prototype.paintInstantEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseInstantEvent(b,c,d,a)}else{this.paintPreciseInstantEvent(b,c,d,a)}};Timeline.CompactEventPainter.prototype.paintDurationEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseDurationEvent(b,c,d,a)}else{this.paintPreciseDurationEvent(b,c,d,a)}};Timeline.CompactEventPainter.prototype.paintPreciseInstantEvent=function(h,f,c,b){var d={tooltip:h.getProperty("tooltip")||h.getText()};var a={url:h.getIcon()};if(a.url==null){a.url=f.defaultIcon;a.width=f.defaultIconWidth;a.height=f.defaultIconHeight;a.className="timeline-event-icon-default"}else{a.width=h.getProperty("iconWidth")||f.customIconWidth;a.height=h.getProperty("iconHeight")||f.customIconHeight}var g={text:h.getText(),color:h.getTextColor()||h.getColor(),className:h.getClassName()};var j=this.paintTapeIconLabel(h.getStart(),d,null,a,g,f,c,b);var i=this;var e=function(k,l,m){return i._onClickInstantEvent(j.iconElmtData.elmt,l,h)};SimileAjax.DOM.registerEvent(j.iconElmtData.elmt,"mousedown",e);SimileAjax.DOM.registerEvent(j.labelElmtData.elmt,"mousedown",e);this._eventIdToElmt[h.getID()]=j.iconElmtData.elmt};Timeline.CompactEventPainter.prototype.paintCompositePreciseInstantEvents=function(m,h,c,b){var k=m[0];var g=[];for(var d=0;d<m.length;d++){g.push(m[d].getProperty("tooltip")||m[d].getText())}var e={tooltip:g.join("; ")};var a={url:h.compositeIcon,width:h.compositeIconWidth,height:h.compositeIconHeight,className:"timeline-event-icon-composite"};var j={text:String.substitute(this._params.compositeEventLabelTemplate,[m.length])};var n=this.paintTapeIconLabel(k.getStart(),e,null,a,j,h,c,b);var l=this;var f=function(i,o,p){return l._onClickMultiplePreciseInstantEvent(n.iconElmtData.elmt,o,m)};SimileAjax.DOM.registerEvent(n.iconElmtData.elmt,"mousedown",f);SimileAjax.DOM.registerEvent(n.labelElmtData.elmt,"mousedown",f);for(var d=0;d<m.length;d++){this._eventIdToElmt[m[d].getID()]=n.iconElmtData.elmt}};Timeline.CompactEventPainter.prototype.paintStackedPreciseInstantEvents=function(y,K,C,e){var t="limit" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.limit:10;var j="moreMessageTemplate" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.moreMessageTemplate:"%0 More Events";var q=t<=y.length-2;var c=this._band;var F=function(i){return Math.round(c.dateToPixelOffset(i))};var o=function(i){var R={url:i.getIcon()};if(R.url==null){R.url=K.defaultStackIcon;R.width=K.defaultStackIconWidth;R.height=K.defaultStackIconHeight;R.className="timeline-event-icon-stack timeline-event-icon-default"}else{R.width=i.getProperty("iconWidth")||K.customIconWidth;R.height=i.getProperty("iconHeight")||K.customIconHeight;R.className="timeline-event-icon-stack"}return R};var g=o(y[0]);var w=5;var f=0;var l=0;var Q=0;var x=0;var M=[];for(var P=0;P<y.length&&(!q||P<t);P++){var B=y[P];var A=B.getText();var v=o(B);var u=this._frc.computeSize(A);var H={text:A,iconData:v,labelSize:u,iconLeft:g.width+P*w-v.width};H.labelLeft=g.width+P*w+K.iconLabelGap;H.top=Q;M.push(H);f=Math.min(f,H.iconLeft);Q+=u.height;l=Math.max(l,H.labelLeft+u.width);x=Math.max(x,H.top+v.height)}if(q){var m=String.substitute(j,[y.length-t]);var L=this._frc.computeSize(m);var I=g.width+(t-1)*w+K.iconLabelGap;var O=Q;Q+=L.height;l=Math.max(l,I+L.width)}l+=K.labelRightMargin;Q+=K.labelBottomMargin;x+=K.iconBottomMargin;var N=F(y[0].getStart());var s=[];var n=Math.ceil(Math.max(x,Q)/K.trackHeight);var E=g.width+(y.length-1)*w;for(var P=0;P<n;P++){s.push({start:f,end:E})}var G=Math.ceil(Q/K.trackHeight);for(var P=0;P<G;P++){var p=s[P];p.end=Math.max(p.end,l)}var h=this._fitTracks(N,s);var z=h*K.trackHeight+K.trackOffset;var a=this._timeline.getDocument().createElement("div");a.className="timeline-event-icon-stack";a.style.position="absolute";a.style.overflow="visible";a.style.left=N+"px";a.style.top=z+"px";a.style.width=E+"px";a.style.height=x+"px";a.innerHTML="<div style='position: relative'></div>";this._eventLayer.appendChild(a);var k=this;var r=function(S){try{var W=parseInt(this.getAttribute("index"));var U=a.firstChild.childNodes;for(var R=0;R<U.length;R++){var V=U[R];if(R==W){V.style.zIndex=U.length}else{V.style.zIndex=U.length-R}}}catch(T){}};var D=function(V){var R=M[V];var i=y[V];var W=i.getProperty("tooltip")||i.getText();var U=k._paintEventLabel({tooltip:W},{text:R.text},N+R.labelLeft,z+R.top,R.labelSize.width,R.labelSize.height,C);U.elmt.setAttribute("index",V);U.elmt.onmouseover=r;var T=SimileAjax.Graphics.createTranslucentImage(R.iconData.url);var S=k._timeline.getDocument().createElement("div");S.className="timeline-event-icon"+("className" in R.iconData?(" "+R.iconData.className):"");S.style.left=R.iconLeft+"px";S.style.top=R.top+"px";S.style.zIndex=(M.length-V);S.appendChild(T);S.setAttribute("index",V);S.onmouseover=r;a.firstChild.appendChild(S);var X=function(Y,Z,aa){return k._onClickInstantEvent(U.elmt,Z,i)};SimileAjax.DOM.registerEvent(S,"mousedown",X);SimileAjax.DOM.registerEvent(U.elmt,"mousedown",X);k._eventIdToElmt[i.getID()]=S};for(var P=0;P<M.length;P++){D(P)}if(q){var d=y.slice(t);var b=this._paintEventLabel({tooltip:m},{text:m},N+I,z+O,L.width,L.height,C);var J=function(i,R,S){return k._onClickMultiplePreciseInstantEvent(b.elmt,R,d)};SimileAjax.DOM.registerEvent(b.elmt,"mousedown",J);for(var P=0;P<d.length;P++){this._eventIdToElmt[d[P].getID()]=b.elmt}}};Timeline.CompactEventPainter.prototype.paintImpreciseInstantEvent=function(i,g,d,c){var e={tooltip:i.getProperty("tooltip")||i.getText()};var a={start:i.getStart(),end:i.getEnd(),latestStart:i.getLatestStart(),earliestEnd:i.getEarliestEnd(),isInstant:true};var b={url:i.getIcon()};if(b.url==null){b=null}else{b.width=i.getProperty("iconWidth")||g.customIconWidth;b.height=i.getProperty("iconHeight")||g.customIconHeight}var h={text:i.getText(),color:i.getTextColor()||i.getColor(),className:i.getClassName()};var k=this.paintTapeIconLabel(i.getStart(),e,a,b,h,g,d,c);var j=this;var f=b!=null?function(l,m,n){return j._onClickInstantEvent(k.iconElmtData.elmt,m,i)}:function(l,m,n){return j._onClickInstantEvent(k.labelElmtData.elmt,m,i)};SimileAjax.DOM.registerEvent(k.labelElmtData.elmt,"mousedown",f);SimileAjax.DOM.registerEvent(k.impreciseTapeElmtData.elmt,"mousedown",f);if(b!=null){SimileAjax.DOM.registerEvent(k.iconElmtData.elmt,"mousedown",f);this._eventIdToElmt[i.getID()]=k.iconElmtData.elmt}else{this._eventIdToElmt[i.getID()]=k.labelElmtData.elmt}};Timeline.CompactEventPainter.prototype.paintPreciseDurationEvent=function(i,g,d,c){var e={tooltip:i.getProperty("tooltip")||i.getText()};var a={start:i.getStart(),end:i.getEnd(),isInstant:false};var b={url:i.getIcon()};if(b.url==null){b=null}else{b.width=i.getProperty("iconWidth")||g.customIconWidth;b.height=i.getProperty("iconHeight")||g.customIconHeight}var h={text:i.getText(),color:i.getTextColor()||i.getColor(),className:i.getClassName()};var k=this.paintTapeIconLabel(i.getLatestStart(),e,a,b,h,g,d,c);var j=this;var f=b!=null?function(l,m,n){return j._onClickInstantEvent(k.iconElmtData.elmt,m,i)}:function(l,m,n){return j._onClickInstantEvent(k.labelElmtData.elmt,m,i)};SimileAjax.DOM.registerEvent(k.labelElmtData.elmt,"mousedown",f);SimileAjax.DOM.registerEvent(k.tapeElmtData.elmt,"mousedown",f);if(b!=null){SimileAjax.DOM.registerEvent(k.iconElmtData.elmt,"mousedown",f);this._eventIdToElmt[i.getID()]=k.iconElmtData.elmt}else{this._eventIdToElmt[i.getID()]=k.labelElmtData.elmt}};Timeline.CompactEventPainter.prototype.paintImpreciseDurationEvent=function(i,g,d,c){var e={tooltip:i.getProperty("tooltip")||i.getText()};var a={start:i.getStart(),end:i.getEnd(),latestStart:i.getLatestStart(),earliestEnd:i.getEarliestEnd(),isInstant:false};var b={url:i.getIcon()};if(b.url==null){b=null}else{b.width=i.getProperty("iconWidth")||g.customIconWidth;b.height=i.getProperty("iconHeight")||g.customIconHeight}var h={text:i.getText(),color:i.getTextColor()||i.getColor(),className:i.getClassName()};var k=this.paintTapeIconLabel(i.getLatestStart(),e,a,b,h,g,d,c);var j=this;var f=b!=null?function(l,m,n){return j._onClickInstantEvent(k.iconElmtData.elmt,m,i)}:function(l,m,n){return j._onClickInstantEvent(k.labelElmtData.elmt,m,i)};SimileAjax.DOM.registerEvent(k.labelElmtData.elmt,"mousedown",f);SimileAjax.DOM.registerEvent(k.tapeElmtData.elmt,"mousedown",f);if(b!=null){SimileAjax.DOM.registerEvent(k.iconElmtData.elmt,"mousedown",f);this._eventIdToElmt[i.getID()]=k.iconElmtData.elmt}else{this._eventIdToElmt[i.getID()]=k.labelElmtData.elmt}};Timeline.CompactEventPainter.prototype.paintTapeIconLabel=function(C,n,F,e,z,x,E,A){var s=this._band;var l=function(i){return Math.round(s.dateToPixelOffset(i))};var u=l(C);var D=[];var B=0;var p=0;var o=0;if(F!=null){B=x.tapeHeight+x.tapeBottomMargin;p=Math.ceil(x.tapeHeight/x.trackHeight);var a=l(F.end)-u;var d=l(F.start)-u;for(var r=0;r<p;r++){D.push({start:d,end:a})}o=x.trackHeight-(B%x.tapeHeight)}var b=0;var w=0;if(e!=null){if("iconAlign" in e&&e.iconAlign=="center"){b=-Math.floor(e.width/2)}w=b+e.width+x.iconLabelGap;if(p>0){D[p-1].end=Math.max(D[p-1].end,w)}var k=e.height+x.iconBottomMargin+o;while(k>0){D.push({start:b,end:w});k-=x.trackHeight}}var q=z.text;var g=this._frc.computeSize(q);var c=g.height+x.labelBottomMargin+o;var f=w+g.width+x.labelRightMargin;if(p>0){D[p-1].end=Math.max(D[p-1].end,f)}for(var y=0;c>0;y++){if(p+y<D.length){var v=D[p+y];v.end=f}else{D.push({start:0,end:f})}c-=x.trackHeight}var j=this._fitTracks(u,D);var h=j*x.trackHeight+x.trackOffset;var m={};m.labelElmtData=this._paintEventLabel(n,z,u+w,h+B,g.width,g.height,E);if(F!=null){if("latestStart" in F||"earliestEnd" in F){m.impreciseTapeElmtData=this._paintEventTape(n,F,x.tapeHeight,h,l(F.start),l(F.end),E.event.duration.impreciseColor,E.event.duration.impreciseOpacity,x,E)}if(!F.isInstant&&"start" in F&&"end" in F){m.tapeElmtData=this._paintEventTape(n,F,x.tapeHeight,h,u,l("earliestEnd" in F?F.earliestEnd:F.end),F.color,100,x,E)}}if(e!=null){m.iconElmtData=this._paintEventIcon(n,e,h+B,u+b,x,E)}return m};Timeline.CompactEventPainter.prototype._fitTracks=function(a,f){var h;for(h=0;h<this._tracks.length;h++){var e=true;for(var c=0;c<f.length&&(h+c)<this._tracks.length;c++){var g=this._tracks[h+c];var b=f[c];if(a+b.start<g){e=false;break}}if(e){break}}for(var d=0;d<f.length;d++){this._tracks[h+d]=a+f[d].end}return h};Timeline.CompactEventPainter.prototype._paintEventIcon=function(c,d,h,g,e,f){var b=SimileAjax.Graphics.createTranslucentImage(d.url);var a=this._timeline.getDocument().createElement("div");a.className="timeline-event-icon"+("className" in d?(" "+d.className):"");a.style.left=g+"px";a.style.top=h+"px";a.appendChild(b);if("tooltip" in c&&typeof c.tooltip=="string"){a.title=c.tooltip}this._eventLayer.appendChild(a);return{left:g,top:h,width:e.iconWidth,height:e.iconHeight,elmt:a}};Timeline.CompactEventPainter.prototype._paintEventLabel=function(d,g,b,f,a,i,c){var h=this._timeline.getDocument();var e=h.createElement("div");e.className="timeline-event-label";e.style.left=b+"px";e.style.width=(a+1)+"px";e.style.top=f+"px";e.innerHTML=g.text;if("tooltip" in d&&typeof d.tooltip=="string"){e.title=d.tooltip}if("color" in g&&typeof g.color=="string"){e.style.color=g.color}if("className" in g&&typeof g.className=="string"){e.className+=" "+g.className}this._eventLayer.appendChild(e);return{left:b,top:f,width:a,height:i,elmt:e}};Timeline.CompactEventPainter.prototype._paintEventTape=function(g,b,l,j,f,a,d,h,i,e){var c=a-f;var k=this._timeline.getDocument().createElement("div");k.className="timeline-event-tape";k.style.left=f+"px";k.style.top=j+"px";k.style.width=c+"px";k.style.height=l+"px";if("tooltip" in g&&typeof g.tooltip=="string"){k.title=g.tooltip}if(d!=null&&typeof b.color=="string"){k.style.backgroundColor=d}if("backgroundImage" in b&&typeof b.backgroundImage=="string"){k.style.backgroundImage="url("+backgroundImage+")";k.style.backgroundRepeat=("backgroundRepeat" in b&&typeof b.backgroundRepeat=="string")?b.backgroundRepeat:"repeat"}SimileAjax.Graphics.setOpacity(k,h);if("className" in b&&typeof b.className=="string"){k.className+=" "+b.className}this._eventLayer.appendChild(k);return{left:f,top:j,width:c,height:l,elmt:k}};Timeline.CompactEventPainter.prototype._createHighlightDiv=function(a,c,e){if(a>=0){var d=this._timeline.getDocument();var g=e.event;var b=g.highlightColors[Math.min(a,g.highlightColors.length-1)];var f=d.createElement("div");f.style.position="absolute";f.style.overflow="hidden";f.style.left=(c.left-2)+"px";f.style.width=(c.width+4)+"px";f.style.top=(c.top-2)+"px";f.style.height=(c.height+4)+"px";this._highlightLayer.appendChild(f)}};Timeline.CompactEventPainter.prototype._onClickMultiplePreciseInstantEvent=function(e,f,b){var g=SimileAjax.DOM.getPageCoordinates(e);this._showBubble(g.left+Math.ceil(e.offsetWidth/2),g.top+Math.ceil(e.offsetHeight/2),b);var d=[];for(var a=0;a<b.length;a++){d.push(b[a].getID())}this._fireOnSelect(d);f.cancelBubble=true;SimileAjax.DOM.cancelEvent(f);return false};Timeline.CompactEventPainter.prototype._onClickInstantEvent=function(b,d,a){var e=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(e.left+Math.ceil(b.offsetWidth/2),e.top+Math.ceil(b.offsetHeight/2),[a]);this._fireOnSelect([a.getID()]);d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.CompactEventPainter.prototype._onClickDurationEvent=function(e,d,b){if("pageX" in d){var a=d.pageX;var g=d.pageY}else{var f=SimileAjax.DOM.getPageCoordinates(e);var a=d.offsetX+f.left;var g=d.offsetY+f.top}this._showBubble(a,g,[b]);this._fireOnSelect([b.getID()]);d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.CompactEventPainter.prototype.showBubble=function(a){var b=this._eventIdToElmt[a.getID()];if(b){var d=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(d.left+b.offsetWidth/2,d.top+b.offsetHeight/2,[a])}};Timeline.CompactEventPainter.prototype._showBubble=function(a,f,b){var e=document.createElement("div");b=("fillInfoBubble" in b)?[b]:b;for(var d=0;d<b.length;d++){var c=document.createElement("div");e.appendChild(c);b[d].fillInfoBubble(c,this._params.theme,this._band.getLabeller())}SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(e,a,f,this._params.theme.event.bubble.width)};Timeline.CompactEventPainter.prototype._fireOnSelect=function(b){for(var a=0;a<this._onSelectListeners.length;a++){this._onSelectListeners[a](b)}};Timeline.SpanHighlightDecorator=function(a){this._unit=a.unit!=null?a.unit:SimileAjax.NativeDateUnit;this._startDate=(typeof a.startDate=="string")?this._unit.parseFromObject(a.startDate):a.startDate;this._endDate=(typeof a.endDate=="string")?this._unit.parseFromObject(a.endDate):a.endDate;this._startLabel=a.startLabel!=null?a.startLabel:"";this._endLabel=a.endLabel!=null?a.endLabel:"";this._color=a.color;this._cssClass=a.cssClass!=null?a.cssClass:null;this._opacity=a.opacity!=null?a.opacity:100;this._zIndex=(a.inFront!=null&&a.inFront)?113:10};Timeline.SpanHighlightDecorator.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._layerDiv=null};Timeline.SpanHighlightDecorator.prototype.paint=function(){if(this._layerDiv!=null){this._band.removeLayerDiv(this._layerDiv)}this._layerDiv=this._band.createLayerDiv(this._zIndex);this._layerDiv.setAttribute("name","span-highlight-decorator");this._layerDiv.style.display="none";var f=this._band.getMinDate();var c=this._band.getMaxDate();if(this._unit.compare(this._startDate,c)<0&&this._unit.compare(this._endDate,f)>0){f=this._unit.later(f,this._startDate);c=this._unit.earlier(c,this._endDate);var d=this._band.dateToPixelOffset(f);var k=this._band.dateToPixelOffset(c);var i=this._timeline.getDocument();var h=function(){var l=i.createElement("table");l.insertRow(0).insertCell(0);return l};var b=i.createElement("div");b.className="timeline-highlight-decorator";if(this._cssClass){b.className+=" "+this._cssClass}if(this._color!=null){b.style.backgroundColor=this._color}if(this._opacity<100){SimileAjax.Graphics.setOpacity(b,this._opacity)}this._layerDiv.appendChild(b);var j=h();j.className="timeline-highlight-label timeline-highlight-label-start";var g=j.rows[0].cells[0];g.innerHTML=this._startLabel;if(this._cssClass){g.className="label_"+this._cssClass}this._layerDiv.appendChild(j);var a=h();a.className="timeline-highlight-label timeline-highlight-label-end";var e=a.rows[0].cells[0];e.innerHTML=this._endLabel;if(this._cssClass){e.className="label_"+this._cssClass}this._layerDiv.appendChild(a);if(this._timeline.isHorizontal()){b.style.left=d+"px";b.style.width=(k-d)+"px";j.style.right=(this._band.getTotalViewLength()-d)+"px";j.style.width=(this._startLabel.length)+"em";a.style.left=k+"px";a.style.width=(this._endLabel.length)+"em"}else{b.style.top=d+"px";b.style.height=(k-d)+"px";j.style.bottom=d+"px";j.style.height="1.5px";a.style.top=k+"px";a.style.height="1.5px"}}this._layerDiv.style.display="block"};Timeline.SpanHighlightDecorator.prototype.softPaint=function(){};Timeline.PointHighlightDecorator=function(a){this._unit=a.unit!=null?a.unit:SimileAjax.NativeDateUnit;this._date=(typeof a.date=="string")?this._unit.parseFromObject(a.date):a.date;this._width=a.width!=null?a.width:10;this._color=a.color;this._cssClass=a.cssClass!=null?a.cssClass:"";this._opacity=a.opacity!=null?a.opacity:100};Timeline.PointHighlightDecorator.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._layerDiv=null};Timeline.PointHighlightDecorator.prototype.paint=function(){if(this._layerDiv!=null){this._band.removeLayerDiv(this._layerDiv)}this._layerDiv=this._band.createLayerDiv(10);this._layerDiv.setAttribute("name","span-highlight-decorator");this._layerDiv.style.display="none";var c=this._band.getMinDate();var e=this._band.getMaxDate();if(this._unit.compare(this._date,e)<0&&this._unit.compare(this._date,c)>0){var b=this._band.dateToPixelOffset(this._date);var a=b-Math.round(this._width/2);var d=this._timeline.getDocument();var f=d.createElement("div");f.className="timeline-highlight-point-decorator";f.className+=" "+this._cssClass;if(this._color!=null){f.style.backgroundColor=this._color}if(this._opacity<100){SimileAjax.Graphics.setOpacity(f,this._opacity)}this._layerDiv.appendChild(f);if(this._timeline.isHorizontal()){f.style.left=a+"px";f.style.width=this._width}else{f.style.top=a+"px";f.style.height=this._width}}this._layerDiv.style.display="block"};Timeline.PointHighlightDecorator.prototype.softPaint=function(){};Timeline.DetailedEventPainter=function(a){this._params=a;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.DetailedEventPainter.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._backLayer=null;this._eventLayer=null;this._lineLayer=null;this._highlightLayer=null;this._eventIdToElmt=null};Timeline.DetailedEventPainter.prototype.getType=function(){return"detailed"};Timeline.DetailedEventPainter.prototype.addOnSelectListener=function(a){this._onSelectListeners.push(a)};Timeline.DetailedEventPainter.prototype.removeOnSelectListener=function(b){for(var a=0;a<this._onSelectListeners.length;a++){if(this._onSelectListeners[a]==b){this._onSelectListeners.splice(a,1);break}}};Timeline.DetailedEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.DetailedEventPainter.prototype.setFilterMatcher=function(a){this._filterMatcher=a};Timeline.DetailedEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.DetailedEventPainter.prototype.setHighlightMatcher=function(a){this._highlightMatcher=a};Timeline.DetailedEventPainter.prototype.paint=function(){var b=this._band.getEventSource();if(b==null){return}this._eventIdToElmt={};this._prepareForPainting();var i=this._params.theme.event;var g=Math.max(i.track.height,this._frc.getLineHeight());var f={trackOffset:Math.round(this._band.getViewWidth()/2-g/2),trackHeight:g,trackGap:i.track.gap,trackIncrement:g+i.track.gap,icon:i.instant.icon,iconWidth:i.instant.iconWidth,iconHeight:i.instant.iconHeight,labelWidth:i.label.width};var c=this._band.getMinDate();var a=this._band.getMaxDate();var j=(this._filterMatcher!=null)?this._filterMatcher:function(k){return true};var e=(this._highlightMatcher!=null)?this._highlightMatcher:function(k){return -1};var d=b.getEventReverseIterator(c,a);while(d.hasNext()){var h=d.next();if(j(h)){this.paintEvent(h,f,this._params.theme,e(h))}}this._highlightLayer.style.display="block";this._lineLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._lowerTracks.length+this._upperTracks.length,f.trackIncrement)};Timeline.DetailedEventPainter.prototype.softPaint=function(){};Timeline.DetailedEventPainter.prototype._prepareForPainting=function(){var b=this._band;if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events");this._backLayer.style.visibility="hidden";var a=document.createElement("span");a.className="timeline-event-label";this._backLayer.appendChild(a);this._frc=SimileAjax.Graphics.getFontRenderingContext(a)}this._frc.update();this._lowerTracks=[];this._upperTracks=[];if(this._highlightLayer!=null){b.removeLayerDiv(this._highlightLayer)}this._highlightLayer=b.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";if(this._lineLayer!=null){b.removeLayerDiv(this._lineLayer)}this._lineLayer=b.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";if(this._eventLayer!=null){b.removeLayerDiv(this._eventLayer)}this._eventLayer=b.createLayerDiv(110,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.DetailedEventPainter.prototype.paintEvent=function(b,c,d,a){if(b.isInstant()){this.paintInstantEvent(b,c,d,a)}else{this.paintDurationEvent(b,c,d,a)}};Timeline.DetailedEventPainter.prototype.paintInstantEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseInstantEvent(b,c,d,a)}else{this.paintPreciseInstantEvent(b,c,d,a)}};Timeline.DetailedEventPainter.prototype.paintDurationEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseDurationEvent(b,c,d,a)}else{this.paintPreciseDurationEvent(b,c,d,a)}};Timeline.DetailedEventPainter.prototype.paintPreciseInstantEvent=function(k,n,q,o){var s=this._timeline.getDocument();var j=k.getText();var e=k.getStart();var c=Math.round(this._band.dateToPixelOffset(e));var a=Math.round(c+n.iconWidth/2);var i=Math.round(c-n.iconWidth/2);var g=this._frc.computeSize(j);var d=this._findFreeTrackForSolid(a,c);var b=this._paintEventIcon(k,d,i,n,q);var t=a+q.event.label.offsetFromLine;var p=d;var f=this._getTrackData(d);if(Math.min(f.solid,f.text)>=t+g.width){f.solid=i;f.text=t}else{f.solid=i;t=c+q.event.label.offsetFromLine;p=this._findFreeTrackForText(d,t+g.width,function(u){u.line=c-2});this._getTrackData(p).text=i;this._paintEventLine(k,c,d,p,n,q)}var r=Math.round(n.trackOffset+p*n.trackIncrement+n.trackHeight/2-g.height/2);var m=this._paintEventLabel(k,j,t,r,g.width,g.height,q);var l=this;var h=function(u,v,w){return l._onClickInstantEvent(b.elmt,v,k)};SimileAjax.DOM.registerEvent(b.elmt,"mousedown",h);SimileAjax.DOM.registerEvent(m.elmt,"mousedown",h);this._createHighlightDiv(o,b,q);this._eventIdToElmt[k.getID()]=b.elmt};Timeline.DetailedEventPainter.prototype.paintImpreciseInstantEvent=function(n,q,v,r){var x=this._timeline.getDocument();var m=n.getText();var h=n.getStart();var s=n.getEnd();var e=Math.round(this._band.dateToPixelOffset(h));var b=Math.round(this._band.dateToPixelOffset(s));var a=Math.round(e+q.iconWidth/2);var l=Math.round(e-q.iconWidth/2);var j=this._frc.computeSize(m);var f=this._findFreeTrackForSolid(b,e);var g=this._paintEventTape(n,f,e,b,v.event.instant.impreciseColor,v.event.instant.impreciseOpacity,q,v);var c=this._paintEventIcon(n,f,l,q,v);var i=this._getTrackData(f);i.solid=l;var w=a+v.event.label.offsetFromLine;var d=w+j.width;var t;if(d<b){t=f}else{w=e+v.event.label.offsetFromLine;d=w+j.width;t=this._findFreeTrackForText(f,d,function(y){y.line=e-2});this._getTrackData(t).text=l;this._paintEventLine(n,e,f,t,q,v)}var u=Math.round(q.trackOffset+t*q.trackIncrement+q.trackHeight/2-j.height/2);var p=this._paintEventLabel(n,m,w,u,j.width,j.height,v);var o=this;var k=function(y,z,A){return o._onClickInstantEvent(c.elmt,z,n)};SimileAjax.DOM.registerEvent(c.elmt,"mousedown",k);SimileAjax.DOM.registerEvent(g.elmt,"mousedown",k);SimileAjax.DOM.registerEvent(p.elmt,"mousedown",k);this._createHighlightDiv(r,c,v);this._eventIdToElmt[n.getID()]=c.elmt};Timeline.DetailedEventPainter.prototype.paintPreciseDurationEvent=function(j,m,s,o){var t=this._timeline.getDocument();var i=j.getText();var d=j.getStart();var p=j.getEnd();var b=Math.round(this._band.dateToPixelOffset(d));var a=Math.round(this._band.dateToPixelOffset(p));var f=this._frc.computeSize(i);var e=this._findFreeTrackForSolid(a);var n=j.getColor();n=n!=null?n:s.event.duration.color;var c=this._paintEventTape(j,e,b,a,n,100,m,s);var h=this._getTrackData(e);h.solid=b;var u=b+s.event.label.offsetFromLine;var q=this._findFreeTrackForText(e,u+f.width,function(v){v.line=b-2});this._getTrackData(q).text=b-2;this._paintEventLine(j,b,e,q,m,s);var r=Math.round(m.trackOffset+q*m.trackIncrement+m.trackHeight/2-f.height/2);var l=this._paintEventLabel(j,i,u,r,f.width,f.height,s);var k=this;var g=function(v,w,x){return k._onClickDurationEvent(c.elmt,w,j)};SimileAjax.DOM.registerEvent(c.elmt,"mousedown",g);SimileAjax.DOM.registerEvent(l.elmt,"mousedown",g);this._createHighlightDiv(o,c,s);this._eventIdToElmt[j.getID()]=c.elmt};Timeline.DetailedEventPainter.prototype.paintImpreciseDurationEvent=function(l,p,w,s){var z=this._timeline.getDocument();var k=l.getText();var d=l.getStart();var q=l.getLatestStart();var t=l.getEnd();var x=l.getEarliestEnd();var b=Math.round(this._band.dateToPixelOffset(d));var f=Math.round(this._band.dateToPixelOffset(q));var a=Math.round(this._band.dateToPixelOffset(t));var g=Math.round(this._band.dateToPixelOffset(x));var h=this._frc.computeSize(k);var e=this._findFreeTrackForSolid(a);var r=l.getColor();r=r!=null?r:w.event.duration.color;var o=this._paintEventTape(l,e,b,a,w.event.duration.impreciseColor,w.event.duration.impreciseOpacity,p,w);var c=this._paintEventTape(l,e,f,g,r,100,p,w);var j=this._getTrackData(e);j.solid=b;var y=f+w.event.label.offsetFromLine;var u=this._findFreeTrackForText(e,y+h.width,function(A){A.line=f-2});this._getTrackData(u).text=f-2;this._paintEventLine(l,f,e,u,p,w);var v=Math.round(p.trackOffset+u*p.trackIncrement+p.trackHeight/2-h.height/2);var n=this._paintEventLabel(l,k,y,v,h.width,h.height,w);var m=this;var i=function(A,B,C){return m._onClickDurationEvent(c.elmt,B,l)};SimileAjax.DOM.registerEvent(c.elmt,"mousedown",i);SimileAjax.DOM.registerEvent(n.elmt,"mousedown",i);this._createHighlightDiv(s,c,w);this._eventIdToElmt[l.getID()]=c.elmt};Timeline.DetailedEventPainter.prototype._findFreeTrackForSolid=function(b,a){for(var d=0;true;d++){if(d<this._lowerTracks.length){var c=this._lowerTracks[d];if(Math.min(c.solid,c.text)>b&&(!(a)||c.line>a)){return d}}else{this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY});return d}if(d<this._upperTracks.length){var c=this._upperTracks[d];if(Math.min(c.solid,c.text)>b&&(!(a)||c.line>a)){return -1-d}}else{this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY});return -1-d}}};Timeline.DetailedEventPainter.prototype._findFreeTrackForText=function(d,c,h){var f;var g;var b;var k;if(d<0){f=true;b=-d;g=this._findFreeUpperTrackForText(b,c);k=-1-g}else{if(d>0){f=false;b=d+1;g=this._findFreeLowerTrackForText(b,c);k=g}else{var a=this._findFreeUpperTrackForText(0,c);var j=this._findFreeLowerTrackForText(1,c);if(j-1<=a){f=false;b=1;g=j;k=g}else{f=true;b=0;g=a;k=-1-g}}}if(f){if(g==this._upperTracks.length){this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY})}for(var e=b;e<g;e++){h(this._upperTracks[e])}}else{if(g==this._lowerTracks.length){this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY})}for(var e=b;e<g;e++){h(this._lowerTracks[e])}}return k};Timeline.DetailedEventPainter.prototype._findFreeLowerTrackForText=function(a,c){for(;a<this._lowerTracks.length;a++){var b=this._lowerTracks[a];if(Math.min(b.solid,b.text)>=c){break}}return a};Timeline.DetailedEventPainter.prototype._findFreeUpperTrackForText=function(a,c){for(;a<this._upperTracks.length;a++){var b=this._upperTracks[a];if(Math.min(b.solid,b.text)>=c){break}}return a};Timeline.DetailedEventPainter.prototype._getTrackData=function(a){return(a<0)?this._upperTracks[-a-1]:this._lowerTracks[a]};Timeline.DetailedEventPainter.prototype._paintEventLine=function(i,c,f,a,g,d){var h=Math.round(g.trackOffset+f*g.trackIncrement+g.trackHeight/2);var j=Math.round(Math.abs(a-f)*g.trackIncrement);var e="1px solid "+d.event.label.lineColor;var b=this._timeline.getDocument().createElement("div");b.style.position="absolute";b.style.left=c+"px";b.style.width=d.event.label.offsetFromLine+"px";b.style.height=j+"px";if(f>a){b.style.top=(h-j)+"px";b.style.borderTop=e}else{b.style.top=h+"px";b.style.borderBottom=e}b.style.borderLeft=e;this._lineLayer.appendChild(b)};Timeline.DetailedEventPainter.prototype._paintEventIcon=function(i,e,b,f,d){var h=i.getIcon();h=h!=null?h:f.icon;var j=f.trackOffset+e*f.trackIncrement+f.trackHeight/2;var g=Math.round(j-f.iconHeight/2);var c=SimileAjax.Graphics.createTranslucentImage(h);var a=this._timeline.getDocument().createElement("div");a.style.position="absolute";a.style.left=b+"px";a.style.top=g+"px";a.appendChild(c);a.style.cursor="pointer";if(i._title!=null){a.title=i._title}this._eventLayer.appendChild(a);return{left:b,top:g,width:f.iconWidth,height:f.iconHeight,elmt:a}};Timeline.DetailedEventPainter.prototype._paintEventLabel=function(h,i,b,f,a,j,d){var g=this._timeline.getDocument();var k=g.createElement("div");k.style.position="absolute";k.style.left=b+"px";k.style.width=a+"px";k.style.top=f+"px";k.style.height=j+"px";k.style.backgroundColor=d.event.label.backgroundColor;SimileAjax.Graphics.setOpacity(k,d.event.label.backgroundOpacity);this._eventLayer.appendChild(k);var e=g.createElement("div");e.style.position="absolute";e.style.left=b+"px";e.style.width=a+"px";e.style.top=f+"px";e.innerHTML=i;e.style.cursor="pointer";if(h._title!=null){e.title=h._title}var c=h.getTextColor();if(c==null){c=h.getColor()}if(c!=null){e.style.color=c}this._eventLayer.appendChild(e);return{left:b,top:f,width:a,height:j,elmt:e}};Timeline.DetailedEventPainter.prototype._paintEventTape=function(l,h,e,a,c,g,i,f){var b=a-e;var d=f.event.tape.height;var m=i.trackOffset+h*i.trackIncrement+i.trackHeight/2;var j=Math.round(m-d/2);var k=this._timeline.getDocument().createElement("div");k.style.position="absolute";k.style.left=e+"px";k.style.width=b+"px";k.style.top=j+"px";k.style.height=d+"px";k.style.backgroundColor=c;k.style.overflow="hidden";k.style.cursor="pointer";if(l._title!=null){k.title=l._title}SimileAjax.Graphics.setOpacity(k,g);this._eventLayer.appendChild(k);return{left:e,top:j,width:b,height:d,elmt:k}};Timeline.DetailedEventPainter.prototype._createHighlightDiv=function(a,c,e){if(a>=0){var d=this._timeline.getDocument();var g=e.event;var b=g.highlightColors[Math.min(a,g.highlightColors.length-1)];var f=d.createElement("div");f.style.position="absolute";f.style.overflow="hidden";f.style.left=(c.left-2)+"px";f.style.width=(c.width+4)+"px";f.style.top=(c.top-2)+"px";f.style.height=(c.height+4)+"px";f.style.background=b;this._highlightLayer.appendChild(f)}};Timeline.DetailedEventPainter.prototype._onClickInstantEvent=function(b,d,a){var e=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(e.left+Math.ceil(b.offsetWidth/2),e.top+Math.ceil(b.offsetHeight/2),a);this._fireOnSelect(a.getID());d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.DetailedEventPainter.prototype._onClickDurationEvent=function(e,d,b){if("pageX" in d){var a=d.pageX;var g=d.pageY}else{var f=SimileAjax.DOM.getPageCoordinates(e);var a=d.offsetX+f.left;var g=d.offsetY+f.top}this._showBubble(a,g,b);this._fireOnSelect(b.getID());d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.DetailedEventPainter.prototype.showBubble=function(a){var b=this._eventIdToElmt[a.getID()];if(b){var d=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(d.left+b.offsetWidth/2,d.top+b.offsetHeight/2,a)}};Timeline.DetailedEventPainter.prototype._showBubble=function(a,e,b){var d=document.createElement("div");var c=this._params.theme.event.bubble;b.fillInfoBubble(d,this._params.theme,this._band.getLabeller());SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(d,a,e,c.width,null,c.maxHeight)};Timeline.DetailedEventPainter.prototype._fireOnSelect=function(b){for(var a=0;a<this._onSelectListeners.length;a++){this._onSelectListeners[a](b)}};Timeline.GregorianEtherPainter=function(a){this._params=a;this._theme=a.theme;this._unit=a.unit;this._multiple=("multiple" in a)?a.multiple:1};Timeline.GregorianEtherPainter.prototype.initialize=function(c,b){this._band=c;this._timeline=b;this._backgroundLayer=c.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var d=("align" in this._params&&this._params.align!=undefined)?this._params.align:this._theme.ether.interval.marker[b.isHorizontal()?"hAlign":"vAlign"];var a=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,d,a);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.GregorianEtherPainter.prototype.setHighlight=function(a,b){this._highlight.position(a,b)};Timeline.GregorianEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer)}this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer)}this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";var c=this._band.getMinDate();var f=this._band.getMaxDate();var b=this._band.getTimeZone();var e=this._band.getLabeller();SimileAjax.DateTime.roundDownToInterval(c,this._unit,b,this._multiple,this._theme.firstDayOfWeek);var d=this;var a=function(g){for(var h=0;h<d._multiple;h++){SimileAjax.DateTime.incrementByInterval(g,d._unit)}};while(c.getTime()<f.getTime()){this._intervalMarkerLayout.createIntervalMarker(c,e,this._unit,this._markerLayer,this._lineLayer);a(c)}this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.GregorianEtherPainter.prototype.softPaint=function(){};Timeline.GregorianEtherPainter.prototype.zoom=function(a){if(a!=0){this._unit+=a}};Timeline.HotZoneGregorianEtherPainter=function(g){this._params=g;this._theme=g.theme;this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,unit:g.unit,multiple:1}];for(var e=0;e<g.zones.length;e++){var b=g.zones[e];var d=SimileAjax.DateTime.parseGregorianDateTime(b.start).getTime();var f=SimileAjax.DateTime.parseGregorianDateTime(b.end).getTime();for(var c=0;c<this._zones.length&&f>d;c++){var a=this._zones[c];if(d<a.endTime){if(d>a.startTime){this._zones.splice(c,0,{startTime:a.startTime,endTime:d,unit:a.unit,multiple:a.multiple});c++;a.startTime=d}if(f<a.endTime){this._zones.splice(c,0,{startTime:d,endTime:f,unit:b.unit,multiple:(b.multiple)?b.multiple:1});c++;a.startTime=f;d=f}else{a.multiple=b.multiple;a.unit=b.unit;d=a.endTime}}}}};Timeline.HotZoneGregorianEtherPainter.prototype.initialize=function(c,b){this._band=c;this._timeline=b;this._backgroundLayer=c.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var d=("align" in this._params&&this._params.align!=undefined)?this._params.align:this._theme.ether.interval.marker[b.isHorizontal()?"hAlign":"vAlign"];var a=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,d,a);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.HotZoneGregorianEtherPainter.prototype.setHighlight=function(a,b){this._highlight.position(a,b)};Timeline.HotZoneGregorianEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer)}this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer)}this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";var d=this._band.getMinDate();var a=this._band.getMaxDate();var k=this._band.getTimeZone();var i=this._band.getLabeller();var b=this;var l=function(n,m){for(var o=0;o<m.multiple;o++){SimileAjax.DateTime.incrementByInterval(n,m.unit)}};var c=0;while(c<this._zones.length){if(d.getTime()<this._zones[c].endTime){break}c++}var e=this._zones.length-1;while(e>=0){if(a.getTime()>this._zones[e].startTime){break}e--}for(var h=c;h<=e;h++){var g=this._zones[h];var j=new Date(Math.max(d.getTime(),g.startTime));var f=new Date(Math.min(a.getTime(),g.endTime));SimileAjax.DateTime.roundDownToInterval(j,g.unit,k,g.multiple,this._theme.firstDayOfWeek);SimileAjax.DateTime.roundUpToInterval(f,g.unit,k,g.multiple,this._theme.firstDayOfWeek);while(j.getTime()<f.getTime()){this._intervalMarkerLayout.createIntervalMarker(j,i,g.unit,this._markerLayer,this._lineLayer);l(j,g)}}this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.HotZoneGregorianEtherPainter.prototype.softPaint=function(){};Timeline.HotZoneGregorianEtherPainter.prototype.zoom=function(b){if(b!=0){for(var a=0;a<this._zones.length;++a){if(this._zones[a]){this._zones[a].unit+=b}}}};Timeline.YearCountEtherPainter=function(a){this._params=a;this._theme=a.theme;this._startDate=SimileAjax.DateTime.parseGregorianDateTime(a.startDate);this._multiple=("multiple" in a)?a.multiple:1};Timeline.YearCountEtherPainter.prototype.initialize=function(c,b){this._band=c;this._timeline=b;this._backgroundLayer=c.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var d=("align" in this._params)?this._params.align:this._theme.ether.interval.marker[b.isHorizontal()?"hAlign":"vAlign"];var a=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,d,a);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.YearCountEtherPainter.prototype.setHighlight=function(a,b){this._highlight.position(a,b)};Timeline.YearCountEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer)}this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer)}this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";var b=new Date(this._startDate.getTime());var f=this._band.getMaxDate();var e=this._band.getMinDate().getUTCFullYear()-this._startDate.getUTCFullYear();b.setUTCFullYear(this._band.getMinDate().getUTCFullYear()-e%this._multiple);var c=this;var a=function(g){for(var h=0;h<c._multiple;h++){SimileAjax.DateTime.incrementByInterval(g,SimileAjax.DateTime.YEAR)}};var d={labelInterval:function(g,i){var h=g.getUTCFullYear()-c._startDate.getUTCFullYear();return{text:h,emphasized:h==0}}};while(b.getTime()<f.getTime()){this._intervalMarkerLayout.createIntervalMarker(b,d,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer);a(b)}this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.YearCountEtherPainter.prototype.softPaint=function(){};Timeline.QuarterlyEtherPainter=function(a){this._params=a;this._theme=a.theme;this._startDate=SimileAjax.DateTime.parseGregorianDateTime(a.startDate)};Timeline.QuarterlyEtherPainter.prototype.initialize=function(c,b){this._band=c;this._timeline=b;this._backgroundLayer=c.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var d=("align" in this._params)?this._params.align:this._theme.ether.interval.marker[b.isHorizontal()?"hAlign":"vAlign"];var a=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,d,a);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.QuarterlyEtherPainter.prototype.setHighlight=function(a,b){this._highlight.position(a,b)};Timeline.QuarterlyEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer)}this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer)}this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";var b=new Date(0);var e=this._band.getMaxDate();b.setUTCFullYear(Math.max(this._startDate.getUTCFullYear(),this._band.getMinDate().getUTCFullYear()));b.setUTCMonth(this._startDate.getUTCMonth());var c=this;var a=function(f){f.setUTCMonth(f.getUTCMonth()+3)};var d={labelInterval:function(f,h){var g=(4+(f.getUTCMonth()-c._startDate.getUTCMonth())/3)%4;if(g!=0){return{text:"Q"+(g+1),emphasized:false}}else{return{text:"Y"+(f.getUTCFullYear()-c._startDate.getUTCFullYear()+1),emphasized:true}}}};while(b.getTime()<e.getTime()){this._intervalMarkerLayout.createIntervalMarker(b,d,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer);a(b)}this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.QuarterlyEtherPainter.prototype.softPaint=function(){};Timeline.EtherIntervalMarkerLayout=function(m,l,c,e,h){var a=m.isHorizontal();if(a){if(e=="Top"){this.positionDiv=function(o,n){o.style.left=n+"px";o.style.top="0px"}}else{this.positionDiv=function(o,n){o.style.left=n+"px";o.style.bottom="0px"}}}else{if(e=="Left"){this.positionDiv=function(o,n){o.style.top=n+"px";o.style.left="0px"}}else{this.positionDiv=function(o,n){o.style.top=n+"px";o.style.right="0px"}}}var d=c.ether.interval.marker;var i=c.ether.interval.line;var b=c.ether.interval.weekend;var k=(a?"h":"v")+e;var g=d[k+"Styler"];var j=d[k+"EmphasizedStyler"];var f=SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY];this.createIntervalMarker=function(t,A,B,C,q){var u=Math.round(l.dateToPixelOffset(t));if(h&&B!=SimileAjax.DateTime.WEEK){var v=m.getDocument().createElement("div");v.className="timeline-ether-lines";if(i.opacity<100){SimileAjax.Graphics.setOpacity(v,i.opacity)}if(a){v.style.left=u+"px"}else{v.style.top=u+"px"}q.appendChild(v)}if(B==SimileAjax.DateTime.WEEK){var n=c.firstDayOfWeek;var w=new Date(t.getTime()+(6-n-7)*f);var z=new Date(w.getTime()+2*f);var x=Math.round(l.dateToPixelOffset(w));var s=Math.round(l.dateToPixelOffset(z));var r=Math.max(1,s-x);var p=m.getDocument().createElement("div");p.className="timeline-ether-weekends";if(b.opacity<100){SimileAjax.Graphics.setOpacity(p,b.opacity)}if(a){p.style.left=x+"px";p.style.width=r+"px"}else{p.style.top=x+"px";p.style.height=r+"px"}q.appendChild(p)}var y=A.labelInterval(t,B);var o=m.getDocument().createElement("div");o.innerHTML=y.text;o.className="timeline-date-label";if(y.emphasized){o.className+=" timeline-date-label-em"}this.positionDiv(o,u);C.appendChild(o);return o}};Timeline.EtherHighlight=function(c,e,d,b){var a=c.isHorizontal();this._highlightDiv=null;this._createHighlightDiv=function(){if(this._highlightDiv==null){this._highlightDiv=c.getDocument().createElement("div");this._highlightDiv.setAttribute("name","ether-highlight");this._highlightDiv.className="timeline-ether-highlight";var f=d.ether.highlightOpacity;if(f<100){SimileAjax.Graphics.setOpacity(this._highlightDiv,f)}b.appendChild(this._highlightDiv)}};this.position=function(f,i){this._createHighlightDiv();var j=Math.round(e.dateToPixelOffset(f));var h=Math.round(e.dateToPixelOffset(i));var g=Math.max(h-j,3);if(a){this._highlightDiv.style.left=j+"px";this._highlightDiv.style.width=g+"px";this._highlightDiv.style.height=(e.getViewWidth()-4)+"px"}else{this._highlightDiv.style.top=j+"px";this._highlightDiv.style.height=g+"px";this._highlightDiv.style.width=(e.getViewWidth()-4)+"px"}}};Timeline.LinearEther=function(a){this._params=a;this._interval=a.interval;this._pixelsPerInterval=a.pixelsPerInterval};Timeline.LinearEther.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._unit=a.getUnit();if("startsOn" in this._params){this._start=this._unit.parseFromObject(this._params.startsOn)}else{if("endsOn" in this._params){this._start=this._unit.parseFromObject(this._params.endsOn);this.shiftPixels(-this._timeline.getPixelLength())}else{if("centersOn" in this._params){this._start=this._unit.parseFromObject(this._params.centersOn);this.shiftPixels(-this._timeline.getPixelLength()/2)}else{this._start=this._unit.makeDefaultValue();this.shiftPixels(-this._timeline.getPixelLength()/2)}}}};Timeline.LinearEther.prototype.setDate=function(a){this._start=this._unit.cloneValue(a)};Timeline.LinearEther.prototype.shiftPixels=function(b){var a=this._interval*b/this._pixelsPerInterval;this._start=this._unit.change(this._start,a)};Timeline.LinearEther.prototype.dateToPixelOffset=function(a){var b=this._unit.compare(a,this._start);return this._pixelsPerInterval*b/this._interval};Timeline.LinearEther.prototype.pixelOffsetToDate=function(b){var a=b*this._interval/this._pixelsPerInterval;return this._unit.change(this._start,a)};Timeline.LinearEther.prototype.zoom=function(d){var b=0;var a=this._band._zoomIndex;var c=a;if(d&&(a>0)){c=a-1}if(!d&&(a<(this._band._zoomSteps.length-1))){c=a+1}this._band._zoomIndex=c;this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[c].unit];this._pixelsPerInterval=this._band._zoomSteps[c].pixelsPerInterval;b=this._band._zoomSteps[c].unit-this._band._zoomSteps[a].unit;return b};Timeline.HotZoneEther=function(a){this._params=a;this._interval=a.interval;this._pixelsPerInterval=a.pixelsPerInterval;this._theme=a.theme};Timeline.HotZoneEther.prototype.initialize=function(h,k){this._band=h;this._timeline=k;this._unit=k.getUnit();this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,magnify:1}];var b=this._params;for(var d=0;d<b.zones.length;d++){var g=b.zones[d];var e=this._unit.parseFromObject(g.start);var f=this._unit.parseFromObject(g.end);for(var c=0;c<this._zones.length&&this._unit.compare(f,e)>0;c++){var a=this._zones[c];if(this._unit.compare(e,a.endTime)<0){if(this._unit.compare(e,a.startTime)>0){this._zones.splice(c,0,{startTime:a.startTime,endTime:e,magnify:a.magnify});c++;a.startTime=e}if(this._unit.compare(f,a.endTime)<0){this._zones.splice(c,0,{startTime:e,endTime:f,magnify:g.magnify*a.magnify});c++;a.startTime=f;e=f}else{a.magnify*=g.magnify;e=a.endTime}}}}if("startsOn" in this._params){this._start=this._unit.parseFromObject(this._params.startsOn)}else{if("endsOn" in this._params){this._start=this._unit.parseFromObject(this._params.endsOn);this.shiftPixels(-this._timeline.getPixelLength())}else{if("centersOn" in this._params){this._start=this._unit.parseFromObject(this._params.centersOn);this.shiftPixels(-this._timeline.getPixelLength()/2)}else{this._start=this._unit.makeDefaultValue();this.shiftPixels(-this._timeline.getPixelLength()/2)}}}};Timeline.HotZoneEther.prototype.setDate=function(a){this._start=this._unit.cloneValue(a)};Timeline.HotZoneEther.prototype.shiftPixels=function(a){this._start=this.pixelOffsetToDate(a)};Timeline.HotZoneEther.prototype.dateToPixelOffset=function(a){return this._dateDiffToPixelOffset(this._start,a)};Timeline.HotZoneEther.prototype.pixelOffsetToDate=function(a){return this._pixelOffsetToDate(a,this._start)};Timeline.HotZoneEther.prototype.zoom=function(d){var b=0;var a=this._band._zoomIndex;var c=a;if(d&&(a>0)){c=a-1}if(!d&&(a<(this._band._zoomSteps.length-1))){c=a+1}this._band._zoomIndex=c;this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[c].unit];this._pixelsPerInterval=this._band._zoomSteps[c].pixelsPerInterval;b=this._band._zoomSteps[c].unit-this._band._zoomSteps[a].unit;return b};Timeline.HotZoneEther.prototype._dateDiffToPixelOffset=function(i,d){var b=this._getScale();var h=i;var c=d;var a=0;if(this._unit.compare(h,c)<0){var g=0;while(g<this._zones.length){if(this._unit.compare(h,this._zones[g].endTime)<0){break}g++}while(this._unit.compare(h,c)<0){var e=this._zones[g];var f=this._unit.earlier(c,e.endTime);a+=(this._unit.compare(f,h)/(b/e.magnify));h=f;g++}}else{var g=this._zones.length-1;while(g>=0){if(this._unit.compare(h,this._zones[g].startTime)>0){break}g--}while(this._unit.compare(h,c)>0){var e=this._zones[g];var f=this._unit.later(c,e.startTime);a+=(this._unit.compare(f,h)/(b/e.magnify));h=f;g--}}return a};Timeline.HotZoneEther.prototype._pixelOffsetToDate=function(h,c){var g=this._getScale();var e=c;if(h>0){var f=0;while(f<this._zones.length){if(this._unit.compare(e,this._zones[f].endTime)<0){break}f++}while(h>0){var a=this._zones[f];var d=g/a.magnify;if(a.endTime==Number.POSITIVE_INFINITY){e=this._unit.change(e,h*d);h=0}else{var b=this._unit.compare(a.endTime,e)/d;if(b>h){e=this._unit.change(e,h*d);h=0}else{e=a.endTime;h-=b}}f++}}else{var f=this._zones.length-1;while(f>=0){if(this._unit.compare(e,this._zones[f].startTime)>0){break}f--}h=-h;while(h>0){var a=this._zones[f];var d=g/a.magnify;if(a.startTime==Number.NEGATIVE_INFINITY){e=this._unit.change(e,-h*d);h=0}else{var b=this._unit.compare(e,a.startTime)/d;if(b>h){e=this._unit.change(e,-h*d);h=0}else{e=a.startTime;h-=b}}f--}}return e};Timeline.HotZoneEther.prototype._getScale=function(){return this._interval/this._pixelsPerInterval};Timeline.EventUtils={};Timeline.EventUtils.getNewEventID=function(){if(this._lastEventID==null){this._lastEventID=0}this._lastEventID+=1;return"e"+this._lastEventID};Timeline.EventUtils.decodeEventElID=function(b){var d=b.split("-");if(d[1]!="tl"){alert("Internal Timeline problem 101, please consult support");return{band:null,evt:null}}var c=Timeline.getTimelineFromID(d[2]);var e=c.getBand(d[3]);var a=e.getEventSource.getEvent(d[4]);return{band:e,evt:a}};Timeline.EventUtils.encodeEventElID=function(c,d,b,a){return b+"-tl-"+c.timelineID+"-"+d.getIndex()+"-"+a.getID()};Timeline.GregorianDateLabeller=function(a,b){this._locale=a;this._timeZone=b};Timeline.GregorianDateLabeller.monthNames=[];Timeline.GregorianDateLabeller.dayNames=[];Timeline.GregorianDateLabeller.labelIntervalFunctions=[];Timeline.GregorianDateLabeller.getMonthName=function(b,a){return Timeline.GregorianDateLabeller.monthNames[a][b]};Timeline.GregorianDateLabeller.prototype.labelInterval=function(a,c){var b=Timeline.GregorianDateLabeller.labelIntervalFunctions[this._locale];if(b==null){b=Timeline.GregorianDateLabeller.prototype.defaultLabelInterval}return b.call(this,a,c)};Timeline.GregorianDateLabeller.prototype.labelPrecise=function(a){return SimileAjax.DateTime.removeTimeZoneOffset(a,this._timeZone).toUTCString()};Timeline.GregorianDateLabeller.prototype.defaultLabelInterval=function(b,f){var c;var e=false;b=SimileAjax.DateTime.removeTimeZoneOffset(b,this._timeZone);switch(f){case SimileAjax.DateTime.MILLISECOND:c=b.getUTCMilliseconds();break;case SimileAjax.DateTime.SECOND:c=b.getUTCSeconds();break;case SimileAjax.DateTime.MINUTE:var a=b.getUTCMinutes();if(a==0){c=b.getUTCHours()+":00";e=true}else{c=a}break;case SimileAjax.DateTime.HOUR:c=b.getUTCHours()+"hr";break;case SimileAjax.DateTime.DAY:c=Timeline.GregorianDateLabeller.getMonthName(b.getUTCMonth(),this._locale)+" "+b.getUTCDate();break;case SimileAjax.DateTime.WEEK:c=Timeline.GregorianDateLabeller.getMonthName(b.getUTCMonth(),this._locale)+" "+b.getUTCDate();break;case SimileAjax.DateTime.MONTH:var a=b.getUTCMonth();if(a!=0){c=Timeline.GregorianDateLabeller.getMonthName(a,this._locale);break}case SimileAjax.DateTime.YEAR:case SimileAjax.DateTime.DECADE:case SimileAjax.DateTime.CENTURY:case SimileAjax.DateTime.MILLENNIUM:var d=b.getUTCFullYear();if(d>0){c=b.getUTCFullYear()}else{c=(1-d)+"BC"}e=(f==SimileAjax.DateTime.MONTH)||(f==SimileAjax.DateTime.DECADE&&d%100==0)||(f==SimileAjax.DateTime.CENTURY&&d%1000==0);break;default:c=b.toUTCString()}return{text:c,emphasized:e}};Timeline.OriginalEventPainter=function(a){this._params=a;this._onSelectListeners=[];this._eventPaintListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.OriginalEventPainter.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._backLayer=null;this._eventLayer=null;this._lineLayer=null;this._highlightLayer=null;this._eventIdToElmt=null};Timeline.OriginalEventPainter.prototype.getType=function(){return"original"};Timeline.OriginalEventPainter.prototype.addOnSelectListener=function(a){this._onSelectListeners.push(a)};Timeline.OriginalEventPainter.prototype.removeOnSelectListener=function(b){for(var a=0;a<this._onSelectListeners.length;a++){if(this._onSelectListeners[a]==b){this._onSelectListeners.splice(a,1);break}}};Timeline.OriginalEventPainter.prototype.addEventPaintListener=function(a){this._eventPaintListeners.push(a)};Timeline.OriginalEventPainter.prototype.removeEventPaintListener=function(b){for(var a=0;a<this._eventPaintListeners.length;a++){if(this._eventPaintListeners[a]==b){this._eventPaintListeners.splice(a,1);break}}};Timeline.OriginalEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.OriginalEventPainter.prototype.setFilterMatcher=function(a){this._filterMatcher=a};Timeline.OriginalEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.OriginalEventPainter.prototype.setHighlightMatcher=function(a){this._highlightMatcher=a};Timeline.OriginalEventPainter.prototype.paint=function(){var b=this._band.getEventSource();if(b==null){return}this._eventIdToElmt={};this._fireEventPaintListeners("paintStarting",null,null);this._prepareForPainting();var i=this._params.theme.event;var g=Math.max(i.track.height,i.tape.height+this._frc.getLineHeight());var f={trackOffset:i.track.offset,trackHeight:g,trackGap:i.track.gap,trackIncrement:g+i.track.gap,icon:i.instant.icon,iconWidth:i.instant.iconWidth,iconHeight:i.instant.iconHeight,labelWidth:i.label.width,maxLabelChar:i.label.maxLabelChar,impreciseIconMargin:i.instant.impreciseIconMargin};var c=this._band.getMinDate();var a=this._band.getMaxDate();var j=(this._filterMatcher!=null)?this._filterMatcher:function(k){return true};var e=(this._highlightMatcher!=null)?this._highlightMatcher:function(k){return -1};var d=b.getEventReverseIterator(c,a);while(d.hasNext()){var h=d.next();if(j(h)){this.paintEvent(h,f,this._params.theme,e(h))}}this._highlightLayer.style.display="block";this._lineLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._tracks.length,f.trackIncrement);this._fireEventPaintListeners("paintEnded",null,null)};Timeline.OriginalEventPainter.prototype.softPaint=function(){};Timeline.OriginalEventPainter.prototype._prepareForPainting=function(){var b=this._band;if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events");this._backLayer.style.visibility="hidden";var a=document.createElement("span");a.className="timeline-event-label";this._backLayer.appendChild(a);this._frc=SimileAjax.Graphics.getFontRenderingContext(a)}this._frc.update();this._tracks=[];if(this._highlightLayer!=null){b.removeLayerDiv(this._highlightLayer)}this._highlightLayer=b.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";if(this._lineLayer!=null){b.removeLayerDiv(this._lineLayer)}this._lineLayer=b.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";if(this._eventLayer!=null){b.removeLayerDiv(this._eventLayer)}this._eventLayer=b.createLayerDiv(115,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.OriginalEventPainter.prototype.paintEvent=function(b,c,d,a){if(b.isInstant()){this.paintInstantEvent(b,c,d,a)}else{this.paintDurationEvent(b,c,d,a)}};Timeline.OriginalEventPainter.prototype.paintInstantEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseInstantEvent(b,c,d,a)}else{this.paintPreciseInstantEvent(b,c,d,a)}};Timeline.OriginalEventPainter.prototype.paintDurationEvent=function(b,c,d,a){if(b.isImprecise()){this.paintImpreciseDurationEvent(b,c,d,a)}else{this.paintPreciseDurationEvent(b,c,d,a)}};Timeline.OriginalEventPainter.prototype.paintPreciseInstantEvent=function(m,q,s,r){var v=this._timeline.getDocument();var l=m.getText();var e=m.getStart();var c=Math.round(this._band.dateToPixelOffset(e));var a=Math.round(c+q.iconWidth/2);var k=Math.round(c-q.iconWidth/2);var h=this._getLabelDivClassName(m);var i=this._frc.computeSize(l,h);var w=a+s.event.label.offsetFromLine;var d=w+i.width;var u=d;var o=this._findFreeTrack(m,u);var t=Math.round(q.trackOffset+o*q.trackIncrement+q.trackHeight/2-i.height/2);var b=this._paintEventIcon(m,o,k,q,s,0);var p=this._paintEventLabel(m,l,w,t,i.width,i.height,s,h,r);var f=[b.elmt,p.elmt];var n=this;var j=function(x,y,z){return n._onClickInstantEvent(b.elmt,y,m)};SimileAjax.DOM.registerEvent(b.elmt,"mousedown",j);SimileAjax.DOM.registerEvent(p.elmt,"mousedown",j);var g=this._createHighlightDiv(r,b,s,m);if(g!=null){f.push(g)}this._fireEventPaintListeners("paintedEvent",m,f);this._eventIdToElmt[m.getID()]=b.elmt;this._tracks[o]=k};Timeline.OriginalEventPainter.prototype.paintImpreciseInstantEvent=function(p,t,y,v){var A=this._timeline.getDocument();var n=p.getText();var g=p.getStart();var w=p.getEnd();var d=Math.round(this._band.dateToPixelOffset(g));var b=Math.round(this._band.dateToPixelOffset(w));var a=Math.round(d+t.iconWidth/2);var m=Math.round(d-t.iconWidth/2);var j=this._getLabelDivClassName(p);var k=this._frc.computeSize(n,j);var B=a+y.event.label.offsetFromLine;var e=B+k.width;var z=Math.max(e,b);var r=this._findFreeTrack(p,z);var o=y.event.tape.height;var x=Math.round(t.trackOffset+r*t.trackIncrement+o);var c=this._paintEventIcon(p,r,m,t,y,o);var s=this._paintEventLabel(p,n,B,x,k.width,k.height,y,j,v);var u=p.getColor();u=u!=null?u:y.event.instant.impreciseColor;var f=this._paintEventTape(p,r,d,b,u,y.event.instant.impreciseOpacity,t,y,0);var h=[c.elmt,s.elmt,f.elmt];var q=this;var l=function(C,D,E){return q._onClickInstantEvent(c.elmt,D,p)};SimileAjax.DOM.registerEvent(c.elmt,"mousedown",l);SimileAjax.DOM.registerEvent(f.elmt,"mousedown",l);SimileAjax.DOM.registerEvent(s.elmt,"mousedown",l);var i=this._createHighlightDiv(v,c,y,p);if(i!=null){h.push(i)}this._fireEventPaintListeners("paintedEvent",p,h);this._eventIdToElmt[p.getID()]=c.elmt;this._tracks[r]=m};Timeline.OriginalEventPainter.prototype.paintPreciseDurationEvent=function(l,p,t,r){var w=this._timeline.getDocument();var k=l.getText();var e=l.getStart();var s=l.getEnd();var b=Math.round(this._band.dateToPixelOffset(e));var a=Math.round(this._band.dateToPixelOffset(s));var h=this._getLabelDivClassName(l);var i=this._frc.computeSize(k,h);var x=b;var c=x+i.width;var v=Math.max(c,a);var n=this._findFreeTrack(l,v);var u=Math.round(p.trackOffset+n*p.trackIncrement+t.event.tape.height);var q=l.getColor();q=q!=null?q:t.event.duration.color;var d=this._paintEventTape(l,n,b,a,q,100,p,t,0);var o=this._paintEventLabel(l,k,x,u,i.width,i.height,t,h,r);var f=[d.elmt,o.elmt];var m=this;var j=function(y,z,A){return m._onClickDurationEvent(d.elmt,z,l)};SimileAjax.DOM.registerEvent(d.elmt,"mousedown",j);SimileAjax.DOM.registerEvent(o.elmt,"mousedown",j);var g=this._createHighlightDiv(r,d,t,l);if(g!=null){f.push(g)}this._fireEventPaintListeners("paintedEvent",l,f);this._eventIdToElmt[l.getID()]=d.elmt;this._tracks[n]=b};Timeline.OriginalEventPainter.prototype.paintImpreciseDurationEvent=function(n,s,y,v){var B=this._timeline.getDocument();var m=n.getText();var e=n.getStart();var t=n.getLatestStart();var w=n.getEnd();var A=n.getEarliestEnd();var c=Math.round(this._band.dateToPixelOffset(e));var g=Math.round(this._band.dateToPixelOffset(t));var a=Math.round(this._band.dateToPixelOffset(w));var h=Math.round(this._band.dateToPixelOffset(A));var j=this._getLabelDivClassName(n);var k=this._frc.computeSize(m,j);var C=g;var b=C+k.width;var z=Math.max(b,a);var p=this._findFreeTrack(n,z);var x=Math.round(s.trackOffset+p*s.trackIncrement+y.event.tape.height);var u=n.getColor();u=u!=null?u:y.event.duration.color;var r=this._paintEventTape(n,p,c,a,y.event.duration.impreciseColor,y.event.duration.impreciseOpacity,s,y,0);var d=this._paintEventTape(n,p,g,h,u,100,s,y,1);var q=this._paintEventLabel(n,m,C,x,k.width,k.height,y,j,v);var f=[r.elmt,d.elmt,q.elmt];var o=this;var l=function(D,E,F){return o._onClickDurationEvent(d.elmt,E,n)};SimileAjax.DOM.registerEvent(d.elmt,"mousedown",l);SimileAjax.DOM.registerEvent(q.elmt,"mousedown",l);var i=this._createHighlightDiv(v,d,y,n);if(i!=null){f.push(i)}this._fireEventPaintListeners("paintedEvent",n,f);this._eventIdToElmt[n.getID()]=d.elmt;this._tracks[p]=c};Timeline.OriginalEventPainter.prototype._encodeEventElID=function(b,a){return Timeline.EventUtils.encodeEventElID(this._timeline,this._band,b,a)};Timeline.OriginalEventPainter.prototype._findFreeTrack=function(e,a){var d=e.getTrackNum();if(d!=null){return d}for(var c=0;c<this._tracks.length;c++){var b=this._tracks[c];if(b>a){break}}return c};Timeline.OriginalEventPainter.prototype._paintEventIcon=function(j,f,b,g,e,c){var i=j.getIcon();i=i!=null?i:g.icon;var h;if(c>0){h=g.trackOffset+f*g.trackIncrement+c+g.impreciseIconMargin}else{var k=g.trackOffset+f*g.trackIncrement+g.trackHeight/2;h=Math.round(k-g.iconHeight/2)}var d=SimileAjax.Graphics.createTranslucentImage(i);var a=this._timeline.getDocument().createElement("div");a.className=this._getElClassName("timeline-event-icon",j,"icon");a.id=this._encodeEventElID("icon",j);a.style.left=b+"px";a.style.top=h+"px";a.appendChild(d);if(j._title!=null){a.title=j._title}this._eventLayer.appendChild(a);return{left:b,top:h,width:g.iconWidth,height:g.iconHeight,elmt:a}};Timeline.OriginalEventPainter.prototype._paintEventLabel=function(j,k,c,h,a,l,e,f,b){var i=this._timeline.getDocument();var g=i.createElement("div");g.className=f;g.id=this._encodeEventElID("label",j);g.style.left=c+"px";g.style.width=a+"px";g.style.top=h+"px";g.innerHTML=k;if(j._title!=null){g.title=j._title}var d=j.getTextColor();if(d==null){d=j.getColor()}if(d!=null){g.style.color=d}if(e.event.highlightLabelBackground&&b>=0){g.style.background=this._getHighlightColor(b,e)}this._eventLayer.appendChild(g);return{left:c,top:h,width:a,height:l,elmt:g}};Timeline.OriginalEventPainter.prototype._paintEventTape=function(n,i,f,a,c,h,j,g,o){var b=a-f;var e=g.event.tape.height;var k=j.trackOffset+i*j.trackIncrement;var m=this._timeline.getDocument().createElement("div");m.className=this._getElClassName("timeline-event-tape",n,"tape");m.id=this._encodeEventElID("tape"+o,n);m.style.left=f+"px";m.style.width=b+"px";m.style.height=e+"px";m.style.top=k+"px";if(n._title!=null){m.title=n._title}if(c!=null){m.style.backgroundColor=c}var l=n.getTapeImage();var d=n.getTapeRepeat();d=d!=null?d:"repeat";if(l!=null){m.style.backgroundImage="url("+l+")";m.style.backgroundRepeat=d}SimileAjax.Graphics.setOpacity(m,h);this._eventLayer.appendChild(m);return{left:f,top:k,width:b,height:e,elmt:m}};Timeline.OriginalEventPainter.prototype._getLabelDivClassName=function(a){return this._getElClassName("timeline-event-label",a,"label")};Timeline.OriginalEventPainter.prototype._getElClassName=function(b,a,d){var e=a.getClassName(),c=[];if(e){if(d){c.push(d+"-"+e+" ")}c.push(e+" ")}c.push(b);return(c.join(""))};Timeline.OriginalEventPainter.prototype._getHighlightColor=function(a,c){var b=c.event.highlightColors;return b[Math.min(a,b.length-1)]};Timeline.OriginalEventPainter.prototype._createHighlightDiv=function(a,d,f,b){var g=null;if(a>=0){var e=this._timeline.getDocument();var c=this._getHighlightColor(a,f);g=e.createElement("div");g.className=this._getElClassName("timeline-event-highlight",b,"highlight");g.id=this._encodeEventElID("highlight0",b);g.style.position="absolute";g.style.overflow="hidden";g.style.left=(d.left-2)+"px";g.style.width=(d.width+4)+"px";g.style.top=(d.top-2)+"px";g.style.height=(d.height+4)+"px";g.style.background=c;this._highlightLayer.appendChild(g)}return g};Timeline.OriginalEventPainter.prototype._onClickInstantEvent=function(b,d,a){var e=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(e.left+Math.ceil(b.offsetWidth/2),e.top+Math.ceil(b.offsetHeight/2),a);this._fireOnSelect(a.getID());d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.OriginalEventPainter.prototype._onClickDurationEvent=function(e,d,b){if("pageX" in d){var a=d.pageX;var g=d.pageY}else{var f=SimileAjax.DOM.getPageCoordinates(e);var a=d.offsetX+f.left;var g=d.offsetY+f.top}this._showBubble(a,g,b);this._fireOnSelect(b.getID());d.cancelBubble=true;SimileAjax.DOM.cancelEvent(d);return false};Timeline.OriginalEventPainter.prototype.showBubble=function(a){var b=this._eventIdToElmt[a.getID()];if(b){var d=SimileAjax.DOM.getPageCoordinates(b);this._showBubble(d.left+b.offsetWidth/2,d.top+b.offsetHeight/2,a)}};Timeline.OriginalEventPainter.prototype._showBubble=function(a,e,b){var d=document.createElement("div");var c=this._params.theme.event.bubble;b.fillInfoBubble(d,this._params.theme,this._band.getLabeller());SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(d,a,e,c.width,null,c.maxHeight)};Timeline.OriginalEventPainter.prototype._fireOnSelect=function(b){for(var a=0;a<this._onSelectListeners.length;a++){this._onSelectListeners[a](b)}};Timeline.OriginalEventPainter.prototype._fireEventPaintListeners=function(d,a,c){for(var b=0;b<this._eventPaintListeners.length;b++){this._eventPaintListeners[b](this._band,d,a,c)}};Timeline.OverviewEventPainter=function(a){this._params=a;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null};Timeline.OverviewEventPainter.prototype.initialize=function(b,a){this._band=b;this._timeline=a;this._eventLayer=null;this._highlightLayer=null};Timeline.OverviewEventPainter.prototype.getType=function(){return"overview"};Timeline.OverviewEventPainter.prototype.addOnSelectListener=function(a){this._onSelectListeners.push(a)};Timeline.OverviewEventPainter.prototype.removeOnSelectListener=function(b){for(var a=0;a<this._onSelectListeners.length;a++){if(this._onSelectListeners[a]==b){this._onSelectListeners.splice(a,1);break}}};Timeline.OverviewEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.OverviewEventPainter.prototype.setFilterMatcher=function(a){this._filterMatcher=a};Timeline.OverviewEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.OverviewEventPainter.prototype.setHighlightMatcher=function(a){this._highlightMatcher=a};Timeline.OverviewEventPainter.prototype.paint=function(){var b=this._band.getEventSource();if(b==null){return}this._prepareForPainting();var h=this._params.theme.event;var f={trackOffset:h.overviewTrack.offset,trackHeight:h.overviewTrack.height,trackGap:h.overviewTrack.gap,trackIncrement:h.overviewTrack.height+h.overviewTrack.gap};var c=this._band.getMinDate();var a=this._band.getMaxDate();var i=(this._filterMatcher!=null)?this._filterMatcher:function(j){return true};var e=(this._highlightMatcher!=null)?this._highlightMatcher:function(j){return -1};var d=b.getEventReverseIterator(c,a);while(d.hasNext()){var g=d.next();if(i(g)){this.paintEvent(g,f,this._params.theme,e(g))}}this._highlightLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._tracks.length,f.trackIncrement)};Timeline.OverviewEventPainter.prototype.softPaint=function(){};Timeline.OverviewEventPainter.prototype._prepareForPainting=function(){var a=this._band;this._tracks=[];if(this._highlightLayer!=null){a.removeLayerDiv(this._highlightLayer)}this._highlightLayer=a.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";if(this._eventLayer!=null){a.removeLayerDiv(this._eventLayer)}this._eventLayer=a.createLayerDiv(110,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.OverviewEventPainter.prototype.paintEvent=function(b,c,d,a){if(b.isInstant()){this.paintInstantEvent(b,c,d,a)}else{this.paintDurationEvent(b,c,d,a)}};Timeline.OverviewEventPainter.prototype.paintInstantEvent=function(i,h,f,a){var b=i.getStart();var e=Math.round(this._band.dateToPixelOffset(b));var d=i.getColor(),c=i.getClassName();if(c){d=null}else{d=d!=null?d:f.event.duration.color}var g=this._paintEventTick(i,e,d,100,h,f);this._createHighlightDiv(a,g,f)};Timeline.OverviewEventPainter.prototype.paintDurationEvent=function(l,k,j,d){var a=l.getLatestStart();var c=l.getEarliestEnd();var b=Math.round(this._band.dateToPixelOffset(a));var e=Math.round(this._band.dateToPixelOffset(c));var i=0;for(;i<this._tracks.length;i++){if(e<this._tracks[i]){break}}this._tracks[i]=e;var h=l.getColor(),g=l.getClassName();if(g){h=null}else{h=h!=null?h:j.event.duration.color}var f=this._paintEventTape(l,i,b,e,h,100,k,j,g);this._createHighlightDiv(d,f,j)};Timeline.OverviewEventPainter.prototype._paintEventTape=function(l,b,c,k,e,g,h,f,d){var i=h.trackOffset+b*h.trackIncrement;var a=k-c;var m=h.trackHeight;var j=this._timeline.getDocument().createElement("div");j.className="timeline-small-event-tape";if(d){j.className+=" small-"+d}j.style.left=c+"px";j.style.width=a+"px";j.style.top=i+"px";j.style.height=m+"px";if(e){j.style.backgroundColor=e}if(g<100){SimileAjax.Graphics.setOpacity(j,g)}this._eventLayer.appendChild(j);return{left:c,top:i,width:a,height:m,elmt:j}};Timeline.OverviewEventPainter.prototype._paintEventTick=function(j,b,d,f,g,e){var k=e.event.overviewTrack.tickHeight;var h=g.trackOffset-k;var a=1;var i=this._timeline.getDocument().createElement("div");i.className="timeline-small-event-icon";i.style.left=b+"px";i.style.top=h+"px";var c=j.getClassName();if(c){i.className+=" small-"+c}if(f<100){SimileAjax.Graphics.setOpacity(i,f)}this._eventLayer.appendChild(i);return{left:b,top:h,width:a,height:k,elmt:i}};Timeline.OverviewEventPainter.prototype._createHighlightDiv=function(a,c,e){if(a>=0){var d=this._timeline.getDocument();var g=e.event;var b=g.highlightColors[Math.min(a,g.highlightColors.length-1)];var f=d.createElement("div");f.style.position="absolute";f.style.overflow="hidden";f.style.left=(c.left-1)+"px";f.style.width=(c.width+2)+"px";f.style.top=(c.top-1)+"px";f.style.height=(c.height+2)+"px";f.style.background=b;this._highlightLayer.appendChild(f)}};Timeline.OverviewEventPainter.prototype.showBubble=function(a){};Timeline.DefaultEventSource=function(a){this._events=(a instanceof Object)?a:new SimileAjax.EventIndex();this._listeners=[]};Timeline.DefaultEventSource.prototype.addListener=function(a){this._listeners.push(a)};Timeline.DefaultEventSource.prototype.removeListener=function(b){for(var a=0;a<this._listeners.length;a++){if(this._listeners[a]==b){this._listeners.splice(a,1);break}}};Timeline.DefaultEventSource.prototype.loadXML=function(g,a){var c=this._getBaseURL(a);var h=g.documentElement.getAttribute("wiki-url");var l=g.documentElement.getAttribute("wiki-section");var e=g.documentElement.getAttribute("date-time-format");var f=this._events.getUnit().getParser(e);var d=g.documentElement.firstChild;var i=false;while(d!=null){if(d.nodeType==1){var k="";if(d.firstChild!=null&&d.firstChild.nodeType==3){k=d.firstChild.nodeValue}var b=(d.getAttribute("isDuration")===null&&d.getAttribute("durationEvent")===null)||d.getAttribute("isDuration")=="false"||d.getAttribute("durationEvent")=="false";var j=new Timeline.DefaultEventSource.Event({id:d.getAttribute("id"),start:f(d.getAttribute("start")),end:f(d.getAttribute("end")),latestStart:f(d.getAttribute("latestStart")),earliestEnd:f(d.getAttribute("earliestEnd")),instant:b,text:d.getAttribute("title"),description:k,image:this._resolveRelativeURL(d.getAttribute("image"),c),link:this._resolveRelativeURL(d.getAttribute("link"),c),icon:this._resolveRelativeURL(d.getAttribute("icon"),c),color:d.getAttribute("color"),textColor:d.getAttribute("textColor"),hoverText:d.getAttribute("hoverText"),classname:d.getAttribute("classname"),tapeImage:d.getAttribute("tapeImage"),tapeRepeat:d.getAttribute("tapeRepeat"),caption:d.getAttribute("caption"),eventID:d.getAttribute("eventID"),trackNum:d.getAttribute("trackNum")});j._node=d;j.getProperty=function(m){return this._node.getAttribute(m)};j.setWikiInfo(h,l);this._events.add(j);i=true}d=d.nextSibling}if(i){this._fire("onAddMany",[])}};Timeline.DefaultEventSource.prototype.loadJSON=function(g,b){var d=this._getBaseURL(b);var k=false;if(g&&g.events){var j=("wikiURL" in g)?g.wikiURL:null;var m=("wikiSection" in g)?g.wikiSection:null;var e=("dateTimeFormat" in g)?g.dateTimeFormat:null;var h=this._events.getUnit().getParser(e);for(var f=0;f<g.events.length;f++){var a=g.events[f];var c=a.isDuration||(a.durationEvent!=null&&!a.durationEvent);var l=new Timeline.DefaultEventSource.Event({id:("id" in a)?a.id:undefined,start:h(a.start),end:h(a.end),latestStart:h(a.latestStart),earliestEnd:h(a.earliestEnd),instant:c,text:a.title,description:a.description,image:this._resolveRelativeURL(a.image,d),link:this._resolveRelativeURL(a.link,d),icon:this._resolveRelativeURL(a.icon,d),color:a.color,textColor:a.textColor,hoverText:a.hoverText,classname:a.classname,tapeImage:a.tapeImage,tapeRepeat:a.tapeRepeat,caption:a.caption,eventID:a.eventID,trackNum:a.trackNum});l._obj=a;l.getProperty=function(i){return this._obj[i]};l.setWikiInfo(j,m);this._events.add(l);k=true}}if(k){this._fire("onAddMany",[])}};Timeline.DefaultEventSource.prototype.loadSPARQL=function(h,a){var d=this._getBaseURL(a);var f="iso8601";var g=this._events.getUnit().getParser(f);if(h==null){return}var e=h.documentElement.firstChild;while(e!=null&&(e.nodeType!=1||e.nodeName!="results")){e=e.nextSibling}var j=null;var m=null;if(e!=null){j=e.getAttribute("wiki-url");m=e.getAttribute("wiki-section");e=e.firstChild}var k=false;while(e!=null){if(e.nodeType==1){var c={};var i=e.firstChild;while(i!=null){if(i.nodeType==1&&i.firstChild!=null&&i.firstChild.nodeType==1&&i.firstChild.firstChild!=null&&i.firstChild.firstChild.nodeType==3){c[i.getAttribute("name")]=i.firstChild.firstChild.nodeValue}i=i.nextSibling}if(c.start==null&&c.date!=null){c.start=c.date}var b=(c.isDuration===null&&c.durationEvent===null)||c.isDuration=="false"||c.durationEvent=="false";var l=new Timeline.DefaultEventSource.Event({id:c.id,start:g(c.start),end:g(c.end),latestStart:g(c.latestStart),earliestEnd:g(c.earliestEnd),instant:b,text:c.title,description:c.description,image:this._resolveRelativeURL(c.image,d),link:this._resolveRelativeURL(c.link,d),icon:this._resolveRelativeURL(c.icon,d),color:c.color,textColor:c.textColor,hoverText:c.hoverText,caption:c.caption,classname:c.classname,tapeImage:c.tapeImage,tapeRepeat:c.tapeRepeat,eventID:c.eventID,trackNum:c.trackNum});l._bindings=c;l.getProperty=function(n){return this._bindings[n]};l.setWikiInfo(j,m);this._events.add(l);k=true}e=e.nextSibling}if(k){this._fire("onAddMany",[])}};Timeline.DefaultEventSource.prototype.add=function(a){this._events.add(a);this._fire("onAddOne",[a])};Timeline.DefaultEventSource.prototype.addMany=function(b){for(var a=0;a<b.length;a++){this._events.add(b[a])}this._fire("onAddMany",[])};Timeline.DefaultEventSource.prototype.clear=function(){this._events.removeAll();this._fire("onClear",[])};Timeline.DefaultEventSource.prototype.getEvent=function(a){return this._events.getEvent(a)};Timeline.DefaultEventSource.prototype.getEventIterator=function(a,b){return this._events.getIterator(a,b)};Timeline.DefaultEventSource.prototype.getEventReverseIterator=function(a,b){return this._events.getReverseIterator(a,b)};Timeline.DefaultEventSource.prototype.getAllEventIterator=function(){return this._events.getAllIterator()};Timeline.DefaultEventSource.prototype.getCount=function(){return this._events.getCount()};Timeline.DefaultEventSource.prototype.getEarliestDate=function(){return this._events.getEarliestDate()};Timeline.DefaultEventSource.prototype.getLatestDate=function(){return this._events.getLatestDate()};Timeline.DefaultEventSource.prototype._fire=function(b,a){for(var c=0;c<this._listeners.length;c++){var d=this._listeners[c];if(b in d){try{d[b].apply(d,a)}catch(f){SimileAjax.Debug.exception(f)}}}};Timeline.DefaultEventSource.prototype._getBaseURL=function(a){if(a.indexOf("://")<0){var c=this._getBaseURL(document.location.href);if(a.substr(0,1)=="/"){a=c.substr(0,c.indexOf("/",c.indexOf("://")+3))+a}else{a=c+a}}var b=a.lastIndexOf("/");if(b<0){return""}else{return a.substr(0,b+1)}};Timeline.DefaultEventSource.prototype._resolveRelativeURL=function(a,b){if(a==null||a==""){return a}else{if(a.indexOf("://")>0){return a}else{if(a.substr(0,1)=="/"){return b.substr(0,b.indexOf("/",b.indexOf("://")+3))+a}else{return b+a}}}};Timeline.DefaultEventSource.Event=function(a){function d(e){return(a[e]!=null&&a[e]!="")?a[e]:null}var c=a.id?a.id.trim():"";this._id=c.length>0?c:Timeline.EventUtils.getNewEventID();this._instant=a.instant||(a.end==null);this._start=a.start;this._end=(a.end!=null)?a.end:a.start;this._latestStart=(a.latestStart!=null)?a.latestStart:(a.instant?this._end:this._start);this._earliestEnd=(a.earliestEnd!=null)?a.earliestEnd:this._end;var b=[];if(this._start>this._latestStart){this._latestStart=this._start;b.push("start is > latestStart")}if(this._start>this._earliestEnd){this._earliestEnd=this._latestStart;b.push("start is > earliestEnd")}if(this._start>this._end){this._end=this._earliestEnd;b.push("start is > end")}if(this._latestStart>this._earliestEnd){this._earliestEnd=this._latestStart;b.push("latestStart is > earliestEnd")}if(this._latestStart>this._end){this._end=this._earliestEnd;b.push("latestStart is > end")}if(this._earliestEnd>this._end){this._end=this._earliestEnd;b.push("earliestEnd is > end")}this._eventID=d("eventID");this._text=(a.text!=null)?SimileAjax.HTML.deEntify(a.text):"";if(b.length>0){this._text+=" PROBLEM: "+b.join(", ")}this._description=SimileAjax.HTML.deEntify(a.description);this._image=d("image");this._link=d("link");this._title=d("hoverText");this._title=d("caption");this._icon=d("icon");this._color=d("color");this._textColor=d("textColor");this._classname=d("classname");this._tapeImage=d("tapeImage");this._tapeRepeat=d("tapeRepeat");this._trackNum=d("trackNum");if(this._trackNum!=null){this._trackNum=parseInt(this._trackNum)}this._wikiURL=null;this._wikiSection=null};Timeline.DefaultEventSource.Event.prototype={getID:function(){return this._id},isInstant:function(){return this._instant},isImprecise:function(){return this._start!=this._latestStart||this._end!=this._earliestEnd},getStart:function(){return this._start},getEnd:function(){return this._end},getLatestStart:function(){return this._latestStart},getEarliestEnd:function(){return this._earliestEnd},getEventID:function(){return this._eventID},getText:function(){return this._text},getDescription:function(){return this._description},getImage:function(){return this._image},getLink:function(){return this._link},getIcon:function(){return this._icon},getColor:function(){return this._color},getTextColor:function(){return this._textColor},getClassName:function(){return this._classname},getTapeImage:function(){return this._tapeImage},getTapeRepeat:function(){return this._tapeRepeat},getTrackNum:function(){return this._trackNum},getProperty:function(a){return null},getWikiURL:function(){return this._wikiURL},getWikiSection:function(){return this._wikiSection},setWikiInfo:function(b,a){this._wikiURL=b;this._wikiSection=a},fillDescription:function(a){a.innerHTML=this._description},fillWikiInfo:function(e){e.style.display="none";if(this._wikiURL==null||this._wikiSection==null){return}var d=this.getProperty("wikiID");if(d==null||d.length==0){d=this.getText()}if(d==null||d.length==0){return}e.style.display="inline";d=d.replace(/\s/g,"_");var c=this._wikiURL+this._wikiSection.replace(/\s/g,"_")+"/"+d;var b=document.createElement("a");b.href=c;b.target="new";b.innerHTML=Timeline.strings[Timeline.clientLocale].wikiLinkLabel;e.appendChild(document.createTextNode("["));e.appendChild(b);e.appendChild(document.createTextNode("]"))},fillTime:function(a,b){if(this._instant){if(this.isImprecise()){a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._start)));a.appendChild(a.ownerDocument.createElement("br"));a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._end)))}else{a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._start)))}}else{if(this.isImprecise()){a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._start)+" ~ "+b.labelPrecise(this._latestStart)));a.appendChild(a.ownerDocument.createElement("br"));a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._earliestEnd)+" ~ "+b.labelPrecise(this._end)))}else{a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._start)));a.appendChild(a.ownerDocument.createElement("br"));a.appendChild(a.ownerDocument.createTextNode(b.labelPrecise(this._end)))}}},fillInfoBubble:function(b,e,l){var m=b.ownerDocument;var k=this.getText();var i=this.getLink();var d=this.getImage();if(d!=null){var f=m.createElement("img");f.src=d;e.event.bubble.imageStyler(f);b.appendChild(f)}var n=m.createElement("div");var c=m.createTextNode(k);if(i!=null){var j=m.createElement("a");j.href=i;j.appendChild(c);n.appendChild(j)}else{n.appendChild(c)}e.event.bubble.titleStyler(n);b.appendChild(n);var o=m.createElement("div");this.fillDescription(o);e.event.bubble.bodyStyler(o);b.appendChild(o);var h=m.createElement("div");this.fillTime(h,l);e.event.bubble.timeStyler(h);b.appendChild(h);var g=m.createElement("div");this.fillWikiInfo(g);e.event.bubble.wikiStyler(g);b.appendChild(g)}};Timeline.ClassicTheme=new Object();Timeline.ClassicTheme.implementations=[];Timeline.ClassicTheme.create=function(a){if(a==null){a=Timeline.getDefaultLocale()}var b=Timeline.ClassicTheme.implementations[a];if(b==null){b=Timeline.ClassicTheme._Impl}return new b()};Timeline.ClassicTheme._Impl=function(){this.firstDayOfWeek=0;this.autoWidth=false;this.autoWidthAnimationTime=500;this.timeline_start=null;this.timeline_stop=null;this.ether={backgroundColors:[],highlightOpacity:50,interval:{line:{show:true,opacity:25},weekend:{opacity:30},marker:{hAlign:"Bottom",vAlign:"Right"}}};this.event={track:{height:10,gap:2,offset:2,autoWidthMargin:1.5},overviewTrack:{offset:20,tickHeight:6,height:2,gap:1,autoWidthMargin:5},tape:{height:4},instant:{icon:Timeline.urlPrefix+"images/dull-blue-circle.png",iconWidth:10,iconHeight:10,impreciseOpacity:20,impreciseIconMargin:3},duration:{impreciseOpacity:20},label:{backgroundOpacity:50,offsetFromLine:3},highlightColors:["#FFFF00","#FFC000","#FF0000","#0000FF"],highlightLabelBackground:false,bubble:{width:250,maxHeight:0,titleStyler:function(a){a.className="timeline-event-bubble-title"},bodyStyler:function(a){a.className="timeline-event-bubble-body"},imageStyler:function(a){a.className="timeline-event-bubble-image"},wikiStyler:function(a){a.className="timeline-event-bubble-wiki"},timeStyler:function(a){a.className="timeline-event-bubble-time"}}};this.mouseWheel="scroll"};Timeline.version="2.3.0";Timeline.ajax_lib_version=SimileAjax.version;Timeline.display_version=Timeline.version+" (with Ajax lib "+Timeline.ajax_lib_version+")";Timeline.strings={};Timeline.HORIZONTAL=0;Timeline.VERTICAL=1;Timeline._defaultTheme=null;Timeline.getDefaultLocale=function(){return Timeline.clientLocale};Timeline.create=function(d,c,b,f){if(Timeline.timelines==null){Timeline.timelines=[]}var a=Timeline.timelines.length;Timeline.timelines[a]=null;var e=new Timeline._Impl(d,c,b,f,a);Timeline.timelines[a]=e;return e};Timeline.createBandInfo=function(d){var e=("theme" in d)?d.theme:Timeline.getDefaultTheme();var b=("eventSource" in d)?d.eventSource:null;var f=new Timeline.LinearEther({centersOn:("date" in d)?d.date:new Date(),interval:SimileAjax.DateTime.gregorianUnitLengths[d.intervalUnit],pixelsPerInterval:d.intervalPixels,theme:e});var g=new Timeline.GregorianEtherPainter({unit:d.intervalUnit,multiple:("multiple" in d)?d.multiple:1,theme:e,align:("align" in d)?d.align:undefined});var i={showText:("showEventText" in d)?d.showEventText:true,theme:e};if("eventPainterParams" in d){for(var a in d.eventPainterParams){i[a]=d.eventPainterParams[a]}}if("trackHeight" in d){i.trackHeight=d.trackHeight}if("trackGap" in d){i.trackGap=d.trackGap}var h=("overview" in d&&d.overview)?"overview":("layout" in d?d.layout:"original");var c;if("eventPainter" in d){c=new d.eventPainter(i)}else{switch(h){case"overview":c=new Timeline.OverviewEventPainter(i);break;case"detailed":c=new Timeline.DetailedEventPainter(i);break;default:c=new Timeline.OriginalEventPainter(i)}}return{width:d.width,eventSource:b,timeZone:("timeZone" in d)?d.timeZone:0,ether:f,etherPainter:g,eventPainter:c,theme:e,zoomIndex:("zoomIndex" in d)?d.zoomIndex:0,zoomSteps:("zoomSteps" in d)?d.zoomSteps:null}};Timeline.createHotZoneBandInfo=function(d){var e=("theme" in d)?d.theme:Timeline.getDefaultTheme();var b=("eventSource" in d)?d.eventSource:null;var f=new Timeline.HotZoneEther({centersOn:("date" in d)?d.date:new Date(),interval:SimileAjax.DateTime.gregorianUnitLengths[d.intervalUnit],pixelsPerInterval:d.intervalPixels,zones:d.zones,theme:e});var g=new Timeline.HotZoneGregorianEtherPainter({unit:d.intervalUnit,zones:d.zones,theme:e,align:("align" in d)?d.align:undefined});var i={showText:("showEventText" in d)?d.showEventText:true,theme:e};if("eventPainterParams" in d){for(var a in d.eventPainterParams){i[a]=d.eventPainterParams[a]}}if("trackHeight" in d){i.trackHeight=d.trackHeight}if("trackGap" in d){i.trackGap=d.trackGap}var h=("overview" in d&&d.overview)?"overview":("layout" in d?d.layout:"original");var c;if("eventPainter" in d){c=new d.eventPainter(i)}else{switch(h){case"overview":c=new Timeline.OverviewEventPainter(i);break;case"detailed":c=new Timeline.DetailedEventPainter(i);break;default:c=new Timeline.OriginalEventPainter(i)}}return{width:d.width,eventSource:b,timeZone:("timeZone" in d)?d.timeZone:0,ether:f,etherPainter:g,eventPainter:c,theme:e,zoomIndex:("zoomIndex" in d)?d.zoomIndex:0,zoomSteps:("zoomSteps" in d)?d.zoomSteps:null}};Timeline.getDefaultTheme=function(){if(Timeline._defaultTheme==null){Timeline._defaultTheme=Timeline.ClassicTheme.create(Timeline.getDefaultLocale())}return Timeline._defaultTheme};Timeline.setDefaultTheme=function(a){Timeline._defaultTheme=a};Timeline.loadXML=function(a,c){var d=function(g,e,f){alert("Failed to load data xml from "+a+"\n"+g)};var b=function(f){var e=f.responseXML;if(!e.documentElement&&f.responseStream){e.load(f.responseStream)}c(e,a)};SimileAjax.XmlHttp.get(a,d,b)};Timeline.loadJSON=function(url,f){var fError=function(statusText,status,xmlhttp){alert("Failed to load json data from "+url+"\n"+statusText)};var fDone=function(xmlhttp){f(eval("("+xmlhttp.responseText+")"),url)};SimileAjax.XmlHttp.get(url,fError,fDone)};Timeline.getTimelineFromID=function(a){return Timeline.timelines[a]};Timeline.writeVersion=function(a){document.getElementById(a).innerHTML=this.display_version};Timeline._Impl=function(d,c,b,e,a){SimileAjax.WindowManager.initialize();this._containerDiv=d;this._bandInfos=c;this._orientation=b==null?Timeline.HORIZONTAL:b;this._unit=(e!=null)?e:SimileAjax.NativeDateUnit;this._starting=true;this._autoResizing=false;this.autoWidth=c&&c[0]&&c[0].theme&&c[0].theme.autoWidth;this.autoWidthAnimationTime=c&&c[0]&&c[0].theme&&c[0].theme.autoWidthAnimationTime;this.timelineID=a;this.timeline_start=c&&c[0]&&c[0].theme&&c[0].theme.timeline_start;this.timeline_stop=c&&c[0]&&c[0].theme&&c[0].theme.timeline_stop;this.timeline_at_start=false;this.timeline_at_stop=false;this._initialize()};Timeline._Impl.prototype.dispose=function(){for(var a=0;a<this._bands.length;a++){this._bands[a].dispose()}this._bands=null;this._bandInfos=null;this._containerDiv.innerHTML="";Timeline.timelines[this.timelineID]=null};Timeline._Impl.prototype.getBandCount=function(){return this._bands.length};Timeline._Impl.prototype.getBand=function(a){return this._bands[a]};Timeline._Impl.prototype.finishedEventLoading=function(){this._autoWidthCheck(true);this._starting=false};Timeline._Impl.prototype.layout=function(){this._autoWidthCheck(true);this._distributeWidths()};Timeline._Impl.prototype.paint=function(){for(var a=0;a<this._bands.length;a++){this._bands[a].paint()}};Timeline._Impl.prototype.getDocument=function(){return this._containerDiv.ownerDocument};Timeline._Impl.prototype.addDiv=function(a){this._containerDiv.appendChild(a)};Timeline._Impl.prototype.removeDiv=function(a){this._containerDiv.removeChild(a)};Timeline._Impl.prototype.isHorizontal=function(){return this._orientation==Timeline.HORIZONTAL};Timeline._Impl.prototype.isVertical=function(){return this._orientation==Timeline.VERTICAL};Timeline._Impl.prototype.getPixelLength=function(){return this._orientation==Timeline.HORIZONTAL?this._containerDiv.offsetWidth:this._containerDiv.offsetHeight};Timeline._Impl.prototype.getPixelWidth=function(){return this._orientation==Timeline.VERTICAL?this._containerDiv.offsetWidth:this._containerDiv.offsetHeight};Timeline._Impl.prototype.getUnit=function(){return this._unit};Timeline._Impl.prototype.getWidthStyle=function(){return this._orientation==Timeline.HORIZONTAL?"height":"width"};Timeline._Impl.prototype.loadXML=function(b,d){var a=this;var e=function(h,f,g){alert("Failed to load data xml from "+b+"\n"+h);a.hideLoadingMessage()};var c=function(g){try{var f=g.responseXML;if(!f.documentElement&&g.responseStream){f.load(g.responseStream)}d(f,b)}finally{a.hideLoadingMessage()}};this.showLoadingMessage();window.setTimeout(function(){SimileAjax.XmlHttp.get(b,e,c)},0)};Timeline._Impl.prototype.loadJSON=function(url,f){var tl=this;var fError=function(statusText,status,xmlhttp){alert("Failed to load json data from "+url+"\n"+statusText);tl.hideLoadingMessage()};var fDone=function(xmlhttp){try{f(eval("("+xmlhttp.responseText+")"),url)}finally{tl.hideLoadingMessage()}};this.showLoadingMessage();window.setTimeout(function(){SimileAjax.XmlHttp.get(url,fError,fDone)},0)};Timeline._Impl.prototype._autoWidthScrollListener=function(a){a.getTimeline()._autoWidthCheck(false)};Timeline._Impl.prototype._autoWidthCheck=function(c){var e=this;var b=e._starting;var d=0;function a(){var h=e.getWidthStyle();if(b){e._containerDiv.style[h]=d+"px"}else{e._autoResizing=true;var g={};g[h]=d+"px";SimileAjax.jQuery(e._containerDiv).animate(g,e.autoWidthAnimationTime,"linear",function(){e._autoResizing=false})}}function f(){var j=0;var g=e.getPixelWidth();if(e._autoResizing){return}for(var h=0;h<e._bands.length;h++){e._bands[h].checkAutoWidth();j+=e._bandInfos[h].width}if(j>g||c){d=j;a();e._distributeWidths()}}if(!e.autoWidth){return}f()};Timeline._Impl.prototype._initialize=function(){var h=this._containerDiv;var e=h.ownerDocument;h.className=h.className.split(" ").concat("timeline-container").join(" ");var b=(this.isHorizontal())?"horizontal":"vertical";h.className+=" timeline-"+b;while(h.firstChild){h.removeChild(h.firstChild)}var a=SimileAjax.Graphics.createTranslucentImage(Timeline.urlPrefix+(this.isHorizontal()?"images/copyright-vertical.png":"images/copyright.png"));a.className="timeline-copyright";a.title="Timeline copyright SIMILE - www.code.google.com/p/simile-widgets/";SimileAjax.DOM.registerEvent(a,"click",function(){window.location="http://code.google.com/p/simile-widgets/"});h.appendChild(a);this._bands=[];for(var c=0;c<this._bandInfos.length;c++){var g=new Timeline._Band(this,this._bandInfos[c],c);this._bands.push(g)}this._distributeWidths();for(var c=0;c<this._bandInfos.length;c++){var f=this._bandInfos[c];if("syncWith" in f){this._bands[c].setSyncWithBand(this._bands[f.syncWith],("highlight" in f)?f.highlight:false)}}if(this.autoWidth){for(var c=0;c<this._bands.length;c++){this._bands[c].addOnScrollListener(this._autoWidthScrollListener)}}var d=SimileAjax.Graphics.createMessageBubble(e);d.containerDiv.className="timeline-message-container";h.appendChild(d.containerDiv);d.contentDiv.className="timeline-message";d.contentDiv.innerHTML="<img src='"+Timeline.urlPrefix+"images/progress-running.gif' /> Loading...";this.showLoadingMessage=function(){d.containerDiv.style.display="block"};this.hideLoadingMessage=function(){d.containerDiv.style.display="none"}};Timeline._Impl.prototype._distributeWidths=function(){var b=this.getPixelLength();var a=this.getPixelWidth();var c=0;for(var e=0;e<this._bands.length;e++){var j=this._bands[e];var k=this._bandInfos[e];var f=k.width;var d;if(typeof f=="string"){var h=f.indexOf("%");if(h>0){var g=parseInt(f.substr(0,h));d=Math.round(g*a/100)}else{d=parseInt(f)}}else{d=f}j.setBandShiftAndWidth(c,d);j.setViewLength(b);c+=d}};Timeline._Impl.prototype.shiftOK=function(d,b){var c=b>0,a=b<0;if((c&&this.timeline_start==null)||(a&&this.timeline_stop==null)||(b==0)){return(true)}var g=false;for(var f=0;f<this._bands.length&&!g;f++){g=this._bands[f].busy()}if(g){return(true)}if((c&&this.timeline_at_start)||(a&&this.timeline_at_stop)){return(false)}var e=false;for(var f=0;f<this._bands.length&&!e;f++){var h=this._bands[f];if(c){e=(f==d?h.getMinVisibleDateAfterDelta(b):h.getMinVisibleDate())>=this.timeline_start}else{e=(f==d?h.getMaxVisibleDateAfterDelta(b):h.getMaxVisibleDate())<=this.timeline_stop}}if(c){this.timeline_at_start=!e;this.timeline_at_stop=false}else{this.timeline_at_stop=!e;this.timeline_at_start=false}return(e)};Timeline._Impl.prototype.zoom=function(g,b,f,d){var c=new RegExp("^timeline-band-([0-9]+)$");var e=null;var a=c.exec(d.id);if(a){e=parseInt(a[1])}if(e!=null){this._bands[e].zoom(g,b,f,d)}this.paint()};Timeline.NativeDateUnit=new Object();Timeline.NativeDateUnit.createLabeller=function(a,b){return new Timeline.GregorianDateLabeller(a,b)};Timeline.NativeDateUnit.makeDefaultValue=function(){return new Date()};Timeline.NativeDateUnit.cloneValue=function(a){return new Date(a.getTime())};Timeline.NativeDateUnit.getParser=function(a){if(typeof a=="string"){a=a.toLowerCase()}return(a=="iso8601"||a=="iso 8601")?Timeline.DateTime.parseIso8601DateTime:Timeline.DateTime.parseGregorianDateTime};Timeline.NativeDateUnit.parseFromObject=function(a){return Timeline.DateTime.parseGregorianDateTime(a)};Timeline.NativeDateUnit.toNumber=function(a){return a.getTime()};Timeline.NativeDateUnit.fromNumber=function(a){return new Date(a)};Timeline.NativeDateUnit.compare=function(d,c){var b,a;if(typeof d=="object"){b=d.getTime()}else{b=Number(d)}if(typeof c=="object"){a=c.getTime()}else{a=Number(c)}return b-a};Timeline.NativeDateUnit.earlier=function(b,a){return Timeline.NativeDateUnit.compare(b,a)<0?b:a};Timeline.NativeDateUnit.later=function(b,a){return Timeline.NativeDateUnit.compare(b,a)>0?b:a};Timeline.NativeDateUnit.change=function(a,b){return new Date(a.getTime()+b)};