Beautifully crafted timelines that are easy and intuitive to use. http://timeline.knightlab.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
108 KiB

/*!
Timeline
Designed and built by Zach Wise at VéritéCo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
http://www.gnu.org/licenses/
*//***********************************************
Begin VMM.Timeline.License.js
***********************************************//*!
Timeline
Designed and built by Zach Wise at VéritéCo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
http://www.gnu.org/licenses/
*//***********************************************
Begin VMM.js
***********************************************//* Verite
* Verite JS Master
* Version: 0.6
* Date: April 26, 2012
* Copyright 2012 Verite unless part of Verite Timeline,
* if part of Timeline then it inherits Timeline's license.
* Designed and built by Zach Wise digitalartwork.net
* ----------------------------------------------------- *//* Simple JavaScript Inheritance
* By John Resig http://ejohn.org/
* MIT Licensed.
================================================== */function trace(a){VMM.debug&&(window.console?console.log(a):typeof jsTrace!="undefined"&&jsTrace.send(a))}function onYouTubePlayerAPIReady(){trace("GLOBAL YOUTUBE API CALLED");VMM.ExternalAPI.youtube.onAPIReady()}(function(){var a=!1,b=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(c){function g(){!a&&this.init&&this.init.apply(this,arguments)}var d=this.prototype;a=!0;var e=new this;a=!1;for(var f in c)e[f]=typeof c[f]=="function"&&typeof d[f]=="function"&&b.test(c[f])?function(a,b){return function(){var c=this._super;this._super=d[a];var e=b.apply(this,arguments);this._super=c;return e}}(f,c[f]):c[f];g.prototype=e;g.prototype.constructor=g;g.extend=arguments.callee;return g}})();var global=function(){return this||(1,eval)("this")}();if(typeof VMM=="undefined"){var VMM=Class.extend({});VMM.debug=!0;VMM.master_config={init:function(){return this},vp:"Pellentesque nibh felis, eleifend id, commodo in, interdum vitae, leo",api_keys_master:{flickr:"RAIvxHY4hE/Elm5cieh4X5ptMyDpj7MYIxziGxi0WGCcy1s+yr7rKQ==",google:"jwNGnYw4hE9lmAez4ll0QD+jo6SKBJFknkopLS4FrSAuGfIwyj57AusuR0s8dAo=",twitter:""},youtube:{active:!1,array:[],api_loaded:!1,que:[]},googlemaps:{active:!1,map_active:!1,places_active:!1,array:[],api_loaded:!1,que:[]},googledocs:{active:!1,array:[],api_loaded:!1,que:[]},wikipedia:{active:!1,array:[],api_loaded:!1,que:[]},soundcloud:{active:!1,array:[],api_loaded:!1,que:[]}}.init();VMM.createElement=function(a,b,c,d,e){var f="";if(a!=null&&a!=""){f+="<"+a;c!=null&&c!=""&&(f+=" class='"+c+"'");d!=null&&d!=""&&(f+=" "+d);e!=null&&e!=""&&(f+=" "+e);f+=">";b!=null&&b!=""&&(f+=b);f=f+"</"+a+">"}return f};VMM.createMediaElement=function(a,b,c){var d="",e=!1;d+="<div class='media'>";if(a!=null&&a!=""){valid=!0;d+="<img src='"+a+"'>";c!=null&&c!=""&&(d+=VMM.createElement("div",c,"credit"));b!=null&&b!=""&&(d+=VMM.createElement("div",b,"caption"))}d+="</div>";return d};VMM.hideUrlBar=function(){var a=window,b=a.document;if(!location.hash||!a.addEventListener){window.scrollTo(0,1);var c=1,d=setInterval(function(){if(b.body){clearInterval(d);c="scrollTop"in b.body?b.body.scrollTop:1;a.scrollTo(0,c===1?0:1)}},15);a.addEventListener("load",function(){setTimeout(function(){a.scrollTo(0,c===1?0:1)},0)},!1)}}}Date.prototype.getWeek=function(){var a=new Date(this.getFullYear(),0,1);return Math.ceil(((this-a)/864e5+a.getDay()+1)/7)};Date.prototype.getDayOfYear=function(){var a=new Date(this.getFullYear(),0,1);return Math.ceil((this-a)/864e5)};var is={Null:function(a){return a===null},Undefined:function(a){return a===undefined},nt:function(a){return a===null||a===undefined},Function:function(a){return typeof a=="function"?a.constructor.toString().match(/Function/)!==null:!1},String:function(a){return typeof a=="string"?!0:typeof a=="object"?a.constructor.toString().match(/string/i)!==null:!1},Array:function(a){return typeof a=="object"?a.constructor.toString().match(/array/i)!==null||a.length!==undefined:!1},Boolean:function(a){return typeof a=="boolean"?!0:typeof a=="object"?a.constructor.toString().match(/boolean/i)!==null:!1},Date:function(a){return typeof a=="date"?!0:typeof a=="object"?a.constructor.toString().match(/date/i)!==null:!1},HTML:function(a){return typeof a=="object"?a.constructor.toString().match(/html/i)!==null:!1},Number:function(a){return typeof a=="number"?!0:typeof a=="object"?a.constructor.toString().match(/Number/)!==null:!1},Object:function(a){return typeof a=="object"?a.constructor.toString().match(/object/i)!==null:!1},RegExp:function(a){return typeof a=="function"?a.constructor.toString().match(/regexp/i)!==null:!1}},type={of:function(a){for(var b in is)if(is[b](a))return b.toLowerCase()}};if(typeof VMM!="undefined"){VMM.attachElement=function(a,b){typeof jQuery!="undefined"&&jQuery(a).html(b)};VMM.appendElement=function(a,b){typeof jQuery!="undefined"&&jQuery(a).append(b)};VMM.getHTML=function(a){var b;if(typeof jQuery!="undefined"){b=jQuery(a).html();return b}};VMM.getElement=function(a,b){var c;if(typeof jQuery!="
:function(a){var b=a.sizes.size[0].url.split("photos/")[1].split("/")[1],c="flickr_"+b,d=c+"_large",e=c+"_thumb",f,g=!1;for(var h=0;h<a.sizes.size.length;h++)if(a.sizes.size[h].label=="Large"){g=!0;f=a.sizes.size[h].source}g||(f=a.sizes.size[a.sizes.size.length-1].source);var i=a.sizes.size[0].source;VMM.Lib.attr("#"+d,"src",f);VMM.Lib.attr("#"+e,"src",i)}},soundcloud:{get:function(a,b){var c={url:a,id:b};VMM.master_config.soundcloud.que.push(c);VMM.master_config.soundcloud.active=!0},create:function(a){var b="http://soundcloud.com/oembed?url="+a.url+"&format=js&callback=?";VMM.getJSON(b,function(b){VMM.attachElement("#"+a.id,b.html)})},pushQue:function(){for(var a=0;a<VMM.master_config.soundcloud.que.length;a++)VMM.ExternalAPI.soundcloud.create(VMM.master_config.soundcloud.que[a]);VMM.master_config.soundcloud.que=[]}},wikipedia:{get:function(a,b){var c={url:a,id:b};VMM.master_config.wikipedia.que.push(c);VMM.master_config.wikipedia.active=!0},create:function(a){VMM.attachElement("#"+a.id,a.url)},pushQue:function(){for(var a=0;a<VMM.master_config.wikipedia.que.length;a++)VMM.ExternalAPI.wikipedia.create(VMM.master_config.wikipedia.que[a]);VMM.master_config.wikipedia.que=[]}},youtube:{get:function(a){if(VMM.master_config.youtube.active)VMM.master_config.youtube.que.push(a);else{VMM.master_config.youtube.que.push(a);VMM.master_config.youtube.api_loaded||VMM.LoadLib.js("http://www.youtube.com/player_api",function(){trace("YouTube API Library Loaded")})}},create:function(a){var b={active:!1,player:{},name:"youtube_"+a,playing:!1};b.player["youtube_"+a]=new YT.Player("youtube_"+a,{height:"390",width:"640",playerVars:{enablejsapi:1,color:"white",showinfo:0,theme:"light",rel:0},videoId:a,events:{onReady:VMM.ExternalAPI.youtube.onPlayerReady,onStateChange:VMM.ExternalAPI.youtube.onStateChange}});VMM.master_config.youtube.array.push(b)},pushQue:function(){for(var a=0;a<VMM.master_config.youtube.que.length;a++)VMM.ExternalAPI.youtube.create(VMM.master_config.youtube.que[a]);VMM.master_config.youtube.que=[]},onAPIReady:function(){VMM.master_config.youtube.active=!0;VMM.ExternalAPI.youtube.pushQue()},stopPlayers:function(){for(var a=0;a<VMM.master_config.youtube.array.length;a++)if(VMM.master_config.youtube.array[a].playing){var b=VMM.master_config.youtube.array[a].name;VMM.master_config.youtube.array[a].player[b].stopVideo()}},onStateChange:function(a){for(var b=0;b<VMM.master_config.youtube.array.length;b++){var c=VMM.master_config.youtube.array[b].name;VMM.master_config.youtube.array[b].player[c]==a.target&&a.data==YT.PlayerState.PLAYING&&(VMM.master_config.youtube.array[b].playing=!0)}},onPlayerReady:function(a){}}});typeof VMM!="undefined"&&typeof VMM.TouchSlider=="undefined"&&(VMM.TouchSlider={createPanel:function(a,b,c,d,e,f){VMM.TouchSlider.vertical=!1;VMM.TouchSlider.vertical=e;var g=d;VMM.TouchSlider.width=c;VMM.TouchSlider.height=f;VMM.TouchSlider.makeTouchable(a,b)},removePanel:function(a){VMM.unbindEvent(a,VMM.TouchSlider.onTouchStart,"touchstart");VMM.unbindEvent(a,VMM.TouchSlider.onTouchMove,"touchmove");VMM.unbindEvent(a,VMM.TouchSlider.onTouchEnd,"touchend")},makeTouchable:function(a,b){VMM.bindEvent(a,VMM.TouchSlider.onTouchStart,"touchstart",{element:b});VMM.bindEvent(a,VMM.TouchSlider.onTouchMove,"touchmove",{element:b});VMM.bindEvent(a,VMM.TouchSlider.onTouchEnd,"touchend",{element:b})},onTouchStart:function(a){VMM.TouchSlider.touchStart(a.data.element,a);a.stopPropagation();return!0},onTouchEnd:function(a){a.stopPropagation();if(VMM.TouchSlider.sliding){VMM.TouchSlider.sliding=!1;VMM.TouchSlider.touchEnd(a.data.element,a);return!1}return!0},onTouchMove:function(a){VMM.TouchSlider.touchMove(a.data.element,a);a.preventDefault();a.stopPropagation();return!1},getLeft:function(a){return parseInt(VMM.Lib.css(a,"left").substring(0,VMM.Lib.css(a,"left").length-2),10)},getTop:function(a){return parseInt(VMM.Lib.css(a,"top").substring(0,VMM.Lib.css(a,"top").length-2),10)},touchStart:function(a,b){VMM.Lib.css(a,"-webkit-transition-duration","0");VMM.TouchSlider.startX=b.originalEvent.touches[0].screenX;VMM.TouchSlider.st
,"Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(a,b){return dateFormat(this,a,b)}}window.loadedJS=[];typeof VMM!="undefined"&&typeof VMM.LoadLib=="undefined"&&(VMM.LoadLib=function(a){function i(a){var b=!1;for(var c=0;c<h.length;c++)h[c]==a&&(b=!0);b||h.push(a);return b}function j(b,c){var d=a.createElement(b),e;for(e in c)c.hasOwnProperty(e)&&d.setAttribute(e,c[e]);return d}function k(a){var b=d[a],c,g;if(b){c=b.callback;g=b.urls;g.shift();e=0;if(!g.length){c&&c.call(b.context,b.obj);d[a]=null;f[a].length&&m(a)}}}function l(){var c=navigator.userAgent;b={async:a.createElement("script").async===!0};(b.webkit=/AppleWebKit\//.test(c))||(b.ie=/MSIE/.test(c))||(b.opera=/Opera/.test(c))||(b.gecko=/Gecko\//.test(c))||(b.unknown=!0)}function m(e,g,h,i,m){var p=function(){k(e)},q=e==="css",r=[],s,t,u,v,w,x;b||l();if(g){g=typeof g=="string"?[g]:g.concat();if(q||b.async||b.gecko||b.opera)f[e].push({urls:g,callback:h,obj:i,context:m});else for(s=0,t=g.length;s<t;++s)f[e].push({urls:[g[s]],callback:s===t-1?h:null,obj:i,context:m})}if(d[e]||!(v=d[e]=f[e].shift()))return;c||(c=a.head||a.getElementsByTagName("head")[0]);w=v.urls;for(s=0,t=w.length;s<t;++s){x=w[s];if(q)u=b.gecko?j("style"):j("link",{href:x,rel:"stylesheet"});else{u=j("script",{src:x});u.async=!1}u.className="lazyload";u.setAttribute("charset","utf-8");if(b.ie&&!q)u.onreadystatechange=function(){if(/loaded|complete/.test(u.readyState)){u.onreadystatechange=null;p()}};else if(q&&(b.gecko||b.webkit))if(b.webkit){v.urls[s]=u.href;o()}else{u.innerHTML='@import "'+x+'";';n(u)}else u.onload=u.onerror=p;r.push(u)}for(s=0,t=r.length;s<t;++s)c.appendChild(r[s])}function n(a){var b;try{b=!!a.sheet.cssRules}catch(c){e+=1;e<200?setTimeout(function(){n(a)},50):b&&k("css");return}k("css")}function o(){var a=d.css,b;if(a){b=g.length;while(--b>=0)if(g[b].href===a.urls[0]){k("css");break}e+=1;a&&(e<200?setTimeout(o,50):k("css"))}}var b,c,d={},e=0,f={css:[],js:[]},g=a.styleSheets,h=[];return{css:function(a,b,c,d){if(i(a))return b;m("css",a,b,c,d)},js:function(a,b,c,d){if(i(a))return b;m("js",a,b,c,d)}}}(this.document));typeof VMM!="undefined"&&typeof VMM.Language=="undefined"&&(VMM.Language={date:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],month_abbr:["Jan.","Feb.","March","April","May","June","July","Aug.","Sept.","Oct.","Nov.","Dec."],day:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_abbr:["Sun.","Mon.","Tues.","Wed.","Thurs.","Fri.","Sat."]},dateformats:{year:"yyyy",month_short:"mmm",month:"mmmm yyyy",full_short:"mmm d",full:"mmmm d',' yyyy",time_no_seconds_short:"h:MM TT",time_no_seconds_small_date:"h:MM TT'<br/><small>'mmmm d',' yyyy'</small>'",full_long:"mmm d',' yyyy 'at' hh:MM TT",full_long_small_date:"hh:MM TT'<br/><small>mmm d',' yyyy'</small>'"},messages:{loading_timeline:"Loading Timeline... ",return_to_title:"Return to Title",expand_timeline:"Expand Timeline",contract_timeline:"Contract Timeline"}});var Aes={};Aes.cipher=function(a,b){var c=4,d=b.length/c-1,e=[[],[],[],[]];for(var f=0;f<4*c;f++)e[f%4][Math.floor(f/4)]=a[f];e=Aes.addRoundKey(e,b,0,c);for(var g=1;g<d;g++){e=Aes.subBytes(e,c);e=Aes.shiftRows(e,c);e=Aes.mixColumns(e,c);e=Aes.addRoundKey(e,b,g,c)}e=Aes.subBytes(e,c);e=Aes.shiftRows(e,c);e=Aes.addRoundKey(e,b,d,c);var h=new Array(4*c);for(var f=0;f<4*c;f++)h[f]=e[f%4][Math.floor(f/4)];return h};Aes.keyExpansion=function(a){var b=4,c=a.length/4,d=c+6,e=new Array(b*(d+1)),f=new Array(4);for(var g=0;g<c;g++){var h=[a[4*g],a[4*g+1],a[4*g+2],a[4*g+3]];e[g]=h}for(var g=c;g<b*(d+1);g++){e[g]=new Array(4);for(var i=0;i<4;i++)f[i]=e[g-1][i];if(g%c==0){f=Aes.subWord(Aes.rotWord(f));for(var i=0;i<4;i++)f[i]^=Aes.rCon[g/c][i]}else c>6&&g%c==4&&(f=Aes.subWord(f));for(var i=0;i<4;i++)e[g][i]=e[g-c][i]^f[i]}return e};Aes.subBytes=function(a,b){for(var c=0;c<4;c++)for(var d=0;d<b;d++)a[c][d]=Aes.sBox[a[c][d]];return a};Aes.shiftRows=functi
.Util.isEven(h)||(n=!1));if(k){if(!n){b?VMM.Lib.animate(i,I.duration*2,I.ease,{opacity:0}):VMM.Lib.css(i,"opacity",0);a[h].interval_visible=!1}}else if(n){b?VMM.Lib.animate(i,I.duration*2,I.ease,{opacity:100}):VMM.Lib.css(i,"opacity",100);a[h].interval_visible=!0}f=m;m>I.nav.minor_width&&(I.nav.minor_width=m)}VMM.Lib.css(E,"left",-(I.width/2));VMM.Lib.width(E,I.nav.minor_width+I.width)},ab=function(a,b,c){var d=0,e=!0,f=0,h=0;VMM.attachElement(c,"");a.date=new Date(g[0].startdate.getFullYear(),0,1,0,0,0);for(var i=0;i<Math.ceil(a.number)+1;i++){var j,k,l,m=VMM.appendAndGetElement(c,"<div>",a.classname),n,o=!1;if(a.type=="eon"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/5e8)*5e8);a.date.setFullYear(a.date.getFullYear()+d*5e8)}else if(a.type=="era"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/1e8)*1e8);a.date.setFullYear(a.date.getFullYear()+d*1e8)}else if(a.type=="epoch"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/1e7)*1e7);a.date.setFullYear(a.date.getFullYear()+d*1e7)}else if(a.type=="age"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/1e6)*1e6);a.date.setFullYear(a.date.getFullYear()+d*1e6)}else if(a.type=="millenium"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/1e3)*1e3);a.date.setFullYear(a.date.getFullYear()+d*1e3)}else if(a.type=="century"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/100)*100);a.date.setFullYear(a.date.getFullYear()+d*100)}else if(a.type=="decade"){e&&a.date.setFullYear(Math.floor(g[0].startdate.getFullYear()/10)*10);a.date.setFullYear(a.date.getFullYear()+d*10)}else if(r.type=="year"){!e;a.date.setFullYear(a.date.getFullYear()+d)}else if(a.type=="month"){e&&a.date.setMonth(g[0].startdate.getMonth());a.date.setMonth(a.date.getMonth()+d)}else if(a.type=="week"){if(e){a.date.setMonth(g[0].startdate.getMonth());a.date.setDate(Math.floor(g[0].startdate.getDate()*7))}a.date.setDate(a.date.getDate()+d*7)}else if(a.type=="day"){if(e){a.date.setMonth(g[0].startdate.getMonth());a.date.setDate(g[0].startdate.getDate())}a.date.setDate(a.date.getDate()+d)}else if(a.type=="hour"){if(e){a.date.setMonth(g[0].startdate.getMonth());a.date.setDate(g[0].startdate.getDate());a.date.setHours(g[0].startdate.getHours())}a.date.setHours(a.date.getHours()+d)}else if(a.type=="minute"){if(e){a.date.setMonth(g[0].startdate.getMonth());a.date.setDate(g[0].startdate.getDate());a.date.setHours(g[0].startdate.getHours());a.date.setMinutes(g[0].startdate.getMinutes())}a.date.setMinutes(a.date.getMinutes()+d)}else if(a.type=="second"){if(e){a.date.setMonth(g[0].startdate.getMonth());a.date.setDate(g[0].startdate.getDate());a.date.setHours(g[0].startdate.getHours());a.date.setMinutes(g[0].startdate.getMinutes());a.date.setSeconds(g[0].startdate.getSeconds())}a.date.setSeconds(a.date.getSeconds()+d)}j=VMM.Util.date.prettyDate(a.date,!0);d=1;e=!1;k=Z(a,a.date);l=k.begin;VMM.appendElement(m,j);VMM.Lib.css(m,"text-indent",-(VMM.Lib.width(m)/2));VMM.Lib.css(m,"opacity","0");f=l;l>h&&(h=l);n=new Date(a.date);var p={interval_element:m,interval_date:n,interval_visible:o,type:a.interval_type};b.push(p)}VMM.Lib.width(E,h);_(b)},bb=function(){VMM.attachElement(f,"");v=VMM.appendAndGetElement(f,"<div>","timenav");w=VMM.appendAndGetElement(v,"<div>","content");x=VMM.appendAndGetElement(v,"<div>","time");y=VMM.appendAndGetElement(x,"<div>","time-interval-minor");E=VMM.appendAndGetElement(y,"<div>","minor");A=VMM.appendAndGetElement(x,"<div>","time-interval-major");z=VMM.appendAndGetElement(x,"<div>","time-interval");B=VMM.appendAndGetElement(f,"<div>","timenav-background");D=VMM.appendAndGetElement(B,"<div>","timenav-line");C=VMM.appendAndGetElement(B,"<div>","timenav-interval-background","<div class='top-highlight'></div>");F=VMM.appendAndGetElement(f,"<div>","toolbar");cb();db();W();$();_(j,!1,!0);_(k);if(I.start_page){$backhome=VMM.appendAndGetElement(F,"<div>","back-home","<div class='icon'></div>");VMM.bindEvent(".back-home",O,"click");VMM.Lib.css(F,"top",27);VMM.Lib.attribute($backhome,"title",VMM.Timeline.Config.language.messages.re