Files
Disco/Disco.Web/ClientSource/Scripts/Modules/Timeline.min.js
T
2013-02-01 12:35:28 +11:00

2 lines
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 window.$=="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 u=[].concat(this._listeners),i,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=[],t;for(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 r=this._events.length(),t,i,f,u,e,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+" ",i,r;if(typeof n=="object"){i="{";for(r in n)i+=u+r+": "+SimileAjax.Debug._objectToString(n[r],u)+"\n";return i+(t+"}")}if(typeof n=="array"){for(i="[",r=0;r<n.length;r++)i+=SimileAjax.Debug._objectToString(n[r],u)+"\n";return i+(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},s,l,o;if(n-a-f.borderGraphicSize-f.extraPadding>0&&n+a+f.borderGraphicSize+f.extraPadding<y){if(s=n-Math.round(i/2),s=n<y/2?Math.max(s,f.extraPadding+f.borderGraphicSize):Math.min(s,y-f.extraPadding-f.borderGraphicSize-i),u&&u=="top"||!u&&t-f.arrowGraphicTargetOffset-r-f.borderGraphicSize-f.extraPadding>0){o=v("down"),o.style.left=n-a-s+"px",e.style.left=s+"px",e.style.top=t-f.arrowGraphicTargetOffset-r+"px";return}if(u&&u=="bottom"||!u&&t+f.arrowGraphicTargetOffset+r+f.borderGraphicSize+f.extraPadding<p){o=v("up"),o.style.left=n-a-s+"px",e.style.left=s+"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?(o=v("right"),o.style.top=t-a-l+"px",e.style.top=l+"px",e.style.left=n-f.arrowGraphicTargetOffset-i+"px"):(o=v("left"),o.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 window.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,f,e,u,s,r;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),f=n.createElement("div"),f.style.background="url("+SimileAjax.urlPrefix+"images/message-left.png) top left repeat-y",f.style.paddingLeft="44px",t.appendChild(f),e=n.createElement("div"),e.style.background="url("+SimileAjax.urlPrefix+"images/message-right.png) top right repeat-y",e.style.paddingRight="44px",f.appendChild(e),r=n.createElement("div"),e.appendChild(r),u=n.createElement("div"),u.style.height="55px",u.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-left.png) bottom left no-repeat",u.style.paddingLeft="44px",t.appendChild(u),s=n.createElement("div"),s.style.height="55px",s.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-right.png) bottom right no-repeat",u.appendChild(s)):(t.style.border="2px solid #7777AA",t.style.padding="20px",t.style.background="white",SimileAjax.Graphics.setOpacity(t,90),r=n.createElement("div"),t.appendChild(r)),{containerDiv:t,contentDiv:r}},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 r,t,n,i;if(SimileAjax.Platform.browser.isIE)for(r=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],t=0;t<r.length;t++)try{var u=r[t],n=function(){return new ActiveXObject(u)},i=n();return SimileAjax.XmlHttp._createRequest=n,i}catch(f){}try{return n=function(){return new XMLHttpRequest},i=n(),SimileAjax.XmlHttp._createRequest=n,i}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 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=[],ct,tt,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,f,o,s,h,u;if(n<0?(e=!0,f=-n,r=this._findFreeUpperTrackForText(f,t),o=-1-r):n>0?(e=!1,f=n+1,r=this._findFreeLowerTrackForText(f,t),o=r):(s=this._findFreeUpperTrackForText(0,t),h=this._findFreeLowerTrackForText(1,t),h-1<=s?(e=!1,f=1,r=h,o=r):(e=!0,f=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}),u=f;u<r;u++)i(this._upperTracks[u]);else for(r==this._lowerTracks.length&&this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}),u=f;u<r;u++)i(this._lowerTracks[u]);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 o=this.getPixelLength(),s=this.getPixelWidth(),u=0,r,e,n=0;n<this._bands.length;n++){var f=this._bands[n],h=this._bandInfos[n],t=h.width,i;typeof t=="string"?(r=t.indexOf("%"),r>0?(e=parseInt(t.substr(0,r)),i=Math.round(e*s/100)):i=parseInt(t)):i=t,f.setBandShiftAndWidth(u,i),f.setViewLength(o),u+=i}},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"];
//@ sourceMappingURL=Timeline.min.js.map