Files
Disco/Disco.Web/ClientSource/Scripts/Modules/Timeline.min.js
T
Gary Sharp c846fa053a Dialog height reduced & remove js minify maps
Provide better support for lower resolution devices (buttons became
hidden in tall dialogs). Remove references to JavaScript minification
source maps which aren't deployed and caused confusion.
2014-09-08 14:51:51 +10:00

1 line
162 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
window.SimileAjax={loaded:!0,loadingScriptsCount:0,error:null,params:{bundle:"true"},Platform:{}};SimileAjax.version="pre 2.3.0";SimileAjax.jQuery=jQuery.noConflict(!0);typeof $=="undefined"&&(window.$=SimileAjax.jQuery);SimileAjax.Platform.os={isMac:!1,isWin:!1,isWin32:!1,isUnix:!1};SimileAjax.Platform.browser={isIE:!1,isNetscape:!1,isMozilla:!1,isFirefox:!1,isOpera:!1,isSafari:!1,majorVersion:0,minorVersion:0},function(){var u=navigator.appName.toLowerCase(),n=navigator.userAgent.toLowerCase(),i,r,t;SimileAjax.Platform.os.isMac=n.indexOf("mac")!=-1;SimileAjax.Platform.os.isWin=n.indexOf("win")!=-1;SimileAjax.Platform.os.isWin32=SimileAjax.Platform.isWin&&(n.indexOf("95")!=-1||n.indexOf("98")!=-1||n.indexOf("nt")!=-1||n.indexOf("win32")!=-1||n.indexOf("32bit")!=-1);SimileAjax.Platform.os.isUnix=n.indexOf("x11")!=-1;SimileAjax.Platform.browser.isIE=u.indexOf("microsoft")!=-1;SimileAjax.Platform.browser.isNetscape=u.indexOf("netscape")!=-1;SimileAjax.Platform.browser.isMozilla=n.indexOf("mozilla")!=-1;SimileAjax.Platform.browser.isFirefox=n.indexOf("firefox")!=-1;SimileAjax.Platform.browser.isOpera=u.indexOf("opera")!=-1;SimileAjax.Platform.browser.isSafari=u.indexOf("safari")!=-1;i=function(n){var t=n.split(".");SimileAjax.Platform.browser.majorVersion=parseInt(t[0]);SimileAjax.Platform.browser.minorVersion=parseInt(t[1])};r=function(n,t,i){var r=n.indexOf(t,i);return r>=0?r:n.length};SimileAjax.Platform.browser.isMozilla&&(t=n.indexOf("mozilla/"),t>=0&&i(n.substring(t+8,r(n," ",t))));SimileAjax.Platform.browser.isIE&&(t=n.indexOf("msie "),t>=0&&i(n.substring(t+5,r(n,";",t))));SimileAjax.Platform.browser.isNetscape&&(t=n.indexOf("rv:"),t>=0&&i(n.substring(t+3,r(n,")",t))));SimileAjax.Platform.browser.isFirefox&&(t=n.indexOf("firefox/"),t>=0&&i(n.substring(t+8,r(n," ",t))));"localeCompare"in String.prototype||(String.prototype.localeCompare=function(n){return this<n?-1:this>n?1:0})}();SimileAjax.Platform.getDefaultLocale=function(){return SimileAjax.Platform.clientLocale};SimileAjax.ListenerQueue=function(n){this._listeners=[];this._wildcardHandlerName=n};SimileAjax.ListenerQueue.prototype.add=function(n){this._listeners.push(n)};SimileAjax.ListenerQueue.prototype.remove=function(n){for(var i=this._listeners,t=0;t<i.length;t++)if(i[t]==n){i.splice(t,1);break}};SimileAjax.ListenerQueue.prototype.fire=function(n,t){for(var i,u=[].concat(this._listeners),r=0;r<u.length;r++)if(i=u[r],n in i)try{i[n].apply(i,t)}catch(f){SimileAjax.Debug.exception("Error firing event of name "+n,f)}else if(this._wildcardHandlerName!=null&&this._wildcardHandlerName in i)try{i[this._wildcardHandlerName].apply(i,[n])}catch(f){SimileAjax.Debug.exception("Error firing event of name "+n+" to wildcard handler",f)}};SimileAjax.Set=function(n){if(this._hash={},this._count=0,n instanceof Array)for(var t=0;t<n.length;t++)this.add(n[t]);else n instanceof SimileAjax.Set&&this.addSet(n)};SimileAjax.Set.prototype.add=function(n){return(n in this._hash)?!1:(this._hash[n]=!0,this._count++,!0)};SimileAjax.Set.prototype.addSet=function(n){for(var t in n._hash)this.add(t)};SimileAjax.Set.prototype.remove=function(n){return n in this._hash?(delete this._hash[n],this._count--,!0):!1};SimileAjax.Set.prototype.removeSet=function(n){for(var t in n._hash)this.remove(t)};SimileAjax.Set.prototype.retainSet=function(n){for(var t in this._hash)n.contains(t)||(delete this._hash[t],this._count--)};SimileAjax.Set.prototype.contains=function(n){return n in this._hash};SimileAjax.Set.prototype.size=function(){return this._count};SimileAjax.Set.prototype.toArray=function(){var n=[];for(var t in this._hash)n.push(t);return n};SimileAjax.Set.prototype.visit=function(n){for(var t in this._hash)if(n(t)==!0)break};SimileAjax.SortedArray=function(n,t){this._a=t instanceof Array?t:[];this._compare=n};SimileAjax.SortedArray.prototype.add=function(n){var i=this,t=this.find(function(t){return i._compare(t,n)});t<this._a.length?this._a.splice(t,0,n):this._a.push(n)};SimileAjax.SortedArray.prototype.remove=function(n){for(var i=this,t=this.find(function(t){return i._compare(t,n)});t<this._a.length&&this._compare(this._a[t],n)==0;){if(this._a[t]==n)return this._a.splice(t,1),!0;t++}return!1};SimileAjax.SortedArray.prototype.removeAll=function(){this._a=[]};SimileAjax.SortedArray.prototype.elementAt=function(n){return this._a[n]};SimileAjax.SortedArray.prototype.length=function(){return this._a.length};SimileAjax.SortedArray.prototype.find=function(n){for(var t=0,r=this._a.length,i,u;t<r;){if(i=Math.floor((t+r)/2),u=n(this._a[i]),i==t)return u<0?t+1:t;u<0?t=i:r=i}return t};SimileAjax.SortedArray.prototype.getFirst=function(){return this._a.length>0?this._a[0]:null};SimileAjax.SortedArray.prototype.getLast=function(){return this._a.length>0?this._a[this._a.length-1]:null};SimileAjax.EventIndex=function(n){var t=this;this._unit=n!=null?n:SimileAjax.NativeDateUnit;this._events=new SimileAjax.SortedArray(function(n,i){return t._unit.compare(n.getStart(),i.getStart())});this._idToEvent={};this._indexed=!0};SimileAjax.EventIndex.prototype.getUnit=function(){return this._unit};SimileAjax.EventIndex.prototype.getEvent=function(n){return this._idToEvent[n]};SimileAjax.EventIndex.prototype.add=function(n){this._events.add(n);this._idToEvent[n.getID()]=n;this._indexed=!1};SimileAjax.EventIndex.prototype.removeAll=function(){this._events.removeAll();this._idToEvent={};this._indexed=!1};SimileAjax.EventIndex.prototype.getCount=function(){return this._events.length()};SimileAjax.EventIndex.prototype.getIterator=function(n,t){return this._indexed||this._index(),new SimileAjax.EventIndex._Iterator(this._events,n,t,this._unit)};SimileAjax.EventIndex.prototype.getReverseIterator=function(n,t){return this._indexed||this._index(),new SimileAjax.EventIndex._ReverseIterator(this._events,n,t,this._unit)};SimileAjax.EventIndex.prototype.getAllIterator=function(){return new SimileAjax.EventIndex._AllIterator(this._events)};SimileAjax.EventIndex.prototype.getEarliestDate=function(){var n=this._events.getFirst();return n==null?null:n.getStart()};SimileAjax.EventIndex.prototype.getLatestDate=function(){var r=this._events.getLast(),i,n,t;if(r==null)return null;for(this._indexed||this._index(),i=r._earliestOverlapIndex,n=this._events.elementAt(i).getEnd(),t=i+1;t<this._events.length();t++)n=this._unit.later(n,this._events.elementAt(t).getEnd());return n};SimileAjax.EventIndex.prototype._index=function(){for(var t,i,f,u,e,r=this._events.length(),n=0;n<r;n++)i=this._events.elementAt(n),i._earliestOverlapIndex=n;for(t=1,n=0;n<r;n++)for(i=this._events.elementAt(n),f=i.getEnd(),t=Math.max(t,n+1);t<r;)if(u=this._events.elementAt(t),e=u.getStart(),this._unit.compare(e,f)<0)u._earliestOverlapIndex=n,t++;else break;this._indexed=!0};SimileAjax.EventIndex._Iterator=function(n,t,i,r){this._events=n;this._startDate=t;this._endDate=i;this._unit=r;this._currentIndex=n.find(function(n){return r.compare(n.getStart(),t)});this._currentIndex-1>=0&&(this._currentIndex=this._events.elementAt(this._currentIndex-1)._earliestOverlapIndex);this._currentIndex--;this._maxIndex=n.find(function(n){return r.compare(n.getStart(),i)});this._hasNext=!1;this._next=null;this._findNext()};SimileAjax.EventIndex._Iterator.prototype={hasNext:function(){return this._hasNext},next:function(){if(this._hasNext){var n=this._next;return this._findNext(),n}return null},_findNext:function(){for(var t=this._unit,n;++this._currentIndex<this._maxIndex;)if(n=this._events.elementAt(this._currentIndex),t.compare(n.getStart(),this._endDate)<0&&t.compare(n.getEnd(),this._startDate)>0){this._next=n;this._hasNext=!0;return}this._next=null;this._hasNext=!1}};SimileAjax.EventIndex._ReverseIterator=function(n,t,i,r){this._events=n;this._startDate=t;this._endDate=i;this._unit=r;this._minIndex=n.find(function(n){return r.compare(n.getStart(),t)});this._minIndex-1>=0&&(this._minIndex=this._events.elementAt(this._minIndex-1)._earliestOverlapIndex);this._maxIndex=n.find(function(n){return r.compare(n.getStart(),i)});this._currentIndex=this._maxIndex;this._hasNext=!1;this._next=null;this._findNext()};SimileAjax.EventIndex._ReverseIterator.prototype={hasNext:function(){return this._hasNext},next:function(){if(this._hasNext){var n=this._next;return this._findNext(),n}return null},_findNext:function(){for(var t=this._unit,n;--this._currentIndex>=this._minIndex;)if(n=this._events.elementAt(this._currentIndex),t.compare(n.getStart(),this._endDate)<0&&t.compare(n.getEnd(),this._startDate)>0){this._next=n;this._hasNext=!0;return}this._next=null;this._hasNext=!1}};SimileAjax.EventIndex._AllIterator=function(n){this._events=n;this._index=0};SimileAjax.EventIndex._AllIterator.prototype={hasNext:function(){return this._index<this._events.length()},next:function(){return this._index<this._events.length()?this._events.elementAt(this._index++):null}};SimileAjax.DateTime={};SimileAjax.DateTime.MILLISECOND=0;SimileAjax.DateTime.SECOND=1;SimileAjax.DateTime.MINUTE=2;SimileAjax.DateTime.HOUR=3;SimileAjax.DateTime.DAY=4;SimileAjax.DateTime.WEEK=5;SimileAjax.DateTime.MONTH=6;SimileAjax.DateTime.YEAR=7;SimileAjax.DateTime.DECADE=8;SimileAjax.DateTime.CENTURY=9;SimileAjax.DateTime.MILLENNIUM=10;SimileAjax.DateTime.EPOCH=-1;SimileAjax.DateTime.ERA=-2;SimileAjax.DateTime.gregorianUnitLengths=[],function(){var n=SimileAjax.DateTime,t=n.gregorianUnitLengths;t[n.MILLISECOND]=1;t[n.SECOND]=1e3;t[n.MINUTE]=t[n.SECOND]*60;t[n.HOUR]=t[n.MINUTE]*60;t[n.DAY]=t[n.HOUR]*24;t[n.WEEK]=t[n.DAY]*7;t[n.MONTH]=t[n.DAY]*31;t[n.YEAR]=t[n.DAY]*365;t[n.DECADE]=t[n.YEAR]*10;t[n.CENTURY]=t[n.YEAR]*100;t[n.MILLENNIUM]=t[n.YEAR]*1e3}();SimileAjax.DateTime._dateRegexp=new RegExp("^(-?)([0-9]{4})((-?([0-9]{2})(-?([0-9]{2}))?)|(-?([0-9]{3}))|(-?W([0-9]{2})(-?([1-7]))?))?$");SimileAjax.DateTime._timezoneRegexp=new RegExp("Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$");SimileAjax.DateTime._timeRegexp=new RegExp("^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(.([0-9]+))?)?)?$");SimileAjax.DateTime.setIso8601Date=function(n,t){var i=t.match(SimileAjax.DateTime._dateRegexp);if(!i)throw new Error("Invalid date string: "+t);var c=i[1]=="-"?-1:1,l=c*i[2],u=i[5],f=i[7],e=i[9],o=i[11],a=i[13]?i[13]:1;if(n.setUTCFullYear(l),e)n.setUTCMonth(0),n.setUTCDate(Number(e));else if(o){n.setUTCMonth(0);n.setUTCDate(1);var s=n.getUTCDay(),r=s?s:7,h=Number(a)+7*Number(o);r<=4?n.setUTCDate(h+1-r):n.setUTCDate(h+8-r)}else u&&(n.setUTCDate(1),n.setUTCMonth(u-1)),f&&n.setUTCDate(f);return n};SimileAjax.DateTime.setIso8601Time=function(n,t){var i=t.match(SimileAjax.DateTime._timeRegexp);if(!i)return SimileAjax.Debug.warn("Invalid time string: "+t),!1;var r=i[1],u=Number(i[3]?i[3]:0),f=i[5]?i[5]:0,e=i[7]?Number("0."+i[7])*1e3:0;return n.setUTCHours(r),n.setUTCMinutes(u),n.setUTCSeconds(f),n.setUTCMilliseconds(e),n};SimileAjax.DateTime.timezoneOffset=(new Date).getTimezoneOffset();SimileAjax.DateTime.setIso8601=function(n,t){var u=null,i=t.indexOf("T")==-1?t.split(" "):t.split("T"),r;return SimileAjax.DateTime.setIso8601Date(n,i[0]),i.length==2&&(r=i[1].match(SimileAjax.DateTime._timezoneRegexp),r&&(u=r[0]=="Z"?0:(Number(r[3])*60+Number(r[5]))*(r[2]=="-"?1:-1),i[1]=i[1].substr(0,i[1].length-r[0].length)),SimileAjax.DateTime.setIso8601Time(n,i[1])),u==null&&(u=n.getTimezoneOffset()),n.setTime(n.getTime()+u*6e4),n};SimileAjax.DateTime.parseIso8601DateTime=function(n){try{return SimileAjax.DateTime.setIso8601(new Date(0),n)}catch(t){return null}};SimileAjax.DateTime.parseGregorianDateTime=function(n){var t,r,f,i,u;if(n==null)return null;if(n instanceof Date)return n;if(t=n.toString(),t.length>0&&t.length<8)return r=t.indexOf(" "),r>0?(i=parseInt(t.substr(0,r)),f=t.substr(r+1),f.toLowerCase()=="bc"&&(i=1-i)):i=parseInt(t),u=new Date(0),u.setUTCFullYear(i),u;try{return new Date(Date.parse(t))}catch(e){return null}};SimileAjax.DateTime.roundDownToInterval=function(n,t,i,r,u){var h=i*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR],f=new Date(n.getTime()+h),o=function(n){n.setUTCMilliseconds(0);n.setUTCSeconds(0);n.setUTCMinutes(0);n.setUTCHours(0)},s=function(n){o(n);n.setUTCDate(1);n.setUTCMonth(0)},c,e;switch(t){case SimileAjax.DateTime.MILLISECOND:e=f.getUTCMilliseconds();f.setUTCMilliseconds(e-e%r);break;case SimileAjax.DateTime.SECOND:f.setUTCMilliseconds(0);e=f.getUTCSeconds();f.setUTCSeconds(e-e%r);break;case SimileAjax.DateTime.MINUTE:f.setUTCMilliseconds(0);f.setUTCSeconds(0);e=f.getUTCMinutes();f.setTime(f.getTime()-e%r*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]);break;case SimileAjax.DateTime.HOUR:f.setUTCMilliseconds(0);f.setUTCSeconds(0);f.setUTCMinutes(0);e=f.getUTCHours();f.setUTCHours(e-e%r);break;case SimileAjax.DateTime.DAY:o(f);break;case SimileAjax.DateTime.WEEK:o(f);c=(f.getUTCDay()+7-u)%7;f.setTime(f.getTime()-c*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]);break;case SimileAjax.DateTime.MONTH:o(f);f.setUTCDate(1);e=f.getUTCMonth();f.setUTCMonth(e-e%r);break;case SimileAjax.DateTime.YEAR:s(f);e=f.getUTCFullYear();f.setUTCFullYear(e-e%r);break;case SimileAjax.DateTime.DECADE:s(f);f.setUTCFullYear(Math.floor(f.getUTCFullYear()/10)*10);break;case SimileAjax.DateTime.CENTURY:s(f);f.setUTCFullYear(Math.floor(f.getUTCFullYear()/100)*100);break;case SimileAjax.DateTime.MILLENNIUM:s(f);f.setUTCFullYear(Math.floor(f.getUTCFullYear()/1e3)*1e3)}n.setTime(f.getTime()-h)};SimileAjax.DateTime.roundUpToInterval=function(n,t,i,r,u){var f=n.getTime();SimileAjax.DateTime.roundDownToInterval(n,t,i,r,u);n.getTime()<f&&n.setTime(n.getTime()+SimileAjax.DateTime.gregorianUnitLengths[t]*r)};SimileAjax.DateTime.incrementByInterval=function(n,t,i){i=typeof i=="undefined"?0:i;var u=i*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR],r=new Date(n.getTime()+u);switch(t){case SimileAjax.DateTime.MILLISECOND:r.setTime(r.getTime()+1);break;case SimileAjax.DateTime.SECOND:r.setTime(r.getTime()+1e3);break;case SimileAjax.DateTime.MINUTE:r.setTime(r.getTime()+SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]);break;case SimileAjax.DateTime.HOUR:r.setTime(r.getTime()+SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]);break;case SimileAjax.DateTime.DAY:r.setUTCDate(r.getUTCDate()+1);break;case SimileAjax.DateTime.WEEK:r.setUTCDate(r.getUTCDate()+7);break;case SimileAjax.DateTime.MONTH:r.setUTCMonth(r.getUTCMonth()+1);break;case SimileAjax.DateTime.YEAR:r.setUTCFullYear(r.getUTCFullYear()+1);break;case SimileAjax.DateTime.DECADE:r.setUTCFullYear(r.getUTCFullYear()+10);break;case SimileAjax.DateTime.CENTURY:r.setUTCFullYear(r.getUTCFullYear()+100);break;case SimileAjax.DateTime.MILLENNIUM:r.setUTCFullYear(r.getUTCFullYear()+1e3)}n.setTime(r.getTime()-u)};SimileAjax.DateTime.removeTimeZoneOffset=function(n,t){return new Date(n.getTime()+t*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR])};SimileAjax.DateTime.getTimezone=function(){var n=(new Date).getTimezoneOffset();return n/-60};SimileAjax.Debug={silent:!1};SimileAjax.Debug.log=function(n){var t;t="console"in window&&"log"in window.console?function(n){console.log(n)}:function(n){SimileAjax.Debug.silent||alert(n)};SimileAjax.Debug.log=t;t(n)};SimileAjax.Debug.warn=function(n){var t;t="console"in window&&"warn"in window.console?function(n){console.warn(n)}:function(n){SimileAjax.Debug.silent||alert(n)};SimileAjax.Debug.warn=t;t(n)};SimileAjax.Debug.exception=function(n,t){var i,r=SimileAjax.parseURLParameters();i=r.errors=="throw"||SimileAjax.params.errors=="throw"?function(n){throw n;}:"console"in window&&"error"in window.console?function(n,t){t!=null?console.error(t+" %o",n):console.error(n);throw n;}:function(n,t){SimileAjax.Debug.silent||alert("Caught exception: "+t+"\n\nDetails: "+("description"in n?n.description:n));throw n;};SimileAjax.Debug.exception=i;i(n,t)};SimileAjax.Debug.objectToString=function(n){return SimileAjax.Debug._objectToString(n,"")};SimileAjax.Debug._objectToString=function(n,t){var u=t+" ",r,i;if(typeof n=="object"){r="{";for(i in n)r+=u+i+": "+SimileAjax.Debug._objectToString(n[i],u)+"\n";return r+(t+"}")}if(typeof n=="array"){for(r="[",i=0;i<n.length;i++)r+=SimileAjax.Debug._objectToString(n[i],u)+"\n";return r+(t+"]")}return n};SimileAjax.DOM={};SimileAjax.DOM.registerEventWithObject=function(n,t,i,r){SimileAjax.DOM.registerEvent(n,t,function(n,t,u){return i[r].call(i,n,t,u)})};SimileAjax.DOM.registerEvent=function(n,t,i){var r=function(t){if(t=t?t:event?event:null,t){var r=t.target?t.target:t.srcElement?t.srcElement:null;return r&&(r=r.nodeType==1||r.nodeType==9?r:r.parentNode),i(n,t,r)}return!0};SimileAjax.Platform.browser.isIE?n.attachEvent("on"+t,r):n.addEventListener(t,r,!1)};SimileAjax.DOM.getPageCoordinates=function(n){var i=0,r=0,t,u;for(n.nodeType!=1&&(n=n.parentNode),t=n;t!=null;)i+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;for(u=document.body;n!=null&&n!=u;)"scrollLeft"in n&&(i-=n.scrollLeft,r-=n.scrollTop),n=n.parentNode;return{left:i,top:r}};SimileAjax.DOM.getSize=function(n){var t=this.getStyle(n,"width"),i=this.getStyle(n,"height");return t.indexOf("px")>-1&&(t=t.replace("px","")),i.indexOf("px")>-1&&(i=i.replace("px","")),{w:t,h:i}};SimileAjax.DOM.getStyle=function(n,t){var i;return n.currentStyle?n.currentStyle[t]:window.getComputedStyle?document.defaultView.getComputedStyle(n,null).getPropertyValue(t):""};SimileAjax.DOM.getEventRelativeCoordinates=function(n,t){var i;return SimileAjax.Platform.browser.isIE?n.type=="mousewheel"?(i=SimileAjax.DOM.getPageCoordinates(t),{x:n.clientX-i.left,y:n.clientY-i.top}):{x:n.offsetX,y:n.offsetY}:(i=SimileAjax.DOM.getPageCoordinates(t),n.type=="DOMMouseScroll"&&SimileAjax.Platform.browser.isFirefox&&SimileAjax.Platform.browser.majorVersion==2?{x:n.screenX-i.left,y:n.screenY-i.top}:{x:n.pageX-i.left,y:n.pageY-i.top})};SimileAjax.DOM.getEventPageCoordinates=function(n){return SimileAjax.Platform.browser.isIE?{x:n.clientX+document.body.scrollLeft,y:n.clientY+document.body.scrollTop}:{x:n.pageX,y:n.pageY}};SimileAjax.DOM.hittest=function(n,t,i){return SimileAjax.DOM._hittest(document.body,n,t,i)};SimileAjax.DOM._hittest=function(n,t,i,r){var a=n.childNodes,e,u,o,s,l;n:for(e=0;e<a.length;e++){for(u=a[e],o=0;o<r.length;o++)if(u==r[o])continue n;if(u.offsetWidth==0&&u.offsetHeight==0){if(s=SimileAjax.DOM._hittest(u,t,i,r),s!=u)return s}else{for(var h=0,c=0,f=u;f;)h+=f.offsetTop,c+=f.offsetLeft,f=f.offsetParent;if(c<=t&&h<=i&&t-c<u.offsetWidth&&i-h<u.offsetHeight)return SimileAjax.DOM._hittest(u,t,i,r);if(u.nodeType==1&&u.tagName=="TR"&&(l=SimileAjax.DOM._hittest(u,t,i,r),l!=u))return l}}return n};SimileAjax.DOM.cancelEvent=function(n){n.returnValue=!1;n.cancelBubble=!0;"preventDefault"in n&&n.preventDefault()};SimileAjax.DOM.appendClassName=function(n,t){for(var i=n.className.split(" "),r=0;r<i.length;r++)if(i[r]==t)return;i.push(t);n.className=i.join(" ")};SimileAjax.DOM.createInputElement=function(n){var t=document.createElement("div");return t.innerHTML="<input type='"+n+"' />",t.firstChild};SimileAjax.DOM.createDOMFromTemplate=function(n){var t={};return t.elmt=SimileAjax.DOM._createDOMFromTemplate(n,t,null),t};SimileAjax.DOM._createDOMFromTemplate=function(t,i,r){var h,u,o,f,e,c,s;if(t==null)return null;if(typeof t!="object")return h=document.createTextNode(t),r!=null&&r.appendChild(h),h;u=null;"tag"in t?(o=t.tag,r!=null&&(o=="tr"?u=r.insertRow(r.rows.length):o=="td"&&(u=r.insertCell(r.cells.length))),u==null&&(u=o=="input"?SimileAjax.DOM.createInputElement(t.type):document.createElement(o),r!=null&&r.appendChild(u))):(u=t.elmt,r!=null&&r.appendChild(u));for(f in t)if(e=t[f],f=="field")i[e]=u;else if(f=="className")u.className=e;else if(f=="id")u.id=e;else if(f=="title")u.title=e;else if(f!="type"||u.tagName!="input")if(f=="style")for(n in e)c=e[n],n=="float"&&(n=SimileAjax.Platform.browser.isIE?"styleFloat":"cssFloat"),u.style[n]=c;else if(f=="children")for(s=0;s<e.length;s++)SimileAjax.DOM._createDOMFromTemplate(e[s],i,u);else f!="tag"&&f!="elmt"&&u.setAttribute(f,e);return u};SimileAjax.DOM._cachedParent=null;SimileAjax.DOM.createElementFromString=function(n){return SimileAjax.DOM._cachedParent==null&&(SimileAjax.DOM._cachedParent=document.createElement("div")),SimileAjax.DOM._cachedParent.innerHTML=n,SimileAjax.DOM._cachedParent.firstChild};SimileAjax.DOM.createDOMFromString=function(n,t,i){var r=typeof n=="string"?document.createElement(n):n,u;return r.innerHTML=t,u={elmt:r},SimileAjax.DOM._processDOMChildrenConstructedFromString(u,r,i!=null?i:{}),u};SimileAjax.DOM._processDOMConstructedFromString=function(n,t,i){var r=t.id,u;if(r!=null&&r.length>0){if(t.removeAttribute("id"),r in i){u=t.parentNode;u.insertBefore(i[r],t);u.removeChild(t);n[r]=i[r];return}n[r]=t}t.hasChildNodes()&&SimileAjax.DOM._processDOMChildrenConstructedFromString(n,t,i)};SimileAjax.DOM._processDOMChildrenConstructedFromString=function(n,t,i){for(var r=t.firstChild,u;r!=null;)u=r.nextSibling,r.nodeType==1&&SimileAjax.DOM._processDOMConstructedFromString(n,r,i),r=u};SimileAjax.Graphics={};SimileAjax.Graphics.pngIsTranslucent=!SimileAjax.Platform.browser.isIE||SimileAjax.Platform.browser.majorVersion>6;SimileAjax.Graphics.pngIsTranslucent||SimileAjax.includeCssFile(document,SimileAjax.urlPrefix+"styles/graphics-ie6.css");SimileAjax.Graphics._createTranslucentImage1=function(n,t){var i=document.createElement("img");return i.setAttribute("src",n),t!=null&&(i.style.verticalAlign=t),i};SimileAjax.Graphics._createTranslucentImage2=function(n,t){var i=document.createElement("img");return i.style.width="1px",i.style.height="1px",i.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+n+"', sizingMethod='image')",i.style.verticalAlign=t!=null?t:"middle",i};SimileAjax.Graphics.createTranslucentImage=SimileAjax.Graphics.pngIsTranslucent?SimileAjax.Graphics._createTranslucentImage1:SimileAjax.Graphics._createTranslucentImage2;SimileAjax.Graphics._createTranslucentImageHTML1=function(n,t){return'<img src="'+n+'"'+(t!=null?' style="vertical-align: '+t+';"':"")+" />"};SimileAjax.Graphics._createTranslucentImageHTML2=function(n,t){var i="width: 1px; height: 1px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+n+"', sizingMethod='image');"+(t!=null?" vertical-align: "+t+";":"");return"<img src='"+n+"' style=\""+i+'" />'};SimileAjax.Graphics.createTranslucentImageHTML=SimileAjax.Graphics.pngIsTranslucent?SimileAjax.Graphics._createTranslucentImageHTML1:SimileAjax.Graphics._createTranslucentImageHTML2;SimileAjax.Graphics.setOpacity=function(n,t){if(SimileAjax.Platform.browser.isIE)n.style.filter="progid:DXImageTransform.Microsoft.Alpha(Style=0,Opacity="+t+")";else{var i=(t/100).toString();n.style.opacity=i;n.style.MozOpacity=i}};SimileAjax.Graphics.bubbleConfig={containerCSSClass:"simileAjax-bubble-container",innerContainerCSSClass:"simileAjax-bubble-innerContainer",contentContainerCSSClass:"simileAjax-bubble-contentContainer",borderGraphicSize:50,borderGraphicCSSClassPrefix:"simileAjax-bubble-border-",arrowGraphicTargetOffset:33,arrowGraphicLength:100,arrowGraphicWidth:49,arrowGraphicCSSClassPrefix:"simileAjax-bubble-arrow-",closeGraphicCSSClass:"simileAjax-bubble-close",extraPadding:20};SimileAjax.Graphics.createBubbleForContentAndPoint=function(n,t,i,r,u,f){typeof r!="number"&&(r=300);typeof f!="number"&&(f=0);n.style.position="absolute";n.style.left="-5000px";n.style.top="0px";n.style.width=r+"px";document.body.appendChild(n);window.setTimeout(function(){var e=n.scrollWidth+10,o=n.scrollHeight+10,s=0,h,r;f>0&&o>f&&(o=f,s=e-25);h=SimileAjax.Graphics.createBubbleForPoint(t,i,e,o,u);document.body.removeChild(n);n.style.position="static";n.style.left="";n.style.top="";s>0?(r=document.createElement("div"),n.style.width="",r.style.width=s+"px",r.appendChild(n),h.content.appendChild(r)):(n.style.width=e+"px",h.content.appendChild(n))},200)};SimileAjax.Graphics.createBubbleForPoint=function(n,t,i,r,u){var h,s,l,a;i=parseInt(i,10);r=parseInt(r,10);var f=SimileAjax.Graphics.bubbleConfig,v=SimileAjax.Graphics.pngIsTranslucent?"pngTranslucent":"pngNotTranslucent",w=i+2*f.borderGraphicSize,b=r+2*f.borderGraphicSize,c=function(n){return n+" "+n+"-"+v},e=document.createElement("div");e.className=c(f.containerCSSClass);e.style.width=i+"px";e.style.height=r+"px";h=document.createElement("div");h.className=c(f.innerContainerCSSClass);e.appendChild(h);var y=function(){o._closed||(document.body.removeChild(o._div),o._doc=null,o._div=null,o._content=null,o._closed=!0)},o={_closed:!1},p=SimileAjax.WindowManager.pushLayer(y,!0,e);return o._div=e,o.close=function(){SimileAjax.WindowManager.popLayer(p)},s=function(n){var t=document.createElement("div");t.className=c(f.borderGraphicCSSClassPrefix+n);h.appendChild(t)},s("top-left"),s("top-right"),s("bottom-left"),s("bottom-right"),s("left"),s("right"),s("top"),s("bottom"),l=document.createElement("div"),l.className=c(f.contentContainerCSSClass),h.appendChild(l),o.content=l,a=document.createElement("div"),a.className=c(f.closeGraphicCSSClass),h.appendChild(a),SimileAjax.WindowManager.registerEventWithObject(a,"click",o,"close"),function(){var w=SimileAjax.Graphics.getWindowDimensions(),y=w.w,p=w.h,a=Math.ceil(f.arrowGraphicWidth/2),v=function(n){var t=document.createElement("div");return t.className=c(f.arrowGraphicCSSClassPrefix+"point-"+n),h.appendChild(t),t},o,l,s;if(n-a-f.borderGraphicSize-f.extraPadding>0&&n+a+f.borderGraphicSize+f.extraPadding<y){if(o=n-Math.round(i/2),o=n<y/2?Math.max(o,f.extraPadding+f.borderGraphicSize):Math.min(o,y-f.extraPadding-f.borderGraphicSize-i),u&&u=="top"||!u&&t-f.arrowGraphicTargetOffset-r-f.borderGraphicSize-f.extraPadding>0){s=v("down");s.style.left=n-a-o+"px";e.style.left=o+"px";e.style.top=t-f.arrowGraphicTargetOffset-r+"px";return}if(u&&u=="bottom"||!u&&t+f.arrowGraphicTargetOffset+r+f.borderGraphicSize+f.extraPadding<p){s=v("up");s.style.left=n-a-o+"px";e.style.left=o+"px";e.style.top=t+f.arrowGraphicTargetOffset+"px";return}}l=t-Math.round(r/2);l=t<p/2?Math.max(l,f.extraPadding+f.borderGraphicSize):Math.min(l,p-f.extraPadding-f.borderGraphicSize-r);u&&u=="left"||!u&&n-f.arrowGraphicTargetOffset-i-f.borderGraphicSize-f.extraPadding>0?(s=v("right"),s.style.top=t-a-l+"px",e.style.top=l+"px",e.style.left=n-f.arrowGraphicTargetOffset-i+"px"):(s=v("left"),s.style.top=t-a-l+"px",e.style.top=l+"px",e.style.left=n+f.arrowGraphicTargetOffset+"px")}(),document.body.appendChild(e),o};SimileAjax.Graphics.getWindowDimensions=function(){return typeof innerHeight=="number"?{w:window.innerWidth,h:window.innerHeight}:document.documentElement&&document.documentElement.clientHeight?{w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}:document.body&&document.body.clientHeight?{w:document.body.clientWidth,h:document.body.clientHeight}:void 0};SimileAjax.Graphics.createMessageBubble=function(n){var t=n.createElement("div"),i,o,u,f,r,s,e;return SimileAjax.Graphics.pngIsTranslucent?(i=n.createElement("div"),i.style.height="33px",i.style.background="url("+SimileAjax.urlPrefix+"images/message-top-left.png) top left no-repeat",i.style.paddingLeft="44px",t.appendChild(i),o=n.createElement("div"),o.style.height="33px",o.style.background="url("+SimileAjax.urlPrefix+"images/message-top-right.png) top right no-repeat",i.appendChild(o),u=n.createElement("div"),u.style.background="url("+SimileAjax.urlPrefix+"images/message-left.png) top left repeat-y",u.style.paddingLeft="44px",t.appendChild(u),f=n.createElement("div"),f.style.background="url("+SimileAjax.urlPrefix+"images/message-right.png) top right repeat-y",f.style.paddingRight="44px",u.appendChild(f),e=n.createElement("div"),f.appendChild(e),r=n.createElement("div"),r.style.height="55px",r.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-left.png) bottom left no-repeat",r.style.paddingLeft="44px",t.appendChild(r),s=n.createElement("div"),s.style.height="55px",s.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-right.png) bottom right no-repeat",r.appendChild(s)):(t.style.border="2px solid #7777AA",t.style.padding="20px",t.style.background="white",SimileAjax.Graphics.setOpacity(t,90),e=n.createElement("div"),t.appendChild(e)),{containerDiv:t,contentDiv:e}};SimileAjax.Graphics.createAnimation=function(n,t,i,r,u){return new SimileAjax.Graphics._Animation(n,t,i,r,u)};SimileAjax.Graphics._Animation=function(n,t,i,r,u){this.f=n;this.cont=typeof u=="function"?u:function(){};this.from=t;this.to=i;this.current=t;this.duration=r;this.start=(new Date).getTime();this.timePassed=0};SimileAjax.Graphics._Animation.prototype.run=function(){var n=this;window.setTimeout(function(){n.step()},50)};SimileAjax.Graphics._Animation.prototype.step=function(){this.timePassed+=50;var t=this.timePassed/this.duration,i=-Math.cos(t*Math.PI)/2+.5,n=i*(this.to-this.from)+this.from;try{this.f(n,n-this.current)}catch(r){}this.current=n;this.timePassed<this.duration?this.run():(this.f(this.to,0),this.cont())};SimileAjax.Graphics.createStructuredDataCopyButton=function(n,t,i,r){var u=document.createElement("div"),e,f;return u.style.position="relative",u.style.display="inline",u.style.width=t+"px",u.style.height=i+"px",u.style.overflow="hidden",u.style.margin="2px",SimileAjax.Graphics.pngIsTranslucent?u.style.background="url("+n+") no-repeat":u.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+n+"', sizingMethod='image')",e=SimileAjax.Platform.browser.isIE?"filter:alpha(opacity=0)":"opacity: 0",u.innerHTML="<textarea rows='1' autocomplete='off' value='none' style='"+e+"' />",f=u.firstChild,f.style.width=t+"px",f.style.height=i+"px",f.onmousedown=function(n){n=n?n:event?event:null;n.button==2&&(f.value=r(),f.select())},u};SimileAjax.Graphics.getWidthHeight=function(n){var i,r,t;return n.getBoundingClientRect==null?(i=n.offsetWidth,r=n.offsetHeight):(t=n.getBoundingClientRect(),i=Math.ceil(t.right-t.left),r=Math.ceil(t.bottom-t.top)),{width:i,height:r}};SimileAjax.Graphics.getFontRenderingContext=function(n,t){return new SimileAjax.Graphics._FontRenderingContext(n,t)};SimileAjax.Graphics._FontRenderingContext=function(n,t){this._elmt=n;this._elmt.style.visibility="hidden";typeof t=="string"?this._elmt.style.width=t:typeof t=="number"&&(this._elmt.style.width=t+"px")};SimileAjax.Graphics._FontRenderingContext.prototype.dispose=function(){this._elmt=null};SimileAjax.Graphics._FontRenderingContext.prototype.update=function(){this._elmt.innerHTML="A";this._lineHeight=this._elmt.offsetHeight};SimileAjax.Graphics._FontRenderingContext.prototype.computeSize=function(n,t){var i=this._elmt,r;return i.innerHTML=n,i.className=t===undefined?"":t,r=SimileAjax.Graphics.getWidthHeight(i),i.className="",r};SimileAjax.Graphics._FontRenderingContext.prototype.getLineHeight=function(){return this._lineHeight};SimileAjax.History={maxHistoryLength:10,historyFile:"__history__.html",enabled:!0,_initialized:!1,_listeners:new SimileAjax.ListenerQueue,_actions:[],_baseIndex:0,_currentIndex:0,_plainDocumentTitle:document.title};SimileAjax.History.formatHistoryEntryTitle=function(n){return SimileAjax.History._plainDocumentTitle+" {"+n+"}"};SimileAjax.History.initialize=function(){if(!SimileAjax.History._initialized){if(SimileAjax.History.enabled){var n=document.createElement("iframe");n.id="simile-ajax-history";n.style.position="absolute";n.style.width="10px";n.style.height="10px";n.style.top="0px";n.style.left="0px";n.style.visibility="hidden";n.src=SimileAjax.History.historyFile+"?0";document.body.appendChild(n);SimileAjax.DOM.registerEvent(n,"load",SimileAjax.History._handleIFrameOnLoad);SimileAjax.History._iframe=n}SimileAjax.History._initialized=!0}};SimileAjax.History.addListener=function(n){SimileAjax.History.initialize();SimileAjax.History._listeners.add(n)};SimileAjax.History.removeListener=function(n){SimileAjax.History.initialize();SimileAjax.History._listeners.remove(n)};SimileAjax.History.addAction=function(n){SimileAjax.History.initialize();SimileAjax.History._listeners.fire("onBeforePerform",[n]);window.setTimeout(function(){var t,i;try{if(n.perform(),SimileAjax.History._listeners.fire("onAfterPerform",[n]),SimileAjax.History.enabled){SimileAjax.History._actions=SimileAjax.History._actions.slice(0,SimileAjax.History._currentIndex-SimileAjax.History._baseIndex);SimileAjax.History._actions.push(n);SimileAjax.History._currentIndex++;t=SimileAjax.History._actions.length-SimileAjax.History.maxHistoryLength;t>0&&(SimileAjax.History._actions=SimileAjax.History._actions.slice(t),SimileAjax.History._baseIndex+=t);try{SimileAjax.History._iframe.contentWindow.location.search="?"+SimileAjax.History._currentIndex}catch(r){i=SimileAjax.History.formatHistoryEntryTitle(n.label);document.title=i}}}catch(r){SimileAjax.Debug.exception(r,"Error adding action {"+n.label+"} to history")}},0)};SimileAjax.History.addLengthyAction=function(n,t,i){SimileAjax.History.addAction({perform:n,undo:t,label:i,uiLayer:SimileAjax.WindowManager.getBaseLayer(),lengthy:!0})};SimileAjax.History._handleIFrameOnLoad=function(){var t,i;try{var r=SimileAjax.History._iframe.contentWindow.location.search,n=r.length==0?0:Math.max(0,parseInt(r.substr(1))),u=function(){var t=n-SimileAjax.History._currentIndex;SimileAjax.History._currentIndex+=t;SimileAjax.History._baseIndex+=t;SimileAjax.History._iframe.contentWindow.location.search="?"+n};n<SimileAjax.History._currentIndex?(SimileAjax.History._listeners.fire("onBeforeUndoSeveral",[]),window.setTimeout(function(){while(SimileAjax.History._currentIndex>n&&SimileAjax.History._currentIndex>SimileAjax.History._baseIndex){SimileAjax.History._currentIndex--;var t=SimileAjax.History._actions[SimileAjax.History._currentIndex-SimileAjax.History._baseIndex];try{t.undo()}catch(i){SimileAjax.Debug.exception(i,"History: Failed to undo action {"+t.label+"}")}}SimileAjax.History._listeners.fire("onAfterUndoSeveral",[]);u()},0)):n>SimileAjax.History._currentIndex?(SimileAjax.History._listeners.fire("onBeforeRedoSeveral",[]),window.setTimeout(function(){while(SimileAjax.History._currentIndex<n&&SimileAjax.History._currentIndex-SimileAjax.History._baseIndex<SimileAjax.History._actions.length){var t=SimileAjax.History._actions[SimileAjax.History._currentIndex-SimileAjax.History._baseIndex];try{t.perform()}catch(i){SimileAjax.Debug.exception(i,"History: Failed to redo action {"+t.label+"}")}SimileAjax.History._currentIndex++}SimileAjax.History._listeners.fire("onAfterRedoSeveral",[]);u()},0)):(t=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex-1,i=t>=0&&t<SimileAjax.History._actions.length?SimileAjax.History.formatHistoryEntryTitle(SimileAjax.History._actions[t].label):SimileAjax.History._plainDocumentTitle,SimileAjax.History._iframe.contentWindow.document.title=i,document.title=i)}catch(f){}};SimileAjax.History.getNextUndoAction=function(){try{var n=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex-1;return SimileAjax.History._actions[n]}catch(t){return null}};SimileAjax.History.getNextRedoAction=function(){try{var n=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex;return SimileAjax.History._actions[n]}catch(t){return null}};SimileAjax.HTML={};SimileAjax.HTML._e2uHash={},function(){var n=SimileAjax.HTML._e2uHash;n.nbsp=" [space]";n.iexcl="¡";n.cent="¢";n.pound="£";n.curren="¤";n.yen="¥";n.brvbar="¦";n.sect="§";n.uml="¨";n.copy="©";n.ordf="ª";n.laquo="«";n.not="¬";n.shy="­";n.reg="®";n.macr="¯";n.deg="°";n.plusmn="±";n.sup2="²";n.sup3="³";n.acute="´";n.micro="µ";n.para="¶";n.middot="·";n.cedil="¸";n.sup1="¹";n.ordm="º";n.raquo="»";n.frac14="¼";n.frac12="½";n.frac34="¾";n.iquest="¿";n.Agrave="À";n.Aacute="Á";n.Acirc="Â";n.Atilde="Ã";n.Auml="Ä";n.Aring="Å";n.AElig="Æ";n.Ccedil="Ç";n.Egrave="È";n.Eacute="É";n.Ecirc="Ê";n.Euml="Ë";n.Igrave="Ì";n.Iacute="Í";n.Icirc="Î";n.Iuml="Ï";n.ETH="Ð";n.Ntilde="Ñ";n.Ograve="Ò";n.Oacute="Ó";n.Ocirc="Ô";n.Otilde="Õ";n.Ouml="Ö";n.times="×";n.Oslash="Ø";n.Ugrave="Ù";n.Uacute="Ú";n.Ucirc="Û";n.Uuml="Ü";n.Yacute="Ý";n.THORN="Þ";n.szlig="ß";n.agrave="à";n.aacute="á";n.acirc="â";n.atilde="ã";n.auml="ä";n.aring="å";n.aelig="æ";n.ccedil="ç";n.egrave="è";n.eacute="é";n.ecirc="ê";n.euml="ë";n.igrave="ì";n.iacute="í";n.icirc="î";n.iuml="ï";n.eth="ð";n.ntilde="ñ";n.ograve="ò";n.oacute="ó";n.ocirc="ô";n.otilde="õ";n.ouml="ö";n.divide="÷";n.oslash="ø";n.ugrave="ù";n.uacute="ú";n.ucirc="û";n.uuml="ü";n.yacute="ý";n.thorn="þ";n.yuml="ÿ";n.quot='"';n.amp="&";n.lt="<";n.gt=">";n.OElig="";n.oelig="œ";n.Scaron="Š";n.scaron="š";n.Yuml="Ÿ";n.circ="ˆ";n.tilde="˜";n.ensp="";n.emsp="";n.thinsp="";n.zwnj="";n.zwj="";n.lrm="";n.rlm="";n.ndash="";n.mdash="—";n.lsquo="";n.rsquo="";n.sbquo="";n.ldquo="“";n.rdquo="”";n.bdquo="„";n.dagger="†";n.Dagger="‡";n.permil="‰";n.lsaquo="";n.rsaquo="";n.euro="€";n.fnof="ƒ";n.Alpha="Α";n.Beta="Β";n.Gamma="Γ";n.Delta="Δ";n.Epsilon="Ε";n.Zeta="Ζ";n.Eta="Η";n.Theta="Θ";n.Iota="Ι";n.Kappa="Κ";n.Lambda="Λ";n.Mu="Μ";n.Nu="Ν";n.Xi="Ξ";n.Omicron="Ο";n.Pi="Π";n.Rho="Ρ";n.Sigma="Σ";n.Tau="Τ";n.Upsilon="Υ";n.Phi="Φ";n.Chi="Χ";n.Psi="Ψ";n.Omega="Ω";n.alpha="α";n.beta="β";n.gamma="γ";n.delta="δ";n.epsilon="ε";n.zeta="ζ";n.eta="η";n.theta="θ";n.iota="ι";n.kappa="κ";n.lambda="λ";n.mu="μ";n.nu="ν";n.xi="ξ";n.omicron="ο";n.pi="π";n.rho="ρ";n.sigmaf="ς";n.sigma="σ";n.tau="τ";n.upsilon="υ";n.phi="φ";n.chi="χ";n.psi="ψ";n.omega="ω";n.thetasym="ϑ";n.upsih="ϒ";n.piv="ϖ";n.bull="•";n.hellip="…";n.prime="";n.Prime="″";n.oline="‾";n.frasl="";n.weierp="℘";n.image="";n.real="";n.trade="™";n.alefsym="ℵ";n.larr="←";n.uarr="↑";n.rarr="→";n.darr="↓";n.harr="↔";n.crarr="↵";n.lArr="⇐";n.uArr="⇑";n.rArr="⇒";n.dArr="⇓";n.hArr="⇔";n.forall="∀";n.part="∂";n.exist="∃";n.empty="∅";n.nabla="∇";n.isin="∈";n.notin="∉";n.ni="∋";n.prod="∏";n.sum="∑";n.minus="";n.lowast="";n.radic="√";n.prop="∝";n.infin="∞";n.ang="∠";n.and="∧";n.or="";n.cap="∩";n.cup="";n.int="∫";n.there4="∴";n.sim="";n.cong="≅";n.asymp="≈";n.ne="≠";n.equiv="≡";n.le="≤";n.ge="≥";n.sub="⊂";n.sup="⊃";n.nsub="⊄";n.sube="⊆";n.supe="⊇";n.oplus="⊕";n.otimes="⊗";n.perp="⊥";n.sdot="⋅";n.lceil="⌈";n.rceil="⌉";n.lfloor="⌊";n.rfloor="⌋";n.lang="〈";n.rang="〉";n.loz="◊";n.spades="♠";n.clubs="♣";n.hearts="♥";n.diams="♦"}();SimileAjax.HTML.deEntify=function(n){for(var r=SimileAjax.HTML._e2uHash,t=/&(\w+?);/,i;t.test(n);)i=n.match(t),n=n.replace(t,r[i[1]]);return n};SimileAjax.JSON={},function(){var t={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},n={array:function(t){for(var i=["["],e,f,o=t.length,r,u=0;u<o;u+=1)r=t[u],f=n[typeof r],f&&(r=f(r),typeof r=="string"&&(e&&(i[i.length]=","),i[i.length]=r,e=!0));return i[i.length]="]",i.join("")},boolean:function(n){return String(n)},"null":function(){return"null"},number:function(n){return isFinite(n)?String(n):"null"},object:function(t){if(t){if(t instanceof Array)return n.array(t);var i=["{"],e,u,f,r;for(f in t)r=t[f],u=n[typeof r],u&&(r=u(r),typeof r=="string"&&(e&&(i[i.length]=","),i.push(n.string(f),":",r),e=!0));return i[i.length]="}",i.join("")}return"null"},string:function(n){return/["\\\x00-\x1f]/.test(n)&&(n=n.replace(/([\x00-\x1f\\"])/g,function(n,i){var r=t[i];return r?r:(r=i.charCodeAt(),"\\u00"+Math.floor(r/16).toString(16)+(r%16).toString(16))})),'"'+n+'"'}};SimileAjax.JSON.toJSONString=function(t){return t instanceof Object?n.object(t):t instanceof Array?n.array(t):t.toString()};SimileAjax.JSON.parseJSON=function(){try{return!/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(this.replace(/"(\\.|[^"\\])*"/g,""))&&eval("("+this+")")}catch(e){return!1}}}();String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.startsWith=function(n){return this.length>=n.length&&this.substr(0,n.length)==n};String.prototype.endsWith=function(n){return this.length>=n.length&&this.substr(this.length-n.length)==n};String.substitute=function(n,t){for(var u="",r=0,i,f;r<n.length-1;)if(i=n.indexOf("%",r),i<0||i==n.length-1)break;else i>r&&n.charAt(i-1)=="\\"?(u+=n.substring(r,i-1)+"%",r=i+1):(f=parseInt(n.charAt(i+1)),u+=isNaN(f)||f>=t.length?n.substring(r,i+2):n.substring(r,i)+t[f].toString(),r=i+2);return r<n.length&&(u+=n.substring(r)),u};SimileAjax.NativeDateUnit={};SimileAjax.NativeDateUnit.makeDefaultValue=function(){return new Date};SimileAjax.NativeDateUnit.cloneValue=function(n){return new Date(n.getTime())};SimileAjax.NativeDateUnit.getParser=function(n){return typeof n=="string"&&(n=n.toLowerCase()),n=="iso8601"||n=="iso 8601"?SimileAjax.DateTime.parseIso8601DateTime:SimileAjax.DateTime.parseGregorianDateTime};SimileAjax.NativeDateUnit.parseFromObject=function(n){return SimileAjax.DateTime.parseGregorianDateTime(n)};SimileAjax.NativeDateUnit.toNumber=function(n){return n.getTime()};SimileAjax.NativeDateUnit.fromNumber=function(n){return new Date(n)};SimileAjax.NativeDateUnit.compare=function(n,t){var i,r;return i=typeof n=="object"?n.getTime():Number(n),r=typeof t=="object"?t.getTime():Number(t),i-r};SimileAjax.NativeDateUnit.earlier=function(n,t){return SimileAjax.NativeDateUnit.compare(n,t)<0?n:t};SimileAjax.NativeDateUnit.later=function(n,t){return SimileAjax.NativeDateUnit.compare(n,t)>0?n:t};SimileAjax.NativeDateUnit.change=function(n,t){return new Date(n.getTime()+t)};SimileAjax.WindowManager={_initialized:!1,_listeners:[],_draggedElement:null,_draggedElementCallback:null,_dropTargetHighlightElement:null,_lastCoords:null,_ghostCoords:null,_draggingMode:"",_dragging:!1,_layers:[]};SimileAjax.WindowManager.initialize=function(){SimileAjax.WindowManager._initialized||(SimileAjax.DOM.registerEvent(document.body,"mousedown",SimileAjax.WindowManager._onBodyMouseDown),SimileAjax.DOM.registerEvent(document.body,"mousemove",SimileAjax.WindowManager._onBodyMouseMove),SimileAjax.DOM.registerEvent(document.body,"mouseup",SimileAjax.WindowManager._onBodyMouseUp),SimileAjax.DOM.registerEvent(document,"keydown",SimileAjax.WindowManager._onBodyKeyDown),SimileAjax.DOM.registerEvent(document,"keyup",SimileAjax.WindowManager._onBodyKeyUp),SimileAjax.WindowManager._layers.push({index:0}),SimileAjax.WindowManager._historyListener={onBeforeUndoSeveral:function(){},onAfterUndoSeveral:function(){},onBeforeUndo:function(){},onAfterUndo:function(){},onBeforeRedoSeveral:function(){},onAfterRedoSeveral:function(){},onBeforeRedo:function(){},onAfterRedo:function(){}},SimileAjax.History.addListener(SimileAjax.WindowManager._historyListener),SimileAjax.WindowManager._initialized=!0)};SimileAjax.WindowManager.getBaseLayer=function(){return SimileAjax.WindowManager.initialize(),SimileAjax.WindowManager._layers[0]};SimileAjax.WindowManager.getHighestLayer=function(){return SimileAjax.WindowManager.initialize(),SimileAjax.WindowManager._layers[SimileAjax.WindowManager._layers.length-1]};SimileAjax.WindowManager.registerEventWithObject=function(n,t,i,r,u){SimileAjax.WindowManager.registerEvent(n,t,function(n,t,u){return i[r].call(i,n,t,u)},u)};SimileAjax.WindowManager.registerEvent=function(n,t,i,r){r==null&&(r=SimileAjax.WindowManager.getHighestLayer());var u=function(n,t,u){if(SimileAjax.WindowManager._canProcessEventAtLayer(r)){SimileAjax.WindowManager._popToLayer(r.index);try{i(n,t,u)}catch(f){SimileAjax.Debug.exception(f)}}return SimileAjax.DOM.cancelEvent(t),!1};SimileAjax.DOM.registerEvent(n,t,u)};SimileAjax.WindowManager.pushLayer=function(n,t,i){var r={onPop:n,index:SimileAjax.WindowManager._layers.length,ephemeral:t,elmt:i};return SimileAjax.WindowManager._layers.push(r),r};SimileAjax.WindowManager.popLayer=function(n){for(var t=1;t<SimileAjax.WindowManager._layers.length;t++)if(SimileAjax.WindowManager._layers[t]==n){SimileAjax.WindowManager._popToLayer(t-1);break}};SimileAjax.WindowManager.popAllLayers=function(){SimileAjax.WindowManager._popToLayer(0)};SimileAjax.WindowManager.registerForDragging=function(n,t,i){SimileAjax.WindowManager.registerEvent(n,"mousedown",function(n,i){SimileAjax.WindowManager._handleMouseDown(n,i,t)},i)};SimileAjax.WindowManager._popToLayer=function(n){while(n+1<SimileAjax.WindowManager._layers.length)try{var t=SimileAjax.WindowManager._layers.pop();t.onPop!=null&&t.onPop()}catch(i){}};SimileAjax.WindowManager._canProcessEventAtLayer=function(n){if(n.index==SimileAjax.WindowManager._layers.length-1)return!0;for(var t=n.index+1;t<SimileAjax.WindowManager._layers.length;t++)if(!SimileAjax.WindowManager._layers[t].ephemeral)return!1;return!0};SimileAjax.WindowManager.cancelPopups=function(n){for(var r=n?SimileAjax.DOM.getEventPageCoordinates(n):{x:-1,y:-1},t=SimileAjax.WindowManager._layers.length-1,f,u,i;t>0&&SimileAjax.WindowManager._layers[t].ephemeral;){if(f=SimileAjax.WindowManager._layers[t],f.elmt!=null&&(u=f.elmt,i=SimileAjax.DOM.getPageCoordinates(u),r.x>=i.left&&r.x<i.left+u.offsetWidth&&r.y>=i.top&&r.y<i.top+u.offsetHeight))break;t--}SimileAjax.WindowManager._popToLayer(t)};SimileAjax.WindowManager._onBodyMouseDown=function(n,t){"eventPhase"in t&&t.eventPhase!=t.BUBBLING_PHASE||SimileAjax.WindowManager.cancelPopups(t)};SimileAjax.WindowManager._handleMouseDown=function(n,t,i){return SimileAjax.WindowManager._draggedElement=n,SimileAjax.WindowManager._draggedElementCallback=i,SimileAjax.WindowManager._lastCoords={x:t.clientX,y:t.clientY},SimileAjax.DOM.cancelEvent(t),!1};SimileAjax.WindowManager._onBodyKeyDown=function(n,t){if(SimileAjax.WindowManager._dragging)if(t.keyCode==27)SimileAjax.WindowManager._cancelDragging();else if((t.keyCode==17||t.keyCode==16)&&SimileAjax.WindowManager._draggingMode!="copy"){SimileAjax.WindowManager._draggingMode="copy";var i=SimileAjax.Graphics.createTranslucentImage(SimileAjax.urlPrefix+"images/copy.png");i.style.position="absolute";i.style.left=SimileAjax.WindowManager._ghostCoords.left-16+"px";i.style.top=SimileAjax.WindowManager._ghostCoords.top+"px";document.body.appendChild(i);SimileAjax.WindowManager._draggingModeIndicatorElmt=i}};SimileAjax.WindowManager._onBodyKeyUp=function(n,t){SimileAjax.WindowManager._dragging&&(t.keyCode==17||t.keyCode==16)&&(SimileAjax.WindowManager._draggingMode="",SimileAjax.WindowManager._draggingModeIndicatorElmt!=null&&(document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt),SimileAjax.WindowManager._draggingModeIndicatorElmt=null))};SimileAjax.WindowManager._onBodyMouseMove=function(n,t,i){var s,u,h,c,i,l;if(SimileAjax.WindowManager._draggedElement!=null){var r=SimileAjax.WindowManager._draggedElementCallback,v=SimileAjax.WindowManager._lastCoords,e=t.clientX-v.x,o=t.clientY-v.y;if(SimileAjax.WindowManager._dragging)try{if(SimileAjax.WindowManager._lastCoords={x:t.clientX,y:t.clientY},"onDragBy"in r)r.onDragBy(e,o);if("_ghostElmt"in r&&(u=r._ghostElmt,SimileAjax.WindowManager._ghostCoords.left+=e,SimileAjax.WindowManager._ghostCoords.top+=o,u.style.left=SimileAjax.WindowManager._ghostCoords.left+"px",u.style.top=SimileAjax.WindowManager._ghostCoords.top+"px",SimileAjax.WindowManager._draggingModeIndicatorElmt!=null&&(h=SimileAjax.WindowManager._draggingModeIndicatorElmt,h.style.left=SimileAjax.WindowManager._ghostCoords.left-16+"px",h.style.top=SimileAjax.WindowManager._ghostCoords.top+"px"),"droppable"in r&&r.droppable&&(c=SimileAjax.DOM.getEventPageCoordinates(t),i=SimileAjax.DOM.hittest(c.x,c.y,[SimileAjax.WindowManager._ghostElmt,SimileAjax.WindowManager._dropTargetHighlightElement]),i=SimileAjax.WindowManager._findDropTarget(i),i!=SimileAjax.WindowManager._potentialDropTarget&&(SimileAjax.WindowManager._dropTargetHighlightElement!=null&&(document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement),SimileAjax.WindowManager._dropTargetHighlightElement=null,SimileAjax.WindowManager._potentialDropTarget=null),l=!1,i!=null&&("canDropOn"in r&&!r.canDropOn(i)||"canDrop"in i&&!i.canDrop(SimileAjax.WindowManager._draggedElement)||(l=!0)),l)))){var a=4,p=SimileAjax.DOM.getPageCoordinates(i),f=document.createElement("div");f.style.border=a+"px solid yellow";f.style.backgroundColor="yellow";f.style.position="absolute";f.style.left=p.left+"px";f.style.top=p.top+"px";f.style.width=i.offsetWidth-a*2+"px";f.style.height=i.offsetHeight-a*2+"px";SimileAjax.Graphics.setOpacity(f,30);document.body.appendChild(f);SimileAjax.WindowManager._potentialDropTarget=i;SimileAjax.WindowManager._dropTargetHighlightElement=f}}catch(y){SimileAjax.Debug.exception("WindowManager: Error handling mouse move",y);SimileAjax.WindowManager._cancelDragging()}else if(Math.abs(e)>5||Math.abs(o)>5)try{"onDragStart"in r&&r.onDragStart();"ghost"in r&&r.ghost&&(s=SimileAjax.WindowManager._draggedElement,SimileAjax.WindowManager._ghostCoords=SimileAjax.DOM.getPageCoordinates(s),SimileAjax.WindowManager._ghostCoords.left+=e,SimileAjax.WindowManager._ghostCoords.top+=o,u=s.cloneNode(!0),u.style.position="absolute",u.style.left=SimileAjax.WindowManager._ghostCoords.left+"px",u.style.top=SimileAjax.WindowManager._ghostCoords.top+"px",u.style.zIndex=1e3,SimileAjax.Graphics.setOpacity(u,50),document.body.appendChild(u),r._ghostElmt=u);SimileAjax.WindowManager._dragging=!0;SimileAjax.WindowManager._lastCoords={x:t.clientX,y:t.clientY};document.body.focus()}catch(y){SimileAjax.Debug.exception("WindowManager: Error handling mouse down",y);SimileAjax.WindowManager._cancelDragging()}return SimileAjax.DOM.cancelEvent(t),!1}};SimileAjax.WindowManager._onBodyMouseUp=function(n,t,i){var r,u,i;if(SimileAjax.WindowManager._draggedElement!=null){try{if(SimileAjax.WindowManager._dragging&&(r=SimileAjax.WindowManager._draggedElementCallback,"onDragEnd"in r&&r.onDragEnd(),"droppable"in r&&r.droppable)){if(u=!1,i=SimileAjax.WindowManager._potentialDropTarget,i!=null&&(!("canDropOn"in r)||r.canDropOn(i))&&(!("canDrop"in i)||i.canDrop(SimileAjax.WindowManager._draggedElement))){if("onDropOn"in r)r.onDropOn(i);i.ondrop(SimileAjax.WindowManager._draggedElement,SimileAjax.WindowManager._draggingMode);u=!0}!u}}finally{SimileAjax.WindowManager._cancelDragging()}return SimileAjax.DOM.cancelEvent(t),!1}};SimileAjax.WindowManager._cancelDragging=function(){var n=SimileAjax.WindowManager._draggedElementCallback,t;"_ghostElmt"in n&&(t=n._ghostElmt,document.body.removeChild(t),delete n._ghostElmt);SimileAjax.WindowManager._dropTargetHighlightElement!=null&&(document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement),SimileAjax.WindowManager._dropTargetHighlightElement=null);SimileAjax.WindowManager._draggingModeIndicatorElmt!=null&&(document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt),SimileAjax.WindowManager._draggingModeIndicatorElmt=null);SimileAjax.WindowManager._draggedElement=null;SimileAjax.WindowManager._draggedElementCallback=null;SimileAjax.WindowManager._potentialDropTarget=null;SimileAjax.WindowManager._dropTargetHighlightElement=null;SimileAjax.WindowManager._lastCoords=null;SimileAjax.WindowManager._ghostCoords=null;SimileAjax.WindowManager._draggingMode="";SimileAjax.WindowManager._dragging=!1};SimileAjax.WindowManager._findDropTarget=function(n){while(n!=null){if("ondrop"in n&&typeof n.ondrop=="function")break;n=n.parentNode}return n};SimileAjax.XmlHttp={};SimileAjax.XmlHttp._onReadyStateChange=function(n,t,i){switch(n.readyState){case 4:try{n.status==0||n.status==200?i&&i(n):t&&t(n.statusText,n.status,n)}catch(r){SimileAjax.Debug.exception("XmlHttp: Error handling onReadyStateChange",r)}}};SimileAjax.XmlHttp._createRequest=function(){var i,t,n,r;if(SimileAjax.Platform.browser.isIE)for(i=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],t=0;t<i.length;t++)try{var u=i[t],n=function(){return new ActiveXObject(u)},r=n();return SimileAjax.XmlHttp._createRequest=n,r}catch(f){}try{return n=function(){return new XMLHttpRequest},r=n(),SimileAjax.XmlHttp._createRequest=n,r}catch(f){throw new Error("Failed to create an XMLHttpRequest object");}};SimileAjax.XmlHttp.get=function(n,t,i){var r=SimileAjax.XmlHttp._createRequest();r.open("GET",n,!0);r.onreadystatechange=function(){SimileAjax.XmlHttp._onReadyStateChange(r,t,i)};r.send(null)};SimileAjax.XmlHttp.post=function(n,t,i,r){var u=SimileAjax.XmlHttp._createRequest();u.open("POST",n,!0);u.onreadystatechange=function(){SimileAjax.XmlHttp._onReadyStateChange(u,i,r)};u.send(t)};SimileAjax.XmlHttp._forceXML=function(n){try{n.overrideMimeType("text/xml")}catch(t){n.setrequestheader("Content-Type","text/xml")}};window.Timeline={};window.Timeline.DateTime=window.SimileAjax.DateTime;window.Timeline.urlPrefix="/ClientSource/Style/Timeline/";window.Timeline.serverLocale="en";window.Timeline.clientLocale="en";window.Timeline.timeZone=10;Timeline._Band=function(n,t,i){var r,u,e,f;for(n.autoWidth&&typeof t.width=="string"&&(t.width=t.width.indexOf("%")>-1?0:parseInt(t.width)),this._timeline=n,this._bandInfo=t,this._index=i,this._locale=("locale"in t)?t.locale:Timeline.getDefaultLocale(),this._timeZone=("timeZone"in t)?t.timeZone:0,this._labeller=("labeller"in t)?t.labeller:("createLabeller"in n.getUnit())?n.getUnit().createLabeller(this._locale,this._timeZone):new Timeline.GregorianDateLabeller(this._locale,this._timeZone),this._theme=t.theme,this._zoomIndex=("zoomIndex"in t)?t.zoomIndex:0,this._zoomSteps=("zoomSteps"in t)?t.zoomSteps:null,this._dragging=!1,this._changing=!1,this._originalScrollSpeed=5,this._scrollSpeed=this._originalScrollSpeed,this._onScrollListeners=[],r=this,this._syncWithBand=null,this._syncWithBandHandler=function(){r._onHighlightBandScroll()},this._selectorListener=function(){r._onHighlightBandScroll()},u=this._timeline.getDocument().createElement("div"),u.className="timeline-band-input",this._timeline.addDiv(u),this._keyboardInput=document.createElement("input"),this._keyboardInput.type="text",u.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-"+i,this._div.className="timeline-band timeline-band-"+i,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"),e=this._theme!=null?this._theme.mouseWheel:"scroll",(e==="zoom"||e==="scroll"||this._zoomSteps)&&(SimileAjax.Platform.browser.isFirefox?SimileAjax.DOM.registerEventWithObject(this._div,"DOMMouseScroll",this,"_onMouseScroll"):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=t.ether,t.ether.initialize(this,n),this._etherPainter=t.etherPainter,t.etherPainter.initialize(this,n),this._eventSource=t.eventSource,this._eventSource&&(this._eventListener={onAddMany:function(){r._onAddMany()},onClear:function(){r._onClear()}},this._eventSource.addListener(this._eventListener)),this._eventPainter=t.eventPainter,this._eventTracksNeeded=0,this._eventTrackIncrement=0,t.eventPainter.initialize(this,n),this._decorators=("decorators"in t)?t.decorators:[],f=0;f<this._decorators.length;f++)this._decorators[f].initialize(this,n)};Timeline._Band.SCROLL_MULTIPLES=5;Timeline._Band.prototype.dispose=function(){this.closeBubble();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(n){this._onScrollListeners.push(n)};Timeline._Band.prototype.removeOnScrollListener=function(n){for(var t=0;t<this._onScrollListeners.length;t++)if(this._onScrollListeners[t]==n){this._onScrollListeners.splice(t,1);break}};Timeline._Band.prototype.setSyncWithBand=function(n,t){this._syncWithBand&&this._syncWithBand.removeOnScrollListener(this._syncWithBandHandler);this._syncWithBand=n;this._syncWithBand.addOnScrollListener(this._syncWithBandHandler);this._highlight=t;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(n,t){this._eventTrackIncrement=t;n>this._eventTracksNeeded&&(this._eventTracksNeeded=n)};Timeline._Band.prototype.checkAutoWidth=function(){var t;if(this._timeline.autoWidth){var i=this._eventPainter.getType()=="overview",r=i?this._theme.event.overviewTrack.autoWidthMargin:this._theme.event.track.autoWidthMargin,n=Math.ceil((this._eventTracksNeeded+r)*this._eventTrackIncrement);n+=i?this._theme.event.overviewTrack.offset:this._theme.event.track.offset;t=this._bandInfo;n!=t.width&&(t.width=n)}};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(n,t){var i=this._keyboardInput.parentNode,r=n+Math.floor(t/2);this._timeline.isHorizontal()?(this._div.style.top=n+"px",this._div.style.height=t+"px",i.style.top=r+"px",i.style.left="-1em"):(this._div.style.left=n+"px",this._div.style.width=t+"px",i.style.left=r+"px",i.style.top="-1em")};Timeline._Band.prototype.getViewWidth=function(){return this._timeline.isHorizontal()?this._div.offsetHeight:this._div.offsetWidth};Timeline._Band.prototype.setViewLength=function(n){this._viewLength=n;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(n){return this._ether.pixelOffsetToDate(n)};Timeline._Band.prototype.getMaxVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength)};Timeline._Band.prototype.getMaxVisibleDateAfterDelta=function(n){return this._ether.pixelOffsetToDate(this._viewLength+n)};Timeline._Band.prototype.getCenterVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength/2)};Timeline._Band.prototype.setMinVisibleDate=function(n){this._changing||this._moveEther(Math.round(-this._ether.dateToPixelOffset(n)))};Timeline._Band.prototype.setMaxVisibleDate=function(n){this._changing||this._moveEther(Math.round(this._viewLength-this._ether.dateToPixelOffset(n)))};Timeline._Band.prototype.setCenterVisibleDate=function(n){this._changing||this._moveEther(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(n)))};Timeline._Band.prototype.dateToPixelOffset=function(n){return this._ether.dateToPixelOffset(n)-this._viewOffset};Timeline._Band.prototype.pixelOffsetToDate=function(n){return this._ether.pixelOffsetToDate(n+this._viewOffset)};Timeline._Band.prototype.createLayerDiv=function(n,t){var r=this._timeline.getDocument().createElement("div"),i;return r.className="timeline-band-layer"+(typeof t=="string"?" "+t:""),r.style.zIndex=n,this._innerDiv.appendChild(r),i=this._timeline.getDocument().createElement("div"),i.className="timeline-band-layer-inner",i.style.cursor=SimileAjax.Platform.browser.isIE?"move":"-moz-grab",r.appendChild(i),i};Timeline._Band.prototype.removeLayerDiv=function(n){this._innerDiv.removeChild(n.parentNode)};Timeline._Band.prototype.scrollToCenter=function(n,t){var i=this._ether.dateToPixelOffset(n);i<-this._viewLength/2?this.setCenterVisibleDate(this.pixelOffsetToDate(i+this._viewLength)):i>3*this._viewLength/2&&this.setCenterVisibleDate(this.pixelOffsetToDate(i-this._viewLength));this._autoScroll(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(n)),t)};Timeline._Band.prototype.showBubbleForEvent=function(n){var t=this.getEventSource().getEvent(n),i;t&&(i=this,this.scrollToCenter(t.getStart(),function(){i._eventPainter.showBubble(t)}))};Timeline._Band.prototype.zoom=function(n,t){if(this._zoomSteps){t+=this._viewOffset;var i=this._ether.pixelOffsetToDate(t),r=this._ether.zoom(n);this._etherPainter.zoom(r);this._moveEther(Math.round(-this._ether.dateToPixelOffset(i)));this._moveEther(t)}};Timeline._Band.prototype._onMouseDown=function(n,t){this.closeBubble();this._dragging=!0;this._dragX=t.clientX;this._dragY=t.clientY};Timeline._Band.prototype._onMouseMove=function(n,t){if(this._dragging){var i=t.clientX-this._dragX,r=t.clientY-this._dragY;this._dragX=t.clientX;this._dragY=t.clientY;this._moveEther(this._timeline.isHorizontal()?i:r);this._positionHighlight()}};Timeline._Band.prototype._onMouseUp=function(){this._dragging=!1;this._keyboardInput.focus()};Timeline._Band.prototype._onMouseOut=function(n,t){var i=SimileAjax.DOM.getEventRelativeCoordinates(t,n);i.x+=this._viewOffset;(i.x<0||i.x>n.offsetWidth||i.y<0||i.y>n.offsetHeight)&&(this._dragging=!1)};Timeline._Band.prototype._onMouseScroll=function(n,t){var r=new Date,i,u,f,e,o;r=r.getTime();(!this._lastScrollTime||r-this._lastScrollTime>50)&&(this._lastScrollTime=r,i=0,t.wheelDelta?i=t.wheelDelta/120:t.detail&&(i=-t.detail/3),u=this._theme.mouseWheel,this._zoomSteps||u==="zoom"?(f=SimileAjax.DOM.getEventRelativeCoordinates(t,n),i!=0&&(i>0&&(e=!0),i<0&&(e=!1),this._timeline.zoom(e,f.x,f.y,n))):u==="scroll"&&(o=50*(i<0?-1:1),this._moveEther(o)));t.stopPropagation&&t.stopPropagation();t.cancelBubble=!0;t.preventDefault&&t.preventDefault();t.returnValue=!1};Timeline._Band.prototype._onDblClick=function(n,t){var i=SimileAjax.DOM.getEventRelativeCoordinates(t,n),r=i.x-(this._viewLength/2-this._viewOffset);this._autoScroll(-r)};Timeline._Band.prototype._onKeyDown=function(n,t){if(!this._dragging){switch(t.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!0}return this.closeBubble(),SimileAjax.DOM.cancelEvent(t),!1}return!0};Timeline._Band.prototype._onKeyUp=function(n,t){if(!this._dragging){this._scrollSpeed=this._originalScrollSpeed;switch(t.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!0}return this.closeBubble(),SimileAjax.DOM.cancelEvent(t),!1}return!0};Timeline._Band.prototype._autoScroll=function(n,t){var i=this,r=SimileAjax.Graphics.createAnimation(function(n,t){i._moveEther(t)},0,n,1e3,t);r.run()};Timeline._Band.prototype._moveEther=function(n){(this.closeBubble(),this._timeline.shiftOK(this._index,n))&&(this._viewOffset+=n,this._ether.shiftPixels(-n),this._timeline.isHorizontal()?this._div.style.left=this._viewOffset+"px":this._div.style.top=this._viewOffset+"px",this._viewOffset>-this._viewLength*.5||this._viewOffset<-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1.5)?this._recenterDiv():this.softLayout(),this._onChanging())};Timeline._Band.prototype._onChanging=function(){this._changing=!0;this._fireOnScroll();this._setSyncWithBandDate();this._changing=!1};Timeline._Band.prototype.busy=function(){return this._changing};Timeline._Band.prototype._fireOnScroll=function(){for(var n=0;n<this._onScrollListeners.length;n++)this._onScrollListeners[n](this)};Timeline._Band.prototype._setSyncWithBandDate=function(){if(this._syncWithBand){var n=this._ether.pixelOffsetToDate(this.getViewLength()/2);this._syncWithBand.setCenterVisibleDate(n)}};Timeline._Band.prototype._onHighlightBandScroll=function(){if(this._syncWithBand){var n=this._syncWithBand.getCenterVisibleDate(),t=this._ether.dateToPixelOffset(n);this._moveEther(Math.round(this._viewLength/2-t));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 n=this._syncWithBand.getMinVisibleDate(),t=this._syncWithBand.getMaxVisibleDate();this._highlight&&this._etherPainter.setHighlight(n,t)}};Timeline._Band.prototype._recenterDiv=function(){this._viewOffset=-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1)/2;this._timeline.isHorizontal()?(this._div.style.left=this._viewOffset+"px",this._div.style.width=Timeline._Band.SCROLL_MULTIPLES*this._viewLength+"px"):(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 n=0;n<this._decorators.length;n++)this._decorators[n].paint()};Timeline._Band.prototype._softPaintDecorators=function(){for(var n=0;n<this._decorators.length;n++)this._decorators[n].softPaint()};Timeline._Band.prototype.closeBubble=function(){SimileAjax.WindowManager.cancelPopups()};Timeline.CompactEventPainter=function(n){this._params=n;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.CompactEventPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._backLayer=null;this._eventLayer=null;this._lineLayer=null;this._highlightLayer=null;this._eventIdToElmt=null};Timeline.CompactEventPainter.prototype.addOnSelectListener=function(n){this._onSelectListeners.push(n)};Timeline.CompactEventPainter.prototype.removeOnSelectListener=function(n){for(var t=0;t<this._onSelectListeners.length;t++)if(this._onSelectListeners[t]==n){this._onSelectListeners.splice(t,1);break}};Timeline.CompactEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.CompactEventPainter.prototype.setFilterMatcher=function(n){this._filterMatcher=n};Timeline.CompactEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.CompactEventPainter.prototype.setHighlightMatcher=function(n){this._highlightMatcher=n};Timeline.CompactEventPainter.prototype.paint=function(){var l=this._band.getEventSource(),r,s,h,i,f,c,t;if(l!=null){this._eventIdToElmt={};this._prepareForPainting();var a=this._params.theme,u=a.event,n={trackOffset:"trackOffset"in this._params?this._params.trackOffset:10,trackHeight:"trackHeight"in this._params?this._params.trackHeight:10,tapeHeight:a.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:u.instant.icon,defaultIconWidth:u.instant.iconWidth,defaultIconHeight:u.instant.iconHeight,customIconWidth:"iconWidth"in this._params?this._params.iconWidth:u.instant.iconWidth,customIconHeight:"iconHeight"in this._params?this._params.iconHeight:u.instant.iconHeight,iconLabelGap:"iconLabelGap"in this._params?this._params.iconLabelGap:2,iconBottomMargin:"iconBottomMargin"in this._params?this._params.iconBottomMargin:2};"compositeIcon"in this._params?(n.compositeIcon=this._params.compositeIcon,n.compositeIconWidth=this._params.compositeIconWidth||n.customIconWidth,n.compositeIconHeight=this._params.compositeIconHeight||n.customIconHeight):(n.compositeIcon=n.defaultIcon,n.compositeIconWidth=n.defaultIconWidth,n.compositeIconHeight=n.defaultIconHeight);n.defaultStackIcon="icon"in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.icon:n.defaultIcon;n.defaultStackIconWidth="iconWidth"in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconWidth:n.defaultIconWidth;n.defaultStackIconHeight="iconHeight"in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconHeight:n.defaultIconHeight;var p=this._band.getMinDate(),w=this._band.getMaxDate(),v=this._filterMatcher!=null?this._filterMatcher:function(){return!0},e=this._highlightMatcher!=null?this._highlightMatcher:function(){return-1},o=l.getEventIterator(p,w),y="stackConcurrentPreciseInstantEvents"in this._params&&typeof this._params.stackConcurrentPreciseInstantEvents=="object",b="collapseConcurrentPreciseInstantEvents"in this._params&&this._params.collapseConcurrentPreciseInstantEvents;if(b||y){for(r=[],s=null;o.hasNext();)t=o.next(),v(t)&&(!t.isInstant()||t.isImprecise()?this.paintEvent(t,n,this._params.theme,e(t)):s!=null&&s.getStart().getTime()==t.getStart().getTime()?r[r.length-1].push(t):(r.push([t]),s=t));for(h=0;h<r.length;h++)if(i=r[h],i.length==1)this.paintEvent(i[0],n,this._params.theme,e(t));else{for(f=-1,c=0;f<0&&c<i.length;c++)f=e(i[c]);y?this.paintStackedPreciseInstantEvents(i,n,this._params.theme,f):this.paintCompositePreciseInstantEvents(i,n,this._params.theme,f)}}else while(o.hasNext())t=o.next(),v(t)&&this.paintEvent(t,n,this._params.theme,e(t));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 n=this._band,t;this._backLayer==null&&(this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"),this._backLayer.style.visibility="hidden",t=document.createElement("span"),t.className="timeline-event-label",this._backLayer.appendChild(t),this._frc=SimileAjax.Graphics.getFontRenderingContext(t));this._frc.update();this._tracks=[];this._highlightLayer!=null&&n.removeLayerDiv(this._highlightLayer);this._highlightLayer=n.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";this._lineLayer!=null&&n.removeLayerDiv(this._lineLayer);this._lineLayer=n.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";this._eventLayer!=null&&n.removeLayerDiv(this._eventLayer);this._eventLayer=n.createLayerDiv(115,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.CompactEventPainter.prototype.paintEvent=function(n,t,i,r){n.isInstant()?this.paintInstantEvent(n,t,i,r):this.paintDurationEvent(n,t,i,r)};Timeline.CompactEventPainter.prototype.paintInstantEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseInstantEvent(n,t,i,r):this.paintPreciseInstantEvent(n,t,i,r)};Timeline.CompactEventPainter.prototype.paintDurationEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseDurationEvent(n,t,i,r):this.paintPreciseDurationEvent(n,t,i,r)};Timeline.CompactEventPainter.prototype.paintPreciseInstantEvent=function(n,t,i,r){var o={tooltip:n.getProperty("tooltip")||n.getText()},u={url:n.getIcon()};u.url==null?(u.url=t.defaultIcon,u.width=t.defaultIconWidth,u.height=t.defaultIconHeight,u.className="timeline-event-icon-default"):(u.width=n.getProperty("iconWidth")||t.customIconWidth,u.height=n.getProperty("iconHeight")||t.customIconHeight);var s={text:n.getText(),color:n.getTextColor()||n.getColor(),className:n.getClassName()},f=this.paintTapeIconLabel(n.getStart(),o,null,u,s,t,i,r),h=this,e=function(t,i){return h._onClickInstantEvent(f.iconElmtData.elmt,i,n)};SimileAjax.DOM.registerEvent(f.iconElmtData.elmt,"mousedown",e);SimileAjax.DOM.registerEvent(f.labelElmtData.elmt,"mousedown",e);this._eventIdToElmt[n.getID()]=f.iconElmtData.elmt};Timeline.CompactEventPainter.prototype.paintCompositePreciseInstantEvents=function(n,t,i,r){for(var s=n[0],e=[],u=0;u<n.length;u++)e.push(n[u].getProperty("tooltip")||n[u].getText());var h={tooltip:e.join("; ")},c={url:t.compositeIcon,width:t.compositeIconWidth,height:t.compositeIconHeight,className:"timeline-event-icon-composite"},l={text:String.substitute(this._params.compositeEventLabelTemplate,[n.length])},f=this.paintTapeIconLabel(s.getStart(),h,null,c,l,t,i,r),a=this,o=function(t,i){return a._onClickMultiplePreciseInstantEvent(f.iconElmtData.elmt,i,n)};for(SimileAjax.DOM.registerEvent(f.iconElmtData.elmt,"mousedown",o),SimileAjax.DOM.registerEvent(f.labelElmtData.elmt,"mousedown",o),u=0;u<n.length;u++)this._eventIdToElmt[n[u].getID()]=f.iconElmtData.elmt};Timeline.CompactEventPainter.prototype.paintStackedPreciseInstantEvents=function(n,t,i){for(var ct,tt,s=("limit"in this._params.stackConcurrentPreciseInstantEvents)?this._params.stackConcurrentPreciseInstantEvents.limit:10,at=("moreMessageTemplate"in this._params.stackConcurrentPreciseInstantEvents)?this._params.stackConcurrentPreciseInstantEvents.moreMessageTemplate:"%0 More Events",w=s<=n.length-2,vt=this._band,yt=function(n){return Math.round(vt.dateToPixelOffset(n))},ft=function(n){var i={url:n.getIcon()};return i.url==null?(i.url=t.defaultStackIcon,i.width=t.defaultStackIconWidth,i.height=t.defaultStackIconHeight,i.className="timeline-event-icon-stack timeline-event-icon-default"):(i.width=n.getProperty("iconWidth")||t.customIconWidth,i.height=n.getProperty("iconHeight")||t.customIconHeight,i.className="timeline-event-icon-stack"),i},l=ft(n[0]),a=5,b=0,e=0,f=0,h=0,v=[],r=0;r<n.length&&(!w||r<s);r++){var et=n[r],ot=et.getText(),k=ft(et),d=this._frc.computeSize(ot),o={text:ot,iconData:k,labelSize:d,iconLeft:l.width+r*a-k.width};o.labelLeft=l.width+r*a+t.iconLabelGap;o.top=f;v.push(o);b=Math.min(b,o.iconLeft);f+=d.height;e=Math.max(e,o.labelLeft+d.width);h=Math.max(h,o.top+k.height)}if(w){var g=String.substitute(at,[n.length-s]),y=this._frc.computeSize(g),st=l.width+(s-1)*a+t.iconLabelGap,pt=f;f+=y.height;e=Math.max(e,st+y.width)}e+=t.labelRightMargin;f+=t.labelBottomMargin;h+=t.iconBottomMargin;var p=yt(n[0].getStart()),nt=[],wt=Math.ceil(Math.max(h,f)/t.trackHeight),ht=l.width+(n.length-1)*a;for(r=0;r<wt;r++)nt.push({start:b,end:ht});for(ct=Math.ceil(f/t.trackHeight),r=0;r<ct;r++)tt=nt[r],tt.end=Math.max(tt.end,e);var bt=this._fitTracks(p,nt),it=bt*t.trackHeight+t.trackOffset,u=this._timeline.getDocument().createElement("div");u.className="timeline-event-icon-stack";u.style.position="absolute";u.style.overflow="visible";u.style.left=p+"px";u.style.top=it+"px";u.style.width=ht+"px";u.style.height=h+"px";u.innerHTML="<div style='position: relative'><\/div>";this._eventLayer.appendChild(u);var c=this,lt=function(){var i,t,n,r;try{for(i=parseInt(this.getAttribute("index")),t=u.firstChild.childNodes,n=0;n<t.length;n++)r=t[n],r.style.zIndex=n==i?t.length:t.length-n}catch(f){}},kt=function(t){var f=v[t],e=n[t],l=e.getProperty("tooltip")||e.getText(),o=c._paintEventLabel({tooltip:l},{text:f.text},p+f.labelLeft,it+f.top,f.labelSize.width,f.labelSize.height,i),h,r,s;o.elmt.setAttribute("index",t);o.elmt.onmouseover=lt;h=SimileAjax.Graphics.createTranslucentImage(f.iconData.url);r=c._timeline.getDocument().createElement("div");r.className="timeline-event-icon"+("className"in f.iconData?" "+f.iconData.className:"");r.style.left=f.iconLeft+"px";r.style.top=f.top+"px";r.style.zIndex=v.length-t;r.appendChild(h);r.setAttribute("index",t);r.onmouseover=lt;u.firstChild.appendChild(r);s=function(n,t){return c._onClickInstantEvent(o.elmt,t,e)};SimileAjax.DOM.registerEvent(r,"mousedown",s);SimileAjax.DOM.registerEvent(o.elmt,"mousedown",s);c._eventIdToElmt[e.getID()]=r};for(r=0;r<v.length;r++)kt(r);if(w){var rt=n.slice(s),ut=this._paintEventLabel({tooltip:g},{text:g},p+st,it+pt,y.width,y.height,i),dt=function(n,t){return c._onClickMultiplePreciseInstantEvent(ut.elmt,t,rt)};for(SimileAjax.DOM.registerEvent(ut.elmt,"mousedown",dt),r=0;r<rt.length;r++)this._eventIdToElmt[rt[r].getID()]=ut.elmt}};Timeline.CompactEventPainter.prototype.paintImpreciseInstantEvent=function(n,t,i,r){var s={tooltip:n.getProperty("tooltip")||n.getText()},h={start:n.getStart(),end:n.getEnd(),latestStart:n.getLatestStart(),earliestEnd:n.getEarliestEnd(),isInstant:!0},u={url:n.getIcon()};u.url==null?u=null:(u.width=n.getProperty("iconWidth")||t.customIconWidth,u.height=n.getProperty("iconHeight")||t.customIconHeight);var c={text:n.getText(),color:n.getTextColor()||n.getColor(),className:n.getClassName()},f=this.paintTapeIconLabel(n.getStart(),s,h,u,c,t,i,r),o=this,e=u!=null?function(t,i){return o._onClickInstantEvent(f.iconElmtData.elmt,i,n)}:function(t,i){return o._onClickInstantEvent(f.labelElmtData.elmt,i,n)};SimileAjax.DOM.registerEvent(f.labelElmtData.elmt,"mousedown",e);SimileAjax.DOM.registerEvent(f.impreciseTapeElmtData.elmt,"mousedown",e);u!=null?(SimileAjax.DOM.registerEvent(f.iconElmtData.elmt,"mousedown",e),this._eventIdToElmt[n.getID()]=f.iconElmtData.elmt):this._eventIdToElmt[n.getID()]=f.labelElmtData.elmt};Timeline.CompactEventPainter.prototype.paintPreciseDurationEvent=function(n,t,i,r){var s={tooltip:n.getProperty("tooltip")||n.getText()},h={start:n.getStart(),end:n.getEnd(),isInstant:!1},u={url:n.getIcon()};u.url==null?u=null:(u.width=n.getProperty("iconWidth")||t.customIconWidth,u.height=n.getProperty("iconHeight")||t.customIconHeight);var c={text:n.getText(),color:n.getTextColor()||n.getColor(),className:n.getClassName()},f=this.paintTapeIconLabel(n.getLatestStart(),s,h,u,c,t,i,r),o=this,e=u!=null?function(t,i){return o._onClickInstantEvent(f.iconElmtData.elmt,i,n)}:function(t,i){return o._onClickInstantEvent(f.labelElmtData.elmt,i,n)};SimileAjax.DOM.registerEvent(f.labelElmtData.elmt,"mousedown",e);SimileAjax.DOM.registerEvent(f.tapeElmtData.elmt,"mousedown",e);u!=null?(SimileAjax.DOM.registerEvent(f.iconElmtData.elmt,"mousedown",e),this._eventIdToElmt[n.getID()]=f.iconElmtData.elmt):this._eventIdToElmt[n.getID()]=f.labelElmtData.elmt};Timeline.CompactEventPainter.prototype.paintImpreciseDurationEvent=function(n,t,i,r){var s={tooltip:n.getProperty("tooltip")||n.getText()},h={start:n.getStart(),end:n.getEnd(),latestStart:n.getLatestStart(),earliestEnd:n.getEarliestEnd(),isInstant:!1},u={url:n.getIcon()};u.url==null?u=null:(u.width=n.getProperty("iconWidth")||t.customIconWidth,u.height=n.getProperty("iconHeight")||t.customIconHeight);var c={text:n.getText(),color:n.getTextColor()||n.getColor(),className:n.getClassName()},f=this.paintTapeIconLabel(n.getLatestStart(),s,h,u,c,t,i,r),o=this,e=u!=null?function(t,i){return o._onClickInstantEvent(f.iconElmtData.elmt,i,n)}:function(t,i){return o._onClickInstantEvent(f.labelElmtData.elmt,i,n)};SimileAjax.DOM.registerEvent(f.labelElmtData.elmt,"mousedown",e);SimileAjax.DOM.registerEvent(f.tapeElmtData.elmt,"mousedown",e);u!=null?(SimileAjax.DOM.registerEvent(f.iconElmtData.elmt,"mousedown",e),this._eventIdToElmt[n.getID()]=f.iconElmtData.elmt):this._eventIdToElmt[n.getID()]=f.labelElmtData.elmt};Timeline.CompactEventPainter.prototype.paintTapeIconLabel=function(n,t,i,r,u,f,e){var ft=this._band,h=function(n){return Math.round(ft.dateToPixelOffset(n))},c=h(n),o=[],y=0,s=0,k=0,tt,it,d,a,l,g,w,ut;if(i!=null){for(y=f.tapeHeight+f.tapeBottomMargin,s=Math.ceil(f.tapeHeight/f.trackHeight),tt=h(i.end)-c,it=h(i.start)-c,d=0;d<s;d++)o.push({start:it,end:tt});k=f.trackHeight-y%f.tapeHeight}if(a=0,l=0,r!=null)for(("iconAlign"in r)&&r.iconAlign=="center"&&(a=-Math.floor(r.width/2)),l=a+r.width+f.iconLabelGap,s>0&&(o[s-1].end=Math.max(o[s-1].end,l)),g=r.height+f.iconBottomMargin+k;g>0;)o.push({start:a,end:l}),g-=f.trackHeight;var et=u.text,p=this._frc.computeSize(et),rt=p.height+f.labelBottomMargin+k,nt=l+p.width+f.labelRightMargin;for(s>0&&(o[s-1].end=Math.max(o[s-1].end,nt)),w=0;rt>0;w++)s+w<o.length?(ut=o[s+w],ut.end=nt):o.push({start:0,end:nt}),rt-=f.trackHeight;var ot=this._fitTracks(c,o),b=ot*f.trackHeight+f.trackOffset,v={};return v.labelElmtData=this._paintEventLabel(t,u,c+l,b+y,p.width,p.height,e),i!=null&&(("latestStart"in i||"earliestEnd"in i)&&(v.impreciseTapeElmtData=this._paintEventTape(t,i,f.tapeHeight,b,h(i.start),h(i.end),e.event.duration.impreciseColor,e.event.duration.impreciseOpacity,f,e)),!i.isInstant&&"start"in i&&"end"in i&&(v.tapeElmtData=this._paintEventTape(t,i,f.tapeHeight,b,c,h("earliestEnd"in i?i.earliestEnd:i.end),i.color,100,f,e))),r!=null&&(v.iconElmtData=this._paintEventIcon(t,r,b+y,c+a,f,e)),v};Timeline.CompactEventPainter.prototype._fitTracks=function(n,t){for(var f,r,e,o,u,i=0;i<this._tracks.length;i++){for(f=!0,r=0;r<t.length&&i+r<this._tracks.length;r++)if(e=this._tracks[i+r],o=t[r],n+o.start<e){f=!1;break}if(f)break}for(u=0;u<t.length;u++)this._tracks[i+u]=n+t[u].end;return i};Timeline.CompactEventPainter.prototype._paintEventIcon=function(n,t,i,r,u){var e=SimileAjax.Graphics.createTranslucentImage(t.url),f=this._timeline.getDocument().createElement("div");return f.className="timeline-event-icon"+("className"in t?" "+t.className:""),f.style.left=r+"px",f.style.top=i+"px",f.appendChild(e),"tooltip"in n&&typeof n.tooltip=="string"&&(f.title=n.tooltip),this._eventLayer.appendChild(f),{left:r,top:i,width:u.iconWidth,height:u.iconHeight,elmt:f}};Timeline.CompactEventPainter.prototype._paintEventLabel=function(n,t,i,r,u,f){var o=this._timeline.getDocument(),e=o.createElement("div");return e.className="timeline-event-label",e.style.left=i+"px",e.style.width=u+1+"px",e.style.top=r+"px",e.innerHTML=t.text,"tooltip"in n&&typeof n.tooltip=="string"&&(e.title=n.tooltip),"color"in t&&typeof t.color=="string"&&(e.style.color=t.color),"className"in t&&typeof t.className=="string"&&(e.className+=" "+t.className),this._eventLayer.appendChild(e),{left:i,top:r,width:u,height:f,elmt:e}};Timeline.CompactEventPainter.prototype._paintEventTape=function(n,t,i,r,u,f,e,o){var h=f-u,s=this._timeline.getDocument().createElement("div");return s.className="timeline-event-tape",s.style.left=u+"px",s.style.top=r+"px",s.style.width=h+"px",s.style.height=i+"px","tooltip"in n&&typeof n.tooltip=="string"&&(s.title=n.tooltip),e!=null&&typeof t.color=="string"&&(s.style.backgroundColor=e),"backgroundImage"in t&&typeof t.backgroundImage=="string"&&(s.style.backgroundImage="url("+backgroundImage+")",s.style.backgroundRepeat="backgroundRepeat"in t&&typeof t.backgroundRepeat=="string"?t.backgroundRepeat:"repeat"),SimileAjax.Graphics.setOpacity(s,o),"className"in t&&typeof t.className=="string"&&(s.className+=" "+t.className),this._eventLayer.appendChild(s),{left:u,top:r,width:h,height:i,elmt:s}};Timeline.CompactEventPainter.prototype._createHighlightDiv=function(n,t,i){if(n>=0){var f=this._timeline.getDocument(),u=i.event,e=u.highlightColors[Math.min(n,u.highlightColors.length-1)],r=f.createElement("div");r.style.position="absolute";r.style.overflow="hidden";r.style.left=t.left-2+"px";r.style.width=t.width+4+"px";r.style.top=t.top-2+"px";r.style.height=t.height+4+"px";this._highlightLayer.appendChild(r)}};Timeline.CompactEventPainter.prototype._onClickMultiplePreciseInstantEvent=function(n,t,i){var f=SimileAjax.DOM.getPageCoordinates(n),u,r;for(this._showBubble(f.left+Math.ceil(n.offsetWidth/2),f.top+Math.ceil(n.offsetHeight/2),i),u=[],r=0;r<i.length;r++)u.push(i[r].getID());return this._fireOnSelect(u),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.CompactEventPainter.prototype._onClickInstantEvent=function(n,t,i){var r=SimileAjax.DOM.getPageCoordinates(n);return this._showBubble(r.left+Math.ceil(n.offsetWidth/2),r.top+Math.ceil(n.offsetHeight/2),[i]),this._fireOnSelect([i.getID()]),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.CompactEventPainter.prototype._onClickDurationEvent=function(n,t,i){var r,u;if("pageX"in t)r=t.pageX,u=t.pageY;else var f=SimileAjax.DOM.getPageCoordinates(n),r=t.offsetX+f.left,u=t.offsetY+f.top;return this._showBubble(r,u,[i]),this._fireOnSelect([i.getID()]),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.CompactEventPainter.prototype.showBubble=function(n){var t=this._eventIdToElmt[n.getID()],i;t&&(i=SimileAjax.DOM.getPageCoordinates(t),this._showBubble(i.left+t.offsetWidth/2,i.top+t.offsetHeight/2,[n]))};Timeline.CompactEventPainter.prototype._showBubble=function(n,t,i){var f=document.createElement("div"),r,u;for(i=("fillInfoBubble"in i)?[i]:i,r=0;r<i.length;r++)u=document.createElement("div"),f.appendChild(u),i[r].fillInfoBubble(u,this._params.theme,this._band.getLabeller());SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(f,n,t,this._params.theme.event.bubble.width)};Timeline.CompactEventPainter.prototype._fireOnSelect=function(n){for(var t=0;t<this._onSelectListeners.length;t++)this._onSelectListeners[t](n)};Timeline.SpanHighlightDecorator=function(n){this._unit=n.unit!=null?n.unit:SimileAjax.NativeDateUnit;this._startDate=typeof n.startDate=="string"?this._unit.parseFromObject(n.startDate):n.startDate;this._endDate=typeof n.endDate=="string"?this._unit.parseFromObject(n.endDate):n.endDate;this._startLabel=n.startLabel!=null?n.startLabel:"";this._endLabel=n.endLabel!=null?n.endLabel:"";this._color=n.color;this._cssClass=n.cssClass!=null?n.cssClass:null;this._opacity=n.opacity!=null?n.opacity:100;this._zIndex=n.inFront!=null&&n.inFront?113:10};Timeline.SpanHighlightDecorator.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._layerDiv=null};Timeline.SpanHighlightDecorator.prototype.paint=function(){var u,f,t,o,i,s;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",u=this._band.getMinDate(),f=this._band.getMaxDate(),this._unit.compare(this._startDate,f)<0&&this._unit.compare(this._endDate,u)>0){u=this._unit.later(u,this._startDate);f=this._unit.earlier(f,this._endDate);var r=this._band.dateToPixelOffset(u),e=this._band.dateToPixelOffset(f),h=this._timeline.getDocument(),c=function(){var n=h.createElement("table");return n.insertRow(0).insertCell(0),n},n=h.createElement("div");n.className="timeline-highlight-decorator";this._cssClass&&(n.className+=" "+this._cssClass);this._color!=null&&(n.style.backgroundColor=this._color);this._opacity<100&&SimileAjax.Graphics.setOpacity(n,this._opacity);this._layerDiv.appendChild(n);t=c();t.className="timeline-highlight-label timeline-highlight-label-start";o=t.rows[0].cells[0];o.innerHTML=this._startLabel;this._cssClass&&(o.className="label_"+this._cssClass);this._layerDiv.appendChild(t);i=c();i.className="timeline-highlight-label timeline-highlight-label-end";s=i.rows[0].cells[0];s.innerHTML=this._endLabel;this._cssClass&&(s.className="label_"+this._cssClass);this._layerDiv.appendChild(i);this._timeline.isHorizontal()?(n.style.left=r+"px",n.style.width=e-r+"px",t.style.right=this._band.getTotalViewLength()-r+"px",t.style.width=this._startLabel.length+"em",i.style.left=e+"px",i.style.width=this._endLabel.length+"em"):(n.style.top=r+"px",n.style.height=e-r+"px",t.style.bottom=r+"px",t.style.height="1.5px",i.style.top=e+"px",i.style.height="1.5px")}this._layerDiv.style.display="block"};Timeline.SpanHighlightDecorator.prototype.softPaint=function(){};Timeline.PointHighlightDecorator=function(n){this._unit=n.unit!=null?n.unit:SimileAjax.NativeDateUnit;this._date=typeof n.date=="string"?this._unit.parseFromObject(n.date):n.date;this._width=n.width!=null?n.width:10;this._color=n.color;this._cssClass=n.cssClass!=null?n.cssClass:"";this._opacity=n.opacity!=null?n.opacity:100};Timeline.PointHighlightDecorator.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._layerDiv=null};Timeline.PointHighlightDecorator.prototype.paint=function(){var t,i;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",t=this._band.getMinDate(),i=this._band.getMaxDate(),this._unit.compare(this._date,i)<0&&this._unit.compare(this._date,t)>0){var u=this._band.dateToPixelOffset(this._date),r=u-Math.round(this._width/2),f=this._timeline.getDocument(),n=f.createElement("div");n.className="timeline-highlight-point-decorator";n.className+=" "+this._cssClass;this._color!=null&&(n.style.backgroundColor=this._color);this._opacity<100&&SimileAjax.Graphics.setOpacity(n,this._opacity);this._layerDiv.appendChild(n);this._timeline.isHorizontal()?(n.style.left=r+"px",n.style.width=this._width):(n.style.top=r+"px",n.style.height=this._width)}this._layerDiv.style.display="block"};Timeline.PointHighlightDecorator.prototype.softPaint=function(){};Timeline.DetailedEventPainter=function(n){this._params=n;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.DetailedEventPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;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(n){this._onSelectListeners.push(n)};Timeline.DetailedEventPainter.prototype.removeOnSelectListener=function(n){for(var t=0;t<this._onSelectListeners.length;t++)if(this._onSelectListeners[t]==n){this._onSelectListeners.splice(t,1);break}};Timeline.DetailedEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.DetailedEventPainter.prototype.setFilterMatcher=function(n){this._filterMatcher=n};Timeline.DetailedEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.DetailedEventPainter.prototype.setHighlightMatcher=function(n){this._highlightMatcher=n};Timeline.DetailedEventPainter.prototype.paint=function(){var r=this._band.getEventSource(),t;if(r!=null){this._eventIdToElmt={};this._prepareForPainting();for(var n=this._params.theme.event,i=Math.max(n.track.height,this._frc.getLineHeight()),u={trackOffset:Math.round(this._band.getViewWidth()/2-i/2),trackHeight:i,trackGap:n.track.gap,trackIncrement:i+n.track.gap,icon:n.instant.icon,iconWidth:n.instant.iconWidth,iconHeight:n.instant.iconHeight,labelWidth:n.label.width},e=this._band.getMinDate(),o=this._band.getMaxDate(),s=this._filterMatcher!=null?this._filterMatcher:function(){return!0},h=this._highlightMatcher!=null?this._highlightMatcher:function(){return-1},f=r.getEventReverseIterator(e,o);f.hasNext();)t=f.next(),s(t)&&this.paintEvent(t,u,this._params.theme,h(t));this._highlightLayer.style.display="block";this._lineLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._lowerTracks.length+this._upperTracks.length,u.trackIncrement)}};Timeline.DetailedEventPainter.prototype.softPaint=function(){};Timeline.DetailedEventPainter.prototype._prepareForPainting=function(){var n=this._band,t;this._backLayer==null&&(this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"),this._backLayer.style.visibility="hidden",t=document.createElement("span"),t.className="timeline-event-label",this._backLayer.appendChild(t),this._frc=SimileAjax.Graphics.getFontRenderingContext(t));this._frc.update();this._lowerTracks=[];this._upperTracks=[];this._highlightLayer!=null&&n.removeLayerDiv(this._highlightLayer);this._highlightLayer=n.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";this._lineLayer!=null&&n.removeLayerDiv(this._lineLayer);this._lineLayer=n.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";this._eventLayer!=null&&n.removeLayerDiv(this._eventLayer);this._eventLayer=n.createLayerDiv(110,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.DetailedEventPainter.prototype.paintEvent=function(n,t,i,r){n.isInstant()?this.paintInstantEvent(n,t,i,r):this.paintDurationEvent(n,t,i,r)};Timeline.DetailedEventPainter.prototype.paintInstantEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseInstantEvent(n,t,i,r):this.paintPreciseInstantEvent(n,t,i,r)};Timeline.DetailedEventPainter.prototype.paintDurationEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseDurationEvent(n,t,i,r):this.paintPreciseDurationEvent(n,t,i,r)};Timeline.DetailedEventPainter.prototype.paintPreciseInstantEvent=function(n,t,i,r){var d=this._timeline.getDocument(),a=n.getText(),p=n.getStart(),u=Math.round(this._band.dateToPixelOffset(p)),v=Math.round(u+t.iconWidth/2),h=Math.round(u-t.iconWidth/2),f=this._frc.computeSize(a),e=this._findFreeTrackForSolid(v,u),c=this._paintEventIcon(n,e,h,t,i),o=v+i.event.label.offsetFromLine,l=e,s=this._getTrackData(e);Math.min(s.solid,s.text)>=o+f.width?(s.solid=h,s.text=o):(s.solid=h,o=u+i.event.label.offsetFromLine,l=this._findFreeTrackForText(e,o+f.width,function(n){n.line=u-2}),this._getTrackData(l).text=h,this._paintEventLine(n,u,e,l,t,i));var w=Math.round(t.trackOffset+l*t.trackIncrement+t.trackHeight/2-f.height/2),b=this._paintEventLabel(n,a,o,w,f.width,f.height,i),k=this,y=function(t,i){return k._onClickInstantEvent(c.elmt,i,n)};SimileAjax.DOM.registerEvent(c.elmt,"mousedown",y);SimileAjax.DOM.registerEvent(b.elmt,"mousedown",y);this._createHighlightDiv(r,c,i);this._eventIdToElmt[n.getID()]=c.elmt};Timeline.DetailedEventPainter.prototype.paintImpreciseInstantEvent=function(n,t,i,r){var it=this._timeline.getDocument(),y=n.getText(),p=n.getStart(),w=n.getEnd(),u=Math.round(this._band.dateToPixelOffset(p)),l=Math.round(this._band.dateToPixelOffset(w)),b=Math.round(u+t.iconWidth/2),a=Math.round(u-t.iconWidth/2),e=this._frc.computeSize(y),f=this._findFreeTrackForSolid(l,u),k=this._paintEventTape(n,f,u,l,i.event.instant.impreciseColor,i.event.instant.impreciseOpacity,t,i),h=this._paintEventIcon(n,f,a,t,i),d=this._getTrackData(f),o,c,s;d.solid=a;o=b+i.event.label.offsetFromLine;c=o+e.width;c<l?s=f:(o=u+i.event.label.offsetFromLine,c=o+e.width,s=this._findFreeTrackForText(f,c,function(n){n.line=u-2}),this._getTrackData(s).text=a,this._paintEventLine(n,u,f,s,t,i));var g=Math.round(t.trackOffset+s*t.trackIncrement+t.trackHeight/2-e.height/2),nt=this._paintEventLabel(n,y,o,g,e.width,e.height,i),tt=this,v=function(t,i){return tt._onClickInstantEvent(h.elmt,i,n)};SimileAjax.DOM.registerEvent(h.elmt,"mousedown",v);SimileAjax.DOM.registerEvent(k.elmt,"mousedown",v);SimileAjax.DOM.registerEvent(nt.elmt,"mousedown",v);this._createHighlightDiv(r,h,i);this._eventIdToElmt[n.getID()]=h.elmt};Timeline.DetailedEventPainter.prototype.paintPreciseDurationEvent=function(n,t,i,r){var g=this._timeline.getDocument(),l=n.getText(),p=n.getStart(),w=n.getEnd(),u=Math.round(this._band.dateToPixelOffset(p)),a=Math.round(this._band.dateToPixelOffset(w)),e=this._frc.computeSize(l),o=this._findFreeTrackForSolid(a),s=n.getColor(),f,v,c,h;s=s!=null?s:i.event.duration.color;f=this._paintEventTape(n,o,u,a,s,100,t,i);v=this._getTrackData(o);v.solid=u;c=u+i.event.label.offsetFromLine;h=this._findFreeTrackForText(o,c+e.width,function(n){n.line=u-2});this._getTrackData(h).text=u-2;this._paintEventLine(n,u,o,h,t,i);var b=Math.round(t.trackOffset+h*t.trackIncrement+t.trackHeight/2-e.height/2),k=this._paintEventLabel(n,l,c,b,e.width,e.height,i),d=this,y=function(t,i){return d._onClickDurationEvent(f.elmt,i,n)};SimileAjax.DOM.registerEvent(f.elmt,"mousedown",y);SimileAjax.DOM.registerEvent(k.elmt,"mousedown",y);this._createHighlightDiv(r,f,i);this._eventIdToElmt[n.getID()]=f.elmt};Timeline.DetailedEventPainter.prototype.paintImpreciseDurationEvent=function(n,t,i,r){var rt=this._timeline.getDocument(),l=n.getText(),p=n.getStart(),w=n.getLatestStart(),b=n.getEnd(),k=n.getEarliestEnd(),a=Math.round(this._band.dateToPixelOffset(p)),u=Math.round(this._band.dateToPixelOffset(w)),v=Math.round(this._band.dateToPixelOffset(b)),d=Math.round(this._band.dateToPixelOffset(k)),e=this._frc.computeSize(l),f=this._findFreeTrackForSolid(v),o=n.getColor(),c,h;o=o!=null?o:i.event.duration.color;var ut=this._paintEventTape(n,f,a,v,i.event.duration.impreciseColor,i.event.duration.impreciseOpacity,t,i),s=this._paintEventTape(n,f,u,d,o,100,t,i),g=this._getTrackData(f);g.solid=a;c=u+i.event.label.offsetFromLine;h=this._findFreeTrackForText(f,c+e.width,function(n){n.line=u-2});this._getTrackData(h).text=u-2;this._paintEventLine(n,u,f,h,t,i);var nt=Math.round(t.trackOffset+h*t.trackIncrement+t.trackHeight/2-e.height/2),tt=this._paintEventLabel(n,l,c,nt,e.width,e.height,i),it=this,y=function(t,i){return it._onClickDurationEvent(s.elmt,i,n)};SimileAjax.DOM.registerEvent(s.elmt,"mousedown",y);SimileAjax.DOM.registerEvent(tt.elmt,"mousedown",y);this._createHighlightDiv(r,s,i);this._eventIdToElmt[n.getID()]=s.elmt};Timeline.DetailedEventPainter.prototype._findFreeTrackForSolid=function(n,t){for(var r,i=0;;i++){if(i<this._lowerTracks.length){if(r=this._lowerTracks[i],Math.min(r.solid,r.text)>n&&(!t||r.line>t))return i}else return this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}),i;if(i<this._upperTracks.length){if(r=this._upperTracks[i],Math.min(r.solid,r.text)>n&&(!t||r.line>t))return-1-i}else return this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}),-1-i}};Timeline.DetailedEventPainter.prototype._findFreeTrackForText=function(n,t,i){var e,r,u,o,s,h,f;if(n<0?(e=!0,u=-n,r=this._findFreeUpperTrackForText(u,t),o=-1-r):n>0?(e=!1,u=n+1,r=this._findFreeLowerTrackForText(u,t),o=r):(s=this._findFreeUpperTrackForText(0,t),h=this._findFreeLowerTrackForText(1,t),h-1<=s?(e=!1,u=1,r=h,o=r):(e=!0,u=0,r=s,o=-1-r)),e)for(r==this._upperTracks.length&&this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}),f=u;f<r;f++)i(this._upperTracks[f]);else for(r==this._lowerTracks.length&&this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}),f=u;f<r;f++)i(this._lowerTracks[f]);return o};Timeline.DetailedEventPainter.prototype._findFreeLowerTrackForText=function(n,t){for(;n<this._lowerTracks.length;n++){var i=this._lowerTracks[n];if(Math.min(i.solid,i.text)>=t)break}return n};Timeline.DetailedEventPainter.prototype._findFreeUpperTrackForText=function(n,t){for(;n<this._upperTracks.length;n++){var i=this._upperTracks[n];if(Math.min(i.solid,i.text)>=t)break}return n};Timeline.DetailedEventPainter.prototype._getTrackData=function(n){return n<0?this._upperTracks[-n-1]:this._lowerTracks[n]};Timeline.DetailedEventPainter.prototype._paintEventLine=function(n,t,i,r,u,f){var s=Math.round(u.trackOffset+i*u.trackIncrement+u.trackHeight/2),h=Math.round(Math.abs(r-i)*u.trackIncrement),o="1px solid "+f.event.label.lineColor,e=this._timeline.getDocument().createElement("div");e.style.position="absolute";e.style.left=t+"px";e.style.width=f.event.label.offsetFromLine+"px";e.style.height=h+"px";i>r?(e.style.top=s-h+"px",e.style.borderTop=o):(e.style.top=s+"px",e.style.borderBottom=o);e.style.borderLeft=o;this._lineLayer.appendChild(e)};Timeline.DetailedEventPainter.prototype._paintEventIcon=function(n,t,i,r){var f=n.getIcon();f=f!=null?f:r.icon;var o=r.trackOffset+t*r.trackIncrement+r.trackHeight/2,e=Math.round(o-r.iconHeight/2),s=SimileAjax.Graphics.createTranslucentImage(f),u=this._timeline.getDocument().createElement("div");return u.style.position="absolute",u.style.left=i+"px",u.style.top=e+"px",u.appendChild(s),u.style.cursor="pointer",n._title!=null&&(u.title=n._title),this._eventLayer.appendChild(u),{left:i,top:e,width:r.iconWidth,height:r.iconHeight,elmt:u}};Timeline.DetailedEventPainter.prototype._paintEventLabel=function(n,t,i,r,u,f,e){var c=this._timeline.getDocument(),s=c.createElement("div"),o,h;return s.style.position="absolute",s.style.left=i+"px",s.style.width=u+"px",s.style.top=r+"px",s.style.height=f+"px",s.style.backgroundColor=e.event.label.backgroundColor,SimileAjax.Graphics.setOpacity(s,e.event.label.backgroundOpacity),this._eventLayer.appendChild(s),o=c.createElement("div"),o.style.position="absolute",o.style.left=i+"px",o.style.width=u+"px",o.style.top=r+"px",o.innerHTML=t,o.style.cursor="pointer",n._title!=null&&(o.title=n._title),h=n.getTextColor(),h==null&&(h=n.getColor()),h!=null&&(o.style.color=h),this._eventLayer.appendChild(o),{left:i,top:r,width:u,height:f,elmt:o}};Timeline.DetailedEventPainter.prototype._paintEventTape=function(n,t,i,r,u,f,e,o){var c=r-i,h=o.event.tape.height,a=e.trackOffset+t*e.trackIncrement+e.trackHeight/2,l=Math.round(a-h/2),s=this._timeline.getDocument().createElement("div");return s.style.position="absolute",s.style.left=i+"px",s.style.width=c+"px",s.style.top=l+"px",s.style.height=h+"px",s.style.backgroundColor=u,s.style.overflow="hidden",s.style.cursor="pointer",n._title!=null&&(s.title=n._title),SimileAjax.Graphics.setOpacity(s,f),this._eventLayer.appendChild(s),{left:i,top:l,width:c,height:h,elmt:s}};Timeline.DetailedEventPainter.prototype._createHighlightDiv=function(n,t,i){if(n>=0){var f=this._timeline.getDocument(),u=i.event,e=u.highlightColors[Math.min(n,u.highlightColors.length-1)],r=f.createElement("div");r.style.position="absolute";r.style.overflow="hidden";r.style.left=t.left-2+"px";r.style.width=t.width+4+"px";r.style.top=t.top-2+"px";r.style.height=t.height+4+"px";r.style.background=e;this._highlightLayer.appendChild(r)}};Timeline.DetailedEventPainter.prototype._onClickInstantEvent=function(n,t,i){var r=SimileAjax.DOM.getPageCoordinates(n);return this._showBubble(r.left+Math.ceil(n.offsetWidth/2),r.top+Math.ceil(n.offsetHeight/2),i),this._fireOnSelect(i.getID()),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.DetailedEventPainter.prototype._onClickDurationEvent=function(n,t,i){var r,u;if("pageX"in t)r=t.pageX,u=t.pageY;else var f=SimileAjax.DOM.getPageCoordinates(n),r=t.offsetX+f.left,u=t.offsetY+f.top;return this._showBubble(r,u,i),this._fireOnSelect(i.getID()),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.DetailedEventPainter.prototype.showBubble=function(n){var t=this._eventIdToElmt[n.getID()],i;t&&(i=SimileAjax.DOM.getPageCoordinates(t),this._showBubble(i.left+t.offsetWidth/2,i.top+t.offsetHeight/2,n))};Timeline.DetailedEventPainter.prototype._showBubble=function(n,t,i){var r=document.createElement("div"),u=this._params.theme.event.bubble;i.fillInfoBubble(r,this._params.theme,this._band.getLabeller());SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(r,n,t,u.width,null,u.maxHeight)};Timeline.DetailedEventPainter.prototype._fireOnSelect=function(n){for(var t=0;t<this._onSelectListeners.length;t++)this._onSelectListeners[t](n)};Timeline.GregorianEtherPainter=function(n){this._params=n;this._theme=n.theme;this._unit=n.unit;this._multiple="multiple"in n?n.multiple:1};Timeline.GregorianEtherPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._backgroundLayer=n.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var i="align"in this._params&&this._params.align!=undefined?this._params.align:this._theme.ether.interval.marker[t.isHorizontal()?"hAlign":"vAlign"],r="showLine"in this._params?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,i,r);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.GregorianEtherPainter.prototype.setHighlight=function(n,t){this._highlight.position(n,t)};Timeline.GregorianEtherPainter.prototype.paint=function(){var t,i;this._markerLayer&&this._band.removeLayerDiv(this._markerLayer);this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";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 n=this._band.getMinDate(),r=this._band.getMaxDate(),u=this._band.getTimeZone(),f=this._band.getLabeller();for(SimileAjax.DateTime.roundDownToInterval(n,this._unit,u,this._multiple,this._theme.firstDayOfWeek),t=this,i=function(n){for(var i=0;i<t._multiple;i++)SimileAjax.DateTime.incrementByInterval(n,t._unit)};n.getTime()<r.getTime();)this._intervalMarkerLayout.createIntervalMarker(n,f,this._unit,this._markerLayer,this._lineLayer),i(n);this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.GregorianEtherPainter.prototype.softPaint=function(){};Timeline.GregorianEtherPainter.prototype.zoom=function(n){n!=0&&(this._unit+=n)};Timeline.HotZoneGregorianEtherPainter=function(n){var e,r,t;for(this._params=n,this._theme=n.theme,this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,unit:n.unit,multiple:1}],e=0;e<n.zones.length;e++){var u=n.zones[e],i=SimileAjax.DateTime.parseGregorianDateTime(u.start).getTime(),f=SimileAjax.DateTime.parseGregorianDateTime(u.end).getTime();for(r=0;r<this._zones.length&&f>i;r++)t=this._zones[r],i<t.endTime&&(i>t.startTime&&(this._zones.splice(r,0,{startTime:t.startTime,endTime:i,unit:t.unit,multiple:t.multiple}),r++,t.startTime=i),f<t.endTime?(this._zones.splice(r,0,{startTime:i,endTime:f,unit:u.unit,multiple:u.multiple?u.multiple:1}),r++,t.startTime=f,i=f):(t.multiple=u.multiple,t.unit=u.unit,i=t.endTime))}};Timeline.HotZoneGregorianEtherPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._backgroundLayer=n.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var i="align"in this._params&&this._params.align!=undefined?this._params.align:this._theme.ether.interval.marker[t.isHorizontal()?"hAlign":"vAlign"],r="showLine"in this._params?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,i,r);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.HotZoneGregorianEtherPainter.prototype.setHighlight=function(n,t){this._highlight.position(n,t)};Timeline.HotZoneGregorianEtherPainter.prototype.paint=function(){var t,r;this._markerLayer&&this._band.removeLayerDiv(this._markerLayer);this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";this._lineLayer&&this._band.removeLayerDiv(this._lineLayer);this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";for(var f=this._band.getMinDate(),e=this._band.getMaxDate(),o=this._band.getTimeZone(),h=this._band.getLabeller(),l=this,c=function(n,t){for(var i=0;i<t.multiple;i++)SimileAjax.DateTime.incrementByInterval(n,t.unit)},i=0;i<this._zones.length;){if(f.getTime()<this._zones[i].endTime)break;i++}for(t=this._zones.length-1;t>=0;){if(e.getTime()>this._zones[t].startTime)break;t--}for(r=i;r<=t;r++){var n=this._zones[r],u=new Date(Math.max(f.getTime(),n.startTime)),s=new Date(Math.min(e.getTime(),n.endTime));for(SimileAjax.DateTime.roundDownToInterval(u,n.unit,o,n.multiple,this._theme.firstDayOfWeek),SimileAjax.DateTime.roundUpToInterval(s,n.unit,o,n.multiple,this._theme.firstDayOfWeek);u.getTime()<s.getTime();)this._intervalMarkerLayout.createIntervalMarker(u,h,n.unit,this._markerLayer,this._lineLayer),c(u,n)}this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.HotZoneGregorianEtherPainter.prototype.softPaint=function(){};Timeline.HotZoneGregorianEtherPainter.prototype.zoom=function(n){if(n!=0)for(var t=0;t<this._zones.length;++t)this._zones[t]&&(this._zones[t].unit+=n)};Timeline.YearCountEtherPainter=function(n){this._params=n;this._theme=n.theme;this._startDate=SimileAjax.DateTime.parseGregorianDateTime(n.startDate);this._multiple="multiple"in n?n.multiple:1};Timeline.YearCountEtherPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._backgroundLayer=n.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var i="align"in this._params?this._params.align:this._theme.ether.interval.marker[t.isHorizontal()?"hAlign":"vAlign"],r="showLine"in this._params?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,i,r);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.YearCountEtherPainter.prototype.setHighlight=function(n,t){this._highlight.position(n,t)};Timeline.YearCountEtherPainter.prototype.paint=function(){this._markerLayer&&this._band.removeLayerDiv(this._markerLayer);this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";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 n=new Date(this._startDate.getTime()),i=this._band.getMaxDate(),r=this._band.getMinDate().getUTCFullYear()-this._startDate.getUTCFullYear();n.setUTCFullYear(this._band.getMinDate().getUTCFullYear()-r%this._multiple);for(var t=this,u=function(n){for(var i=0;i<t._multiple;i++)SimileAjax.DateTime.incrementByInterval(n,SimileAjax.DateTime.YEAR)},f={labelInterval:function(n){var i=n.getUTCFullYear()-t._startDate.getUTCFullYear();return{text:i,emphasized:i==0}}};n.getTime()<i.getTime();)this._intervalMarkerLayout.createIntervalMarker(n,f,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer),u(n);this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.YearCountEtherPainter.prototype.softPaint=function(){};Timeline.QuarterlyEtherPainter=function(n){this._params=n;this._theme=n.theme;this._startDate=SimileAjax.DateTime.parseGregorianDateTime(n.startDate)};Timeline.QuarterlyEtherPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._backgroundLayer=n.createLayerDiv(0);this._backgroundLayer.setAttribute("name","ether-background");this._backgroundLayer.className="timeline-ether-bg";this._markerLayer=null;this._lineLayer=null;var i="align"in this._params?this._params.align:this._theme.ether.interval.marker[t.isHorizontal()?"hAlign":"vAlign"],r="showLine"in this._params?this._params.showLine:this._theme.ether.interval.line.show;this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,i,r);this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer)};Timeline.QuarterlyEtherPainter.prototype.setHighlight=function(n,t){this._highlight.position(n,t)};Timeline.QuarterlyEtherPainter.prototype.paint=function(){var n,t;this._markerLayer&&this._band.removeLayerDiv(this._markerLayer);this._markerLayer=this._band.createLayerDiv(100);this._markerLayer.setAttribute("name","ether-markers");this._markerLayer.style.display="none";this._lineLayer&&this._band.removeLayerDiv(this._lineLayer);this._lineLayer=this._band.createLayerDiv(1);this._lineLayer.setAttribute("name","ether-lines");this._lineLayer.style.display="none";n=new Date(0);t=this._band.getMaxDate();n.setUTCFullYear(Math.max(this._startDate.getUTCFullYear(),this._band.getMinDate().getUTCFullYear()));n.setUTCMonth(this._startDate.getUTCMonth());for(var i=this,r=function(n){n.setUTCMonth(n.getUTCMonth()+3)},u={labelInterval:function(n){var t=(4+(n.getUTCMonth()-i._startDate.getUTCMonth())/3)%4;return t!=0?{text:"Q"+(t+1),emphasized:!1}:{text:"Y"+(n.getUTCFullYear()-i._startDate.getUTCFullYear()+1),emphasized:!0}}};n.getTime()<t.getTime();)this._intervalMarkerLayout.createIntervalMarker(n,u,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer),r(n);this._markerLayer.style.display="block";this._lineLayer.style.display="block"};Timeline.QuarterlyEtherPainter.prototype.softPaint=function(){};Timeline.EtherIntervalMarkerLayout=function(n,t,i,r,u){var f=n.isHorizontal();this.positionDiv=f?r=="Top"?function(n,t){n.style.left=t+"px";n.style.top="0px"}:function(n,t){n.style.left=t+"px";n.style.bottom="0px"}:r=="Left"?function(n,t){n.style.top=t+"px";n.style.left="0px"}:function(n,t){n.style.top=t+"px";n.style.right="0px"};var e=i.ether.interval.marker,o=i.ether.interval.line,s=i.ether.interval.weekend,h=(f?"h":"v")+r,l=e[h+"Styler"],a=e[h+"EmphasizedStyler"],c=SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY];this.createIntervalMarker=function(r,e,h,l,a){var w=Math.round(t.dateToPixelOffset(r)),p,k,y;if(u&&h!=SimileAjax.DateTime.WEEK&&(p=n.getDocument().createElement("div"),p.className="timeline-ether-lines",o.opacity<100&&SimileAjax.Graphics.setOpacity(p,o.opacity),f?p.style.left=w+"px":p.style.top=w+"px",a.appendChild(p)),h==SimileAjax.DateTime.WEEK){var nt=i.firstDayOfWeek,d=new Date(r.getTime()+(-1-nt)*c),tt=new Date(d.getTime()+2*c),b=Math.round(t.dateToPixelOffset(d)),it=Math.round(t.dateToPixelOffset(tt)),g=Math.max(1,it-b),v=n.getDocument().createElement("div");v.className="timeline-ether-weekends";s.opacity<100&&SimileAjax.Graphics.setOpacity(v,s.opacity);f?(v.style.left=b+"px",v.style.width=g+"px"):(v.style.top=b+"px",v.style.height=g+"px");a.appendChild(v)}return k=e.labelInterval(r,h),y=n.getDocument().createElement("div"),y.innerHTML=k.text,y.className="timeline-date-label",k.emphasized&&(y.className+=" timeline-date-label-em"),this.positionDiv(y,w),l.appendChild(y),y}};Timeline.EtherHighlight=function(n,t,i,r){var u=n.isHorizontal();this._highlightDiv=null;this._createHighlightDiv=function(){if(this._highlightDiv==null){this._highlightDiv=n.getDocument().createElement("div");this._highlightDiv.setAttribute("name","ether-highlight");this._highlightDiv.className="timeline-ether-highlight";var t=i.ether.highlightOpacity;t<100&&SimileAjax.Graphics.setOpacity(this._highlightDiv,t);r.appendChild(this._highlightDiv)}};this.position=function(n,i){this._createHighlightDiv();var r=Math.round(t.dateToPixelOffset(n)),e=Math.round(t.dateToPixelOffset(i)),f=Math.max(e-r,3);u?(this._highlightDiv.style.left=r+"px",this._highlightDiv.style.width=f+"px",this._highlightDiv.style.height=t.getViewWidth()-4+"px"):(this._highlightDiv.style.top=r+"px",this._highlightDiv.style.height=f+"px",this._highlightDiv.style.width=t.getViewWidth()-4+"px")}};Timeline.LinearEther=function(n){this._params=n;this._interval=n.interval;this._pixelsPerInterval=n.pixelsPerInterval};Timeline.LinearEther.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._unit=t.getUnit();"startsOn"in this._params?this._start=this._unit.parseFromObject(this._params.startsOn):"endsOn"in this._params?(this._start=this._unit.parseFromObject(this._params.endsOn),this.shiftPixels(-this._timeline.getPixelLength())):"centersOn"in this._params?(this._start=this._unit.parseFromObject(this._params.centersOn),this.shiftPixels(-this._timeline.getPixelLength()/2)):(this._start=this._unit.makeDefaultValue(),this.shiftPixels(-this._timeline.getPixelLength()/2))};Timeline.LinearEther.prototype.setDate=function(n){this._start=this._unit.cloneValue(n)};Timeline.LinearEther.prototype.shiftPixels=function(n){var t=this._interval*n/this._pixelsPerInterval;this._start=this._unit.change(this._start,t)};Timeline.LinearEther.prototype.dateToPixelOffset=function(n){var t=this._unit.compare(n,this._start);return this._pixelsPerInterval*t/this._interval};Timeline.LinearEther.prototype.pixelOffsetToDate=function(n){var t=n*this._interval/this._pixelsPerInterval;return this._unit.change(this._start,t)};Timeline.LinearEther.prototype.zoom=function(n){var t=this._band._zoomIndex,i=t;return n&&t>0&&(i=t-1),!n&&t<this._band._zoomSteps.length-1&&(i=t+1),this._band._zoomIndex=i,this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[i].unit],this._pixelsPerInterval=this._band._zoomSteps[i].pixelsPerInterval,this._band._zoomSteps[i].unit-this._band._zoomSteps[t].unit};Timeline.HotZoneEther=function(n){this._params=n;this._interval=n.interval;this._pixelsPerInterval=n.pixelsPerInterval;this._theme=n.theme};Timeline.HotZoneEther.prototype.initialize=function(n,t){var s,e,u,i;for(this._band=n,this._timeline=t,this._unit=t.getUnit(),this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,magnify:1}],s=this._params,e=0;e<s.zones.length;e++){var o=s.zones[e],r=this._unit.parseFromObject(o.start),f=this._unit.parseFromObject(o.end);for(u=0;u<this._zones.length&&this._unit.compare(f,r)>0;u++)i=this._zones[u],this._unit.compare(r,i.endTime)<0&&(this._unit.compare(r,i.startTime)>0&&(this._zones.splice(u,0,{startTime:i.startTime,endTime:r,magnify:i.magnify}),u++,i.startTime=r),this._unit.compare(f,i.endTime)<0?(this._zones.splice(u,0,{startTime:r,endTime:f,magnify:o.magnify*i.magnify}),u++,i.startTime=f,r=f):(i.magnify*=o.magnify,r=i.endTime))}"startsOn"in this._params?this._start=this._unit.parseFromObject(this._params.startsOn):"endsOn"in this._params?(this._start=this._unit.parseFromObject(this._params.endsOn),this.shiftPixels(-this._timeline.getPixelLength())):"centersOn"in this._params?(this._start=this._unit.parseFromObject(this._params.centersOn),this.shiftPixels(-this._timeline.getPixelLength()/2)):(this._start=this._unit.makeDefaultValue(),this.shiftPixels(-this._timeline.getPixelLength()/2))};Timeline.HotZoneEther.prototype.setDate=function(n){this._start=this._unit.cloneValue(n)};Timeline.HotZoneEther.prototype.shiftPixels=function(n){this._start=this.pixelOffsetToDate(n)};Timeline.HotZoneEther.prototype.dateToPixelOffset=function(n){return this._dateDiffToPixelOffset(this._start,n)};Timeline.HotZoneEther.prototype.pixelOffsetToDate=function(n){return this._pixelOffsetToDate(n,this._start)};Timeline.HotZoneEther.prototype.zoom=function(n){var t=this._band._zoomIndex,i=t;return n&&t>0&&(i=t-1),!n&&t<this._band._zoomSteps.length-1&&(i=t+1),this._band._zoomIndex=i,this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[i].unit],this._pixelsPerInterval=this._band._zoomSteps[i].pixelsPerInterval,this._band._zoomSteps[i].unit-this._band._zoomSteps[t].unit};Timeline.HotZoneEther.prototype._dateDiffToPixelOffset=function(n,t){var s=this._getScale(),r=n,e=t,o=0,i,u,f;if(this._unit.compare(r,e)<0){for(i=0;i<this._zones.length;){if(this._unit.compare(r,this._zones[i].endTime)<0)break;i++}while(this._unit.compare(r,e)<0)u=this._zones[i],f=this._unit.earlier(e,u.endTime),o+=this._unit.compare(f,r)/(s/u.magnify),r=f,i++}else{for(i=this._zones.length-1;i>=0;){if(this._unit.compare(r,this._zones[i].startTime)>0)break;i--}while(this._unit.compare(r,e)>0)u=this._zones[i],f=this._unit.later(e,u.startTime),o+=this._unit.compare(f,r)/(s/u.magnify),r=f,i--}return o};Timeline.HotZoneEther.prototype._pixelOffsetToDate=function(n,t){var o=this._getScale(),i=t,r,u,f,e;if(n>0){for(r=0;r<this._zones.length;){if(this._unit.compare(i,this._zones[r].endTime)<0)break;r++}while(n>0)u=this._zones[r],f=o/u.magnify,u.endTime==Number.POSITIVE_INFINITY?(i=this._unit.change(i,n*f),n=0):(e=this._unit.compare(u.endTime,i)/f,e>n?(i=this._unit.change(i,n*f),n=0):(i=u.endTime,n-=e)),r++}else{for(r=this._zones.length-1;r>=0;){if(this._unit.compare(i,this._zones[r].startTime)>0)break;r--}for(n=-n;n>0;)u=this._zones[r],f=o/u.magnify,u.startTime==Number.NEGATIVE_INFINITY?(i=this._unit.change(i,-n*f),n=0):(e=this._unit.compare(i,u.startTime)/f,e>n?(i=this._unit.change(i,-n*f),n=0):(i=u.startTime,n-=e)),r--}return i};Timeline.HotZoneEther.prototype._getScale=function(){return this._interval/this._pixelsPerInterval};Timeline.EventUtils={};Timeline.EventUtils.getNewEventID=function(){return this._lastEventID==null&&(this._lastEventID=0),this._lastEventID+=1,"e"+this._lastEventID};Timeline.EventUtils.decodeEventElID=function(n){var t=n.split("-");if(t[1]!="tl")return alert("Internal Timeline problem 101, please consult support"),{band:null,evt:null};var r=Timeline.getTimelineFromID(t[2]),i=r.getBand(t[3]),u=i.getEventSource.getEvent(t[4]);return{band:i,evt:u}};Timeline.EventUtils.encodeEventElID=function(n,t,i,r){return i+"-tl-"+n.timelineID+"-"+t.getIndex()+"-"+r.getID()};Timeline.GregorianDateLabeller=function(n,t){this._locale=n;this._timeZone=t};Timeline.GregorianDateLabeller.monthNames=[];Timeline.GregorianDateLabeller.dayNames=[];Timeline.GregorianDateLabeller.labelIntervalFunctions=[];Timeline.GregorianDateLabeller.getMonthName=function(n,t){return Timeline.GregorianDateLabeller.monthNames[t][n]};Timeline.GregorianDateLabeller.prototype.labelInterval=function(n,t){var i=Timeline.GregorianDateLabeller.labelIntervalFunctions[this._locale];return i==null&&(i=Timeline.GregorianDateLabeller.prototype.defaultLabelInterval),i.call(this,n,t)};Timeline.GregorianDateLabeller.prototype.labelPrecise=function(n){return SimileAjax.DateTime.removeTimeZoneOffset(n,this._timeZone).toUTCString()};Timeline.GregorianDateLabeller.prototype.defaultLabelInterval=function(n,t){var i,f=!1,r,u;n=SimileAjax.DateTime.removeTimeZoneOffset(n,this._timeZone);switch(t){case SimileAjax.DateTime.MILLISECOND:i=n.getUTCMilliseconds();break;case SimileAjax.DateTime.SECOND:i=n.getUTCSeconds();break;case SimileAjax.DateTime.MINUTE:r=n.getUTCMinutes();r==0?(i=n.getUTCHours()+":00",f=!0):i=r;break;case SimileAjax.DateTime.HOUR:i=n.getUTCHours()+"hr";break;case SimileAjax.DateTime.DAY:i=Timeline.GregorianDateLabeller.getMonthName(n.getUTCMonth(),this._locale)+" "+n.getUTCDate();break;case SimileAjax.DateTime.WEEK:i=Timeline.GregorianDateLabeller.getMonthName(n.getUTCMonth(),this._locale)+" "+n.getUTCDate();break;case SimileAjax.DateTime.MONTH:if(r=n.getUTCMonth(),r!=0){i=Timeline.GregorianDateLabeller.getMonthName(r,this._locale);break}case SimileAjax.DateTime.YEAR:case SimileAjax.DateTime.DECADE:case SimileAjax.DateTime.CENTURY:case SimileAjax.DateTime.MILLENNIUM:u=n.getUTCFullYear();i=u>0?n.getUTCFullYear():1-u+"BC";f=t==SimileAjax.DateTime.MONTH||t==SimileAjax.DateTime.DECADE&&u%100==0||t==SimileAjax.DateTime.CENTURY&&u%1e3==0;break;default:i=n.toUTCString()}return{text:i,emphasized:f}};Timeline.OriginalEventPainter=function(n){this._params=n;this._onSelectListeners=[];this._eventPaintListeners=[];this._filterMatcher=null;this._highlightMatcher=null;this._frc=null;this._eventIdToElmt={}};Timeline.OriginalEventPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;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(n){this._onSelectListeners.push(n)};Timeline.OriginalEventPainter.prototype.removeOnSelectListener=function(n){for(var t=0;t<this._onSelectListeners.length;t++)if(this._onSelectListeners[t]==n){this._onSelectListeners.splice(t,1);break}};Timeline.OriginalEventPainter.prototype.addEventPaintListener=function(n){this._eventPaintListeners.push(n)};Timeline.OriginalEventPainter.prototype.removeEventPaintListener=function(n){for(var t=0;t<this._eventPaintListeners.length;t++)if(this._eventPaintListeners[t]==n){this._eventPaintListeners.splice(t,1);break}};Timeline.OriginalEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.OriginalEventPainter.prototype.setFilterMatcher=function(n){this._filterMatcher=n};Timeline.OriginalEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.OriginalEventPainter.prototype.setHighlightMatcher=function(n){this._highlightMatcher=n};Timeline.OriginalEventPainter.prototype.paint=function(){var i=this._band.getEventSource(),t;if(i!=null){this._eventIdToElmt={};this._fireEventPaintListeners("paintStarting",null,null);this._prepareForPainting();for(var n=this._params.theme.event,r=Math.max(n.track.height,n.tape.height+this._frc.getLineHeight()),u={trackOffset:n.track.offset,trackHeight:r,trackGap:n.track.gap,trackIncrement:r+n.track.gap,icon:n.instant.icon,iconWidth:n.instant.iconWidth,iconHeight:n.instant.iconHeight,labelWidth:n.label.width,maxLabelChar:n.label.maxLabelChar,impreciseIconMargin:n.instant.impreciseIconMargin},e=this._band.getMinDate(),o=this._band.getMaxDate(),s=this._filterMatcher!=null?this._filterMatcher:function(){return!0},h=this._highlightMatcher!=null?this._highlightMatcher:function(){return-1},f=i.getEventReverseIterator(e,o);f.hasNext();)t=f.next(),s(t)&&this.paintEvent(t,u,this._params.theme,h(t));this._highlightLayer.style.display="block";this._lineLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._tracks.length,u.trackIncrement);this._fireEventPaintListeners("paintEnded",null,null)}};Timeline.OriginalEventPainter.prototype.softPaint=function(){};Timeline.OriginalEventPainter.prototype._prepareForPainting=function(){var n=this._band,t;this._backLayer==null&&(this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"),this._backLayer.style.visibility="hidden",t=document.createElement("span"),t.className="timeline-event-label",this._backLayer.appendChild(t),this._frc=SimileAjax.Graphics.getFontRenderingContext(t));this._frc.update();this._tracks=[];this._highlightLayer!=null&&n.removeLayerDiv(this._highlightLayer);this._highlightLayer=n.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";this._lineLayer!=null&&n.removeLayerDiv(this._lineLayer);this._lineLayer=n.createLayerDiv(110,"timeline-band-lines");this._lineLayer.style.display="none";this._eventLayer!=null&&n.removeLayerDiv(this._eventLayer);this._eventLayer=n.createLayerDiv(115,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.OriginalEventPainter.prototype.paintEvent=function(n,t,i,r){n.isInstant()?this.paintInstantEvent(n,t,i,r):this.paintDurationEvent(n,t,i,r)};Timeline.OriginalEventPainter.prototype.paintInstantEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseInstantEvent(n,t,i,r):this.paintPreciseInstantEvent(n,t,i,r)};Timeline.OriginalEventPainter.prototype.paintDurationEvent=function(n,t,i,r){n.isImprecise()?this.paintImpreciseDurationEvent(n,t,i,r):this.paintPreciseDurationEvent(n,t,i,r)};Timeline.OriginalEventPainter.prototype.paintPreciseInstantEvent=function(n,t,i,r){var tt=this._timeline.getDocument(),s=n.getText(),w=n.getStart(),h=Math.round(this._band.dateToPixelOffset(w)),b=Math.round(h+t.iconWidth/2),c=Math.round(h-t.iconWidth/2),l=this._getLabelDivClassName(n),f=this._frc.computeSize(s,l),a=b+i.event.label.offsetFromLine,k=a+f.width,d=k,e=this._findFreeTrack(n,d),g=Math.round(t.trackOffset+e*t.trackIncrement+t.trackHeight/2-f.height/2),u=this._paintEventIcon(n,e,c,t,i,0),v=this._paintEventLabel(n,s,a,g,f.width,f.height,i,l,r),y=[u.elmt,v.elmt],nt=this,p=function(t,i){return nt._onClickInstantEvent(u.elmt,i,n)},o;SimileAjax.DOM.registerEvent(u.elmt,"mousedown",p);SimileAjax.DOM.registerEvent(v.elmt,"mousedown",p);o=this._createHighlightDiv(r,u,i,n);o!=null&&y.push(o);this._fireEventPaintListeners("paintedEvent",n,y);this._eventIdToElmt[n.getID()]=u.elmt;this._tracks[e]=c};Timeline.OriginalEventPainter.prototype.paintImpreciseInstantEvent=function(n,t,i,r){var et=this._timeline.getDocument(),l=n.getText(),g=n.getStart(),nt=n.getEnd(),o=Math.round(this._band.dateToPixelOffset(g)),a=Math.round(this._band.dateToPixelOffset(nt)),tt=Math.round(o+t.iconWidth/2),v=Math.round(o-t.iconWidth/2),y=this._getLabelDivClassName(n),s=this._frc.computeSize(l,y),p=tt+i.event.label.offsetFromLine,it=p+s.width,rt=Math.max(it,a),f=this._findFreeTrack(n,rt),w=i.event.tape.height,ut=Math.round(t.trackOffset+f*t.trackIncrement+w),u=this._paintEventIcon(n,f,v,t,i,w),b=this._paintEventLabel(n,l,p,ut,s.width,s.height,i,y,r),e=n.getColor(),c;e=e!=null?e:i.event.instant.impreciseColor;var k=this._paintEventTape(n,f,o,a,e,i.event.instant.impreciseOpacity,t,i,0),d=[u.elmt,b.elmt,k.elmt],ft=this,h=function(t,i){return ft._onClickInstantEvent(u.elmt,i,n)};SimileAjax.DOM.registerEvent(u.elmt,"mousedown",h);SimileAjax.DOM.registerEvent(k.elmt,"mousedown",h);SimileAjax.DOM.registerEvent(b.elmt,"mousedown",h);c=this._createHighlightDiv(r,u,i,n);c!=null&&d.push(c);this._fireEventPaintListeners("paintedEvent",n,d);this._eventIdToElmt[n.getID()]=u.elmt;this._tracks[f]=v};Timeline.OriginalEventPainter.prototype.paintPreciseDurationEvent=function(n,t,i,r){var it=this._timeline.getDocument(),c=n.getText(),b=n.getStart(),k=n.getEnd(),e=Math.round(this._band.dateToPixelOffset(b)),l=Math.round(this._band.dateToPixelOffset(k)),a=this._getLabelDivClassName(n),o=this._frc.computeSize(c,a),v=e,d=v+o.width,g=Math.max(d,l),s=this._findFreeTrack(n,g),nt=Math.round(t.trackOffset+s*t.trackIncrement+i.event.tape.height),f=n.getColor(),h;f=f!=null?f:i.event.duration.color;var u=this._paintEventTape(n,s,e,l,f,100,t,i,0),y=this._paintEventLabel(n,c,v,nt,o.width,o.height,i,a,r),p=[u.elmt,y.elmt],tt=this,w=function(t,i){return tt._onClickDurationEvent(u.elmt,i,n)};SimileAjax.DOM.registerEvent(u.elmt,"mousedown",w);SimileAjax.DOM.registerEvent(y.elmt,"mousedown",w);h=this._createHighlightDiv(r,u,i,n);h!=null&&p.push(h);this._fireEventPaintListeners("paintedEvent",n,p);this._eventIdToElmt[n.getID()]=u.elmt;this._tracks[s]=e};Timeline.OriginalEventPainter.prototype.paintImpreciseDurationEvent=function(n,t,i,r){var ot=this._timeline.getDocument(),h=n.getText(),k=n.getStart(),d=n.getLatestStart(),g=n.getEnd(),nt=n.getEarliestEnd(),c=Math.round(this._band.dateToPixelOffset(k)),l=Math.round(this._band.dateToPixelOffset(d)),a=Math.round(this._band.dateToPixelOffset(g)),tt=Math.round(this._band.dateToPixelOffset(nt)),v=this._getLabelDivClassName(n),o=this._frc.computeSize(h,v),y=l,it=y+o.width,rt=Math.max(it,a),f=this._findFreeTrack(n,rt),ut=Math.round(t.trackOffset+f*t.trackIncrement+i.event.tape.height),e=n.getColor(),s;e=e!=null?e:i.event.duration.color;var ft=this._paintEventTape(n,f,c,a,i.event.duration.impreciseColor,i.event.duration.impreciseOpacity,t,i,0),u=this._paintEventTape(n,f,l,tt,e,100,t,i,1),p=this._paintEventLabel(n,h,y,ut,o.width,o.height,i,v,r),w=[ft.elmt,u.elmt,p.elmt],et=this,b=function(t,i){return et._onClickDurationEvent(u.elmt,i,n)};SimileAjax.DOM.registerEvent(u.elmt,"mousedown",b);SimileAjax.DOM.registerEvent(p.elmt,"mousedown",b);s=this._createHighlightDiv(r,u,i,n);s!=null&&w.push(s);this._fireEventPaintListeners("paintedEvent",n,w);this._eventIdToElmt[n.getID()]=u.elmt;this._tracks[f]=c};Timeline.OriginalEventPainter.prototype._encodeEventElID=function(n,t){return Timeline.EventUtils.encodeEventElID(this._timeline,this._band,n,t)};Timeline.OriginalEventPainter.prototype._findFreeTrack=function(n,t){var r=n.getTrackNum(),i,u;if(r!=null)return r;for(i=0;i<this._tracks.length;i++)if(u=this._tracks[i],u>t)break;return i};Timeline.OriginalEventPainter.prototype._paintEventIcon=function(n,t,i,r,u,f){var o=n.getIcon(),s,h,c,e;return o=o!=null?o:r.icon,f>0?s=r.trackOffset+t*r.trackIncrement+f+r.impreciseIconMargin:(h=r.trackOffset+t*r.trackIncrement+r.trackHeight/2,s=Math.round(h-r.iconHeight/2)),c=SimileAjax.Graphics.createTranslucentImage(o),e=this._timeline.getDocument().createElement("div"),e.className=this._getElClassName("timeline-event-icon",n,"icon"),e.id=this._encodeEventElID("icon",n),e.style.left=i+"px",e.style.top=s+"px",e.appendChild(c),n._title!=null&&(e.title=n._title),this._eventLayer.appendChild(e),{left:i,top:s,width:r.iconWidth,height:r.iconHeight,elmt:e}};Timeline.OriginalEventPainter.prototype._paintEventLabel=function(n,t,i,r,u,f,e,o,s){var l=this._timeline.getDocument(),h=l.createElement("div"),c;return h.className=o,h.id=this._encodeEventElID("label",n),h.style.left=i+"px",h.style.width=u+"px",h.style.top=r+"px",h.innerHTML=t,n._title!=null&&(h.title=n._title),c=n.getTextColor(),c==null&&(c=n.getColor()),c!=null&&(h.style.color=c),e.event.highlightLabelBackground&&s>=0&&(h.style.background=this._getHighlightColor(s,e)),this._eventLayer.appendChild(h),{left:i,top:r,width:u,height:f,elmt:h}};Timeline.OriginalEventPainter.prototype._paintEventTape=function(n,t,i,r,u,f,e,o,s){var a=r-i,v=o.event.tape.height,y=e.trackOffset+t*e.trackIncrement,h=this._timeline.getDocument().createElement("div"),l,c;return h.className=this._getElClassName("timeline-event-tape",n,"tape"),h.id=this._encodeEventElID("tape"+s,n),h.style.left=i+"px",h.style.width=a+"px",h.style.height=v+"px",h.style.top=y+"px",n._title!=null&&(h.title=n._title),u!=null&&(h.style.backgroundColor=u),l=n.getTapeImage(),c=n.getTapeRepeat(),c=c!=null?c:"repeat",l!=null&&(h.style.backgroundImage="url("+l+")",h.style.backgroundRepeat=c),SimileAjax.Graphics.setOpacity(h,f),this._eventLayer.appendChild(h),{left:i,top:y,width:a,height:v,elmt:h}};Timeline.OriginalEventPainter.prototype._getLabelDivClassName=function(n){return this._getElClassName("timeline-event-label",n,"label")};Timeline.OriginalEventPainter.prototype._getElClassName=function(n,t,i){var u=t.getClassName(),r=[];return u&&(i&&r.push(i+"-"+u+" "),r.push(u+" ")),r.push(n),r.join("")};Timeline.OriginalEventPainter.prototype._getHighlightColor=function(n,t){var i=t.event.highlightColors;return i[Math.min(n,i.length-1)]};Timeline.OriginalEventPainter.prototype._createHighlightDiv=function(n,t,i,r){var u=null,f,e;return n>=0&&(f=this._timeline.getDocument(),e=this._getHighlightColor(n,i),u=f.createElement("div"),u.className=this._getElClassName("timeline-event-highlight",r,"highlight"),u.id=this._encodeEventElID("highlight0",r),u.style.position="absolute",u.style.overflow="hidden",u.style.left=t.left-2+"px",u.style.width=t.width+4+"px",u.style.top=t.top-2+"px",u.style.height=t.height+4+"px",u.style.background=e,this._highlightLayer.appendChild(u)),u};Timeline.OriginalEventPainter.prototype._onClickInstantEvent=function(n,t,i){var r=SimileAjax.DOM.getPageCoordinates(n);return this._showBubble(r.left+Math.ceil(n.offsetWidth/2),r.top+Math.ceil(n.offsetHeight/2),i),this._fireOnSelect(i.getID()),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.OriginalEventPainter.prototype._onClickDurationEvent=function(n,t,i){var r,u;if("pageX"in t)r=t.pageX,u=t.pageY;else var f=SimileAjax.DOM.getPageCoordinates(n),r=t.offsetX+f.left,u=t.offsetY+f.top;return this._showBubble(r,u,i),this._fireOnSelect(i.getID()),t.cancelBubble=!0,SimileAjax.DOM.cancelEvent(t),!1};Timeline.OriginalEventPainter.prototype.showBubble=function(n){var t=this._eventIdToElmt[n.getID()],i;t&&(i=SimileAjax.DOM.getPageCoordinates(t),this._showBubble(i.left+t.offsetWidth/2,i.top+t.offsetHeight/2,n))};Timeline.OriginalEventPainter.prototype._showBubble=function(n,t,i){var r=document.createElement("div"),u=this._params.theme.event.bubble;i.fillInfoBubble(r,this._params.theme,this._band.getLabeller());SimileAjax.WindowManager.cancelPopups();SimileAjax.Graphics.createBubbleForContentAndPoint(r,n,t,u.width,null,u.maxHeight)};Timeline.OriginalEventPainter.prototype._fireOnSelect=function(n){for(var t=0;t<this._onSelectListeners.length;t++)this._onSelectListeners[t](n)};Timeline.OriginalEventPainter.prototype._fireEventPaintListeners=function(n,t,i){for(var r=0;r<this._eventPaintListeners.length;r++)this._eventPaintListeners[r](this._band,n,t,i)};Timeline.OverviewEventPainter=function(n){this._params=n;this._onSelectListeners=[];this._filterMatcher=null;this._highlightMatcher=null};Timeline.OverviewEventPainter.prototype.initialize=function(n,t){this._band=n;this._timeline=t;this._eventLayer=null;this._highlightLayer=null};Timeline.OverviewEventPainter.prototype.getType=function(){return"overview"};Timeline.OverviewEventPainter.prototype.addOnSelectListener=function(n){this._onSelectListeners.push(n)};Timeline.OverviewEventPainter.prototype.removeOnSelectListener=function(n){for(var t=0;t<this._onSelectListeners.length;t++)if(this._onSelectListeners[t]==n){this._onSelectListeners.splice(t,1);break}};Timeline.OverviewEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher};Timeline.OverviewEventPainter.prototype.setFilterMatcher=function(n){this._filterMatcher=n};Timeline.OverviewEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher};Timeline.OverviewEventPainter.prototype.setHighlightMatcher=function(n){this._highlightMatcher=n};Timeline.OverviewEventPainter.prototype.paint=function(){var i=this._band.getEventSource(),t;if(i!=null){this._prepareForPainting();for(var n=this._params.theme.event,r={trackOffset:n.overviewTrack.offset,trackHeight:n.overviewTrack.height,trackGap:n.overviewTrack.gap,trackIncrement:n.overviewTrack.height+n.overviewTrack.gap},f=this._band.getMinDate(),e=this._band.getMaxDate(),o=this._filterMatcher!=null?this._filterMatcher:function(){return!0},s=this._highlightMatcher!=null?this._highlightMatcher:function(){return-1},u=i.getEventReverseIterator(f,e);u.hasNext();)t=u.next(),o(t)&&this.paintEvent(t,r,this._params.theme,s(t));this._highlightLayer.style.display="block";this._eventLayer.style.display="block";this._band.updateEventTrackInfo(this._tracks.length,r.trackIncrement)}};Timeline.OverviewEventPainter.prototype.softPaint=function(){};Timeline.OverviewEventPainter.prototype._prepareForPainting=function(){var n=this._band;this._tracks=[];this._highlightLayer!=null&&n.removeLayerDiv(this._highlightLayer);this._highlightLayer=n.createLayerDiv(105,"timeline-band-highlights");this._highlightLayer.style.display="none";this._eventLayer!=null&&n.removeLayerDiv(this._eventLayer);this._eventLayer=n.createLayerDiv(110,"timeline-band-events");this._eventLayer.style.display="none"};Timeline.OverviewEventPainter.prototype.paintEvent=function(n,t,i,r){n.isInstant()?this.paintInstantEvent(n,t,i,r):this.paintDurationEvent(n,t,i,r)};Timeline.OverviewEventPainter.prototype.paintInstantEvent=function(n,t,i,r){var e=n.getStart(),o=Math.round(this._band.dateToPixelOffset(e)),u=n.getColor(),s=n.getClassName(),f;u=s?null:u!=null?u:i.event.duration.color;f=this._paintEventTick(n,o,u,100,t,i);this._createHighlightDiv(r,f,i)};Timeline.OverviewEventPainter.prototype.paintDurationEvent=function(n,t,i,r){for(var h=n.getLatestStart(),c=n.getEarliestEnd(),l=Math.round(this._band.dateToPixelOffset(h)),e=Math.round(this._band.dateToPixelOffset(c)),u=0,f,o,s;u<this._tracks.length;u++)if(e<this._tracks[u])break;this._tracks[u]=e;f=n.getColor();o=n.getClassName();f=o?null:f!=null?f:i.event.duration.color;s=this._paintEventTape(n,u,l,e,f,100,t,i,o);this._createHighlightDiv(r,s,i)};Timeline.OverviewEventPainter.prototype._paintEventTape=function(n,t,i,r,u,f,e,o,s){var c=e.trackOffset+t*e.trackIncrement,l=r-i,a=e.trackHeight,h=this._timeline.getDocument().createElement("div");return h.className="timeline-small-event-tape",s&&(h.className+=" small-"+s),h.style.left=i+"px",h.style.width=l+"px",h.style.top=c+"px",h.style.height=a+"px",u&&(h.style.backgroundColor=u),f<100&&SimileAjax.Graphics.setOpacity(h,f),this._eventLayer.appendChild(h),{left:i,top:c,width:l,height:a,elmt:h}};Timeline.OverviewEventPainter.prototype._paintEventTick=function(n,t,i,r,u,f){var s=f.event.overviewTrack.tickHeight,h=u.trackOffset-s,e=this._timeline.getDocument().createElement("div"),o;return e.className="timeline-small-event-icon",e.style.left=t+"px",e.style.top=h+"px",o=n.getClassName(),o&&(e.className+=" small-"+o),r<100&&SimileAjax.Graphics.setOpacity(e,r),this._eventLayer.appendChild(e),{left:t,top:h,width:1,height:s,elmt:e}};Timeline.OverviewEventPainter.prototype._createHighlightDiv=function(n,t,i){if(n>=0){var f=this._timeline.getDocument(),u=i.event,e=u.highlightColors[Math.min(n,u.highlightColors.length-1)],r=f.createElement("div");r.style.position="absolute";r.style.overflow="hidden";r.style.left=t.left-1+"px";r.style.width=t.width+2+"px";r.style.top=t.top-1+"px";r.style.height=t.height+2+"px";r.style.background=e;this._highlightLayer.appendChild(r)}};Timeline.OverviewEventPainter.prototype.showBubble=function(){};Timeline.DefaultEventSource=function(n){this._events=n instanceof Object?n:new SimileAjax.EventIndex;this._listeners=[]};Timeline.DefaultEventSource.prototype.addListener=function(n){this._listeners.push(n)};Timeline.DefaultEventSource.prototype.removeListener=function(n){for(var t=0;t<this._listeners.length;t++)if(this._listeners[t]==n){this._listeners.splice(t,1);break}};Timeline.DefaultEventSource.prototype.loadXML=function(n,t){for(var f=this._getBaseURL(t),h=n.documentElement.getAttribute("wiki-url"),c=n.documentElement.getAttribute("wiki-section"),l=n.documentElement.getAttribute("date-time-format"),u=this._events.getUnit().getParser(l),i=n.documentElement.firstChild,o=!1,e,s,r;i!=null;)i.nodeType==1&&(e="",i.firstChild!=null&&i.firstChild.nodeType==3&&(e=i.firstChild.nodeValue),s=i.getAttribute("isDuration")===null&&i.getAttribute("durationEvent")===null||i.getAttribute("isDuration")=="false"||i.getAttribute("durationEvent")=="false",r=new Timeline.DefaultEventSource.Event({id:i.getAttribute("id"),start:u(i.getAttribute("start")),end:u(i.getAttribute("end")),latestStart:u(i.getAttribute("latestStart")),earliestEnd:u(i.getAttribute("earliestEnd")),instant:s,text:i.getAttribute("title"),description:e,image:this._resolveRelativeURL(i.getAttribute("image"),f),link:this._resolveRelativeURL(i.getAttribute("link"),f),icon:this._resolveRelativeURL(i.getAttribute("icon"),f),color:i.getAttribute("color"),textColor:i.getAttribute("textColor"),hoverText:i.getAttribute("hoverText"),classname:i.getAttribute("classname"),tapeImage:i.getAttribute("tapeImage"),tapeRepeat:i.getAttribute("tapeRepeat"),caption:i.getAttribute("caption"),eventID:i.getAttribute("eventID"),trackNum:i.getAttribute("trackNum")}),r._node=i,r.getProperty=function(n){return this._node.getAttribute(n)},r.setWikiInfo(h,c),this._events.add(r),o=!0),i=i.nextSibling;o&&this._fire("onAddMany",[])};Timeline.DefaultEventSource.prototype.loadJSON=function(n,t){var e=this._getBaseURL(t),o=!1,u;if(n&&n.events){var s="wikiURL"in n?n.wikiURL:null,h="wikiSection"in n?n.wikiSection:null,c="dateTimeFormat"in n?n.dateTimeFormat:null,r=this._events.getUnit().getParser(c);for(u=0;u<n.events.length;u++){var i=n.events[u],l=i.isDuration||i.durationEvent!=null&&!i.durationEvent,f=new Timeline.DefaultEventSource.Event({id:"id"in i?i.id:undefined,start:r(i.start),end:r(i.end),latestStart:r(i.latestStart),earliestEnd:r(i.earliestEnd),instant:l,text:i.title,description:i.description,image:this._resolveRelativeURL(i.image,e),link:this._resolveRelativeURL(i.link,e),icon:this._resolveRelativeURL(i.icon,e),color:i.color,textColor:i.textColor,hoverText:i.hoverText,classname:i.classname,tapeImage:i.tapeImage,tapeRepeat:i.tapeRepeat,caption:i.caption,eventID:i.eventID,trackNum:i.trackNum});f._obj=i;f.getProperty=function(n){return this._obj[n]};f.setWikiInfo(s,h);this._events.add(f);o=!0}}o&&this._fire("onAddMany",[])};Timeline.DefaultEventSource.prototype.loadSPARQL=function(n,t){var o=this._getBaseURL(t),e=this._events.getUnit().getParser("iso8601"),r,s,h,c,i,u,l,f;if(n!=null){for(r=n.documentElement.firstChild;r!=null&&(r.nodeType!=1||r.nodeName!="results");)r=r.nextSibling;for(s=null,h=null,r!=null&&(s=r.getAttribute("wiki-url"),h=r.getAttribute("wiki-section"),r=r.firstChild),c=!1;r!=null;){if(r.nodeType==1){for(i={},u=r.firstChild;u!=null;)u.nodeType==1&&u.firstChild!=null&&u.firstChild.nodeType==1&&u.firstChild.firstChild!=null&&u.firstChild.firstChild.nodeType==3&&(i[u.getAttribute("name")]=u.firstChild.firstChild.nodeValue),u=u.nextSibling;i.start==null&&i.date!=null&&(i.start=i.date);l=i.isDuration===null&&i.durationEvent===null||i.isDuration=="false"||i.durationEvent=="false";f=new Timeline.DefaultEventSource.Event({id:i.id,start:e(i.start),end:e(i.end),latestStart:e(i.latestStart),earliestEnd:e(i.earliestEnd),instant:l,text:i.title,description:i.description,image:this._resolveRelativeURL(i.image,o),link:this._resolveRelativeURL(i.link,o),icon:this._resolveRelativeURL(i.icon,o),color:i.color,textColor:i.textColor,hoverText:i.hoverText,caption:i.caption,classname:i.classname,tapeImage:i.tapeImage,tapeRepeat:i.tapeRepeat,eventID:i.eventID,trackNum:i.trackNum});f._bindings=i;f.getProperty=function(n){return this._bindings[n]};f.setWikiInfo(s,h);this._events.add(f);c=!0}r=r.nextSibling}c&&this._fire("onAddMany",[])}};Timeline.DefaultEventSource.prototype.add=function(n){this._events.add(n);this._fire("onAddOne",[n])};Timeline.DefaultEventSource.prototype.addMany=function(n){for(var t=0;t<n.length;t++)this._events.add(n[t]);this._fire("onAddMany",[])};Timeline.DefaultEventSource.prototype.clear=function(){this._events.removeAll();this._fire("onClear",[])};Timeline.DefaultEventSource.prototype.getEvent=function(n){return this._events.getEvent(n)};Timeline.DefaultEventSource.prototype.getEventIterator=function(n,t){return this._events.getIterator(n,t)};Timeline.DefaultEventSource.prototype.getEventReverseIterator=function(n,t){return this._events.getReverseIterator(n,t)};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(n,t){for(var r,i=0;i<this._listeners.length;i++)if(r=this._listeners[i],n in r)try{r[n].apply(r,t)}catch(u){SimileAjax.Debug.exception(u)}};Timeline.DefaultEventSource.prototype._getBaseURL=function(n){var t,i;return n.indexOf("://")<0&&(t=this._getBaseURL(document.location.href),n=n.substr(0,1)=="/"?t.substr(0,t.indexOf("/",t.indexOf("://")+3))+n:t+n),i=n.lastIndexOf("/"),i<0?"":n.substr(0,i+1)};Timeline.DefaultEventSource.prototype._resolveRelativeURL=function(n,t){return n==null||n==""?n:n.indexOf("://")>0?n:n.substr(0,1)=="/"?t.substr(0,t.indexOf("/",t.indexOf("://")+3))+n:t+n};Timeline.DefaultEventSource.Event=function(n){function t(t){return n[t]!=null&&n[t]!=""?n[t]:null}var r=n.id?n.id.trim():"",i;this._id=r.length>0?r:Timeline.EventUtils.getNewEventID();this._instant=n.instant||n.end==null;this._start=n.start;this._end=n.end!=null?n.end:n.start;this._latestStart=n.latestStart!=null?n.latestStart:n.instant?this._end:this._start;this._earliestEnd=n.earliestEnd!=null?n.earliestEnd:this._end;i=[];this._start>this._latestStart&&(this._latestStart=this._start,i.push("start is > latestStart"));this._start>this._earliestEnd&&(this._earliestEnd=this._latestStart,i.push("start is > earliestEnd"));this._start>this._end&&(this._end=this._earliestEnd,i.push("start is > end"));this._latestStart>this._earliestEnd&&(this._earliestEnd=this._latestStart,i.push("latestStart is > earliestEnd"));this._latestStart>this._end&&(this._end=this._earliestEnd,i.push("latestStart is > end"));this._earliestEnd>this._end&&(this._end=this._earliestEnd,i.push("earliestEnd is > end"));this._eventID=t("eventID");this._text=n.text!=null?SimileAjax.HTML.deEntify(n.text):"";i.length>0&&(this._text+=" PROBLEM: "+i.join(", "));this._description=SimileAjax.HTML.deEntify(n.description);this._image=t("image");this._link=t("link");this._title=t("hoverText");this._title=t("caption");this._icon=t("icon");this._color=t("color");this._textColor=t("textColor");this._classname=t("classname");this._tapeImage=t("tapeImage");this._tapeRepeat=t("tapeRepeat");this._trackNum=t("trackNum");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(){return null},getWikiURL:function(){return this._wikiURL},getWikiSection:function(){return this._wikiSection},setWikiInfo:function(n,t){this._wikiURL=n;this._wikiSection=t},fillDescription:function(n){n.innerHTML=this._description},fillWikiInfo:function(n){var t,r,i;(n.style.display="none",this._wikiURL!=null&&this._wikiSection!=null)&&(t=this.getProperty("wikiID"),(t==null||t.length==0)&&(t=this.getText()),t!=null&&t.length!=0)&&(n.style.display="inline",t=t.replace(/\s/g,"_"),r=this._wikiURL+this._wikiSection.replace(/\s/g,"_")+"/"+t,i=document.createElement("a"),i.href=r,i.target="new",i.innerHTML=Timeline.strings[Timeline.clientLocale].wikiLinkLabel,n.appendChild(document.createTextNode("[")),n.appendChild(i),n.appendChild(document.createTextNode("]")))},fillTime:function(n,t){this._instant?this.isImprecise()?(n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._start))),n.appendChild(n.ownerDocument.createElement("br")),n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._end)))):n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._start))):this.isImprecise()?(n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._start)+" ~ "+t.labelPrecise(this._latestStart))),n.appendChild(n.ownerDocument.createElement("br")),n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._earliestEnd)+" ~ "+t.labelPrecise(this._end)))):(n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._start))),n.appendChild(n.ownerDocument.createElement("br")),n.appendChild(n.ownerDocument.createTextNode(t.labelPrecise(this._end))))},fillInfoBubble:function(n,t,i){var r=n.ownerDocument,v=this.getText(),l=this.getLink(),a=this.getImage(),f,u,c,e,o,s,h;a!=null&&(f=r.createElement("img"),f.src=a,t.event.bubble.imageStyler(f),n.appendChild(f));u=r.createElement("div");c=r.createTextNode(v);l!=null?(e=r.createElement("a"),e.href=l,e.appendChild(c),u.appendChild(e)):u.appendChild(c);t.event.bubble.titleStyler(u);n.appendChild(u);o=r.createElement("div");this.fillDescription(o);t.event.bubble.bodyStyler(o);n.appendChild(o);s=r.createElement("div");this.fillTime(s,i);t.event.bubble.timeStyler(s);n.appendChild(s);h=r.createElement("div");this.fillWikiInfo(h);t.event.bubble.wikiStyler(h);n.appendChild(h)}};Timeline.ClassicTheme={};Timeline.ClassicTheme.implementations=[];Timeline.ClassicTheme.create=function(n){n==null&&(n=Timeline.getDefaultLocale());var t=Timeline.ClassicTheme.implementations[n];return t==null&&(t=Timeline.ClassicTheme._Impl),new t};Timeline.ClassicTheme._Impl=function(){this.firstDayOfWeek=0;this.autoWidth=!1;this.autoWidthAnimationTime=500;this.timeline_start=null;this.timeline_stop=null;this.ether={backgroundColors:[],highlightOpacity:50,interval:{line:{show:!0,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:!1,bubble:{width:250,maxHeight:0,titleStyler:function(n){n.className="timeline-event-bubble-title"},bodyStyler:function(n){n.className="timeline-event-bubble-body"},imageStyler:function(n){n.className="timeline-event-bubble-image"},wikiStyler:function(n){n.className="timeline-event-bubble-wiki"},timeStyler:function(n){n.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(n,t,i,r){var u,f;return Timeline.timelines==null&&(Timeline.timelines=[]),u=Timeline.timelines.length,Timeline.timelines[u]=null,f=new Timeline._Impl(n,t,i,r,u),Timeline.timelines[u]=f,f};Timeline.createBandInfo=function(n){var r="theme"in n?n.theme:Timeline.getDefaultTheme(),e="eventSource"in n?n.eventSource:null,o=new Timeline.LinearEther({centersOn:"date"in n?n.date:new Date,interval:SimileAjax.DateTime.gregorianUnitLengths[n.intervalUnit],pixelsPerInterval:n.intervalPixels,theme:r}),s=new Timeline.GregorianEtherPainter({unit:n.intervalUnit,multiple:"multiple"in n?n.multiple:1,theme:r,align:"align"in n?n.align:undefined}),t={showText:"showEventText"in n?n.showEventText:!0,theme:r},u,f,i;if("eventPainterParams"in n)for(u in n.eventPainterParams)t[u]=n.eventPainterParams[u];if("trackHeight"in n&&(t.trackHeight=n.trackHeight),"trackGap"in n&&(t.trackGap=n.trackGap),f="overview"in n&&n.overview?"overview":"layout"in n?n.layout:"original","eventPainter"in n)i=new n.eventPainter(t);else switch(f){case"overview":i=new Timeline.OverviewEventPainter(t);break;case"detailed":i=new Timeline.DetailedEventPainter(t);break;default:i=new Timeline.OriginalEventPainter(t)}return{width:n.width,eventSource:e,timeZone:"timeZone"in n?n.timeZone:0,ether:o,etherPainter:s,eventPainter:i,theme:r,zoomIndex:"zoomIndex"in n?n.zoomIndex:0,zoomSteps:"zoomSteps"in n?n.zoomSteps:null}};Timeline.createHotZoneBandInfo=function(n){var r="theme"in n?n.theme:Timeline.getDefaultTheme(),e="eventSource"in n?n.eventSource:null,o=new Timeline.HotZoneEther({centersOn:"date"in n?n.date:new Date,interval:SimileAjax.DateTime.gregorianUnitLengths[n.intervalUnit],pixelsPerInterval:n.intervalPixels,zones:n.zones,theme:r}),s=new Timeline.HotZoneGregorianEtherPainter({unit:n.intervalUnit,zones:n.zones,theme:r,align:"align"in n?n.align:undefined}),t={showText:"showEventText"in n?n.showEventText:!0,theme:r},u,f,i;if("eventPainterParams"in n)for(u in n.eventPainterParams)t[u]=n.eventPainterParams[u];if("trackHeight"in n&&(t.trackHeight=n.trackHeight),"trackGap"in n&&(t.trackGap=n.trackGap),f="overview"in n&&n.overview?"overview":"layout"in n?n.layout:"original","eventPainter"in n)i=new n.eventPainter(t);else switch(f){case"overview":i=new Timeline.OverviewEventPainter(t);break;case"detailed":i=new Timeline.DetailedEventPainter(t);break;default:i=new Timeline.OriginalEventPainter(t)}return{width:n.width,eventSource:e,timeZone:"timeZone"in n?n.timeZone:0,ether:o,etherPainter:s,eventPainter:i,theme:r,zoomIndex:"zoomIndex"in n?n.zoomIndex:0,zoomSteps:"zoomSteps"in n?n.zoomSteps:null}};Timeline.getDefaultTheme=function(){return Timeline._defaultTheme==null&&(Timeline._defaultTheme=Timeline.ClassicTheme.create(Timeline.getDefaultLocale())),Timeline._defaultTheme};Timeline.setDefaultTheme=function(n){Timeline._defaultTheme=n};Timeline.loadXML=function(n,t){var i=function(t){alert("Failed to load data xml from "+n+"\n"+t)},r=function(i){var r=i.responseXML;!r.documentElement&&i.responseStream&&r.load(i.responseStream);t(r,n)};SimileAjax.XmlHttp.get(n,i,r)};Timeline.loadJSON=function(n,t){var i=function(t){alert("Failed to load json data from "+n+"\n"+t)},r=function(xmlhttp){t(eval("("+xmlhttp.responseText+")"),n)};SimileAjax.XmlHttp.get(n,i,r)};Timeline.getTimelineFromID=function(n){return Timeline.timelines[n]};Timeline.writeVersion=function(n){document.getElementById(n).innerHTML=this.display_version};Timeline._Impl=function(n,t,i,r,u){SimileAjax.WindowManager.initialize();this._containerDiv=n;this._bandInfos=t;this._orientation=i==null?Timeline.HORIZONTAL:i;this._unit=r!=null?r:SimileAjax.NativeDateUnit;this._starting=!0;this._autoResizing=!1;this.autoWidth=t&&t[0]&&t[0].theme&&t[0].theme.autoWidth;this.autoWidthAnimationTime=t&&t[0]&&t[0].theme&&t[0].theme.autoWidthAnimationTime;this.timelineID=u;this.timeline_start=t&&t[0]&&t[0].theme&&t[0].theme.timeline_start;this.timeline_stop=t&&t[0]&&t[0].theme&&t[0].theme.timeline_stop;this.timeline_at_start=!1;this.timeline_at_stop=!1;this._initialize()};Timeline._Impl.prototype.dispose=function(){for(var n=0;n<this._bands.length;n++)this._bands[n].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(n){return this._bands[n]};Timeline._Impl.prototype.finishedEventLoading=function(){this._autoWidthCheck(!0);this._starting=!1};Timeline._Impl.prototype.layout=function(){this._autoWidthCheck(!0);this._distributeWidths()};Timeline._Impl.prototype.paint=function(){for(var n=0;n<this._bands.length;n++)this._bands[n].paint()};Timeline._Impl.prototype.getDocument=function(){return this._containerDiv.ownerDocument};Timeline._Impl.prototype.addDiv=function(n){this._containerDiv.appendChild(n)};Timeline._Impl.prototype.removeDiv=function(n){this._containerDiv.removeChild(n)};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(n,t){var i=this,r=function(t){alert("Failed to load data xml from "+n+"\n"+t);i.hideLoadingMessage()},u=function(r){try{var u=r.responseXML;!u.documentElement&&r.responseStream&&u.load(r.responseStream);t(u,n)}finally{i.hideLoadingMessage()}};this.showLoadingMessage();window.setTimeout(function(){SimileAjax.XmlHttp.get(n,r,u)},0)};Timeline._Impl.prototype.loadJSON=function(n,t){var i=this,r=function(t){alert("Failed to load json data from "+n+"\n"+t);i.hideLoadingMessage()},u=function(xmlhttp){try{t(eval("("+xmlhttp.responseText+")"),n)}finally{i.hideLoadingMessage()}};this.showLoadingMessage();window.setTimeout(function(){SimileAjax.XmlHttp.get(n,r,u)},0)};Timeline._Impl.prototype._autoWidthScrollListener=function(n){n.getTimeline()._autoWidthCheck(!1)};Timeline._Impl.prototype._autoWidthCheck=function(n){function u(){var u=t.getWidthStyle(),n;r?t._containerDiv.style[u]=i+"px":(t._autoResizing=!0,n={},n[u]=i+"px",SimileAjax.jQuery(t._containerDiv).animate(n,t.autoWidthAnimationTime,"linear",function(){t._autoResizing=!1}))}function f(){var f=0,e=t.getPixelWidth(),r;if(!t._autoResizing){for(r=0;r<t._bands.length;r++)t._bands[r].checkAutoWidth(),f+=t._bandInfos[r].width;(f>e||n)&&(i=f,u(),t._distributeWidths())}}var t=this,r=t._starting,i=0;t.autoWidth&&f()};Timeline._Impl.prototype._initialize=function(){var t=this._containerDiv,o=t.ownerDocument,f,r,e,u,n,i;for(t.className=t.className.split(" ").concat("timeline-container").join(" "),f=this.isHorizontal()?"horizontal":"vertical",t.className+=" timeline-"+f;t.firstChild;)t.removeChild(t.firstChild);for(r=SimileAjax.Graphics.createTranslucentImage(Timeline.urlPrefix+(this.isHorizontal()?"images/copyright-vertical.png":"images/copyright.png")),r.className="timeline-copyright",r.title="Timeline copyright SIMILE - www.code.google.com/p/simile-widgets/",SimileAjax.DOM.registerEvent(r,"click",function(){window.location="http://code.google.com/p/simile-widgets/"}),t.appendChild(r),this._bands=[],n=0;n<this._bandInfos.length;n++)e=new Timeline._Band(this,this._bandInfos[n],n),this._bands.push(e);for(this._distributeWidths(),n=0;n<this._bandInfos.length;n++)u=this._bandInfos[n],"syncWith"in u&&this._bands[n].setSyncWithBand(this._bands[u.syncWith],"highlight"in u?u.highlight:!1);if(this.autoWidth)for(n=0;n<this._bands.length;n++)this._bands[n].addOnScrollListener(this._autoWidthScrollListener);i=SimileAjax.Graphics.createMessageBubble(o);i.containerDiv.className="timeline-message-container";t.appendChild(i.containerDiv);i.contentDiv.className="timeline-message";i.contentDiv.innerHTML="<img src='"+Timeline.urlPrefix+"images/progress-running.gif' /> Loading...";this.showLoadingMessage=function(){i.containerDiv.style.display="block"};this.hideLoadingMessage=function(){i.containerDiv.style.display="none"}};Timeline._Impl.prototype._distributeWidths=function(){for(var r,e,o=this.getPixelLength(),s=this.getPixelWidth(),u=0,i=0;i<this._bands.length;i++){var f=this._bands[i],h=this._bandInfos[i],n=h.width,t;typeof n=="string"?(r=n.indexOf("%"),r>0?(e=parseInt(n.substr(0,r)),t=Math.round(e*s/100)):t=parseInt(n)):t=n;f.setBandShiftAndWidth(u,t);f.setViewLength(o);u+=t}};Timeline._Impl.prototype.shiftOK=function(n,t){var f=t>0,o=t<0,e,r,i,u;if(f&&this.timeline_start==null||o&&this.timeline_stop==null||t==0)return!0;for(e=!1,i=0;i<this._bands.length&&!e;i++)e=this._bands[i].busy();if(e)return!0;if(f&&this.timeline_at_start||o&&this.timeline_at_stop)return!1;for(r=!1,i=0;i<this._bands.length&&!r;i++)u=this._bands[i],r=f?(i==n?u.getMinVisibleDateAfterDelta(t):u.getMinVisibleDate())>=this.timeline_start:(i==n?u.getMaxVisibleDateAfterDelta(t):u.getMaxVisibleDate())<=this.timeline_stop;return f?(this.timeline_at_start=!r,this.timeline_at_stop=!1):(this.timeline_at_stop=!r,this.timeline_at_start=!1),r};Timeline._Impl.prototype.zoom=function(n,t,i,r){var e=new RegExp("^timeline-band-([0-9]+)$"),u=null,f=e.exec(r.id);f&&(u=parseInt(f[1]));u!=null&&this._bands[u].zoom(n,t,i,r);this.paint()};Timeline.NativeDateUnit={};Timeline.NativeDateUnit.createLabeller=function(n,t){return new Timeline.GregorianDateLabeller(n,t)};Timeline.NativeDateUnit.makeDefaultValue=function(){return new Date};Timeline.NativeDateUnit.cloneValue=function(n){return new Date(n.getTime())};Timeline.NativeDateUnit.getParser=function(n){return typeof n=="string"&&(n=n.toLowerCase()),n=="iso8601"||n=="iso 8601"?Timeline.DateTime.parseIso8601DateTime:Timeline.DateTime.parseGregorianDateTime};Timeline.NativeDateUnit.parseFromObject=function(n){return Timeline.DateTime.parseGregorianDateTime(n)};Timeline.NativeDateUnit.toNumber=function(n){return n.getTime()};Timeline.NativeDateUnit.fromNumber=function(n){return new Date(n)};Timeline.NativeDateUnit.compare=function(n,t){var i,r;return i=typeof n=="object"?n.getTime():Number(n),r=typeof t=="object"?t.getTime():Number(t),i-r};Timeline.NativeDateUnit.earlier=function(n,t){return Timeline.NativeDateUnit.compare(n,t)<0?n:t};Timeline.NativeDateUnit.later=function(n,t){return Timeline.NativeDateUnit.compare(n,t)>0?n:t};Timeline.NativeDateUnit.change=function(n,t){return new Date(n.getTime()+t)};Timeline.strings.en={wikiLinkLabel:"Discuss"};Timeline.GregorianDateLabeller.monthNames.en=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Timeline.GregorianDateLabeller.dayNames.en=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];