/*! * jQuery Timeline Plugin * ------------------------ * Version: 1.0.5 * Author: Ka2 ( https://ka2.org/ ) * Repository: https://github.com/ka215/jquery.timeline * Lisenced: MIT */ !function(e){function t(t){var i,r,n,l=e(t),o=l.data("timeline");n=/-|\/|\s|\:/,r=o.timeline.attr("actual-start-datetime").split(n);var d=new Date(Number(r[0]),Number(r[1])-1,Number(r[2]),Number(r[3]),Number(r[4]),Number(r[5]));Number(r[0])<100&&d.setFullYear(Number(r[0]));var h,f,u=e("
",{addClass:"timeline-header"}),p=e("
",{addClass:"timeline-body"}),y=e("
",{addClass:"timeline-footer"}),v=e("
",{addClass:"timeline-wrapper"}),b=e("",{addClass:"timeline-timetable timeline-scale"}),w=e("
",{addClass:"timeline-events"}),x=e("
",{addClass:"timeline-timetable timeline-grids"}),M=e("
",{addClass:"timeline-needle-pointer"}),D=e("
",{addClass:"timeline-events default-events"}),N=new Date(d),k={years:{medium_scale:"months",medium_cols:12,small_scale:"days",small_cols:Number(o.timeline.attr("min-grid-per"))},months:{medium_scale:"days",medium_cols:new Date(d.getFullYear(),d.getMonth()+1,0).getDate(),small_scale:"hours",small_cols:Number(o.timeline.attr("min-grid-per"))},days:{medium_scale:"hours",medium_cols:24,small_scale:"minutes",small_cols:Number(o.timeline.attr("min-grid-per"))}},F=o.timeline.attr("scale"),Y=k[F].medium_scale,T=k[F].small_scale,S=Number(o.timeline.attr("min-grid-per"))*Number(o.timeline.attr("min-grid-size")),C=[k[F].medium_cols];if(l.hasClass("timeline-container")||l.addClass("timeline-container"),l.find(".timeline-events").length>0&&(l.find(".timeline-events").children().clone().appendTo(D),a(D,o)),"point"===o.timeline.attr("type")||"mixed"===o.timeline.attr("type"))var H=e("",{addClass:"timeline-line-canvas"});if(l.empty(),"years"===o.timeline.attr("scale")?(N.setFullYear(N.getFullYear()+Number(o.timeline.attr("range"))),f=N.getTime(),N.setTime(f-1)):"months"===o.timeline.attr("scale")?(N.setMonth(N.getMonth()+Number(o.timeline.attr("range"))),f=N.getTime(),N.setTime(f-1)):(N.setDate(N.getDate()+Number(o.timeline.attr("range"))),f=N.getTime(),N.setTime(f-1)),"days"===Y&&Number(o.timeline.attr("range"))>1)for(i=1;i'+L+''+j+"",u.append('

'+A+"

")}var O,J,_,E,P="
",W="",G="";for(h=c(C)*k[F].small_cols,o.timeline.attr("total-cols",h),i=0;i',O=new Date(d),F){case"years":O.setFullYear(O.getFullYear()+i),z="",1==o.timeline.attr("zerofill-year")&&(O.getFullYear()<100?z="00":O.getFullYear()<1e3&&(z="0")),_=z+g(o.timeline.attr("datetime-format-years"),O);break;case"months":O.setMonth(O.getMonth()+i),_=g(o.timeline.attr("datetime-format-months"),O);break;case"days":O.setDate(O.getDate()+i),_=g(o.timeline.attr("datetime-format-days"),O)}P+=_+""}for(P+="",i=0;i',W+=_+""}for(W+="",i=0;i';var q="";for(i=0;i';if(q+="",0==o.timeline.attr("show-pointer"))M.css("display","none");else{var X=m(s(!0),o);!1!==X?M.css("left",X+"px"):M.css("display","none")}var R=e("
",{addClass:"timeline-loader",css:{display:"block"}});R.append('Loading...');var B='
',Q=""===o.timeline.attr("navi-icon-left")?"jqtl-circle-left":o.timeline.attr("navi-icon-left"),U=""===o.timeline.attr("navi-icon-right")?"jqtl-circle-right":o.timeline.attr("navi-icon-right");return B+='',B+='',B+="
",b.append("
"+P+W+G+""),x.append(""+q+""),"point"===o.timeline.attr("type")||"mixed"===o.timeline.attr("type")?v.append(b.prop("outerHTML")+w.prop("outerHTML")+H.prop("outerHTML")+x.prop("outerHTML")+M.prop("outerHTML")):v.append(b.prop("outerHTML")+w.prop("outerHTML")+x.prop("outerHTML")+M.prop("outerHTML")),p.append(v),y.append(B),l.append(u),l.append(p),l.append(y),l.append(R.prop("outerHTML")),l}function i(t){var i=e(t),a=i.data("timeline");b="auto"===a.timeline.attr("timeline-height")||"number"!=typeof a.timeline.attr("timeline-height")?Number(a.timeline.attr("rows"))*Number(a.timeline.attr("row-height")):Number(a.timeline.attr("timeline-height"));var r={width:i.find(".timeline-timetable.timeline-scale").outerWidth(),height:63};i.find(".timeline-wrapper")[0].offsetHeight!=r.height+b&&(i.find(".timeline-wrapper").css("height",r.height+b+"px"),i.find(".timeline-events").css("height",b+"px"),i.find(".timeline-line-canvas").css("height",b+"px").attr("width",r.width).attr("height",b),i.find(".timeline-grids").css("height",b+"px")),a.timeline.attr("min-grid-size",Number(a.timeline.attr("min-grid-size"))<5?30:Number(a.timeline.attr("min-grid-size"))),i.find(".spacer-cell").width()!=a.timeline.attr("min-grid-size")-1&&i.find(".spacer-cell").css("width",a.timeline.attr("min-grid-size")-1+"px");var n=-1*((i.find(".timeline-body").outerHeight()-i.find(".timeline-scale").outerHeight())/2+i.find(".timeline-to-prev").outerHeight());return i.find(".timeline-to-prev").css("top",n+"px"),i.find(".timeline-to-next").css("top",n+"px"),i.find(".timeline-body").scroll(function(){var t=e(this).scrollLeft();t<1?i.find(".timeline-to-prev").hide():t>=r.width-e(this).outerWidth()-2?i.find(".timeline-to-next").hide():(i.find(".timeline-to-prev").show(),i.find(".timeline-to-next").show())}),i}function a(t,i){if(e(t).children().length>0){var a=[],r=[],n=1;e(t).children().each(function(){if(e(this).data("timelineNode")){var t=new Function("return "+e(this).data("timelineNode"))();t.label=e(this).text(),t.eventId&&r.push(Number(t.eventId)),a.push(t)}}),a.length>0&&(n=r.length>0?Math.max.apply(null,r)+1:n,a.forEach(function(e,t,i){e.eventId||(i[t].eventId=n,n++)}),i.timeline.text(JSON.stringify(a)))}return i}function r(t){var i=e(t),a=i.data("timeline"),r=new Function("return "+a.timeline.text())(),l=new Date(d(a.timeline.attr("actual-start-datetime"))),s=new Date(l),m=a.timeline.attr("type"),c=a.timeline.attr("scale"),h=Number(a.timeline.attr("range")),f=Number(a.timeline.attr("row-height")),u=Number(a.timeline.attr("total-cols")),g=Number(a.timeline.attr("min-grid-per")),p=Number(a.timeline.attr("min-grid-size")),y={x:0,y:0,w:0},b=p*u-1;switch(i.find(".timeline-loader").css("display","block"),c){case"years":s.setYear(s.getFullYear()+h);break;case"months":s.setMonth(s.getMonth()+h-1);break;case"days":s.setDate(s.getDate()+h)}i.find(".timeline-events").empty(),r.forEach(function(t){if(t.start){var a,r=new Date(d(t.start)),n=void 0==t.end?new Date(d(t.start)):new Date(d(t.end)),h=g*p;if(o(r,l,s)){switch(c){case"years":y.x=Math.round((r-l)*b/(s-l));break;case"months":y.x=Math.floor((r-l)/864e5*h);break;case"days":y.x=Math.floor((r-l)/36e5*h)}if(y.y=void 0!==t.row?(t.row-1)*f:0,o(n,l,s)){switch(c){case"years":y.w=Math.floor((n-l)/2592e6*h-y.x);break;case"months":y.w=Math.floor((n-l)/864e5*h-y.x);break;case"days":y.w=Math.floor((n-l)/36e5*h-y.x)}0==y.w&&(y.w=1)}else switch(c){case"years":y.w=Math.floor((s-l)/2592e6*h-y.x);break;case"months":y.w=Math.floor((s-l)/864e5*h-y.x);break;case"days":y.w=Math.floor((s-l)/36e5*h-y.x)}}else if(o(n,l,s))switch(y.x=0,y.y=void 0!==t.row?(t.row-1)*f:0,c){case"years":y.w=Math.floor((n-l)/2592e6*h);break;case"months":y.w=Math.floor((n-l)/864e5*h);break;case"days":y.w=Math.floor((n-l)/36e5*h)}else if(o(l,r,n)&&o(s,r,n))switch(y.x=0,y.y=void 0!==t.row?(t.row-1)*f:0,c){case"years":y.w=Math.floor((s-l)/2592e6*h);break;case"months":y.w=Math.floor((s-l)/864e5*h);break;case"days":y.w=Math.floor((s-l)/36e5*h)}else y.w=0;if(y.w>0){if("point"===m){var u=t.margin?Number(t.margin):v;u=(u=u<0?0:u)>f/2?f/2-1:u,a=e("
",{addClass:"timeline-node timeline-event-pointer",id:"evt-"+t.eventId,css:{left:y.x-Math.floor(f/2)+u+"px",top:y.y+u+"px",width:f-2*u+"px",height:f-2*u+"px"},title:t.label}),t.bdColor?a.css("border-color",t.bdColor):t.bgColor&&a.css("border-color",t.bgColor),t.image&&a.css("background-image","url("+t.image+")"),t.relation&&e.each(t.relation,function(t,i){-1==e.inArray(t,["before","after","size"])||isNaN(i)?"curve"===t?-1!=e.inArray(i,["lt","rt","lb","rb"])&&a.attr("data-relay-curve",i):a.attr("data-relay-"+t,i):a.attr("data-relay-"+t,Number(i))})}else a=e("
",{addClass:"timeline-node timeline-text-truncate",id:"evt-"+t.eventId,css:{left:y.x+"px",top:y.y+"px",width:y.w+"px"},text:t.label}),t.color&&a.css("color",t.color),y.w1||n.y>1)&&a.lineTo(r.relayStartX,r.relayStartY),a.quadraticCurveTo(r.cpx,r.cpy,r.relayEndX,r.relayEndY)}a.lineTo(t.x,t.y),a.stroke()}}var a,r=t.find(".timeline-node.timeline-event-pointer"),n=t.find(".timeline-line-canvas")[0];n.getContext&&(a=n.getContext("2d"),r.each(function(){var t,r,l,s,o,m,d=void 0==e(this).data("relayLinecolor")?e(this).css("border-left-color"):e(this).data("relayLinecolor"),c=void 0==e(this).data("relayLinesize")?Math.round(y/10):e(this).data("relayLinesize");a.strokeStyle=d,a.lineWidth=c,a.lineJoin="round",a.lineCap="round",s={x:(y-a.lineWidth)/2,y:y/2},o=Math.floor((y-e(this)[0].offsetWidth)/2),t={x:e(this)[0].offsetLeft-o+s.x,y:Math.floor(e(this)[0].offsetTop/y)*y+s.y},void 0!=e(this).data("relayBefore")&&(e(this).data("relayBefore")>0?e("#evt-"+e(this).data("relayBefore")).length>0&&(o=Math.floor((y-e("#evt-"+e(this).data("relayBefore"))[0].offsetWidth)/2),r={x:e("#evt-"+e(this).data("relayBefore"))[0].offsetLeft-o+s.x,y:Math.floor(e("#evt-"+e(this).data("relayBefore"))[0].offsetTop/y)*y+s.y}):r={x:0,y:t.y},r&&(m=(r.y-t.y)/y,Math.abs(m)>0&&void 0!=e(this).data("relayCurve")&&-1!=e.inArray(e(this).data("relayCurve"),["lt","rt","lb","rb"])?i(r,t,e(this).data("relayCurve")):i(r,t))),void 0!=e(this).data("relayAfter")&&(e(this).data("relayAfter")>0?e("#evt-"+e(this).data("relayAfter")).length>0&&(o=Math.floor((y-e("#evt-"+e(this).data("relayAfter"))[0].offsetWidth)/2),l={x:e("#evt-"+e(this).data("relayAfter"))[0].offsetLeft-o+s.x,y:Math.floor(e("#evt-"+e(this).data("relayAfter"))[0].offsetTop/y)*y+s.y}):l={x:n.width,y:t.y},l&&(m=(t.y-l.y)/y,Math.abs(m)>0&&void 0!=e(this).data("relayCurve")&&-1!=e.inArray(e(this).data("relayCurve"),["lt","rt","lb","rb"])?i(t,l,e(this).data("relayCurve")):i(t,l)))}))}function l(t,i){if(0==e(".timeline-event-view").length)return!0;e(".timeline-event-view").empty();var a,r=e("
",{addClass:"timeline-event-header"}),n=e("

",{addClass:"timeline-event-label"}),l=e("
",{addClass:"timeline-event-meta"}),s=e("
",{addClass:"timeline-event-body"}),o=e("
",{addClass:"timeline-event-footer"});return n.text(t.label),""===i.end&&(i.end=i.start),a=''+g(i.start,t.start)+"",t.end&&(a+='',a+=''+g(i.end,t.end)+""),r.append(n.prop("outerHTML")+l.append(a).prop("outerHTML")),t.content&&s.html(t.content),e(".timeline-event-view").append(r.prop("outerHTML")+s.prop("outerHTML")+o.prop("outerHTML")),!0}function s(t){var i=new Date;return t&&x().then(function(){i=e("body").data("serverDate"),e.removeData("body","serverDate")},function(){i=new Date}),i}function o(e,t,i){var a=new Date(e).getTime(),r=new Date(t).getTime(),n=new Date(i).getTime();return a-r>=0&&n-a>=0}function m(e,t){e="[object Date]"===Object.prototype.toString.call(e)?e:new Date(d(e));var i,a,r=t.timeline,n=new Date(d(r.attr("actual-start-datetime"))),l=new Date(n),s=r.attr("scale"),m=Number(r.attr("range")),c=Number(r.attr("total-cols")),h=Number(r.attr("min-grid-per")),f=Number(r.attr("min-grid-size")),u=f*c-1,g=h*f;switch(s){case"years":i=(l=new Date(l.setFullYear(l.getFullYear()+m))).getTime(),l.setTime(i-1);break;case"months":i=(l=new Date(l.setMonth(l.getMonth()+m))).getTime(),l.setTime(i-1);break;case"days":i=(l=new Date(l.setDate(l.getDate()+m))).getTime(),l.setTime(i-1)}if(o(e,n,l)){switch(s){case"years":a=Math.round((e-n)*u/(l-n));break;case"months":a=Math.floor((e-n)/864e5*g);break;case"days":a=Math.floor((e-n)/36e5*g)}return a}return!1}function d(e){return e.replace(/-/g,"/")}function c(e){return e.reduce(function(e,t){return e+t})}function h(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&t.push(e[i]);return t}function f(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&t.push(i);return t}function u(e,t){var i=function(e,t){return Array(e+1).join(t)}(t-1,"0");return String(e).length==t?e:(i+e).substr(-1*e)}function g(t,i){t=t||"";var a="[object Date]"===Object.prototype.toString.call(i)?i:new Date(d(i)),r={Jan:"January",Feb:"February",Mar:"March",Apr:"April",May:"May",Jun:"June",Jul:"July",Aug:"August",Sep:"September",Oct:"October",Nov:"November",Dec:"December"},n={Sun:"Sunday",Mon:"Monday",Tue:"Tuesday",Wed:"Wednesday",Thu:"Thurseday",Fri:"Friday",Sat:"Saturday"},l=["am","pm"],s=t.split(""),o="",m=!1,c=function(e){var t=new Date(e.getFullYear(),e.getMonth()+1,1);return t.setTime(t.getTime()-1),t.getDate()},g=function(e){var t,i=new Date(e.getFullYear(),0,1),a=0;for(t=0;t<12;t++)i.setMonth(t),a+=c(i);return 365===a?0:1},p=function(e){var t,i=new Date(e.getFullYear(),0,1),a=0;for(t=0;t12?t-12:t},v=function(e){return e.getHours()>12?l[1]:l[0]};if(""===t)return a;if(e(".timeline-container").length>0){var b=e(".timeline-container").eq(0).data("timeline").timeline;r=b.attr("i18n-month")?JSON.parse(b.attr("i18n-month")):r,n=b.attr("i18n-day")?JSON.parse(b.attr("i18n-day")):n,l=b.attr("i18n-ma")?JSON.parse(b.attr("i18n-ma")):l}return s.forEach(function(e,t){var i,l,d,b;if(!1!==m)return m=!1,!0;switch(e){case"Y":case"o":i=a.getFullYear();break;case"y":i=(""+a.getFullYear()).slice(-2);break;case"m":i=("0"+(a.getMonth()+1)).slice(-2);break;case"n":i=a.getMonth()+1;break;case"F":i=h(r)[a.getMonth()];break;case"M":i=f(r)[a.getMonth()];break;case"d":i=("0"+a.getDate()).slice(-2);break;case"j":i=a.getDate();break;case"S":i=["st","nd","rd","th"][function(){var e=a.getDate();return 1==e||2==e||3==e||21==e||22==e||23==e||31==e?Number((""+e).slice(-1)-1):3}()];break;case"w":case"W":i=a.getDay();break;case"l":i=h(n)[a.getDay()];break;case"D":i=f(n)[a.getDay()];break;case"N":i=0===a.getDay()?7:a.getDay();break;case"a":i=v(a);break;case"A":i=v(a).toUpperCase();break;case"g":i=y(a);break;case"h":i=("0"+y(a)).slice(-2);break;case"G":i=a.getHours();break;case"H":i=("0"+a.getHours()).slice(-2);break;case"i":i=("0"+a.getMinutes()).slice(-2);break;case"s":i=("0"+a.getSeconds()).slice(-2);break;case"z":i=p(a);break;case"t":i=c(a);break;case"L":i=g(a);break;case"c":l=a.getTimezoneOffset(),d=[Math.floor(Math.abs(l)/60),Math.abs(l)%60],b=l<0?"+":"-",i=a.getFullYear()+"-"+u(a.getMonth()+1,2)+"-"+u(a.getDate(),2)+"T",i+=u(a.getHours(),2)+":"+u(a.getMinutes(),2)+":"+u(a.getSeconds(),2),i+=b+u(d[0],2)+":"+u(d[1],2);break;case"r":l=a.getTimezoneOffset(),d=[Math.floor(Math.abs(l)/60),Math.abs(l)%60],b=l<0?"+":"-",i=f(n)[a.getDay()]+", "+a.getDate()+" "+f(r)[a.getMonth()]+" "+a.getFullYear()+" ",i+=u(a.getHours(),2)+":"+u(a.getMinutes(),2)+":"+u(a.getSeconds(),2)+" ",i+=b+u(d[0],2)+u(d[1],2);break;case"u":i=a.getTime();break;case"U":i=Date.parse(a)/1e3;break;case"\\":m=!0,i=s[t+1];break;default:i=e}o+=i}),o}function p(t){var i=e.Deferred(),a=(t.data("timeline").timeline.attr("langs-dir")||"./langs/")+t[0].lang+".json";return e.ajax({url:a,type:"get",dataType:"json"}).done(function(e){i.resolve(e)}).fail(function(){i.reject()}),i.promise()}var y,v=2,b=0,w={init:function(a){var n=e.extend({type:"bar",scale:"days",startDatetime:"currently",datetimePrefix:"",showHeadline:!0,datetimeFormat:{full:"j M Y",year:"Y",month:"M Y",day:"D, j M",years:"Y",months:"F",days:"j",meta:"Y/m/d H:i",metato:""},minuteInterval:30,zerofillYear:!1,range:3,rows:5,rowHeight:40,height:"auto",minGridPer:2,minGridSize:30,rangeAlign:"current",naviIcon:{left:"jqtl-circle-left",right:"jqtl-circle-right"},showPointer:!0,i18n:{},langsDir:"./langs/",httpLnaguage:!1},a);return this.each(function(){var l=e(this),o=l.data("timeline"),m=e("
",{title:l.find(".timeline-headline").text(),type:n.type,scale:n.scale,"start-datetime":n.startDatetime,"datetime-prefix":n.datetimePrefix,"show-headline":n.showHeadline?1:0,"datetime-format-full":n.datetimeFormat.full||"j M Y","datetime-format-year":n.datetimeFormat.year||"Y","datetime-format-month":n.datetimeFormat.month||"M Y","datetime-format-day":n.datetimeFormat.day||"D, j M","datetime-format-years":n.datetimeFormat.years||"Y","datetime-format-months":n.datetimeFormat.months||"F","datetime-format-days":n.datetimeFormat.days||"j","datetime-format-meta":n.datetimeFormat.meta||"Y/m/d H:i","datetime-format-metato":n.datetimeFormat.metato||"","minute-interval":n.minuteInterval,"zerofill-year":n.zerofillYear?1:0,range:n.range,rows:n.rows,"row-height":n.rowHeight,"timeline-height":n.height,"min-grid-per":n.minGridPer,"min-grid-size":n.minGridSize,"range-align":n.rangeAlign,"navi-icon-left":n.naviIcon.left||"jqtl-circle-left","navi-icon-right":n.naviIcon.right||"jqtl-circle-right","show-pointer":n.showPointer?1:0,"i18n-month":n.i18n.month?JSON.stringify(n.i18n.month):"","i18n-day":n.i18n.day?JSON.stringify(n.i18n.day):"","i18n-ma":n.i18n.ma?JSON.stringify(n.i18n.ma):"","langs-dir":n.langsDir,"http-language":n.httpLnaguage?1:0,text:""});if(l.on("click.timeline",".timeline-to-prev",w.dateback),l.on("click.timeline",".timeline-to-next",w.dateforth),l.on("click.timeline",".timeline-node",w.openEvent),l.on("align.timeline",w.alignment),l.on("afterRender.timeline",function(){e(this).off("afterRender.timeline")}),o)r(l);else{l.data("timeline",{target:l,timeline:m}),y=n.rowHeight;var c,h,f,u;switch("currently"===n.startDatetime?c=s(!0):(c=new Date(d(n.startDatetime)),u=/-|\//,f=n.startDatetime.split(u),Number(f[0])<100&&c.setFullYear(Number(f[0]))),n.scale){case"years":h=c.getFullYear()+"/01/01 00:00:00";break;case"months":h=c.getFullYear()+"/"+(c.getMonth()+1)+"/01 00:00:00";break;case"days":h=c.getFullYear()+"/"+(c.getMonth()+1)+"/"+c.getDate()+" 00:00:00";break;default:h=c.getFullYear()+"/"+(c.getMonth()+1)+"/"+c.getDate()+" "+h.getHours()+":00:00"}l.data("timeline").timeline.attr("actual-start-datetime",h),M(n.httpLnaguage).always(function(e){l[0].lang=e}).then(function(){p(l).done(function(e){if(l.data("timeline").timeline.attr("i18n-month",JSON.stringify(e.month)),l.data("timeline").timeline.attr("i18n-day",JSON.stringify(e.day)),l.data("timeline").timeline.attr("i18n-ma",JSON.stringify(e.ma)),"format"in e)for(var s in e.format)l.data("timeline").timeline.attr("datetime-format-"+s,e.format[s]);t(l),i(l),l.trigger("align.timeline",[n.rangeAlign]),l.css("visibility","visible"),r(l),l.trigger("afterRender.timeline",[a])}).fail(function(){t(l),i(l),l.trigger("align.timeline",[n.rangeAlign]),l.css("visibility","visible"),r(l),l.trigger("afterRender.timeline",[a])})})}})},initialized:function(t){return this.each(function(){var i=e(this),a=i.data("timeline");a&&"function"==typeof t&&t(i,a)})},destroy:function(){return this.each(function(){var t=e(this),i=t.data("timeline");e(window).off(".timeline"),i&&(i.timeline.remove(),t.removeData("timeline"))})},render:function(a){return this.each(function(){var n=e(this),l=n.data("timeline");"type"in a&&l.timeline.attr("type",a.type),"scale"in a&&l.timeline.attr("scale",a.scale),"startDatetime"in a&&l.timeline.attr("start-datetime",a.startDatetime),"datetimePrefix"in a&&l.timeline.attr("datetime-prefix",a.datetimePrefix),"showHeadline"in a&&l.timeline.attr("show-headline",a.showHeadline?1:0),"datetimeFormat"in a&&(void 0!=typeof a.datetimeFormat.full&&l.timeline.attr("datetime-format-full",a.datetimeFormat.full),void 0!=typeof a.datetimeFormat.year&&l.timeline.attr("datetime-format-year",a.datetimeFormat.year),void 0!=typeof a.datetimeFormat.month&&l.timeline.attr("datetime-format-month",a.datetimeFormat.month),void 0!=typeof a.datetimeFormat.day&&l.timeline.attr("datetime-format-day",a.datetimeFormat.day),void 0!=typeof a.datetimeFormat.years&&l.timeline.attr("datetime-format-years",a.datetimeFormat.years),void 0!=typeof a.datetimeFormat.months&&l.timeline.attr("datetime-format-months",a.datetimeFormat.months),void 0!=typeof a.datetimeFormat.days&&l.timeline.attr("datetime-format-days",a.datetimeFormat.days),void 0!=typeof a.datetimeFormat.meta&&l.timeline.attr("datetime-format-meta",a.datetimeFormat.meta),void 0!=typeof a.datetimeFormat.metato&&l.timeline.attr("datetime-format-metato",a.datetimeFormat.metato)),"minuteInterval"in a&&l.timeline.attr("minute-interval",a.minuteInterval),"zerofillYear"in a&&l.timeline.attr("zerofill-year",a.zerofillYear?1:0),"range"in a&&l.timeline.attr("range",a.range),"rows"in a&&l.timeline.attr("rows",a.rows),"rowHeight"in a&&l.timeline.attr("row-height",a.rowHeight),"height"in a&&l.timeline.attr("timeline-height",a.height),"minGridPer"in a&&l.timeline.attr("min-grid-per",a.minGridPer),"minGridSize"in a&&l.timeline.attr("min-grid-size",a.minGridSize),"rangeAlign"in a&&l.timeline.attr("range-align",a.rangeAlign),"naviIcon"in a&&(void 0!=typeof a.naviIcon.left&&l.timeline.attr("navi-icon-left",a.naviIcon.left),void 0!=typeof a.naviIcon.right&&l.timeline.attr("navi-icon-right",a.naviIcon.right)),"showPointer"in a&&l.timeline.attr("show-pointer",a.showPointer?1:0),"i18n"in a&&(void 0!=typeof a.i18n.month&&l.timeline.attr("i18n-month",JSON.stringify(a.i18n.month)),void 0!=typeof a.i18n.day&&l.timeline.attr("i18n-day",JSON.stringify(a.i18n.day)),void 0!=typeof a.i18n.ma&&l.timeline.attr("i18n-ma",JSON.stringify(a.i18n.ma))),"langsDir"in a&&l.timeline.attr("langs-dir",a.langsDir),"httpLanguage"in a&&l.timeline.attr("http-language",a.httpLanguage);var o,m,c,h;switch("currently"===l.timeline.attr("start-datetime")?o=s(!0):(o=new Date(d(l.timeline.attr("start-datetime"))),h=/-|\//,c=l.timeline.attr("start-datetime").split(h),Number(c[0])<100&&o.setFullYear(Number(c[0]))),l.timeline.attr("scale")){case"years":m=o.getFullYear()+"/01/01 00:00:00";break;case"months":m=o.getFullYear()+"/"+(o.getMonth()+1)+"/01 00:00:00";break;case"days":m=o.getFullYear()+"/"+(o.getMonth()+1)+"/"+o.getDate()+" 00:00:00";break;default:m=o.getFullYear()+"/"+(o.getMonth()+1)+"/"+o.getDate()+" "+m.getHours()+":00:00"}l.timeline.attr("actual-start-datetime",m),n.find(".timeline-container").empty().removeClass("timeline-container"),M(l.timeline.attr("http-language")).always(function(e){n[0].lang=e}).then(function(){p(n).done(function(e){if(l.timeline.attr("i18n-month",JSON.stringify(e.month)),l.timeline.attr("i18n-day",JSON.stringify(e.day)),l.timeline.attr("i18n-ma",JSON.stringify(e.ma)),"format"in e)for(var s in e.format)n.data("timeline").timeline.attr("datetime-format-"+s,e.format[s]);t(n),i(n),r(n),n.trigger("align.timeline",[l.timeline.attr("range-align")]),n.trigger("afterRender.timeline",[a])}).fail(function(){t(n),i(n),r(n),n.trigger("align.timeline",[l.timeline.attr("range-align")]),n.trigger("afterRender.timeline",[a])})})})},show:function(){return this.each(function(){e(this).css("display","block").css("visibility","visible")})},hide:function(){return this.each(function(){e(this).css("visibility","hidden").css("display","none")})},dateback:function(t){t.preventDefault();var i=e(this).parents(".timeline-container"),a=i.data("timeline"),r=i.find(".timeline-body")[0].clientWidth,n=i.find(".timeline-wrapper")[0].scrollWidth,l=i.find(".timeline-body").scrollLeft(),s=0;return n>r&&(s=(s=l/r>1?l-r:l-(n-r)/Number(a.timeline.attr("range")))<0?0:s,i.find(".timeline-body").animate({scrollLeft:s},300)),this},dateforth:function(t){t.preventDefault();var i=e(this).parents(".timeline-container"),a=i.data("timeline"),r=i.find(".timeline-body")[0].clientWidth,n=i.find(".timeline-wrapper")[0].scrollWidth,l=i.find(".timeline-body").scrollLeft(),s=0;return n>r&&(s=(s=(n-l)/r>1?l+r:l+(n-r)/Number(a.timeline.attr("range")))>n-r+1?n-r+1:s,i.find(".timeline-body").animate({scrollLeft:s},300)),this},alignment:function(){var t=arguments.length>1?Array.prototype.slice.call(arguments,1):[arguments[0]],i=t[0].toLowerCase(),a=void 0!==t[1]?String(t[1]).toLowerCase():0,r=e(this).find(".timeline-body")[0].clientWidth,n=e(this).find(".timeline-wrapper")[0].scrollWidth,l=0;if(n>r){var o,c=e(this).data("timeline");switch(i){case"left":l=0;break;case"right":l=n-r+1;break;case"center":l=(n-r)/2;break;case"current":l=(o=m(s(!0),c))>-1?o-r/2>n-r+1?n-r+1:o-r/2:n-r+1;break;case"latest":var h,f,u,p=new Function("return "+c.timeline.text())();e.each(p,function(e,t){f=g("U",t.start),0==e?(h=f,u=e):f>=h&&(h=f,u=e)}),l=(o=m(new Date(d(p[u].start)),c))>-1?o-r/2>n-r+1?n-r+1:o-r/2:n-r+1;break;default:l=0;var y="#"+i;e(y).length&&(l=(o=e(y).position().left)-r/2>n-r+1?n-r+1:o-r/2)}-1!=e.inArray(a,["slow","normal","fast"])||Number(a)>0?e(this).find(".timeline-body").animate({scrollLeft:l},a):e(this).find(".timeline-body").scrollLeft(l)}return this},getOptions:function(){var t=e(this).data("timeline");return{title:t.timeline.attr("title"),type:t.timeline.attr("type"),scale:t.timeline.attr("scale"),startDatetime:t.timeline.attr("start-datetime"),datetimePrefix:t.timeline.attr("datetime-prefix"),showHeadline:1==Number(t.timeline.attr("show-headline")),datetimeFormat:{full:t.timeline.attr("datetime-format-full"),year:t.timeline.attr("datetime-format-year"),month:t.timeline.attr("datetime-format-month"),day:t.timeline.attr("datetime-format-day"),years:t.timeline.attr("datetime-format-years"),months:t.timeline.attr("datetime-format-months"),days:t.timeline.attr("datetime-format-days")},minuteInterval:Number(t.timeline.attr("minute-interval")),zerofillYear:1==Number(t.timeline.attr("zerofill-year")),range:Number(t.timeline.attr("range")),rows:Number(t.timeline.attr("rows")),rowHeight:Number(t.timeline.attr("row-height")),height:"auto"===t.timeline.attr("timeline-height")?"auto":Number(t.timeline.attr("timeline-height")),minGridPer:Number(t.timeline.attr("min-grid-per")),minGridSize:Number(t.timeline.attr("min-grid-size")),rangeAlign:t.timeline.attr("range-align"),naviIcon:{left:t.timeline.attr("navi-icon-left"),right:t.timeline.attr("navi-icon-right")},showPointer:t.timeline.attr("show-pointer"),i18n:{month:JSON.parse(t.timeline.attr("i18n-month")),day:JSON.parse(t.timeline.attr("i18n-day")),ma:JSON.parse(t.timeline.attr("i18n-ma"))},langsDir:t.timeline.attr("langs-dir"),events:new Function("return "+t.timeline.text())()}},addEvent:function(t,i){return this.each(function(){var a=e(this),n=a.data("timeline"),l=new Function("return "+n.timeline.text())(),s=1,o=[s];t.length>0&&(e.each(l,function(e,t){o.push(Number(t.eventId))}),s=Math.max.apply(null,o)+1,e.each(t,function(e,t){t.eventId=s,s++,l.push(t)}),n.timeline.text(JSON.stringify(l))),r(a),e(this).trigger("align.timeline",["evt-"+(s-1),"fast"]),n&&"function"==typeof i&&i(a,n)})},removeEvent:function(){var t,i;return 0==arguments.length?(t="all",i=null):1==arguments.length?"function"==typeof arguments[0]?(t="all",i=arguments[0]):(t=arguments[0],i=null):(t=arguments[0],i=arguments[1]),this.each(function(){var a=e(this),n=a.data("timeline"),l=new Function("return "+n.timeline.text())();if("all"===t)l=[];else{var s=[];e.each(l,function(i,a){-1==e.inArray(a.eventId,t)&&s.push(a)}),l=s}n.timeline.text(JSON.stringify(l)),r(a),n&&"function"==typeof i&&i(a,n)})},updateEvent:function(t,i){return void 0!==t&&this.each(function(){var a,n=e(this),l=n.data("timeline"),s=new Function("return "+l.timeline.text())(),o=[];t.length>0&&e.each(t,function(e,t){o.push(t.eventId)}),s.length>0&&o.length>0&&(e.each(s,function(i,r){if(-1!=e.inArray(r.eventId,o)){var n;e.each(t,function(e,t){if(t.eventId==r.eventId)return n=t,a=t.eventId,!1}),s[i]=n}}),l.timeline.text(JSON.stringify(s))),r(n),e(this).trigger("align.timeline",["evt-"+a,"fast"]),l&&"function"==typeof i&&i(n,l)})},openEvent:function(t){var i=Number(e(t.target).attr("id").replace("evt-","")),a=t.delegateTarget;return""!==i&&0!=i&&e(a).each(function(){var t,a=e(this).data("timeline"),r=new Function("return "+a.timeline.text())(),n={start:a.timeline.attr("datetime-format-meta"),end:a.timeline.attr("datetime-format-metato")};e.each(r,function(e,a){if(a.eventId==i)return t=a,!1}),e(this).find(".timeline-node").each(function(){e(this).attr("id")==="evt-"+i?e(this).addClass("active"):e(this).removeClass("active")}),e(this).trigger("align.timeline",["evt-"+i,"fast"]),l(t,n)&&t.callback&&Function.call(null,"return "+t.callback)()})}};e.fn.timeline=function(t){return w[t]?w[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist on jQuery.timeline."):w.init.apply(this,arguments)};var x=function(){return e.ajax({type:"GET"}).done(function(t,i,a){e("body").data("serverDate",new Date(d(a.getResponseHeader("Date"))))}).promise()},M=function(){var t=e.Deferred(),i=navigator.userLanguage||navigator.browserLanguage||navigator.language;return 0!=arguments.length&&arguments[0]?e.ajax({url:"//ajaxhttpheaders.appspot.com",data:{callback:"jQuery.Timeline"},dataType:"jsonp"}).done(function(e){var a,r;r=(a=e["Accept-Language"].split(";"))[0].split(","),a[1].split(","),e["X-Appengine-Country"],r.length>0&&(i=r[0]),t.resolve(i)}).fail(function(){t.reject()}):t.resolve(i),t.promise()}}(jQuery);