/* TimelineJS - ver. 2014-10-10-19-54-13 - 2014-10-10 Copyright (c) 2012-2013 Northwestern University a project of the Northwestern University Knight Lab, originally created by Zach Wise https://github.com/NUKnightLab/TimelineJS This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ (function(){var initializing=false,fnTest=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this;initializing=false;for(var name in prop){prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret}}(name,prop[name]):prop[name]}function Class(){if(!initializing&&this.init)this.init.apply(this,arguments)}Class.prototype=prototype;Class.prototype.constructor=Class;Class.extend=arguments.callee;return Class}})();var global=function(){return this||(1,eval)("this")}();if(typeof VMM=="undefined"){var VMM=Class.extend({});VMM.debug=true;VMM.master_config={init:function(){return this},sizes:{api:{width:0,height:0}},vp:"Pellentesque nibh felis, eleifend id, commodo in, interdum vitae, leo",api_keys_master:{flickr:"RAIvxHY4hE/Elm5cieh4X5ptMyDpj7MYIxziGxi0WGCcy1s+yr7rKQ==",google:"uQKadH1VMlCsp560gN2aOiMz4evWkl1s34yryl3F/9FJOsn+/948CbBUvKLN46U=",twitter:""},timers:{api:7e3},api:{pushques:[]},twitter:{active:false,array:[],api_loaded:false,que:[]},flickr:{active:false,array:[],api_loaded:false,que:[]},youtube:{active:false,array:[],api_loaded:false,que:[]},vimeo:{active:false,array:[],api_loaded:false,que:[]},vine:{active:false,array:[],api_loaded:false,que:[]},webthumb:{active:false,array:[],api_loaded:false,que:[]},googlemaps:{active:false,map_active:false,places_active:false,array:[],api_loaded:false,que:[]},googledocs:{active:false,array:[],api_loaded:false,que:[]},googleplus:{active:false,array:[],api_loaded:false,que:[]},wikipedia:{active:false,array:[],api_loaded:false,que:[],tries:0},soundcloud:{active:false,array:[],api_loaded:false,que:[]}}.init();VMM.createElement=function(tag,value,cName,attrs,styles){var ce="";if(tag!=null&&tag!=""){ce+="<"+tag;if(cName!=null&&cName!=""){ce+=" class='"+cName+"'"}if(attrs!=null&&attrs!=""){ce+=" "+attrs}if(styles!=null&&styles!=""){ce+=" style='"+styles+"'"}ce+=">";if(value!=null&&value!=""){ce+=value}ce=ce+""}return ce};VMM.createMediaElement=function(media,caption,credit){var ce="";var _valid=false;ce+="
";if(media!=null&&media!=""){valid=true;ce+="";if(credit!=null&&credit!=""){ce+=VMM.createElement("div",credit,"credit")}if(caption!=null&&caption!=""){ce+=VMM.createElement("div",caption,"caption")}}ce+="
";return ce};VMM.hideUrlBar=function(){var win=window,doc=win.document;if(!location.hash||!win.addEventListener){window.scrollTo(0,1);var scrollTop=1,bodycheck=setInterval(function(){if(doc.body){clearInterval(bodycheck);scrollTop="scrollTop"in doc.body?doc.body.scrollTop:1;win.scrollTo(0,scrollTop===1?0:1)}},15);win.addEventListener("load",function(){setTimeout(function(){win.scrollTo(0,scrollTop===1?0:1)},0)},false)}}}function trace(msg){if(VMM.debug){if(window.console){console.log(msg)}else if(typeof jsTrace!="undefined"){jsTrace.send(msg)}else{}}}Date.prototype.getWeek=function(){var onejan=new Date(this.getFullYear(),0,1);return Math.ceil(((this-onejan)/864e5+onejan.getDay()+1)/7)};Date.prototype.getDayOfYear=function(){var onejan=new Date(this.getFullYear(),0,1);return Math.ceil((this-onejan)/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:false},String:function(a){return typeof a==="string"?true:typeof a==="object"?a.constructor.toString().match(/string/i)!==null:false},Array:function(a){return typeof a==="object"?a.constructor.toString().match(/array/i)!==null||a.length!==undefined:false},Boolean:function(a){return typeof a==="boolean"?true:typeof a==="object"?a.constructor.toString().match(/boolean/i)!==null:false},Date:function(a){return typeof a==="date"?true:typeof a==="object"?a.constructor.toString().match(/date/i)!==null:false},HTML:function(a){return typeof a==="object"?a.constructor.toString().match(/html/i)!==null:false},Number:function(a){return typeof a==="number"?true:typeof a==="object"?a.constructor.toString().match(/Number/)!==null:false},Object:function(a){return typeof a==="object"?a.constructor.toString().match(/object/i)!==null:false},RegExp:function(a){return typeof a==="function"?a.constructor.toString().match(/regexp/i)!==null:false}};var type={of:function(a){for(var i in is){if(is[i](a)){return i.toLowerCase()}}}};if(typeof VMM!="undefined"){VMM.smoothScrollTo=function(elem,duration,ease){if(typeof jQuery!="undefined"){var _ease="easein",_duration=1e3;if(duration!=null){if(duration<1){_duration=1}else{_duration=Math.round(duration)}}if(ease!=null&&ease!=""){_ease=ease}if(jQuery(window).scrollTop()!=VMM.Lib.offset(elem).top){VMM.Lib.animate("html,body",_duration,_ease,{scrollTop:VMM.Lib.offset(elem).top})}}};VMM.attachElement=function(element,content){if(typeof jQuery!="undefined"){jQuery(element).html(content)}};VMM.appendElement=function(element,content){if(typeof jQuery!="undefined"){jQuery(element).append(content)}};VMM.getHTML=function(element){var e;if(typeof jQuery!="undefined"){e=jQuery(element).html();return e}};VMM.getElement=function(element,p){var e;if(typeof jQuery!="undefined"){if(p){e=jQuery(element).parent().get(0)}else{e=jQuery(element).get(0)}return e}};VMM.bindEvent=function(element,the_handler,the_event_type,event_data){var e;var _event_type="click";var _event_data={};if(the_event_type!=null&&the_event_type!=""){_event_type=the_event_type}if(_event_data!=null&&_event_data!=""){_event_data=event_data}if(typeof jQuery!="undefined"){jQuery(element).bind(_event_type,_event_data,the_handler)}};VMM.unbindEvent=function(element,the_handler,the_event_type){var e;var _event_type="click";var _event_data={};if(the_event_type!=null&&the_event_type!=""){_event_type=the_event_type}if(typeof jQuery!="undefined"){jQuery(element).unbind(_event_type,the_handler)}};VMM.fireEvent=function(element,the_event_type,the_data){var e;var _event_type="click";var _data=[];if(the_event_type!=null&&the_event_type!=""){_event_type=the_event_type}if(the_data!=null&&the_data!=""){_data=the_data}if(typeof jQuery!="undefined"){jQuery(element).trigger(_event_type,_data)}};VMM.getJSON=function(url,data,callback){if(typeof jQuery!="undefined"){jQuery.ajaxSetup({timeout:3e3});if(VMM.Browser.browser=="Explorer"&&parseInt(VMM.Browser.version,10)>=7&&window.XDomainRequest){trace("IE JSON");var ie_url=url;if(ie_url.match("^http://")){return jQuery.getJSON(ie_url,data,callback)}else if(ie_url.match("^https://")){ie_url=ie_url.replace("https://","http://");return jQuery.getJSON(ie_url,data,callback)}else{return jQuery.getJSON(url,data,callback)}}else{return jQuery.getJSON(url,data,callback)}}};VMM.parseJSON=function(the_json){if(typeof jQuery!="undefined"){return jQuery.parseJSON(the_json)}};VMM.appendAndGetElement=function(append_to_element,tag,cName,content){var e,_tag="
",_class="",_content="",_id="";if(tag!=null&&tag!=""){_tag=tag}if(cName!=null&&cName!=""){_class=cName}if(content!=null&&content!=""){_content=content}if(typeof jQuery!="undefined"){e=jQuery(tag);e.addClass(_class);e.html(_content);jQuery(append_to_element).append(e)}return e};VMM.Lib={init:function(){return this},hide:function(element,duration){if(duration!=null&&duration!=""){if(typeof jQuery!="undefined"){jQuery(element).hide(duration)}}else{if(typeof jQuery!="undefined"){jQuery(element).hide()}}},remove:function(element){if(typeof jQuery!="undefined"){jQuery(element).remove()}},detach:function(element){if(typeof jQuery!="undefined"){jQuery(element).detach()}},append:function(element,value){if(typeof jQuery!="undefined"){jQuery(element).append(value)}},prepend:function(element,value){if(typeof jQuery!="undefined"){jQuery(element).prepend(value)}},show:function(element,duration){if(duration!=null&&duration!=""){if(typeof jQuery!="undefined"){jQuery(element).show(duration)}}else{if(typeof jQuery!="undefined"){jQuery(element).show()}}},load:function(element,callback_function,event_data){var _event_data={elem:element};if(_event_data!=null&&_event_data!=""){_event_data=event_data}if(typeof jQuery!="undefined"){jQuery(element).load(_event_data,callback_function)}},addClass:function(element,cName){if(typeof jQuery!="undefined"){jQuery(element).addClass(cName)}},removeClass:function(element,cName){if(typeof jQuery!="undefined"){jQuery(element).removeClass(cName)}},attr:function(element,aName,value){if(value!=null&&value!=""){if(typeof jQuery!="undefined"){jQuery(element).attr(aName,value)}}else{if(typeof jQuery!="undefined"){return jQuery(element).attr(aName)}}},prop:function(element,aName,value){if(typeof jQuery=="undefined"||!/[1-9]\.[3-9].[1-9]/.test(jQuery.fn.jquery)){VMM.Lib.attribute(element,aName,value)}else{jQuery(element).prop(aName,value)}},attribute:function(element,aName,value){if(value!=null&&value!=""){if(typeof jQuery!="undefined"){jQuery(element).attr(aName,value)}}else{if(typeof jQuery!="undefined"){return jQuery(element).attr(aName)}}},visible:function(element,show){if(show!=null){if(typeof jQuery!="undefined"){if(show){jQuery(element).show(0)}else{jQuery(element).hide(0)}}}else{if(typeof jQuery!="undefined"){if(jQuery(element).is(":visible")){return true}else{return false}}}},css:function(element,prop,value){if(value!=null&&value!=""){if(typeof jQuery!="undefined"){jQuery(element).css(prop,value)}}else{if(typeof jQuery!="undefined"){return jQuery(element).css(prop)}}},cssmultiple:function(element,propval){if(typeof jQuery!="undefined"){return jQuery(element).css(propval)}},offset:function(element){var p;if(typeof jQuery!="undefined"){p=jQuery(element).offset()}return p},position:function(element){var p;if(typeof jQuery!="undefined"){p=jQuery(element).position()}return p},width:function(element,s){if(s!=null&&s!=""){if(typeof jQuery!="undefined"){jQuery(element).width(s)}}else{if(typeof jQuery!="undefined"){return jQuery(element).width()}}},height:function(element,s){if(s!=null&&s!=""){if(typeof jQuery!="undefined"){jQuery(element).height(s)}}else{if(typeof jQuery!="undefined"){return jQuery(element).height()}}},toggleClass:function(element,cName){if(typeof jQuery!="undefined"){jQuery(element).toggleClass(cName)}},each:function(element,return_function){if(typeof jQuery!="undefined"){jQuery(element).each(return_function)}},html:function(element,str){var e;if(typeof jQuery!="undefined"){e=jQuery(element).html();return e}if(str!=null&&str!=""){if(typeof jQuery!="undefined"){jQuery(element).html(str)}}else{var e;if(typeof jQuery!="undefined"){e=jQuery(element).html();return e}}},find:function(element,selec){if(typeof jQuery!="undefined"){return jQuery(element).find(selec)}},stop:function(element){if(typeof jQuery!="undefined"){jQuery(element).stop()}},delay_animate:function(delay,element,duration,ease,att,callback_function){if(VMM.Browser.device=="mobile"||VMM.Browser.device=="tablet"){var _tdd=Math.round(duration/1500*10)/10,__duration=_tdd+"s";VMM.Lib.css(element,"-webkit-transition","all "+__duration+" ease");VMM.Lib.css(element,"-moz-transition","all "+__duration+" ease");VMM.Lib.css(element,"-o-transition","all "+__duration+" ease");VMM.Lib.css(element,"-ms-transition","all "+__duration+" ease");VMM.Lib.css(element,"transition","all "+__duration+" ease");VMM.Lib.cssmultiple(element,_att)}else{if(typeof jQuery!="undefined"){jQuery(element).delay(delay).animate(att,{duration:duration,easing:ease})}}},animate:function(element,duration,ease,att,que,callback_function){var _ease="easein",_que=false,_duration=1e3,_att={};if(duration!=null){if(duration<1){_duration=1}else{_duration=Math.round(duration)}}if(ease!=null&&ease!=""){_ease=ease}if(que!=null&&que!=""){_que=que}if(att!=null){_att=att}else{_att={opacity:0}}if(VMM.Browser.device=="mobile"||VMM.Browser.device=="tablet"){var _tdd=Math.round(_duration/1500*10)/10,__duration=_tdd+"s";_ease=" cubic-bezier(0.33, 0.66, 0.66, 1)";for(x in _att){if(Object.prototype.hasOwnProperty.call(_att,x)){trace(x+" to "+_att[x]);VMM.Lib.css(element,"-webkit-transition",x+" "+__duration+_ease);VMM.Lib.css(element,"-moz-transition",x+" "+__duration+_ease);VMM.Lib.css(element,"-o-transition",x+" "+__duration+_ease);VMM.Lib.css(element,"-ms-transition",x+" "+__duration+_ease);VMM.Lib.css(element,"transition",x+" "+__duration+_ease)}}VMM.Lib.cssmultiple(element,_att)}else{if(typeof jQuery!="undefined"){if(callback_function!=null&&callback_function!=""){jQuery(element).animate(_att,{queue:_que,duration:_duration,easing:_ease,complete:callback_function})}else{jQuery(element).animate(_att,{queue:_que,duration:_duration,easing:_ease})}}}}}}if(typeof jQuery!="undefined"){(function(jQuery){if(window.XDomainRequest){jQuery.ajaxTransport(function(s){if(s.crossDomain&&s.async){if(s.timeout){s.xdrTimeout=s.timeout;delete s.timeout}var xdr;return{send:function(_,complete){function callback(status,statusText,responses,responseHeaders){xdr.onload=xdr.onerror=xdr.ontimeout=jQuery.noop;xdr=undefined;complete(status,statusText,responses,responseHeaders)}xdr=new XDomainRequest;xdr.open(s.type,s.url);xdr.onload=function(){callback(200,"OK",{text:xdr.responseText},"Content-Type: "+xdr.contentType)};xdr.onerror=function(){callback(404,"Not Found")};if(s.xdrTimeout){xdr.ontimeout=function(){callback(0,"timeout")};xdr.timeout=s.xdrTimeout}xdr.send(s.hasContent&&s.data||null)},abort:function(){if(xdr){xdr.onerror=jQuery.noop();xdr.abort()}}}}})}})(jQuery);jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInExpo:function(x,t,b,c,d){return t==0?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return t==d?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*(--t*(t-2)-1)+b}})}if(typeof VMM!="undefined"&&typeof VMM.Browser=="undefined"){VMM.Browser={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.tridentVersion=this.searchTridentVersion(navigator.userAgent);this.OS=this.searchString(this.dataOS)||"an unknown OS";this.device=this.searchDevice(navigator.userAgent);this.orientation=this.searchOrientation(window.orientation)},searchOrientation:function(orientation){var orient="";if(orientation==0||orientation==180){orient="portrait"}else if(orientation==90||orientation==-90){orient="landscape"}else{orient="normal"}return orient},searchDevice:function(d){var device="";if(d.match(/Android/i)||d.match(/iPhone|iPod/i)){device="mobile"}else if(d.match(/iPad/i)){device="tablet"}else if(d.match(/BlackBerry/i)||d.match(/IEMobile/i)){device="other mobile"}else{device="desktop"}return device},searchString:function(data){for(var i=0;i'mmmm d',' yyyy''",full_long:"mmm d',' yyyy 'at' hh:MM TT",full_long_small_date:"hh:MM TT'
mmm d',' yyyy''"},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."],hour:[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12],hour_suffix:["am"],bc_format:{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:"dddd', 'h:MM TT'
'mmmm d',' yyyy''",full_long:"dddd',' mmm d',' yyyy 'at' hh:MM TT",full_long_small_date:"hh:MM TT'
'dddd',' mmm d',' yyyy''"},setLanguage:function(lang){trace("SET DATE LANGUAGE");VMM.Date.dateformats=lang.dateformats;VMM.Date.month=lang.date.month;VMM.Date.month_abbr=lang.date.month_abbr;VMM.Date.day=lang.date.day;VMM.Date.day_abbr=lang.date.day_abbr;dateFormat.i18n.dayNames=lang.date.day_abbr.concat(lang.date.day);dateFormat.i18n.monthNames=lang.date.month_abbr.concat(lang.date.month)},parse:function(d,precision){"use strict";var date,date_array,time_array,time_parse,p={year:false,month:false,day:false,hour:false,minute:false,second:false,millisecond:false};if(type.of(d)=="date"){trace("DEBUG THIS, ITs A DATE");date=d}else{date=new Date(0,0,1,0,0,0,0);if(d.match(/,/gi)){date_array=d.split(",");for(var i=0;i=1){p.second=true}}if(date_array[6]){date.setMilliseconds(date_array[6]);if(date_array[6]>=1){p.millisecond=true}}}else if(d.match("/")){if(d.match(" ")){time_parse=d.split(" ");if(d.match(":")){time_array=time_parse[1].split(":");if(time_array[0]>=0){date.setHours(time_array[0]);p.hour=true}if(time_array[1]>=0){date.setMinutes(time_array[1]);p.minute=true}if(time_array[2]>=0){date.setSeconds(time_array[2]);p.second=true}if(time_array[3]>=0){date.setMilliseconds(time_array[3]);p.millisecond=true}}date_array=time_parse[0].split("/")}else{date_array=d.split("/")}if(date_array[2]){date.setFullYear(date_array[2]);p.year=true}if(date_array[0]>=0){date.setMonth(date_array[0]-1);p.month=true}if(date_array[1]>=0){if(date_array[1].length>2){date.setFullYear(date_array[1]);p.year=true}else{date.setDate(date_array[1]);p.day=true}}}else if(d.match("now")){var now=new Date;date.setFullYear(now.getFullYear());p.year=true;date.setMonth(now.getMonth());p.month=true;date.setDate(now.getDate());p.day=true;if(d.match("hours")){date.setHours(now.getHours());p.hour=true}if(d.match("minutes")){date.setHours(now.getHours());date.setMinutes(now.getMinutes());p.hour=true;p.minute=true}if(d.match("seconds")){date.setHours(now.getHours());date.setMinutes(now.getMinutes());date.setSeconds(now.getSeconds());p.hour=true;p.minute=true;p.second=true}if(d.match("milliseconds")){date.setHours(now.getHours());date.setMinutes(now.getMinutes());date.setSeconds(now.getSeconds());date.setMilliseconds(now.getMilliseconds());p.hour=true;p.minute=true;p.second=true;p.millisecond=true}}else if(d.length<=8){p.year=true;date.setFullYear(parseInt(d,10));date.setMonth(0);date.setDate(1);date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}else if(d.match("T")){if(navigator.userAgent.match(/MSIE\s(?!9.0)/)){time_parse=d.split("T");if(d.match(":")){time_array=time_parse[1].split(":");if(time_array[0]>=1){date.setHours(time_array[0]);p.hour=true}if(time_array[1]>=1){date.setMinutes(time_array[1]);p.minute=true}if(time_array[2]>=1){date.setSeconds(time_array[2]);if(time_array[2]>=1){p.second=true}}if(time_array[3]>=1){date.setMilliseconds(time_array[3]);if(time_array[3]>=1){p.millisecond=true}}}date_array=time_parse[0].split("-");if(date_array[0]){date.setFullYear(date_array[0]);p.year=true}if(date_array[1]>=0){date.setMonth(date_array[1]-1);p.month=true}if(date_array[2]>=0){date.setDate(date_array[2]);p.day=true}}else{date=new Date(Date.parse(d));p.year=true;p.month=true;p.day=true;p.hour=true;p.minute=true;if(date.getSeconds()>=1){p.second=true}if(date.getMilliseconds()>=1){p.millisecond=true}}}else{date=new Date(parseInt(d.slice(0,4),10),parseInt(d.slice(4,6),10)-1,parseInt(d.slice(6,8),10),parseInt(d.slice(8,10),10),parseInt(d.slice(10,12),10));p.year=true;p.month=true;p.day=true;p.hour=true;p.minute=true;if(date.getSeconds()>=1){p.second=true}if(date.getMilliseconds()>=1){p.millisecond=true}}}if(precision!=null&&precision!=""){return{date:date,precision:p}}else{return date}},prettyDate:function(d,is_abbr,p,d2){var _date,_date2,format,bc_check,is_pair=false,bc_original,bc_number,bc_string;if(d2!=null&&d2!=""&&typeof d2!="undefined"){is_pair=true;trace("D2 "+d2)}if(type.of(d)=="date"){if(type.of(p)=="object"){if(p.millisecond||p.second&&d.getSeconds()>=1){if(is_abbr){format=VMM.Date.dateformats.time_short}else{format=VMM.Date.dateformats.time_short}}else if(p.minute){if(is_abbr){format=VMM.Date.dateformats.time_no_seconds_short}else{format=VMM.Date.dateformats.time_no_seconds_small_date}}else if(p.hour){if(is_abbr){format=VMM.Date.dateformats.time_no_seconds_short}else{format=VMM.Date.dateformats.time_no_seconds_small_date}}else if(p.day){if(is_abbr){format=VMM.Date.dateformats.full_short}else{format=VMM.Date.dateformats.full}}else if(p.month){if(is_abbr){format=VMM.Date.dateformats.month_short}else{format=VMM.Date.dateformats.month}}else if(p.year){format=VMM.Date.dateformats.year}else{format=VMM.Date.dateformats.year}}else{if(d.getMonth()===0&&d.getDate()==1&&d.getHours()===0&&d.getMinutes()===0){format=VMM.Date.dateformats.year}else if(d.getDate()<=1&&d.getHours()===0&&d.getMinutes()===0){if(is_abbr){format=VMM.Date.dateformats.month_short}else{format=VMM.Date.dateformats.month}}else if(d.getHours()===0&&d.getMinutes()===0){if(is_abbr){format=VMM.Date.dateformats.full_short}else{format=VMM.Date.dateformats.full}}else if(d.getMinutes()===0){if(is_abbr){format=VMM.Date.dateformats.time_no_seconds_short}else{format=VMM.Date.dateformats.time_no_seconds_small_date}}else{if(is_abbr){format=VMM.Date.dateformats.time_no_seconds_short}else{format=VMM.Date.dateformats.full_long}}}_date=dateFormat(d,format,false);bc_check=_date.split(" ");for(var i=0;i99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(timezone)||[""]).pop().replace(timezoneClip,""),o:(o>0?"-":"+")+pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10],W:W};return mask.replace(token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(mask,utc){return dateFormat(this,mask,utc)}}if(typeof VMM!="undefined"&&typeof VMM.Util=="undefined"){VMM.Util={init:function(){return this},removeRange:function(array,from,to){var rest=array.slice((to||from)+1||array.length);array.length=from<0?array.length+from:from;return array.push.apply(array,rest)},correctProtocol:function(url){var loc=window.parent.location.protocol.toString(),prefix="",the_url=url.split("://",2);if(loc.match("http")){prefix=loc}else{prefix="https"}return prefix+"://"+the_url[1]},mergeConfig:function(config_main,config_to_merge){var x;for(x in config_to_merge){if(Object.prototype.hasOwnProperty.call(config_to_merge,x)){config_main[x]=config_to_merge[x]}}return config_main},getObjectAttributeByIndex:function(obj,index){if(typeof obj!="undefined"){var i=0;for(var attr in obj){if(index===i){return obj[attr]}i++}return""}else{return""}},ordinal:function(n){return["th","st","nd","rd"][!(n%10>3||Math.floor(n%100/10)==1)*(n%10)]},randomBetween:function(min,max){return Math.floor(Math.random()*(max-min+1)+min)},average:function(a){var r={mean:0,variance:0,deviation:0},t=a.length;for(var m,s=0,l=t;l--;s+=a[l]);for(m=r.mean=s/t,l=t,s=0;l--;s+=Math.pow(a[l]-m,2));return r.deviation=Math.sqrt(r.variance=s/t),r},customSort:function(a,b){var a1=a,b1=b;if(a1==b1)return 0;return a1>b1?1:-1},deDupeArray:function(arr){var i,len=arr.length,out=[],obj={};for(i=0;ih){_fit.height=h;_fit.width=Math.round(h/ratio_h*ratio_w);if(_fit.width>w){trace("FIT: DIDN'T FIT!!! ")}}return _fit},r16_9:function(w,h){if(w!==null&&w!==""){return Math.round(h/16*9)}else if(h!==null&&h!==""){return Math.round(w/9*16)}},r4_3:function(w,h){if(w!==null&&w!==""){return Math.round(h/4*3)}else if(h!==null&&h!==""){return Math.round(w/3*4)}}},doubledigit:function(n){return(n<10?"0":"")+n},truncateWords:function(s,min,max){if(!min)min=30;if(!max)max=min;var initial_whitespace_rExp=/^[^A-Za-z0-9\'\-]+/gi;var left_trimmedStr=s.replace(initial_whitespace_rExp,"");var words=left_trimmedStr.split(" ");var result=[];min=Math.min(words.length,min);max=Math.min(words.length,max);for(var i=0;i$&").replace(pseudoUrlPattern,"$1$2").replace(emailAddressPattern,"$1")},linkify_with_twitter:function(text,targets,is_touch){var urlPattern=/\b(?:https?|ftp):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*[a-z0-9-+&@#\/%=~_|]/gim;var url_pattern=/(\()((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\))|(\[)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\])|(\{)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\})|(<|&(?:lt|#60|#x3c);)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(>|&(?:gt|#62|#x3e);)|((?:^|[^=\s'"\]])\s*['"]?|[^=\s]\s+)(\b(?:ht|f)tps?:\/\/[a-z0-9\-._~!$'()*+,;=:\/?#[\]@%]+(?:(?!&(?:gt|#0*62|#x0*3e);|&(?:amp|apos|quot|#0*3[49]|#x0*2[27]);[.!&',:?;]?(?:[^a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]|$))&[a-z0-9\-._~!$'()*+,;=:\/?#[\]@%]*)*[a-z0-9\-_~$()*+=\/#[\]@%])/gim;var url_replace='$1$4$7$10$13$2$5$8$11$14$3$6$9$12';var pseudoUrlPattern=/(^|[^\/])(www\.[\S]+(\b|$))/gim; function replaceURLWithHTMLLinks(text){var exp=/(\b(https?|ftp|file):\/\/([-A-Z0-9+&@#%?=~_|!:,.;]*)([-A-Z0-9+&@#%?\/=~_|!:,.;]*)[-A-Z0-9+&@#\/%=~_|])/gi;return text.replace(exp,"$3")}var emailAddressPattern=/(([a-zA-Z0-9_\-\.]+)@[a-zA-Z_]+?(?:\.[a-zA-Z]{2,6}))+/gim;var twitterHandlePattern=/\B@([\w-]+)/gm;var twitterSearchPattern=/(#([\w]+))/g;return text.replace(url_pattern,url_replace).replace(pseudoUrlPattern,"$1$2").replace(emailAddressPattern,"$1").replace(twitterHandlePattern,"@$1")},linkify_wikipedia:function(text){var urlPattern=/]*>(.*?)<\/i>/gim;return text.replace(urlPattern,"$&").replace(/]*>/gim,"").replace(/<\/i>/gim,"").replace(/]*>/gim,"").replace(/<\/b>/gim,"")},unlinkify:function(text){if(!text)return text;text=text.replace(/]*>/i,"");text=text.replace(/<\/a>/i,"");return text},untagify:function(text){if(!text){return text}text=text.replace(/<\/?\s*\w.*?>/g,"");return text},nl2br:function(text){return text.replace(/(\r\n|[\r\n]|\\n|\\r)/g,"
")},unique_ID:function(size){var getRandomNumber=function(range){return Math.floor(Math.random()*range)};var getRandomChar=function(){var chars="abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";return chars.substr(getRandomNumber(62),1)};var randomID=function(size){var str="";for(var i=0;i1?"."+x[1]:"";var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,"$1"+","+"$2")}return x1+x2},toTitleCase:function(t){if(VMM.Browser.browser=="Explorer"&&parseInt(VMM.Browser.version,10)>=7){return t.replace("_","%20")}else{var __TitleCase={__smallWords:["a","an","and","as","at","but","by","en","for","if","in","of","on","or","the","to","v[.]?","via","vs[.]?"],init:function(){this.__smallRE=this.__smallWords.join("|");this.__lowerCaseWordsRE=new RegExp("\\b("+this.__smallRE+")\\b","gi");this.__firstWordRE=new RegExp("^([^a-zA-Z0-9 \\r\\n\\t]*)("+this.__smallRE+")\\b","gi");this.__lastWordRE=new RegExp("\\b("+this.__smallRE+")([^a-zA-Z0-9 \\r\\n\\t]*)$","gi")},toTitleCase:function(string){var line="";var split=string.split(/([:.;?!][ ]|(?:[ ]|^)["“])/);for(var i=0;i=0){if(styleSheets[i].href===css.urls[0]){finish("css");break}}pollCount+=1;if(css){if(pollCount<200){setTimeout(pollWebKit,50)}else{finish("css")}}}}return{css:function(urls,callback,obj,context){load("css",urls,callback,obj,context)},js:function(urls,callback,obj,context){load("js",urls,callback,obj,context)}}}(this.document);LoadLib=function(doc){var loaded=[];function isLoaded(url){var i=0,has_loaded=false;for(i=0;i'mmmm d',' yyyy''",full_long:"mmm d',' yyyy 'at' h:MM TT",full_long_small_date:"h:MM TT'
mmm d',' yyyy''"},messages:{loading_timeline:"Loading Timeline... ",return_to_title:"Return to Title",expand_timeline:"Expand Timeline",contract_timeline:"Contract Timeline",wikipedia:"From Wikipedia, the free encyclopedia",loading_content:"Loading Content",loading:"Loading"}}}if(typeof VMM!="undefined"&&typeof VMM.ExternalAPI=="undefined"){VMM.ExternalAPI={keys:{google:"",flickr:"",twitter:""},keys_master:{vp:"Pellentesque nibh felis, eleifend id, commodo in, interdum vitae, leo",flickr:"RAIvxHY4hE/Elm5cieh4X5ptMyDpj7MYIxziGxi0WGCcy1s+yr7rKQ==",google:"jwNGnYw4hE9lmAez4ll0QD+jo6SKBJFknkopLS4FrSAuGfIwyj57AusuR0s8dAo=",twitter:""},init:function(){return this},setKeys:function(d){VMM.ExternalAPI.keys=d},pushQues:function(){if(VMM.master_config.googlemaps.active){VMM.ExternalAPI.googlemaps.pushQue()}if(VMM.master_config.youtube.active){VMM.ExternalAPI.youtube.pushQue()}if(VMM.master_config.soundcloud.active){VMM.ExternalAPI.soundcloud.pushQue()}if(VMM.master_config.googledocs.active){VMM.ExternalAPI.googledocs.pushQue()}if(VMM.master_config.googleplus.active){VMM.ExternalAPI.googleplus.pushQue()}if(VMM.master_config.wikipedia.active){VMM.ExternalAPI.wikipedia.pushQue()}if(VMM.master_config.vimeo.active){VMM.ExternalAPI.vimeo.pushQue()}if(VMM.master_config.vine.active){VMM.ExternalAPI.vine.pushQue()}if(VMM.master_config.twitter.active){VMM.ExternalAPI.twitter.pushQue()}if(VMM.master_config.flickr.active){VMM.ExternalAPI.flickr.pushQue()}if(VMM.master_config.webthumb.active){VMM.ExternalAPI.webthumb.pushQue()}},twitter:{tweetArray:[],get:function(m){var tweet={mid:m.id,id:m.uid};VMM.master_config.twitter.que.push(tweet);VMM.master_config.twitter.active=true},create:function(tweet,callback){var id=tweet.mid.toString(),error_obj={twitterid:tweet.mid},the_url="//api.twitter.com/1/statuses/show.json?id="+tweet.mid+"&include_entities=true&callback=?";VMM.ExternalAPI.twitter.getOEmbed(tweet,callback)},errorTimeOut:function(tweet){trace("TWITTER JSON ERROR TIMEOUT "+tweet.mid);VMM.attachElement("#"+tweet.id.toString(),VMM.MediaElement.loadingmessage("Still waiting on Twitter: "+tweet.mid));VMM.getJSON("//api.twitter.com/1/account/rate_limit_status.json",function(d){trace("REMAINING TWITTER API CALLS "+d.remaining_hits);trace("TWITTER RATE LIMIT WILL RESET AT "+d.reset_time);var mes="";if(d.remaining_hits==0){mes="

You've reached the maximum number of tweets you can load in an hour.

";mes+="

You can view tweets again starting at:
"+d.reset_time+"

"}else{mes="

Still waiting on Twitter. "+tweet.mid+"

"}VMM.attachElement("#"+tweet.id.toString(),VMM.MediaElement.loadingmessage(mes))})},errorTimeOutOembed:function(tweet){trace("TWITTER JSON ERROR TIMEOUT "+tweet.mid);VMM.attachElement("#"+tweet.id.toString(),VMM.MediaElement.loadingmessage("Still waiting on Twitter: "+tweet.mid))},pushQue:function(){if(VMM.master_config.twitter.que.length>0){VMM.ExternalAPI.twitter.create(VMM.master_config.twitter.que[0],VMM.ExternalAPI.twitter.pushQue);VMM.Util.removeRange(VMM.master_config.twitter.que,0)}},getOEmbed:function(tweet,callback){var the_url="//api.twitter.com/1/statuses/oembed.json?id="+tweet.mid+"&omit_script=true&include_entities=true&callback=?",twitter_timeout=setTimeout(VMM.ExternalAPI.twitter.errorTimeOutOembed,VMM.master_config.timers.api,tweet);VMM.getJSON(the_url,function(d){var twit="",tuser="";twit+=d.html.split("

—")[0]+"

";tuser=d.author_url.split("twitter.com/")[1];twit+="";VMM.attachElement("#"+tweet.id.toString(),twit);VMM.attachElement("#text_thumb_"+tweet.id.toString(),d.html);VMM.attachElement("#marker_content_"+tweet.id.toString(),d.html)}).error(function(jqXHR,textStatus,errorThrown){trace("TWITTER error");trace("TWITTER ERROR: "+textStatus+" "+jqXHR.responseText);clearTimeout(twitter_timeout);VMM.attachElement("#"+tweet.id,VMM.MediaElement.loadingmessage("ERROR LOADING TWEET "+tweet.mid))}).success(function(d){clearTimeout(twitter_timeout);callback()})},getHTML:function(id){var the_url="//api.twitter.com/1/statuses/oembed.json?id="+id+"&omit_script=true&include_entities=true&callback=?";VMM.getJSON(the_url,VMM.ExternalAPI.twitter.onJSONLoaded)},onJSONLoaded:function(d){trace("TWITTER JSON LOADED");var id=d.id;VMM.attachElement("#"+id,VMM.Util.linkify_with_twitter(d.html))},parseTwitterDate:function(d){var date=new Date(Date.parse(d));return date},prettyParseTwitterDate:function(d){var date=new Date(Date.parse(d));return VMM.Date.prettyDate(date,true)},getTweets:function(tweets){var tweetArray=[];var number_of_tweets=tweets.length;for(var i=0;i";twit+="— "+d.user.name+" (@"+d.user.screen_name+") "+VMM.ExternalAPI.twitter.prettyParseTwitterDate(d.created_at)+"
";tweet.content=twit;tweet.raw=d;tweetArray.push(tweet);if(tweetArray.length==number_of_tweets){var the_tweets={tweetdata:tweetArray};VMM.fireEvent(global,"TWEETSLOADED",the_tweets)}}).success(function(){trace("second success")}).error(function(){trace("error")}).complete(function(){trace("complete")})}},getTweetSearch:function(tweets,number_of_tweets){var _number_of_tweets=40;if(number_of_tweets!=null&&number_of_tweets!=""){_number_of_tweets=number_of_tweets}var the_url="//search.twitter.com/search.json?q="+tweets+"&rpp="+_number_of_tweets+"&include_entities=true&result_type=mixed";var tweetArray=[];VMM.getJSON(the_url,function(d){for(var i=0;i";twit+="— "+d.results[i].from_user_name+" (@"+d.results[i].from_user+") "+VMM.ExternalAPI.twitter.prettyParseTwitterDate(d.results[i].created_at)+" ";tweet.content=twit;tweet.raw=d.results[i];tweetArray.push(tweet)}var the_tweets={tweetdata:tweetArray};VMM.fireEvent(global,"TWEETSLOADED",the_tweets)})},prettyHTML:function(id,secondary){var id=id.toString();var error_obj={twitterid:id};var the_url="//api.twitter.com/1/statuses/show.json?id="+id+"&include_entities=true&callback=?";var twitter_timeout=setTimeout(VMM.ExternalAPI.twitter.errorTimeOut,VMM.master_config.timers.api,id);VMM.getJSON(the_url,VMM.ExternalAPI.twitter.formatJSON).error(function(jqXHR,textStatus,errorThrown){trace("TWITTER error");trace("TWITTER ERROR: "+textStatus+" "+jqXHR.responseText);VMM.attachElement("#twitter_"+id,"

ERROR LOADING TWEET "+id+"

")}).success(function(d){clearTimeout(twitter_timeout);if(secondary){VMM.ExternalAPI.twitter.secondaryMedia(d)}})},formatJSON:function(d){var id=d.id_str;var twit="

";var td=VMM.Util.linkify_with_twitter(d.text,"_blank");twit+=td;twit+="

";twit+="
";twit+="";twit+="";twit+=""+d.user.name+"";twit+="@"+d.user.screen_name+"";twit+="";twit+="
";if(typeof d.entities.media!="undefined"){if(d.entities.media[0].type=="photo"){twit+=""}}VMM.attachElement("#twitter_"+id.toString(),twit);VMM.attachElement("#text_thumb_"+id.toString(),d.text)}},googlemaps:{maptype:"TERRAIN",setMapType:function(d){if(d!=""){VMM.ExternalAPI.googlemaps.maptype=d}},get:function(m){var timer,api_key,map_url;m.vars=VMM.Util.getUrlVars(m.id);if(VMM.ExternalAPI.keys.google!=""){api_key=VMM.ExternalAPI.keys.google}else{api_key=Aes.Ctr.decrypt(VMM.ExternalAPI.keys_master.google,VMM.ExternalAPI.keys_master.vp,256)}map_url="//maps.googleapis.com/maps/api/js?key="+api_key+"&v=3.9&libraries=places&sensor=false&callback=VMM.ExternalAPI.googlemaps.onMapAPIReady";if(VMM.master_config.googlemaps.active){VMM.master_config.googlemaps.que.push(m)}else{VMM.master_config.googlemaps.que.push(m);if(VMM.master_config.googlemaps.api_loaded){}else{LoadLib.js(map_url,function(){trace("Google Maps API Library Loaded")})}}},create:function(m){VMM.ExternalAPI.googlemaps.createAPIMap(m)},createiFrameMap:function(m){var embed_url=m.id+"&output=embed",mc="",unique_map_id=m.uid.toString()+"_gmap";mc+="
";mc+="";mc+="
";VMM.attachElement("#"+m.uid,mc)},createAPIMap:function(m){var map_attribution="",layer,map,map_options,unique_map_id=m.uid.toString()+"_gmap",map_attribution_html="",location=new google.maps.LatLng(41.875696,-87.624207),latlong,zoom=11,has_location=false,has_zoom=false,api_limit=false,map_bounds;function mapProvider(name){if(name in VMM.ExternalAPI.googlemaps.map_providers){map_attribution=VMM.ExternalAPI.googlemaps.map_attribution[VMM.ExternalAPI.googlemaps.map_providers[name].attribution];return VMM.ExternalAPI.googlemaps.map_providers[name]}else{if(VMM.ExternalAPI.googlemaps.defaultType(name)){trace("GOOGLE MAP DEFAULT TYPE");return google.maps.MapTypeId[name.toUpperCase()]}else{trace("Not a maptype: "+name)}}}google.maps.VeriteMapType=function(name){if(VMM.ExternalAPI.googlemaps.defaultType(name)){return google.maps.MapTypeId[name.toUpperCase()]}else{var provider=mapProvider(name);return google.maps.ImageMapType.call(this,{getTileUrl:function(coord,zoom){var index=(zoom+coord.x+coord.y)%VMM.ExternalAPI.googlemaps.map_subdomains.length;var retURL=provider.url.replace("{S}",VMM.ExternalAPI.googlemaps.map_subdomains[index]).replace("{Z}",zoom).replace("{X}",coord.x).replace("{Y}",coord.y).replace("{z}",zoom).replace("{x}",coord.x).replace("{y}",coord.y);return retURL},tileSize:new google.maps.Size(256,256),name:name,minZoom:provider.minZoom,maxZoom:provider.maxZoom})}};google.maps.VeriteMapType.prototype=new google.maps.ImageMapType("_");if(VMM.ExternalAPI.googlemaps.maptype!=""){if(VMM.ExternalAPI.googlemaps.defaultType(VMM.ExternalAPI.googlemaps.maptype)){layer=google.maps.MapTypeId[VMM.ExternalAPI.googlemaps.maptype.toUpperCase()]}else{layer=VMM.ExternalAPI.googlemaps.maptype}}else{layer=google.maps.MapTypeId["TERRAIN"]}var new_google_url_regex=new RegExp(/@([0-9\.\-]+),([0-9\.\-]+),(\d+)z/);if(m.id.match(new_google_url_regex)){var match=m.id.match(new_google_url_regex);lat=parseFloat(match[1]);lng=parseFloat(match[2]);location=new google.maps.LatLng(lat,lng);zoom=parseFloat(match[3]);has_location=has_zoom=true}else{if(type.of(VMM.Util.getUrlVars(m.id)["ll"])=="string"){has_location=true;latlong=VMM.Util.getUrlVars(m.id)["ll"].split(",");location=new google.maps.LatLng(parseFloat(latlong[0]),parseFloat(latlong[1]))}else if(type.of(VMM.Util.getUrlVars(m.id)["sll"])=="string"){latlong=VMM.Util.getUrlVars(m.id)["sll"].split(",");location=new google.maps.LatLng(parseFloat(latlong[0]),parseFloat(latlong[1]))}if(type.of(VMM.Util.getUrlVars(m.id)["z"])=="string"){has_zoom=true;zoom=parseFloat(VMM.Util.getUrlVars(m.id)["z"])}}map_options={zoom:zoom,draggable:false,disableDefaultUI:true,mapTypeControl:false,zoomControl:true,zoomControlOptions:{style:google.maps.ZoomControlStyle.SMALL,position:google.maps.ControlPosition.TOP_RIGHT},center:location,mapTypeId:layer,mapTypeControlOptions:{mapTypeIds:[layer]}};VMM.attachElement("#"+m.uid,"
");map=new google.maps.Map(document.getElementById(unique_map_id),map_options);if(VMM.ExternalAPI.googlemaps.defaultType(VMM.ExternalAPI.googlemaps.maptype)){}else{map.mapTypes.set(layer,new google.maps.VeriteMapType(layer));map_attribution_html="
"+map_attribution+"
";VMM.appendElement("#"+unique_map_id,map_attribution_html)}if(type.of(VMM.Util.getUrlVars(m.id)["msid"])=="string"){loadKML()}else{if(type.of(VMM.Util.getUrlVars(m.id)["q"])=="string"){geocodePlace()}}function geocodePlace(){var geocoder=new google.maps.Geocoder,address=VMM.Util.getUrlVars(m.id)["q"],marker;if(address.match("loc:")){var address_latlon=address.split(":")[1].split("+");location=new google.maps.LatLng(parseFloat(address_latlon[0]),parseFloat(address_latlon[1]));has_location=true}geocoder.geocode({address:address},function(results,status){if(status==google.maps.GeocoderStatus.OK){marker=new google.maps.Marker({map:map,position:results[0].geometry.location});if(typeof results[0].geometry.viewport!="undefined"){map.fitBounds(results[0].geometry.viewport)}else if(typeof results[0].geometry.bounds!="undefined"){map.fitBounds(results[0].geometry.bounds)}else{map.setCenter(results[0].geometry.location)}if(has_location){map.panTo(location)}if(has_zoom){map.setZoom(zoom)}}else{trace("Geocode for "+address+" was not successful for the following reason: "+status);trace("TRYING PLACES SEARCH");if(has_location){map.panTo(location)}if(has_zoom){map.setZoom(zoom)}loadPlaces()}})}function loadPlaces(){var place,search_request,infowindow,search_bounds,bounds_sw,bounds_ne;place_search=new google.maps.places.PlacesService(map);infowindow=new google.maps.InfoWindow;search_request={query:"",types:["country","neighborhood","political","locality","geocode"]};if(type.of(VMM.Util.getUrlVars(m.id)["q"])=="string"){search_request.query=VMM.Util.getUrlVars(m.id)["q"]}if(has_location){search_request.location=location;search_request.radius="15000"}else{bounds_sw=new google.maps.LatLng(-89.999999,-179.999999);bounds_ne=new google.maps.LatLng(89.999999,179.999999);search_bounds=new google.maps.LatLngBounds(bounds_sw,bounds_ne)}place_search.textSearch(search_request,placeResults);function placeResults(results,status){if(status==google.maps.places.PlacesServiceStatus.OK){for(var i=0;i=1){map.panTo(results[0].geometry.location);if(has_zoom){map.setZoom(zoom)}}}}else{trace("Place search for "+search_request.query+" was not successful for the following reason: "+status);trace("YOU MAY NEED A GOOGLE MAPS API KEY IN ORDER TO USE THIS FEATURE OF TIMELINEJS");trace("FIND OUT HOW TO GET YOUR KEY HERE: https://developers.google.com/places/documentation/#Authentication");if(has_location){map.panTo(location);if(has_zoom){map.setZoom(zoom)}}else{trace("USING SIMPLE IFRAME MAP EMBED");if(m.id[0].match("https")){m.id=m.url[0].replace("https","http")}VMM.ExternalAPI.googlemaps.createiFrameMap(m)}}}function createMarker(place){var marker,placeLoc;placeLoc=place.geometry.location;marker=new google.maps.Marker({map:map,position:place.geometry.location});google.maps.event.addListener(marker,"click",function(){infowindow.setContent(place.name);infowindow.open(map,this)})}}function loadPlacesAlt(){var api_key,places_url,has_key=false;trace("LOADING PLACES API FOR GOOGLE MAPS");if(VMM.ExternalAPI.keys.google!=""){api_key=VMM.ExternalAPI.keys.google;has_key=true}else{trace("YOU NEED A GOOGLE MAPS API KEY IN ORDER TO USE THIS FEATURE OF TIMELINEJS");trace("FIND OUT HOW TO GET YOUR KEY HERE: https://developers.google.com/places/documentation/#Authentication")}places_url="https://maps.googleapis.com/maps/api/place/textsearch/json?key="+api_key+"&sensor=false&language="+m.lang+"&";if(type.of(VMM.Util.getUrlVars(m.id)["q"])=="string"){places_url+="query="+VMM.Util.getUrlVars(m.id)["q"]}if(has_location){places_url+="&location="+location}if(has_key){VMM.getJSON(places_url,function(d){trace("PLACES JSON");var places_location="",places_bounds="",places_bounds_ne="",places_bounds_sw="";trace(d);if(d.status=="OVER_QUERY_LIMIT"){trace("OVER_QUERY_LIMIT");if(has_location){map.panTo(location);if(has_zoom){map.setZoom(zoom)}}else{trace("DOING TRADITIONAL MAP IFRAME EMBED UNTIL QUERY LIMIT RESTORED");api_limit=true;VMM.ExternalAPI.googlemaps.createiFrameMap(m)}}else{if(d.results.length>=1){places_bounds_ne=new google.maps.LatLng(parseFloat(d.results[0].geometry.viewport.northeast.lat),parseFloat(d.results[0].geometry.viewport.northeast.lng));places_bounds_sw=new google.maps.LatLng(parseFloat(d.results[0].geometry.viewport.southwest.lat),parseFloat(d.results[0].geometry.viewport.southwest.lng));places_bounds=new google.maps.LatLngBounds(places_bounds_sw,places_bounds_ne);map.fitBounds(places_bounds)}else{trace("NO RESULTS")}if(has_location){map.panTo(location)}if(has_zoom){map.setZoom(zoom)}}}).error(function(jqXHR,textStatus,errorThrown){trace("PLACES JSON ERROR");trace("PLACES JSON ERROR: "+textStatus+" "+jqXHR.responseText)}).success(function(d){trace("PLACES JSON SUCCESS")})}else{if(has_location){map.panTo(location);if(has_zoom){map.setZoom(zoom)}}else{trace("DOING TRADITIONAL MAP IFRAME EMBED BECAUSE NO GOOGLE MAP API KEY WAS PROVIDED");VMM.ExternalAPI.googlemaps.createiFrameMap(m)}}}function loadKML(){var kml_url,kml_layer,infowindow,text;kml_url=m.id+"&output=kml";kml_url=kml_url.replace("&output=embed","");kml_layer=new google.maps.KmlLayer(kml_url,{preserveViewport:true});infowindow=new google.maps.InfoWindow;kml_layer.setMap(map);google.maps.event.addListenerOnce(kml_layer,"defaultviewport_changed",function(){if(has_location){map.panTo(location)}else{map.fitBounds(kml_layer.getDefaultViewport())}if(has_zoom){map.setZoom(zoom)}});google.maps.event.addListener(kml_layer,"click",function(kmlEvent){text=kmlEvent.featureData.description;showInfoWindow(text);function showInfoWindow(c){infowindow.setContent(c);infowindow.open(map)}})}},pushQue:function(){for(var i=0;iStamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.",apple:"Map data © 2012 Apple, Imagery © 2012 Apple",osm:"© OpenStreetMap contributors"},map_providers:{toner:{url:"//{S}tile.stamen.com/toner/{Z}/{X}/{Y}.png",minZoom:0,maxZoom:20,attribution:"stamen"},"toner-lines":{url:"//{S}tile.stamen.com/toner-lines/{Z}/{X}/{Y}.png",minZoom:0,maxZoom:20,attribution:"stamen"},"toner-labels":{url:"//{S}tile.stamen.com/toner-labels/{Z}/{X}/{Y}.png",minZoom:0,maxZoom:20,attribution:"stamen"},sterrain:{url:"//{S}tile.stamen.com/terrain/{Z}/{X}/{Y}.jpg",minZoom:4,maxZoom:20,attribution:"stamen"},apple:{url:"//gsp2.apple.com/tile?api=1&style=slideshow&layers=default&lang=en_US&z={z}&x={x}&y={y}&v=9",minZoom:4,maxZoom:14,attribution:"apple"},watercolor:{url:"//{S}tile.stamen.com/watercolor/{Z}/{X}/{Y}.jpg",minZoom:3,maxZoom:16,attribution:"stamen"},osm:{url:"//tile.openstreetmap.org/{z}/{x}/{y}.png",minZoom:3,maxZoom:18,attribution:"osm"}}},googleplus:{get:function(m){var api_key;var gplus={user:m.user,activity:m.id,id:m.uid};VMM.master_config.googleplus.que.push(gplus);VMM.master_config.googleplus.active=true},create:function(gplus,callback){var mediaElem="",api_key="",g_activity="",g_content="",g_attachments="",gperson_api_url,gactivity_api_url;googleplus_timeout=setTimeout(VMM.ExternalAPI.googleplus.errorTimeOut,VMM.master_config.timers.api,gplus),callback_timeout=setTimeout(callback,VMM.master_config.timers.api,gplus);if(VMM.master_config.Timeline.api_keys.google!=""){api_key=VMM.master_config.Timeline.api_keys.google}else{api_key=Aes.Ctr.decrypt(VMM.master_config.api_keys_master.google,VMM.master_config.vp,256)}gperson_api_url="https://www.googleapis.com/plus/v1/people/"+gplus.user+"/activities/public?alt=json&maxResults=100&fields=items(id,url)&key="+api_key;mediaElem="GOOGLE PLUS API CALL";VMM.getJSON(gperson_api_url,function(p_data){for(var i=0;i";g_content+=a_data.object.content}else{g_content+=a_data.object.content}if(typeof a_data.object.attachments!="undefined"){for(var k=0;k"+""+g_attachments}else if(a_data.object.attachments[k].objectType=="video"){g_attachments=""+g_attachments;g_attachments+=""}else if(a_data.object.attachments[k].objectType=="article"){g_attachments+=""}trace(a_data.object.attachments[k])}g_attachments="
"+g_attachments+"
"}mediaElem="
"+g_content+g_attachments+"
";mediaElem+=""; VMM.attachElement("#googleplus_"+gplus.activity,mediaElem)});break}}}).error(function(jqXHR,textStatus,errorThrown){var error_obj=VMM.parseJSON(jqXHR.responseText);trace(error_obj.error.message);VMM.attachElement("#googleplus_"+gplus.activity,VMM.MediaElement.loadingmessage("

ERROR LOADING GOOGLE+

"+error_obj.error.message+"

"))}).success(function(d){clearTimeout(googleplus_timeout);clearTimeout(callback_timeout);callback()})},pushQue:function(){if(VMM.master_config.googleplus.que.length>0){VMM.ExternalAPI.googleplus.create(VMM.master_config.googleplus.que[0],VMM.ExternalAPI.googleplus.pushQue);VMM.Util.removeRange(VMM.master_config.googleplus.que,0)}},errorTimeOut:function(gplus){trace("GOOGLE+ JSON ERROR TIMEOUT "+gplus.activity);VMM.attachElement("#googleplus_"+gplus.activity,VMM.MediaElement.loadingmessage("

Still waiting on GOOGLE+

"+gplus.activity+"

"))}},googledocs:{get:function(m){VMM.master_config.googledocs.que.push(m);VMM.master_config.googledocs.active=true},create:function(m){var mediaElem="";if(m.id.match(/docs.google.com/i)){mediaElem=""}else{mediaElem=""}VMM.attachElement("#"+m.uid,mediaElem)},pushQue:function(){for(var i=0;i")}).error(function(jqXHR,textStatus,errorThrown){trace("FLICKR error");trace("FLICKR ERROR: "+textStatus+" "+jqXHR.responseText)}).success(function(d){clearTimeout(callback_timeout);callback()})},pushQue:function(){if(VMM.master_config.flickr.que.length>0){VMM.ExternalAPI.flickr.create(VMM.master_config.flickr.que[0],VMM.ExternalAPI.flickr.pushQue);VMM.Util.removeRange(VMM.master_config.flickr.que,0)}},sizes:function(s){var _size="";if(s<=75){_size="Thumbnail"}else if(s<=180){_size="Small"}else if(s<=240){_size="Small 320"}else if(s<=375){_size="Medium"}else if(s<=480){_size="Medium 640"}else if(s<=600){_size="Large"}else{_size="Large"}return _size},getFlickrIdFromUrl:function(url){var idx=url.indexOf("flickr.com/photos/");if(idx==-1)return null;var pos=idx+"flickr.com/photos/".length;var photo_info=url.substr(pos);if(photo_info.indexOf("/")==-1)return null;if(photo_info.indexOf("/")==0)photo_info=photo_info.substr(1);return photo_info.split("/")[1]}},instagram:{get:function(m,thumb){if(thumb){return"//instagr.am/p/"+m.id+"/media/?size=t"}else{return"//instagr.am/p/"+m.id+"/media/?size="+VMM.ExternalAPI.instagram.sizes(VMM.master_config.sizes.api.height)}},sizes:function(s){var _size="";if(s<=150){_size="t"}else if(s<=306){_size="m"}else{_size="l"}return _size},isInstagramUrl:function(url){return url.match("instagr.am/p/")||url.match("instagram.com/p/")},getInstagramIdFromUrl:function(url){try{return url.split("/p/")[1].split("/")[0]}catch(e){trace("Invalid Instagram url: "+url);return null}}},soundcloud:{get:function(m){VMM.master_config.soundcloud.que.push(m);VMM.master_config.soundcloud.active=true},create:function(m,callback){var the_url="//soundcloud.com/oembed?url="+m.id+"&maxheight=168&format=js&callback=?";VMM.getJSON(the_url,function(d){VMM.attachElement("#"+m.uid,d.html);callback()})},pushQue:function(){if(VMM.master_config.soundcloud.que.length>0){VMM.ExternalAPI.soundcloud.create(VMM.master_config.soundcloud.que[0],VMM.ExternalAPI.soundcloud.pushQue);VMM.Util.removeRange(VMM.master_config.soundcloud.que,0)}}},wikipedia:{get:function(m){VMM.master_config.wikipedia.que.push(m);VMM.master_config.wikipedia.active=true},create:function(m,callback){var the_url="//"+m.lang+".wikipedia.org/w/api.php?action=query&prop=extracts&redirects=&titles="+m.id+"&exintro=1&format=json&callback=?";callback_timeout=setTimeout(callback,VMM.master_config.timers.api,m);if(VMM.Browser.browser=="Explorer"&&parseInt(VMM.Browser.version,10)>=7&&window.XDomainRequest){var temp_text="

"+m.url+"

";temp_text+=""+VMM.master_config.language.messages.wikipedia+"";temp_text+="

Wikipedia entry unable to load using Internet Explorer 8 or below.

";VMM.attachElement("#"+m.uid,temp_text)}VMM.getJSON(the_url,function(d){if(d.query){var wiki_extract,wiki_title,_wiki="",wiki_text="",wiki_number_of_paragraphs=1,wiki_text_array=[];wiki_extract=VMM.Util.getObjectAttributeByIndex(d.query.pages,0).extract;wiki_title=VMM.Util.getObjectAttributeByIndex(d.query.pages,0).title;if(wiki_extract.match("

")){wiki_text_array=wiki_extract.split("

")}else{wiki_text_array.push(wiki_extract)}for(var i=0;i"+wiki_text_array[i+1]}}_wiki="

"+wiki_title+"

";_wiki+=""+VMM.master_config.language.messages.wikipedia+"";_wiki+=VMM.Util.linkify_wikipedia(wiki_text);if(wiki_extract.match("REDIRECT")){}else{VMM.attachElement("#"+m.uid,_wiki)}}}).error(function(jqXHR,textStatus,errorThrown){trace("WIKIPEDIA error");trace("WIKIPEDIA ERROR: "+textStatus+" "+jqXHR.responseText);trace(errorThrown);VMM.attachElement("#"+m.uid,VMM.MediaElement.loadingmessage("

Wikipedia is not responding

"));clearTimeout(callback_timeout);if(VMM.master_config.wikipedia.tries<4){trace("WIKIPEDIA ATTEMPT "+VMM.master_config.wikipedia.tries);trace(m);VMM.master_config.wikipedia.tries++;VMM.ExternalAPI.wikipedia.create(m,callback)}else{callback()}}).success(function(d){VMM.master_config.wikipedia.tries=0;clearTimeout(callback_timeout);callback()})},pushQue:function(){if(VMM.master_config.wikipedia.que.length>0){trace("WIKIPEDIA PUSH QUE "+VMM.master_config.wikipedia.que.length);VMM.ExternalAPI.wikipedia.create(VMM.master_config.wikipedia.que[0],VMM.ExternalAPI.wikipedia.pushQue);VMM.Util.removeRange(VMM.master_config.wikipedia.que,0)}}},youtube:{get:function(m){var the_url="//gdata.youtube.com/feeds/api/videos/"+m.id+"?v=2&alt=jsonc&callback=?";VMM.master_config.youtube.que.push(m);if(!VMM.master_config.youtube.active){if(!VMM.master_config.youtube.api_loaded){LoadLib.js("//www.youtube.com/player_api",function(){trace("YouTube API Library Loaded")})}}VMM.getJSON(the_url,function(d){VMM.ExternalAPI.youtube.createThumb(d,m)})},create:function(m){if(typeof m.start!="undefined"){var vidstart=m.start.toString(),vid_start_minutes=0,vid_start_seconds=0;if(vidstart.match("m")){vid_start_minutes=parseInt(vidstart.split("m")[0],10);vid_start_seconds=parseInt(vidstart.split("m")[1].split("s")[0],10);m.start=vid_start_minutes*60+vid_start_seconds}else{m.start=0}}else{m.start=0}var p={active:false,player:{},name:m.uid,playing:false,hd:false};if(typeof m.hd!="undefined"){p.hd=true}p.player[m.id]=new YT.Player(m.uid,{height:"390",width:"640",playerVars:{enablejsapi:1,color:"white",showinfo:0,theme:"light",start:m.start,rel:0},videoId:m.id,events:{onReady:VMM.ExternalAPI.youtube.onPlayerReady,onStateChange:VMM.ExternalAPI.youtube.onStateChange}});VMM.master_config.youtube.array.push(p)},createThumb:function(d,m){trace("CREATE THUMB");trace(d);trace(m);if(typeof d.data!="undefined"){var thumb_id="#"+m.uid+"_thumb";VMM.attachElement(thumb_id,"")}},pushQue:function(){for(var i=0;i")},createThumb:function(d,m){trace("VIMEO CREATE THUMB");var thumb_id="#"+m.uid+"_thumb";VMM.attachElement(thumb_id,"")},pushQue:function(){if(VMM.master_config.vimeo.que.length>0){VMM.ExternalAPI.vimeo.create(VMM.master_config.vimeo.que[0],VMM.ExternalAPI.vimeo.pushQue);VMM.Util.removeRange(VMM.master_config.vimeo.que,0)}}},vine:{get:function(m){VMM.master_config.vine.que.push(m);VMM.master_config.vine.active=true},create:function(m,callback){trace("VINE CREATE");var video_url="https://vine.co/v/"+m.id+"/embed/simple";VMM.attachElement("#"+m.uid,"")},pushQue:function(){if(VMM.master_config.vine.que.length>0){VMM.ExternalAPI.vine.create(VMM.master_config.vine.que[0],VMM.ExternalAPI.vine.pushQue);VMM.Util.removeRange(VMM.master_config.vine.que,0)}}},webthumb:{get:function(m,thumb){VMM.master_config.webthumb.que.push(m);VMM.master_config.webthumb.active=true},sizes:function(s){var _size="";if(s<=150){_size="t"}else if(s<=306){_size="m"}else{_size="l"}return _size},create:function(m){trace("WEB THUMB CREATE");var thumb_url="//api.pagepeeker.com/v2/thumbs.php?";url=m.id.replace("http://","");VMM.attachElement("#"+m.uid,"");VMM.attachElement("#"+m.uid+"_thumb","")},pushQue:function(){for(var i=0;i
"+"

"+m+"

"},thumbnail:function(data,w,h,uid){var _w=16,_h=24,_uid="";if(w!=null&&w!=""){_w=w}if(h!=null&&h!=""){_h=h}if(uid!=null&&uid!=""){_uid=uid}if(data.thumbnail!=null&&data.thumbnail!=""){trace("CUSTOM THUMB");mediaElem="
";return mediaElem}else if(data.media!=null&&data.media!=""){var _valid=true,mediaElem="",m=VMM.MediaType(data.media);if(m.type=="image"){mediaElem="
";return mediaElem}else if(m.type=="flickr"){mediaElem="
";return mediaElem}else if(m.type=="instagram"){mediaElem="
";return mediaElem}else if(m.type=="youtube"){mediaElem="
";return mediaElem}else if(m.type=="googledoc"){mediaElem="
";return mediaElem}else if(m.type=="vimeo"){mediaElem="
";return mediaElem}else if(m.type=="vine"){mediaElem="
";return mediaElem}else if(m.type=="dailymotion"){mediaElem="
";return mediaElem}else if(m.type=="twitter"){mediaElem="
";return mediaElem}else if(m.type=="twitter-ready"){mediaElem="
";return mediaElem}else if(m.type=="soundcloud"){mediaElem="
";return mediaElem}else if(m.type=="google-map"){mediaElem="
";return mediaElem}else if(m.type=="googleplus"){mediaElem="
";return mediaElem}else if(m.type=="wikipedia"){mediaElem="
";return mediaElem}else if(m.type=="storify"){mediaElem="
";return mediaElem}else if(m.type=="quote"){mediaElem="
";return mediaElem}else if(m.type=="iframe"){mediaElem="
";return mediaElem}else if(m.type=="unknown"){if(m.id.match("blockquote")){mediaElem="
"}else{mediaElem="
"}return mediaElem}else if(m.type=="website"){mediaElem="
";return mediaElem}else{mediaElem="
";return mediaElem}}},create:function(data,uid){var _valid=false,loading_messege=VMM.MediaElement.loadingmessage(VMM.master_config.language.messages.loading+"...");if(data.media!=null&&data.media!=""){var mediaElem="",captionElem="",creditElem="",_id="",isTextMedia=false,m;m=VMM.MediaType(data.media);m.uid=uid;_valid=true;if(data.credit!=null&&data.credit!=""){creditElem="
"+VMM.Util.linkify_with_twitter(data.credit,"_blank")+"
"}if(data.caption!=null&&data.caption!=""){captionElem="
"+VMM.Util.linkify_with_twitter(data.caption,"_blank")+"
"}if(m.type=="image"){mediaElem="
"}else if(m.type=="flickr"){mediaElem="
";VMM.ExternalAPI.flickr.get(m)}else if(m.type=="instagram"){mediaElem="
"}else if(m.type=="googledoc"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.googledocs.get(m)}else if(m.type=="youtube"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.youtube.get(m)}else if(m.type=="vimeo"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.vimeo.get(m)}else if(m.type=="dailymotion"){mediaElem="
"}else if(m.type=="vine"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.vine.get(m)}else if(m.type=="twitter"){mediaElem="";isTextMedia=true;VMM.ExternalAPI.twitter.get(m)}else if(m.type=="twitter-ready"){isTextMedia=true;mediaElem=m.id}else if(m.type=="soundcloud"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.soundcloud.get(m)}else if(m.type=="google-map"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.googlemaps.get(m)}else if(m.type=="googleplus"){_id="googleplus_"+m.id;mediaElem="
"+loading_messege+"
";isTextMedia=true;VMM.ExternalAPI.googleplus.get(m)}else if(m.type=="wikipedia"){mediaElem="
"+loading_messege+"
";isTextMedia=true;VMM.ExternalAPI.wikipedia.get(m)}else if(m.type=="storify"){isTextMedia=true;mediaElem="
"+m.id+"
"}else if(m.type=="iframe"){isTextMedia=true;mediaElem="
"}else if(m.type=="quote"){isTextMedia=true;mediaElem="
"+m.id+"
"}else if(m.type=="unknown"){trace("NO KNOWN MEDIA TYPE FOUND TRYING TO JUST PLACE THE HTML");isTextMedia=true;mediaElem="
"+VMM.Util.properQuotes(m.id)+"
"}else if(m.type=="website"){mediaElem="
"+loading_messege+"
";VMM.ExternalAPI.webthumb.get(m)}else{trace("NO KNOWN MEDIA TYPE FOUND");trace(m.type)}mediaElem="
"+mediaElem+creditElem+captionElem+"
";if(isTextMedia){return"
"+mediaElem+"
"}else{return"
"+mediaElem+"
"}}}}.init()}if(typeof VMM!="undefined"&&typeof VMM.MediaType=="undefined"){VMM.MediaType=function(_d){var d=_d.replace(/^\s\s*/,"").replace(/\s\s*$/,""),success=false,media={type:"unknown",id:"",start:0,hd:false,link:"",lang:VMM.Language.lang,uniqueid:VMM.Util.unique_ID(6)};if(d.match("div class='twitter'")){media.type="twitter-ready";media.id=d;success=true}else if(d.match("10){trace("SCROLLING Y");trace(Math.abs(drag.pagey.start)-Math.abs(drag.pagey.end))}if(Math.abs(drag_to-drag.left.start)>10){VMM.Lib.css(elem,"left",drag_to);e.preventDefault();e.stopPropagation()}}function dragMomentum(elem,e){var drag_info={left:drag.left.end,left_adjust:0,change:{x:0},time:((new Date).getTime()-drag.time.start)*10,time_adjust:((new Date).getTime()-drag.time.start)*10},multiplier=3e3;if(drag.touch){multiplier=6e3}drag_info.change.x=multiplier*(Math.abs(drag.pagex.end)-Math.abs(drag.pagex.start));drag_info.left_adjust=Math.round(drag_info.change.x/drag_info.time);drag_info.left=Math.min(drag_info.left+drag_info.left_adjust);if(drag.constraint){if(drag_info.left>drag.constraint.left){drag_info.left=drag.constraint.left;if(drag_info.time>5e3){drag_info.time=5e3}}else if(drag_info.left5e3){drag_info.time=5e3}}}VMM.fireEvent(dragslider,"DRAGUPDATE",[drag_info]);if(!is_sticky){if(drag_info.time>0){if(drag.touch){VMM.Lib.animate(elem,drag_info.time,"easeOutCirc",{left:drag_info.left})}else{VMM.Lib.animate(elem,drag_info.time,drag.ease,{left:drag_info.left})}}}}function getLeft(elem){return parseInt(VMM.Lib.css(elem,"left").substring(0,VMM.Lib.css(elem,"left").length-2),10)}}}if(typeof VMM!="undefined"&&typeof VMM.Slider=="undefined"){VMM.Slider=function(parent,parent_config){var config,timer,$slider,$slider_mask,$slider_container,$slides_items,$dragslide,$explainer,events={},data=[],slides=[],slide_positions=[],slides_content="",current_slide=0,current_width=960,touch={move:false,x:10,y:0,off:0,dampen:48},content="",_active=false,layout=parent,navigation={nextBtn:"",prevBtn:"",nextDate:"",prevDate:"",nextTitle:"",prevTitle:""};if(typeof parent_config!="undefined"){config=parent_config}else{config={preload:4,current_slide:0,interval:10,something:0,width:720,height:400,ease:"easeInOutExpo",duration:1e3,timeline:false,spacing:15,slider:{width:720,height:400,content:{width:720,height:400,padding:120,padding_default:120},nav:{width:100,height:200}}}}this.ver="0.6";config.slider.width=config.width;config.slider.height=config.height;this.init=function(d){slides=[];slide_positions=[];if(typeof d!="undefined"){this.setData(d)}else{trace("WAITING ON DATA")}};this.width=function(w){if(w!=null&&w!=""){config.slider.width=w;reSize()}else{return config.slider.width}};this.height=function(h){if(h!=null&&h!=""){config.slider.height=h;reSize()}else{return config.slider.height}};this.setData=function(d){if(typeof d!="undefined"){data=d;build()}else{trace("NO DATA")}};this.getData=function(){return data};this.setConfig=function(d){if(typeof d!="undefined"){config=d}else{trace("NO CONFIG DATA")}};this.getConfig=function(){return config};this.setSize=function(w,h){if(w!=null){config.slider.width=w}if(h!=null){config.slider.height=h}if(_active){reSize()}};this.active=function(){return _active};this.getCurrentNumber=function(){return current_slide};this.setSlide=function(n){goToSlide(n)};function onConfigSet(){trace("onConfigSet")}function reSize(go_to_slide,from_start){var _go_to_slide=true,_from_start=false;if(go_to_slide!=null){_go_to_slide=go_to_slide}if(from_start!=null){_from_start=from_start}current_width=config.slider.width;config.slider.nav.height=VMM.Lib.height(navigation.prevBtnContainer);if(VMM.Browser.device=="mobile"||current_width<=640){config.slider.content.padding=10}else{config.slider.content.padding=config.slider.content.padding_default}config.slider.content.width=current_width-config.slider.content.padding*2;VMM.Lib.width($slides_items,slides.length*config.slider.content.width);if(_from_start){VMM.Lib.css($slider_container,"left",slides[current_slide].leftpos())}sizeSlides();positionSlides();VMM.Lib.css(navigation.nextBtn,"left",current_width-config.slider.nav.width);VMM.Lib.height(navigation.prevBtn,config.slider.height);VMM.Lib.height(navigation.nextBtn,config.slider.height);VMM.Lib.css(navigation.nextBtnContainer,"top",config.slider.height/2-config.slider.nav.height/2+10);VMM.Lib.css(navigation.prevBtnContainer,"top",config.slider.height/2-config.slider.nav.height/2+10);VMM.Lib.height($slider_mask,config.slider.height);VMM.Lib.width($slider_mask,current_width);if(_go_to_slide){goToSlide(current_slide,"linear",1)}if(current_slide==0){VMM.Lib.visible(navigation.prevBtn,false)}}function onDragFinish(e,d){trace("DRAG FINISH");trace(d.left_adjust);trace(config.slider.width/2);if(d.left_adjust<0){if(Math.abs(d.left_adjust)>config.slider.width/2){if(current_slide==slides.length-1){backToCurrentSlide()}else{goToSlide(current_slide+1,"easeOutExpo");upDate()}}else{backToCurrentSlide()}}else if(Math.abs(d.left_adjust)>config.slider.width/2){if(current_slide==0){backToCurrentSlide()}else{goToSlide(current_slide-1,"easeOutExpo");upDate()}}else{backToCurrentSlide()}}function onNextClick(e){if(current_slide==slides.length-1){backToCurrentSlide()}else{goToSlide(current_slide+1);upDate()}}function onPrevClick(e){if(current_slide==0){backToCurrentSlide()}else{goToSlide(current_slide-1);upDate()}}function onKeypressNav(e){switch(e.keyCode){case 39:onNextClick(e);break;case 37:onPrevClick(e);break}}function onTouchUpdate(e,b){if(slide_positions.length==0){for(var i=0;i_slide_pos+config.slider_width/3){onPrevClick()}else{VMM.Lib.animate($slider_container,config.duration,config.ease,{left:_slide_pos})}}else{VMM.Lib.animate($slider_container,config.duration,config.ease,{left:_slide_pos})}if(typeof b.top=="number"){VMM.Lib.animate($slider_container,config.duration,config.ease,{top:-b.top})}else{}}function onExplainerClick(e){detachMessege()}function upDate(){config.current_slide=current_slide;VMM.fireEvent(layout,"UPDATE")}function getData(d){data=d}function buildSlides(d){var i=0;VMM.attachElement($slides_items,"");slides=[];for(i=0;islides.length-1)){slides[current_slide+i].show();slides[current_slide+i].enqueue=false}if(!(current_slide-i<0)){slides[current_slide-i].show();slides[current_slide-i].enqueue=false}}if(slides.length>50){for(i=0;iconfig.slider.height+20){slides[i].css("display","block")}else{slides[i].css("display","table")}}}function positionSlides(){var pos=0,i=0;for(i=0;i=slides.length){is_last=true}if(ease!=null&&ease!=""){_ease=ease}if(duration!=null&&duration!=""){_duration=duration}if(VMM.Browser.device=="mobile"){VMM.Lib.visible(navigation.prevBtn,false);VMM.Lib.visible(navigation.nextBtn,false)}else{if(is_first){VMM.Lib.visible(navigation.prevBtn,false)}else{VMM.Lib.visible(navigation.prevBtn,true);_title=VMM.Util.unlinkify(data[current_slide-1].title);if(config.type=="timeline"){if(typeof data[current_slide-1].date==="undefined"){VMM.attachElement(navigation.prevDate,_title);VMM.attachElement(navigation.prevTitle,"")}else{VMM.attachElement(navigation.prevDate,VMM.Date.prettyDate(data[current_slide-1].startdate,false,data[current_slide-1].precisiondate));VMM.attachElement(navigation.prevTitle,_title)}}else{VMM.attachElement(navigation.prevTitle,_title)}}if(is_last){VMM.Lib.visible(navigation.nextBtn,false)}else{VMM.Lib.visible(navigation.nextBtn,true);_title=VMM.Util.unlinkify(data[current_slide+1].title);if(config.type=="timeline"){if(typeof data[current_slide+1].date==="undefined"){VMM.attachElement(navigation.nextDate,_title);VMM.attachElement(navigation.nextTitle,"")}else{VMM.attachElement(navigation.nextDate,VMM.Date.prettyDate(data[current_slide+1].startdate,false,data[current_slide+1].precisiondate));VMM.attachElement(navigation.nextTitle,_title)}}else{VMM.attachElement(navigation.nextTitle,_title)}}}if(fast){VMM.Lib.css($slider_container,"left",-(_pos-config.slider.content.padding))}else{VMM.Lib.stop($slider_container);VMM.Lib.animate($slider_container,_duration,_ease,{left:-(_pos-config.slider.content.padding)})}if(firstrun){VMM.fireEvent(layout,"LOADED")}if(slides[current_slide].height()>config.slider_height){VMM.Lib.css(".slider","overflow-y","scroll")}else{VMM.Lib.css(layout,"overflow-y","hidden");var scroll_height=0;try{scroll_height=VMM.Lib.prop(layout,"scrollHeight");VMM.Lib.animate(layout,_duration,_ease,{scrollTop:scroll_height-VMM.Lib.height(layout)})}catch(err){scroll_height=VMM.Lib.height(layout)}}preloadSlides();VMM.fireEvent($slider,"MESSAGE","TEST")}function backToCurrentSlide(){VMM.Lib.stop($slider_container);VMM.Lib.animate($slider_container,config.duration,"easeOutExpo",{left:-slides[current_slide].leftpos()+config.slider.content.padding})}function showMessege(e,msg,other){trace("showMessege "+msg);VMM.attachElement($explainer,"
"+"

"+msg+"

")}function hideMessege(){VMM.Lib.animate($explainer,config.duration,config.ease,{opacity:0},detachMessege)}function detachMessege(){VMM.Lib.detach($explainer)}function buildNavigation(){var temp_icon="
 
";navigation.nextBtn=VMM.appendAndGetElement($slider,"
","nav-next");navigation.prevBtn=VMM.appendAndGetElement($slider,"
","nav-previous");navigation.nextBtnContainer=VMM.appendAndGetElement(navigation.nextBtn,"
","nav-container",temp_icon);navigation.prevBtnContainer=VMM.appendAndGetElement(navigation.prevBtn,"
","nav-container",temp_icon);if(config.type=="timeline"){navigation.nextDate=VMM.appendAndGetElement(navigation.nextBtnContainer,"
","date","");navigation.prevDate=VMM.appendAndGetElement(navigation.prevBtnContainer,"
","date","")}navigation.nextTitle=VMM.appendAndGetElement(navigation.nextBtnContainer,"
","title","");navigation.prevTitle=VMM.appendAndGetElement(navigation.prevBtnContainer,"
","title","");VMM.bindEvent(".nav-next",onNextClick);VMM.bindEvent(".nav-previous",onPrevClick);VMM.bindEvent(window,onKeypressNav,"keydown")}function build(){var __duration=3e3;VMM.attachElement(layout,"");$slider=VMM.getElement(layout);$slider_mask=VMM.appendAndGetElement($slider,"
","slider-container-mask");$slider_container=VMM.appendAndGetElement($slider_mask,"
","slider-container");$slides_items=VMM.appendAndGetElement($slider_container,"
","slider-item-container");buildNavigation();buildSlides(data);if(VMM.Browser.device=="tablet"||VMM.Browser.device=="mobile"){config.duration=500;__duration=1e3;$dragslide=new VMM.DragSlider;$dragslide.createPanel($slider,$slider_container,"",config.touch,true);VMM.bindEvent($dragslide,onDragFinish,"DRAGUPDATE");$explainer=VMM.appendAndGetElement($slider_mask,"
","vco-feedback","");showMessege(null,"Swipe to Navigate");VMM.Lib.height($explainer,config.slider.height);VMM.bindEvent($explainer,onExplainerClick);VMM.bindEvent($explainer,onExplainerClick,"touchend")}reSize(false,true);VMM.Lib.visible(navigation.prevBtn,false);goToSlide(config.current_slide,"easeOutExpo",__duration,true,true);_active=true}}}if(typeof VMM.Slider!="undefined"){VMM.Slider.Slide=function(d,_parent){var $media,$text,$slide,$wrap,element,c,data=d,slide={},element="",media="",loaded=false,preloaded=false,is_skinny=false,_enqueue=true,_removeque=false,_id="slide_",_class=0,timer={pushque:"",render:"",relayout:"",remove:"",skinny:false},times={pushque:500,render:100,relayout:100,remove:3e4};_id=_id+data.uniqueid;this.enqueue=_enqueue;this.id=_id;element=VMM.appendAndGetElement(_parent,"
","slider-item");if(typeof data.classname!="undefined"){trace("HAS CLASSNAME");VMM.Lib.addClass(element,data.classname)}else{trace("NO CLASSNAME");trace(data)}c={slide:"",text:"",media:"",media_element:"",layout:"content-container layout",has:{headline:false,text:false,media:false}};this.show=function(skinny){_enqueue=false;timer.skinny=skinny;_removeque=false;clearTimeout(timer.remove);if(!loaded){if(preloaded){clearTimeout(timer.relayout);timer.relayout=setTimeout(reloadLayout,times.relayout)}else{render(skinny)}}};this.hide=function(){if(loaded&&!_removeque){_removeque=true;clearTimeout(timer.remove);timer.remove=setTimeout(removeSlide,times.remove)}};this.clearTimers=function(){clearTimeout(timer.relayout);clearTimeout(timer.pushque);clearTimeout(timer.render)};this.layout=function(skinny){if(loaded&&preloaded){reLayout(skinny)}};this.elem=function(){return element};this.position=function(){return VMM.Lib.position(element)};this.leftpos=function(p){if(typeof p!="undefined"){VMM.Lib.css(element,"left",p)}else{return VMM.Lib.position(element).left}};this.animate=function(d,e,p){VMM.Lib.animate(element,d,e,p)};this.css=function(p,v){VMM.Lib.css(element,p,v)};this.opacity=function(p){VMM.Lib.css(element,"opacity",p)};this.width=function(){return VMM.Lib.width(element)};this.height=function(){return VMM.Lib.height(element)};this.content_height=function(){var ch=VMM.Lib.find(element,".content")[0];if(ch!="undefined"&&ch!=null){return VMM.Lib.height(ch)}else{return 0}};var render=function(skinny){trace("RENDER "+_id);loaded=true;preloaded=true;timer.skinny=skinny;buildSlide();clearTimeout(timer.pushque);clearTimeout(timer.render);timer.pushque=setTimeout(VMM.ExternalAPI.pushQues,times.pushque)};var removeSlide=function(){trace("REMOVE SLIDE TIMER FINISHED");loaded=false;VMM.Lib.detach($text);VMM.Lib.detach($media)};var reloadLayout=function(){loaded=true;reLayout(timer.skinny,true)};var reLayout=function(skinny,reload){if(c.has.text){if(skinny){if(!is_skinny||reload){VMM.Lib.removeClass($slide,"pad-left");VMM.Lib.detach($text);VMM.Lib.detach($media);VMM.Lib.append($slide,$text);VMM.Lib.append($slide,$media);is_skinny=true}}else{if(is_skinny||reload){VMM.Lib.addClass($slide,"pad-left");VMM.Lib.detach($text);VMM.Lib.detach($media);VMM.Lib.append($slide,$media);VMM.Lib.append($slide,$text);is_skinny=false}}}else if(reload){if(c.has.headline){VMM.Lib.detach($text);VMM.Lib.append($slide,$text)}VMM.Lib.detach($media);VMM.Lib.append($slide,$media)}};var buildSlide=function(){trace("BUILDSLIDE");$wrap=VMM.appendAndGetElement(element,"
","content");$slide=VMM.appendAndGetElement($wrap,"
");if(data.startdate!=null&&data.startdate!=""){if(type.of(data.startdate)=="date"){if(data.type!="start"){var st=VMM.Date.prettyDate(data.startdate,false,data.precisiondate);var en=VMM.Date.prettyDate(data.enddate,false,data.precisiondate);var tag="";if(data.tag!=null&&data.tag!=""){tag=VMM.createElement("span",data.tag,"slide-tag")}if(st!=en){c.text+=VMM.createElement("h2",st+" — "+en+tag,"date")}else{c.text+=VMM.createElement("h2",st+tag,"date")}}}}if(data.headline!=null&&data.headline!=""){c.has.headline=true;if(data.type=="start"){c.text+=VMM.createElement("h2",VMM.Util.linkify_with_twitter(data.headline,"_blank"),"start")}else{c.text+=VMM.createElement("h3",VMM.Util.linkify_with_twitter(data.headline,"_blank"))}}if(data.text!=null&&data.text!=""){c.has.text=true;c.text+=VMM.createElement("p",VMM.Util.linkify_with_twitter(data.text,"_blank"))}if(c.has.text||c.has.headline){c.text=VMM.createElement("div",c.text,"container");$text=VMM.appendAndGetElement($slide,"
","text",VMM.TextElement.create(c.text))}if(data.needs_slug){}if(data.asset!=null&&data.asset!=""){if(data.asset.media!=null&&data.asset.media!=""){c.has.media=true;$media=VMM.appendAndGetElement($slide,"
","media",VMM.MediaElement.create(data.asset,data.uniqueid))}}if(c.has.text){c.layout+="-text"}if(c.has.media){c.layout+="-media"}if(c.has.text){if(timer.skinny){VMM.Lib.addClass($slide,c.layout);is_skinny=true}else{VMM.Lib.addClass($slide,c.layout);VMM.Lib.addClass($slide,"pad-left");VMM.Lib.detach($text);VMM.Lib.append($slide,$text)}}else{VMM.Lib.addClass($slide,c.layout)}}}}var Aes={};Aes.cipher=function(input,w){var Nb=4;var Nr=w.length/Nb-1;var state=[[],[],[],[]];for(var i=0;i<4*Nb;i++)state[i%4][Math.floor(i/4)]=input[i];state=Aes.addRoundKey(state,w,0,Nb);for(var round=1;round6&&i%Nk==4){temp=Aes.subWord(temp)}for(var t=0;t<4;t++)w[i][t]=w[i-Nk][t]^temp[t]}return w};Aes.subBytes=function(s,Nb){for(var r=0;r<4;r++){for(var c=0;c>>i*8&255;for(var i=0;i<2;i++)counterBlock[i+2]=nonceRnd>>>i*8&255;for(var i=0;i<4;i++)counterBlock[i+4]=nonceSec>>>i*8&255;var ctrTxt="";for(var i=0;i<8;i++)ctrTxt+=String.fromCharCode(counterBlock[i]);var keySchedule=Aes.keyExpansion(key);var blockCount=Math.ceil(plaintext.length/blockSize);var ciphertxt=new Array(blockCount);for(var b=0;b>>c*8&255;for(var c=0;c<4;c++)counterBlock[15-c-4]=b/4294967296>>>c*8;var cipherCntr=Aes.cipher(counterBlock,keySchedule);var blockLength=b>>c*8&255;for(var c=0;c<4;c++)counterBlock[15-c-4]=(b+1)/4294967296-1>>>c*8&255;var cipherCntr=Aes.cipher(counterBlock,keySchedule);var plaintxtByte=new Array(ciphertext[b].length);for(var i=0;i0){while(c++<3){pad+="=";plain+="\x00"}}for(c=0;c>18&63;h2=bits>>12&63;h3=bits>>6&63;h4=bits&63;e[c/3]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4)}coded=e.join("");coded=coded.slice(0,coded.length-pad.length)+pad;return coded};Base64.decode=function(str,utf8decode){utf8decode=typeof utf8decode=="undefined"?false:utf8decode;var o1,o2,o3,h1,h2,h3,h4,bits,d=[],plain,coded;var b64=Base64.code;coded=utf8decode?str.decodeUTF8():str;for(var c=0;c>>16&255;o2=bits>>>8&255;o3=bits&255;d[c/4]=String.fromCharCode(o1,o2,o3);if(h4==64)d[c/4]=String.fromCharCode(o1,o2);if(h3==64)d[c/4]=String.fromCharCode(o1)}plain=d.join("");return utf8decode?plain.decodeUTF8():plain};var Utf8={};Utf8.encode=function(strUni){var strUtf=strUni.replace(/[\u0080-\u07ff]/g,function(c){var cc=c.charCodeAt(0);return String.fromCharCode(192|cc>>6,128|cc&63)});strUtf=strUtf.replace(/[\u0800-\uffff]/g,function(c){var cc=c.charCodeAt(0);return String.fromCharCode(224|cc>>12,128|cc>>6&63,128|cc&63)});return strUtf};Utf8.decode=function(strUtf){var strUni=strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g,function(c){var cc=(c.charCodeAt(0)&15)<<12|(c.charCodeAt(1)&63)<<6|c.charCodeAt(2)&63;return String.fromCharCode(cc)});strUni=strUni.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g,function(c){var cc=(c.charCodeAt(0)&31)<<6|c.charCodeAt(1)&63;return String.fromCharCode(cc)});return strUni};!function($){"use strict";var Tooltip=function(element,options){this.init("tooltip",element,options)};Tooltip.prototype={constructor:Tooltip,init:function(type,element,options){var eventIn,eventOut;this.type=type;this.$element=$(element);this.options=this.getOptions(options);this.enabled=true;if(this.options.trigger!="manual"){eventIn=this.options.trigger=="hover"?"mouseenter":"focus";eventOut=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(eventIn,this.options.selector,$.proxy(this.enter,this));this.$element.on(eventOut,this.options.selector,$.proxy(this.leave,this))}this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(options){options=$.extend({},$.fn[this.type].defaults,options,this.$element.data());if(options.delay&&typeof options.delay=="number"){options.delay={show:options.delay,hide:options.delay}}return options},enter:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);if(!self.options.delay||!self.options.delay.show){self.show()}else{self.hoverState="in";setTimeout(function(){if(self.hoverState=="in"){self.show()}},self.options.delay.show)}},leave:function(e){var self=$(e.currentTarget)[this.type](this._options).data(this.type);if(!self.options.delay||!self.options.delay.hide){self.hide()}else{self.hoverState="out";setTimeout(function(){if(self.hoverState=="out"){self.hide()}},self.options.delay.hide)}},show:function(){var $tip,inside,pos,actualWidth,actualHeight,placement,tp;if(this.hasContent()&&this.enabled){$tip=this.tip();this.setContent();if(this.options.animation){$tip.addClass("fade")}placement=typeof this.options.placement=="function"?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement;inside=/in/.test(placement);$tip.remove().css({top:0,left:0,display:"block"}).appendTo(inside?this.$element:document.body);pos=this.getPosition(inside);actualWidth=$tip[0].offsetWidth;actualHeight=$tip[0].offsetHeight;switch(inside?placement.split(" ")[1]:placement){case"bottom":tp={top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2};break;case"top":tp={top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2};break;case"left":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth};break;case"right":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width};break}$tip.css(tp).addClass(placement).addClass("in")}},setContent:function(){var $tip=this.tip();$tip.find(".timeline-tooltip-inner").html(this.getTitle());$tip.removeClass("fade in top bottom left right")},hide:function(){var that=this,$tip=this.tip();$tip.removeClass("in");function removeWithAnimation(){var timeout=setTimeout(function(){$tip.off($.support.transition.end).remove()},500);$tip.one($.support.transition.end,function(){clearTimeout(timeout);$tip.remove()})}$.support.transition&&this.$tip.hasClass("fade")?removeWithAnimation():$tip.remove()},fixTitle:function(){var $e=this.$element;if($e.attr("title")||typeof $e.attr("data-original-title")!="string"){$e.attr("data-original-title",$e.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(inside){return $.extend({},inside?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var title,$e=this.$element,o=this.options;title=$e.attr("data-original-title")||(typeof o.title=="function"?o.title.call($e[0]):o.title);title=title.toString().replace(/(^\s*|\s*$)/,"");return title},tip:function(){return this.$tip=this.$tip||$(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}};$.fn.tooltip=function(option){return this.each(function(){var $this=$(this),data=$this.data("tooltip"),options=typeof option=="object"&&option;if(!data)$this.data("tooltip",data=new Tooltip(this,options));if(typeof option=="string")data[option]()})};$.fn.tooltip.Constructor=Tooltip;$.fn.tooltip.defaults={animation:true,delay:0,selector:false,placement:"top",trigger:"hover",title:"",template:'
'}}(window.jQuery);if(typeof VMM!="undefined"&&typeof VMM.StoryJS=="undefined"){VMM.StoryJS=function(){this.init=function(d){}}}if(typeof VMM!="undefined"&&typeof VMM.Timeline=="undefined"){VMM.Timeline=function(_timeline_id,w,h){var $timeline,$container,$feature,$feedback,$slider,$navigation,slider,timenav,version="2.x",timeline_id="#timelinejs",events={},data={},_dates=[],config={},has_width=false,has_height=false,ie7=false,is_moving=false;if(type.of(_timeline_id)=="string"){if(_timeline_id.match("#")){timeline_id=_timeline_id}else{timeline_id="#"+_timeline_id}}else{timeline_id="#timelinejs"}config={embed:false,events:{data_ready:"DATAREADY",messege:"MESSEGE",headline:"HEADLINE",slide_change:"SLIDE_CHANGE",resize:"resize"},id:timeline_id,source:"nothing",type:"timeline",touch:false,orientation:"normal",maptype:"",version:"2.x",preload:4,current_slide:0,hash_bookmark:false,start_at_end:false,start_at_slide:0,start_zoom_adjust:0,start_page:false,api_keys:{google:"",flickr:"",twitter:""},interval:10,something:0,width:960,height:540,spacing:15,loaded:{slider:false,timenav:false,percentloaded:0},nav:{start_page:false,interval_width:200,density:4,minor_width:0,minor_left:0,constraint:{left:0,right:0,right_min:0,right_max:0},zoom:{adjust:0},multiplier:{current:6,min:.1,max:50},rows:[1,1,1],width:960,height:200,marker:{width:150,height:50}},feature:{width:960,height:540},slider:{width:720,height:400,content:{width:720,height:400,padding:130,padding_default:130},nav:{width:100,height:200}},ease:"easeInOutExpo",duration:1e3,gmap_key:"",language:VMM.Language};if(w!=null&&w!=""){config.width=w;has_width=true}if(h!=null&&h!=""){config.height=h;has_height=true}if(window.location.hash){var hash=window.location.hash.substring(1);if(!isNaN(hash)){config.current_slide=parseInt(hash)}}window.onhashchange=function(){var hash=window.location.hash.substring(1);if(config.hash_bookmark){if(is_moving){goToEvent(parseInt(hash))}else{is_moving=false}}else{goToEvent(parseInt(hash))}};function createConfig(conf){if(typeof embed_config=="object"){timeline_config=embed_config}if(typeof timeline_config=="object"){trace("HAS TIMELINE CONFIG");config=VMM.Util.mergeConfig(config,timeline_config)}else if(typeof conf=="object"){config=VMM.Util.mergeConfig(config,conf)}if(VMM.Browser.device=="mobile"||VMM.Browser.device=="tablet"){config.touch=true}config.nav.width=config.width;config.nav.height=200;config.feature.width=config.width;config.feature.height=config.height-config.nav.height;config.nav.zoom.adjust=parseInt(config.start_zoom_adjust,10);VMM.Timeline.Config=config;VMM.master_config.Timeline=VMM.Timeline.Config;this.events=config.events;if(config.gmap_key!=""){config.api_keys.google=config.gmap_key}trace("VERSION "+config.version);version=config.version}function createStructure(){$timeline=VMM.getElement(timeline_id);VMM.Lib.addClass($timeline,"vco-timeline");VMM.Lib.addClass($timeline,"vco-storyjs");$container=VMM.appendAndGetElement($timeline,"
","vco-container vco-main");$feature=VMM.appendAndGetElement($container,"
","vco-feature");$slider=VMM.appendAndGetElement($feature,"
","vco-slider"); $navigation=VMM.appendAndGetElement($container,"
","vco-navigation");$feedback=VMM.appendAndGetElement($timeline,"
","vco-feedback","");if(typeof config.language.right_to_left!="undefined"){VMM.Lib.addClass($timeline,"vco-right-to-left")}slider=new VMM.Slider($slider,config);timenav=new VMM.Timeline.TimeNav($navigation);if(!has_width){config.width=VMM.Lib.width($timeline)}else{VMM.Lib.width($timeline,config.width)}if(!has_height){config.height=VMM.Lib.height($timeline)}else{VMM.Lib.height($timeline,config.height)}if(config.touch){VMM.Lib.addClass($timeline,"vco-touch")}else{VMM.Lib.addClass($timeline,"vco-notouch")}}function onDataReady(e,d){trace("onDataReady");data=d.timeline;if(type.of(data.era)!="array"){data.era=[]}buildDates()}function onDatesProcessed(){build()}function reSize(){updateSize();slider.setSize(config.feature.width,config.feature.height);timenav.setSize(config.width,config.height);if(orientationChange()){setViewport()}}function onSliderLoaded(e){config.loaded.slider=true;onComponentLoaded()}function onComponentLoaded(e){config.loaded.percentloaded=config.loaded.percentloaded+25;if(config.loaded.slider&&config.loaded.timenav){hideMessege()}}function onTimeNavLoaded(e){config.loaded.timenav=true;onComponentLoaded()}function onSlideUpdate(e){is_moving=true;config.current_slide=slider.getCurrentNumber();setHash(config.current_slide);timenav.setMarker(config.current_slide,config.ease,config.duration)}function onMarkerUpdate(e){is_moving=true;config.current_slide=timenav.getCurrentNumber();setHash(config.current_slide);slider.setSlide(config.current_slide)}function goToEvent(n){if(n<=_dates.length-1&&n>=0){config.current_slide=n;slider.setSlide(config.current_slide);timenav.setMarker(config.current_slide,config.ease,config.duration)}}function setHash(n){if(config.hash_bookmark){window.location.hash="#"+n.toString()}}function getViewport(){}function setViewport(){var viewport_content="",viewport_orientation=searchOrientation(window.orientation);if(VMM.Browser.device=="mobile"){if(viewport_orientation=="portrait"){viewport_content="width=device-width; initial-scale=0.5, maximum-scale=0.5"}else if(viewport_orientation=="landscape"){viewport_content="width=device-width; initial-scale=0.5, maximum-scale=0.5"}else{viewport_content="width=device-width, initial-scale=1, maximum-scale=1.0"}}else if(VMM.Browser.device=="tablet"){}if(document.getElementById("viewport")){}else{}}function searchOrientation(orientation){var orient="";if(orientation==0||orientation==180){orient="portrait"}else if(orientation==90||orientation==-90){orient="landscape"}else{orient="normal"}return orient}function orientationChange(){var orientation=searchOrientation(window.orientation);if(orientation==config.orientation){return false}else{config.orientation=orientation;return true}}this.init=function(c,_data){trace("INIT");setViewport();createConfig(c);createStructure();if(type.of(_data)=="string"){config.source=_data}VMM.Date.setLanguage(config.language);VMM.master_config.language=config.language;VMM.ExternalAPI.setKeys(config.api_keys);VMM.ExternalAPI.googlemaps.setMapType(config.maptype);VMM.bindEvent(global,onDataReady,config.events.data_ready);VMM.bindEvent(global,showMessege,config.events.messege);VMM.fireEvent(global,config.events.messege,config.language.messages.loading_timeline);if(VMM.Browser.browser=="Explorer"||VMM.Browser.browser=="MSIE"){if(parseInt(VMM.Browser.version,10)<=7&&(VMM.Browser.tridentVersion==null||VMM.Browser.tridentVersion<4)){ie7=true}}if(type.of(config.source)=="string"||type.of(config.source)=="object"){VMM.Timeline.DataObj.getData(config.source)}else{VMM.fireEvent(global,config.events.messege,"No data source provided")}};this.iframeLoaded=function(){trace("iframeLoaded")};this.reload=function(_d){trace("Load new timeline data"+_d);VMM.fireEvent(global,config.events.messege,config.language.messages.loading_timeline);data={};VMM.Timeline.DataObj.getData(_d);config.current_slide=0;slider.setSlide(0);timenav.setMarker(0,config.ease,config.duration)};function getData(url){VMM.getJSON(url,function(d){data=VMM.Timeline.DataObj.getData(d);VMM.fireEvent(global,config.events.data_ready)})}function showMessege(e,msg,other){trace("showMessege "+msg);if(other){VMM.attachElement($feedback,msg)}else{VMM.attachElement($feedback,VMM.MediaElement.loadingmessage(msg))}}function hideMessege(){VMM.Lib.animate($feedback,config.duration,config.ease*4,{opacity:0},detachMessege)}function detachMessege(){VMM.Lib.detach($feedback)}function build(){if(parseInt(config.start_at_slide)>0&&config.current_slide==0){config.current_slide=parseInt(config.start_at_slide)}if(config.start_at_end&&config.current_slide==0){config.current_slide=_dates.length-1}if(ie7){ie7=true;VMM.fireEvent(global,config.events.messege,"Internet Explorer "+VMM.Browser.version+" is not supported by TimelineJS. Please update your browser to version 8 or higher. If you are using a recent version of Internet Explorer you may need to disable compatibility mode in your browser.")}else{detachMessege();reSize();VMM.bindEvent($slider,onSliderLoaded,"LOADED");VMM.bindEvent($navigation,onTimeNavLoaded,"LOADED");VMM.bindEvent($slider,onSlideUpdate,"UPDATE");VMM.bindEvent($navigation,onMarkerUpdate,"UPDATE");slider.init(_dates);timenav.init(_dates,data.era);VMM.bindEvent(global,reSize,config.events.resize)}}function updateSize(){trace("UPDATE SIZE");config.width=VMM.Lib.width($timeline);config.height=VMM.Lib.height($timeline);config.nav.width=config.width;config.feature.width=config.width;config.feature.height=config.height-config.nav.height-3;if(VMM.Browser.device=="mobile"){}if(config.width<641){VMM.Lib.addClass($timeline,"vco-skinny")}else{VMM.Lib.removeClass($timeline,"vco-skinny")}}function buildDates(){_dates=[];VMM.fireEvent(global,config.events.messege,"Building Dates");updateSize();for(var i=0;iconfig.nav.multiplier.min){if(config.nav.multiplier.current<=1){config.nav.multiplier.current=config.nav.multiplier.current-.25}else{if(config.nav.multiplier.current>5){if(config.nav.multiplier.current>16){config.nav.multiplier.current=Math.round(config.nav.multiplier.current-10)}else{config.nav.multiplier.current=Math.round(config.nav.multiplier.current-4)}}else{config.nav.multiplier.current=Math.round(config.nav.multiplier.current-1)}}if(config.nav.multiplier.current<=0){config.nav.multiplier.current=config.nav.multiplier.min}refreshTimeline()}}function onZoomOut(){$dragslide.cancelSlide();if(config.nav.multiplier.current4){if(config.nav.multiplier.current>16){config.nav.multiplier.current=Math.round(config.nav.multiplier.current+10)}else{config.nav.multiplier.current=Math.round(config.nav.multiplier.current+4)}}else{config.nav.multiplier.current=Math.round(config.nav.multiplier.current+1)}if(config.nav.multiplier.current>=config.nav.multiplier.max){config.nav.multiplier.current=config.nav.multiplier.max}refreshTimeline()}}function onBackHome(e){$dragslide.cancelSlide();goToMarker(0);upDate()}function onMouseScroll(e){var delta=0,scroll_to=0;if(!e){e=window.event}if(e.originalEvent){e=e.originalEvent}if(typeof e.wheelDeltaX!="undefined"){delta=e.wheelDeltaY/6;if(Math.abs(e.wheelDeltaX)>Math.abs(e.wheelDeltaY)){delta=e.wheelDeltaX/6}else{delta=0}}if(delta){if(e.preventDefault){e.preventDefault()}e.returnValue=false}scroll_to=VMM.Lib.position($timenav).left+delta;if(scroll_to>config.nav.constraint.left){scroll_to=config.width/2}else if(scroll_to1){config.nav.multiplier.current=config.nav.multiplier.current-1}}}}function calculateInterval(){var _first=getDateFractions(data[0].startdate),_last=getDateFractions(data[data.length-1].enddate);interval_calc.eon.type="eon";interval_calc.eon.first=_first.eons;interval_calc.eon.base=Math.floor(_first.eons);interval_calc.eon.last=_last.eons;interval_calc.eon.number=timespan.eons;interval_calc.eon.multiplier=timelookup.eons;interval_calc.eon.minor=timelookup.eons;interval_calc.era.type="era";interval_calc.era.first=_first.eras;interval_calc.era.base=Math.floor(_first.eras);interval_calc.era.last=_last.eras;interval_calc.era.number=timespan.eras;interval_calc.era.multiplier=timelookup.eras;interval_calc.era.minor=timelookup.eras;interval_calc.epoch.type="epoch";interval_calc.epoch.first=_first.epochs;interval_calc.epoch.base=Math.floor(_first.epochs);interval_calc.epoch.last=_last.epochs;interval_calc.epoch.number=timespan.epochs;interval_calc.epoch.multiplier=timelookup.epochs;interval_calc.epoch.minor=timelookup.epochs;interval_calc.age.type="age";interval_calc.age.first=_first.ages;interval_calc.age.base=Math.floor(_first.ages);interval_calc.age.last=_last.ages;interval_calc.age.number=timespan.ages;interval_calc.age.multiplier=timelookup.ages;interval_calc.age.minor=timelookup.ages;interval_calc.millenium.type="millenium";interval_calc.millenium.first=_first.milleniums;interval_calc.millenium.base=Math.floor(_first.milleniums);interval_calc.millenium.last=_last.milleniums;interval_calc.millenium.number=timespan.milleniums;interval_calc.millenium.multiplier=timelookup.millenium;interval_calc.millenium.minor=timelookup.millenium;interval_calc.century.type="century";interval_calc.century.first=_first.centuries;interval_calc.century.base=Math.floor(_first.centuries);interval_calc.century.last=_last.centuries;interval_calc.century.number=timespan.centuries;interval_calc.century.multiplier=timelookup.century;interval_calc.century.minor=timelookup.century;interval_calc.decade.type="decade";interval_calc.decade.first=_first.decades;interval_calc.decade.base=Math.floor(_first.decades);interval_calc.decade.last=_last.decades;interval_calc.decade.number=timespan.decades;interval_calc.decade.multiplier=timelookup.decade;interval_calc.decade.minor=timelookup.decade;interval_calc.year.type="year";interval_calc.year.first=_first.years;interval_calc.year.base=Math.floor(_first.years);interval_calc.year.last=_last.years;interval_calc.year.number=timespan.years;interval_calc.year.multiplier=1;interval_calc.year.minor=timelookup.month;interval_calc.month.type="month";interval_calc.month.first=_first.months;interval_calc.month.base=Math.floor(_first.months);interval_calc.month.last=_last.months;interval_calc.month.number=timespan.months;interval_calc.month.multiplier=1;interval_calc.month.minor=Math.round(timelookup.week);interval_calc.week.type="week";interval_calc.week.first=_first.weeks;interval_calc.week.base=Math.floor(_first.weeks);interval_calc.week.last=_last.weeks;interval_calc.week.number=timespan.weeks;interval_calc.week.multiplier=1;interval_calc.week.minor=7;interval_calc.day.type="day";interval_calc.day.first=_first.days;interval_calc.day.base=Math.floor(_first.days);interval_calc.day.last=_last.days;interval_calc.day.number=timespan.days;interval_calc.day.multiplier=1;interval_calc.day.minor=24;interval_calc.hour.type="hour";interval_calc.hour.first=_first.hours;interval_calc.hour.base=Math.floor(_first.hours);interval_calc.hour.last=_last.hours;interval_calc.hour.number=timespan.hours;interval_calc.hour.multiplier=1;interval_calc.hour.minor=60;interval_calc.minute.type="minute";interval_calc.minute.first=_first.minutes;interval_calc.minute.base=Math.floor(_first.minutes);interval_calc.minute.last=_last.minutes;interval_calc.minute.number=timespan.minutes;interval_calc.minute.multiplier=1;interval_calc.minute.minor=60;interval_calc.second.type="decade";interval_calc.second.first=_first.seconds;interval_calc.second.base=Math.floor(_first.seconds);interval_calc.second.last=_last.seconds;interval_calc.second.number=timespan.seconds;interval_calc.second.multiplier=1;interval_calc.second.minor=10}function getDateFractions(the_date,is_utc){var _time={};_time.days=the_date/dateFractionBrowser.day;_time.weeks=_time.days/dateFractionBrowser.week;_time.months=_time.days/dateFractionBrowser.month;_time.years=_time.months/dateFractionBrowser.year;_time.hours=_time.days*dateFractionBrowser.hour;_time.minutes=_time.days*dateFractionBrowser.minute;_time.seconds=_time.days*dateFractionBrowser.second;_time.decades=_time.years/dateFractionBrowser.decade;_time.centuries=_time.years/dateFractionBrowser.century;_time.milleniums=_time.years/dateFractionBrowser.millenium;_time.ages=_time.years/dateFractionBrowser.age;_time.epochs=_time.years/dateFractionBrowser.epoch;_time.eras=_time.years/dateFractionBrowser.era;_time.eons=_time.years/dateFractionBrowser.eon;return _time}function positionRelative(_interval,first,last){var _first,_last,_type=_interval.type,timerelative={start:"",end:"",type:_type};_first=getDateFractions(first);timerelative.start=first.months;if(_type=="eon"){timerelative.start=_first.eons}else if(_type=="era"){timerelative.start=_first.eras}else if(_type=="epoch"){timerelative.start=_first.epochs}else if(_type=="age"){timerelative.start=_first.ages}else if(_type=="millenium"){timerelative.start=first.milleniums}else if(_type=="century"){timerelative.start=_first.centuries}else if(_type=="decade"){timerelative.start=_first.decades}else if(_type=="year"){timerelative.start=_first.years}else if(_type=="month"){timerelative.start=_first.months}else if(_type=="week"){timerelative.start=_first.weeks}else if(_type=="day"){timerelative.start=_first.days}else if(_type=="hour"){timerelative.start=_first.hours}else if(_type=="minute"){timerelative.start=_first.minutes}if(type.of(last)=="date"){_last=getDateFractions(last);timerelative.end=last.months;if(_type=="eon"){timerelative.end=_last.eons}else if(_type=="era"){timerelative.end=_last.eras}else if(_type=="epoch"){timerelative.end=_last.epochs}else if(_type=="age"){timerelative.end=_last.ages}else if(_type=="millenium"){timerelative.end=last.milleniums}else if(_type=="century"){timerelative.end=_last.centuries}else if(_type=="decade"){timerelative.end=_last.decades}else if(_type=="year"){timerelative.end=_last.years}else if(_type=="month"){timerelative.end=_last.months}else if(_type=="week"){timerelative.end=_last.weeks}else if(_type=="day"){timerelative.end=_last.days}else if(_type=="hour"){timerelative.end=_last.hours}else if(_type=="minute"){timerelative.end=_last.minutes}}else{timerelative.end=timerelative.start}return timerelative}function positionOnTimeline(the_interval,timerelative){return{begin:(timerelative.start-interval.base)*(config.nav.interval_width/config.nav.multiplier.current),end:(timerelative.end-interval.base)*(config.nav.interval_width/config.nav.multiplier.current)}}function positionMarkers(is_animated){var row=2,previous_pos=0,pos_offset=-2,row_depth=0,row_depth_sub=0,line_last_height_pos=150,line_height=6,cur_mark=0,in_view_margin=config.width,pos_cache_array=[],pos_cache_max=6,in_view={left:timenav_pos.visible.left-in_view_margin,right:timenav_pos.visible.right+in_view_margin},i=0,k=0;config.nav.minor_width=config.width;VMM.Lib.removeClass(".flag","row1");VMM.Lib.removeClass(".flag","row2");VMM.Lib.removeClass(".flag","row3");for(i=0;i=in_view.left&&Math.abs(pos.begin)<=in_view.right){is_in_view=true}if(is_animated){VMM.Lib.stop(marker.marker);VMM.Lib.animate(marker.marker,config.duration/2,config.ease,{left:pos.begin})}else{VMM.Lib.stop(marker.marker);VMM.Lib.css(marker.marker,"left",pos.begin)}if(i==current_marker){cur_mark=pos.begin}if(line>5){VMM.Lib.css(marker.lineevent,"height",line_height);VMM.Lib.css(marker.lineevent,"top",line_last_height_pos);if(is_animated){VMM.Lib.animate(marker.lineevent,config.duration/2,config.ease,{width:line})}else{VMM.Lib.css(marker.lineevent,"width",line)}}if(tags.length>0){for(k=0;kpos_cache_max){VMM.Util.removeRange(pos_cache_array,0)}if(is_animated){VMM.Lib.stop(marker.flag);VMM.Lib.animate(marker.flag,config.duration,config.ease,{top:row_pos})}else{VMM.Lib.stop(marker.flag);VMM.Lib.css(marker.flag,"top",row_pos)}if(config.start_page&&markers[i].type=="start"){VMM.Lib.visible(marker.marker,false)}if(pos>config.nav.minor_width){config.nav.minor_width=pos}if(pos100){not_too_many=false;trace("TOO MANY "+the_intervals.length)}for(i=0;i=in_view.left&&Math.abs(pos)<=in_view.right){is_in_view=true}if(true){if(config.nav.multiplier.current>16&&is_minor){is_visible=false}else{if(pos-last_position<65){if(pos-last_position<35){if(i%4==0){if(pos==0){is_visible=false}}else{is_visible=false}}else{if(!VMM.Util.isEven(i)){is_visible=false}}}}if(is_visible){if(the_intervals[i].is_detached){VMM.Lib.append(the_main_element,_interval);the_intervals[i].is_detached=false}}else{the_intervals[i].is_detached=true;VMM.Lib.detach(_interval)}if(_interval_visible){if(!is_visible){_animation.opacity="0";if(is_animated&¬_too_many){_animation.animate=true}the_intervals[i].interval_visible=false}else{_animation.opacity="100";if(is_animated&&is_in_view){_animation.animate=true}}}else{_animation.opacity="100";if(is_visible){if(is_animated&¬_too_many){_animation.animate=true}else{if(is_animated&&is_in_view){_animation.animate=true}}the_intervals[i].interval_visible=true}else{if(is_animated&¬_too_many){_animation.animate=true}}}last_position=pos;if(pos>config.nav.minor_width){config.nav.minor_width=pos}if(pos",_interval.classname),date:new Date(data[0].startdate.getFullYear(),0,1,0,0,0),visible:false,date_string:"",type:_interval.interval_type,relative_pos:0,is_detached:false,animation:{animate:false,pos:"",opacity:"100"}};if(_interval.type=="eon"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/5e8)*5e8}int_obj.date.setFullYear(_first_date+inc_time*5e8);_is_year=true}else if(_interval.type=="era"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/1e8)*1e8}int_obj.date.setFullYear(_first_date+inc_time*1e8);_is_year=true}else if(_interval.type=="epoch"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/1e7)*1e7}int_obj.date.setFullYear(_first_date+inc_time*1e7);_is_year=true}else if(_interval.type=="age"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/1e6)*1e6}int_obj.date.setFullYear(_first_date+inc_time*1e6);_is_year=true}else if(_interval.type=="millenium"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/1e3)*1e3}int_obj.date.setFullYear(_first_date+inc_time*1e3);_is_year=true}else if(_interval.type=="century"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/100)*100}int_obj.date.setFullYear(_first_date+inc_time*100);_is_year=true}else if(_interval.type=="decade"){if(_first_run){_first_date=Math.floor(data[0].startdate.getFullYear()/10)*10}int_obj.date.setFullYear(_first_date+inc_time*10);_is_year=true}else if(_interval.type=="year"){if(_first_run){_first_date=data[0].startdate.getFullYear()}int_obj.date.setFullYear(_first_date+inc_time);_is_year=true}else if(_interval.type=="month"){if(_first_run){_first_date=data[0].startdate.getMonth()}int_obj.date.setMonth(_first_date+inc_time)}else if(_interval.type=="week"){if(_first_run){_first_date=data[0].startdate.getMonth()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(_first_date+inc_time*7)}else if(_interval.type=="day"){if(_first_run){_first_date=data[0].startdate.getDate()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(_first_date+inc_time)}else if(_interval.type=="hour"){if(_first_run){_first_date=data[0].startdate.getHours()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(data[0].startdate.getDate());int_obj.date.setHours(_first_date+inc_time)}else if(_interval.type=="minute"){if(_first_run){_first_date=data[0].startdate.getMinutes()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(data[0].startdate.getDate());int_obj.date.setHours(data[0].startdate.getHours());int_obj.date.setMinutes(_first_date+inc_time) }else if(_interval.type=="second"){if(_first_run){_first_date=data[0].startdate.getSeconds()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(data[0].startdate.getDate());int_obj.date.setHours(data[0].startdate.getHours());int_obj.date.setMinutes(data[0].startdate.getMinutes());int_obj.date.setSeconds(_first_date+inc_time)}else if(_interval.type=="millisecond"){if(_first_run){_first_date=data[0].startdate.getMilliseconds()}int_obj.date.setMonth(data[0].startdate.getMonth());int_obj.date.setDate(data[0].startdate.getDate());int_obj.date.setHours(data[0].startdate.getHours());int_obj.date.setMinutes(data[0].startdate.getMinutes());int_obj.date.setSeconds(data[0].startdate.getSeconds());int_obj.date.setMilliseconds(_first_date+inc_time)}if(VMM.Browser.browser=="Firefox"){if(int_obj.date.getFullYear()=="1970"&&int_obj.date.getTimezoneOffset()!=_timezone_offset){trace("FIREFOX 1970 TIMEZONE OFFSET "+int_obj.date.getTimezoneOffset()+" SHOULD BE "+_timezone_offset);trace(_interval.type+" "+_interval.date);firefox.offset=int_obj.date.getTimezoneOffset()/60;firefox.flag=true;int_obj.date.setHours(int_obj.date.getHours()+firefox.offset)}else if(firefox.flag){firefox.flag=false;int_obj.date.setHours(int_obj.date.getHours()+firefox.offset);if(_is_year){firefox.flag=true}}}if(_is_year){if(int_obj.date.getFullYear()<0){int_obj.date_string=Math.abs(int_obj.date.getFullYear()).toString()+" B.C."}else{int_obj.date_string=int_obj.date.getFullYear()}}else{int_obj.date_string=VMM.Date.prettyDate(int_obj.date,true)}inc_time=inc_time+1;_first_run=false;int_obj.relative_pos=positionRelative(interval,int_obj.date);_last_pos=int_obj.relative_pos.begin;if(int_obj.relative_pos.begin>_largest_pos){_largest_pos=int_obj.relative_pos.begin}VMM.appendElement(int_obj.element,int_obj.date_string);VMM.Lib.css(int_obj.element,"text-indent",-(VMM.Lib.width(int_obj.element)/2));VMM.Lib.css(int_obj.element,"opacity","0");_array.push(int_obj)}VMM.Lib.width($timeintervalminor_minor,_largest_pos);positionInterval(_element_parent,_array)}function build(){var i=0,j=0;VMM.attachElement(layout,"");$timenav=VMM.appendAndGetElement(layout,"
","timenav");$content=VMM.appendAndGetElement($timenav,"
","content");$time=VMM.appendAndGetElement($timenav,"
","time");$timeintervalminor=VMM.appendAndGetElement($time,"
","time-interval-minor");$timeintervalminor_minor=VMM.appendAndGetElement($timeintervalminor,"
","minor");$timeintervalmajor=VMM.appendAndGetElement($time,"
","time-interval-major");$timeinterval=VMM.appendAndGetElement($time,"
","time-interval");$timebackground=VMM.appendAndGetElement(layout,"
","timenav-background");$timenavline=VMM.appendAndGetElement($timebackground,"
","timenav-line");$timenavindicator=VMM.appendAndGetElement($timebackground,"
","timenav-indicator");$timeintervalbackground=VMM.appendAndGetElement($timebackground,"
","timenav-interval-background","
");$toolbar=VMM.appendAndGetElement(layout,"
","vco-toolbar");buildInterval();buildMarkers();buildEras();calculateMultiplier();positionMarkers(false);positionEras();positionInterval($timeinterval,interval_array,false,true);positionInterval($timeintervalmajor,interval_major_array);if(config.start_page){$backhome=VMM.appendAndGetElement($toolbar,"
","back-home","
");VMM.bindEvent(".back-home",onBackHome,"click");VMM.Lib.attribute($backhome,"title",VMM.master_config.language.messages.return_to_title);VMM.Lib.attribute($backhome,"rel","timeline-tooltip")}$dragslide=new VMM.DragSlider;$dragslide.createPanel(layout,$timenav,config.nav.constraint,config.touch);if(config.touch&&config.start_page){VMM.Lib.addClass($toolbar,"touch");VMM.Lib.css($toolbar,"top",55);VMM.Lib.css($toolbar,"left",10)}else{if(config.start_page){VMM.Lib.css($toolbar,"top",27)}$zoomin=VMM.appendAndGetElement($toolbar,"
","zoom-in","
");$zoomout=VMM.appendAndGetElement($toolbar,"
","zoom-out","
");VMM.bindEvent($zoomin,onZoomIn,"click");VMM.bindEvent($zoomout,onZoomOut,"click");VMM.Lib.attribute($zoomin,"title",VMM.master_config.language.messages.expand_timeline);VMM.Lib.attribute($zoomin,"rel","timeline-tooltip");VMM.Lib.attribute($zoomout,"title",VMM.master_config.language.messages.contract_timeline);VMM.Lib.attribute($zoomout,"rel","timeline-tooltip");$toolbar.tooltip({selector:"div[rel=timeline-tooltip]",placement:"right"});VMM.bindEvent(layout,onMouseScroll,"DOMMouseScroll");VMM.bindEvent(layout,onMouseScroll,"mousewheel")}if(config.nav.zoom.adjust!=0){if(config.nav.zoom.adjust<0){for(i=0;idata.length/config.nav.density){interval=interval_calc.century;interval_major=interval_calc.millenium;interval_macro=interval_calc.decade}else if(timespan.decades>data.length/config.nav.density){interval=interval_calc.decade;interval_major=interval_calc.century;interval_macro=interval_calc.year}else if(timespan.years>data.length/config.nav.density){interval=interval_calc.year;interval_major=interval_calc.decade;interval_macro=interval_calc.month}else if(timespan.months>data.length/config.nav.density){interval=interval_calc.month;interval_major=interval_calc.year;interval_macro=interval_calc.day}else if(timespan.days>data.length/config.nav.density){interval=interval_calc.day;interval_major=interval_calc.month;interval_macro=interval_calc.hour}else if(timespan.hours>data.length/config.nav.density){interval=interval_calc.hour;interval_major=interval_calc.day;interval_macro=interval_calc.minute}else if(timespan.minutes>data.length/config.nav.density){interval=interval_calc.minute;interval_major=interval_calc.hour;interval_macro=interval_calc.second}else if(timespan.seconds>data.length/config.nav.density){interval=interval_calc.second;interval_major=interval_calc.minute;interval_macro=interval_calc.second}else{trace("NO IDEA WHAT THE TYPE SHOULD BE");interval=interval_calc.day;interval_major=interval_calc.month;interval_macro=interval_calc.hour}trace("INTERVAL TYPE: "+interval.type);trace("INTERVAL MAJOR TYPE: "+interval_major.type);createIntervalElements(interval,interval_array,$timeinterval);createIntervalElements(interval_major,interval_major_array,$timeintervalmajor);for(i=0;i","marker");_marker_flag=VMM.appendAndGetElement(_marker,"
","flag");_marker_content=VMM.appendAndGetElement(_marker_flag,"
","flag-content");_marker_dot=VMM.appendAndGetElement(_marker,"
","dot");_marker_line=VMM.appendAndGetElement(_marker,"
","line");_marker_line_event=VMM.appendAndGetElement(_marker_line,"
","event-line");_marker_relative_pos=positionRelative(interval,data[i].startdate,data[i].enddate);_marker_thumb="";if(data[i].asset!=null&&data[i].asset!=""){VMM.appendElement(_marker_content,VMM.MediaElement.thumbnail(data[i].asset,24,24,data[i].uniqueid))}else{VMM.appendElement(_marker_content,"
")}if(data[i].title==""||data[i].title==" "){trace("TITLE NOTHING");if(typeof data[i].slug!="undefined"&&data[i].slug!=""){trace("SLUG");_marker_title=VMM.Util.untagify(data[i].slug);has_title=true}else{var m=VMM.MediaType(data[i].asset.media);if(m.type=="quote"||m.type=="unknown"){_marker_title=VMM.Util.untagify(m.id);has_title=true}else{has_title=false}}}else if(data[i].title!=""||data[i].title!=" "){trace(data[i].title);_marker_title=VMM.Util.untagify(data[i].title);has_title=true}else{trace("TITLE SLUG NOT FOUND "+data[i].slug)}if(has_title){VMM.appendElement(_marker_content,"

"+_marker_title+"

")}else{VMM.appendElement(_marker_content,"

"+_marker_title+"

");VMM.appendElement(_marker_content,"

"+_marker_title+"

")}VMM.Lib.attr(_marker,"id",("marker_"+data[i].uniqueid).toString());VMM.bindEvent(_marker_flag,onMarkerClick,"",{number:i});VMM.bindEvent(_marker_flag,onMarkerHover,"mouseenter mouseleave",{number:i,elem:_marker_flag});_marker_obj={marker:_marker,flag:_marker_flag,lineevent:_marker_line_event,type:"marker",full:true,relative_pos:_marker_relative_pos,tag:data[i].tag,pos_left:0};if(data[i].type=="start"){trace("BUILD MARKER HAS START PAGE");config.start_page=true;_marker_obj.type="start"}if(data[i].type=="storify"){_marker_obj.type="storify"}if(data[i].tag){tags.push(data[i].tag)}markers.push(_marker_obj)}tags=VMM.Util.deDupeArray(tags);if(tags.length>3){config.nav.rows.current=config.nav.rows.half}else{config.nav.rows.current=config.nav.rows.full}for(k=0;k","timenav-tag");VMM.Lib.addClass(tag_element,"timenav-tag-row-"+(k+1));if(tags.length>3){VMM.Lib.addClass(tag_element,"timenav-tag-size-half")}else{VMM.Lib.addClass(tag_element,"timenav-tag-size-full")}VMM.appendElement(tag_element,"

"+tags[k]+"

")}}if(tags.length>3){for(l=0;l","era"),text_content:VMM.appendAndGetElement($timeinterval,"
","era"),startdate:VMM.Date.parse(eras[j].startDate),enddate:VMM.Date.parse(eras[j].endDate),title:eras[j].headline,uniqueid:VMM.Util.unique_ID(6),tag:"",relative_pos:""},st=VMM.Date.prettyDate(era.startdate),en=VMM.Date.prettyDate(era.enddate),era_text="
 
";if(typeof eras[j].tag!="undefined"){era.tag=eras[j].tag}era.relative_pos=positionRelative(interval,era.startdate,era.enddate);VMM.Lib.attr(era.content,"id",era.uniqueid);VMM.Lib.attr(era.text_content,"id",era.uniqueid+"_text");VMM.Lib.addClass(era.content,"era"+(current_color+1));VMM.Lib.addClass(era.text_content,"era"+(current_color+1));if(current_color-1){req=raw_data+"&callback=onJSONP_Data"}else{req=raw_data+"?callback=onJSONP_Data"}VMM.getJSON(req,VMM.Timeline.DataObj.parseJSON)}}else if(type.of(raw_data)=="html"){trace("DATA SOURCE: HTML");VMM.Timeline.DataObj.parseHTML(raw_data)}else{trace("DATA SOURCE: UNKNOWN")}},onJSONPLoaded:function(){trace("JSONP IS LOADED");VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,storyjs_jsonp_data)},parseHTML:function(d){trace("parseHTML");trace("WARNING: THIS IS STILL ALPHA AND WILL NOT WORK WITH ID's other than #timeline");var _data_obj=VMM.Timeline.DataObj.data_template_obj;if(VMM.Lib.find("#timeline section","time")[0]){_data_obj.timeline.startDate=VMM.Lib.html(VMM.Lib.find("#timeline section","time")[0]);_data_obj.timeline.headline=VMM.Lib.html(VMM.Lib.find("#timeline section","h2"));_data_obj.timeline.text=VMM.Lib.html(VMM.Lib.find("#timeline section","article"));var found_main_media=false;if(VMM.Lib.find("#timeline section","figure img").length!=0){found_main_media=true;_data_obj.timeline.asset.media=VMM.Lib.attr(VMM.Lib.find("#timeline section","figure img"),"src")}else if(VMM.Lib.find("#timeline section","figure a").length!=0){found_main_media=true;_data_obj.timeline.asset.media=VMM.Lib.attr(VMM.Lib.find("#timeline section","figure a"),"href")}else{}if(found_main_media){if(VMM.Lib.find("#timeline section","cite").length!=0){_data_obj.timeline.asset.credit=VMM.Lib.html(VMM.Lib.find("#timeline section","cite"))}if(VMM.Lib.find(this,"figcaption").length!=0){_data_obj.timeline.asset.caption=VMM.Lib.html(VMM.Lib.find("#timeline section","figcaption"))}}}VMM.Lib.each("#timeline li",function(i,elem){var valid_date=false;var _date={type:"default",startDate:"",headline:"",text:"",asset:{media:"",credit:"",caption:""},tags:"Optional"};if(VMM.Lib.find(this,"time")!=0){valid_date=true;_date.startDate=VMM.Lib.html(VMM.Lib.find(this,"time")[0]);if(VMM.Lib.find(this,"time")[1]){_date.endDate=VMM.Lib.html(VMM.Lib.find(this,"time")[1])}_date.headline=VMM.Lib.html(VMM.Lib.find(this,"h3"));_date.text=VMM.Lib.html(VMM.Lib.find(this,"article"));var found_media=false;if(VMM.Lib.find(this,"figure img").length!=0){found_media=true;_date.asset.media=VMM.Lib.attr(VMM.Lib.find(this,"figure img"),"src")}else if(VMM.Lib.find(this,"figure a").length!=0){found_media=true;_date.asset.media=VMM.Lib.attr(VMM.Lib.find(this,"figure a"),"href")}else{}if(found_media){if(VMM.Lib.find(this,"cite").length!=0){_date.asset.credit=VMM.Lib.html(VMM.Lib.find(this,"cite"))}if(VMM.Lib.find(this,"figcaption").length!=0){_date.asset.caption=VMM.Lib.html(VMM.Lib.find(this,"figcaption"))}}trace(_date);_data_obj.timeline.date.push(_date)}});VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,_data_obj)},parseJSON:function(d){trace("parseJSON");if(d.timeline.type=="default"){trace("DATA SOURCE: JSON STANDARD TIMELINE");VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,d)}else if(d.timeline.type=="twitter"){trace("DATA SOURCE: JSON TWEETS");VMM.Timeline.DataObj.model_Tweets.buildData(d)}else{trace("DATA SOURCE: UNKNOWN JSON");trace(type.of(d.timeline))}},model:{googlespreadsheet:{extractSpreadsheetKey:function(url){var key=VMM.Util.getUrlVars(url)["key"];if(!key){if(url.match("docs.google.com/spreadsheets/d/")){var pos=url.indexOf("docs.google.com/spreadsheets/d/")+"docs.google.com/spreadsheets/d/".length;var tail=url.substr(pos);key=tail.split("/")[0]}}if(!key){key=url}return key},getData:function(raw){var getjsondata,key,worksheet,url,timeout,tries=0;key=VMM.Timeline.DataObj.model.googlespreadsheet.extractSpreadsheetKey(raw);worksheet=VMM.Util.getUrlVars(raw)["worksheet"];if(typeof worksheet=="undefined")worksheet="od6";url="https://spreadsheets.google.com/feeds/list/"+key+"/"+worksheet+"/public/values?alt=json";timeout=setTimeout(function(){trace("Google Docs timeout "+url);trace(url);if(tries<3){VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Still waiting on Google Docs, trying again "+tries);tries++;getjsondata.abort();requestJsonData()}else{VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Google Docs is not responding")}},16e3);function requestJsonData(){getjsondata=VMM.getJSON(url,function(d){clearTimeout(timeout);VMM.Timeline.DataObj.model.googlespreadsheet.buildData(d)}).error(function(jqXHR,textStatus,errorThrown){if(jqXHR.status==400){VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Error reading Google spreadsheet. Check the URL and make sure it's published to the web.");clearTimeout(timeout);return}trace("Google Docs ERROR");trace("Google Docs ERROR: "+textStatus+" "+jqXHR.responseText)}).success(function(d){clearTimeout(timeout)})}requestJsonData()},buildData:function(d){var data_obj=VMM.Timeline.DataObj.data_template_obj,is_valid=false;VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Parsing Google Doc Data");function getGVar(v){if(typeof v!="undefined"){return v.$t}else{return""}}if(typeof d.feed.entry=="undefined"){VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Error parsing spreadsheet. Make sure you have no blank rows and that the headers have not been changed.")}else{is_valid=true;for(var i=0;imax_row){max_row=parseInt(dd.gs$cell.row)}}for(var i=0;i0;if(is_valid){VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Finished Parsing Data");VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,data_obj)}else{VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Unable to load Google Doc data source. Make sure you have no blank rows and that the headers have not been changed.")}}},storify:{getData:function(raw){var key,url,storify_timeout;VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Loading Storify...");key=raw.split("storify.com/")[1];url="//api.storify.com/v1/stories/"+key+"?per_page=300&callback=?";storify_timeout=setTimeout(function(){trace("STORIFY timeout");VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Storify is not responding")},6e3);VMM.getJSON(url,VMM.Timeline.DataObj.model.storify.buildData).error(function(jqXHR,textStatus,errorThrown){trace("STORIFY error");trace("STORIFY ERROR: "+textStatus+" "+jqXHR.responseText)}).success(function(d){clearTimeout(storify_timeout)})},buildData:function(d){VMM.fireEvent(global,VMM.Timeline.Config.events.messege,"Parsing Data");var _data_obj=VMM.Timeline.DataObj.data_template_obj;_data_obj.timeline.startDate=new Date(d.content.date.created);_data_obj.timeline.headline=d.content.title;trace(d);var tt="";var t_name=d.content.author.username;var t_nickname="";if(typeof d.content.author.name!="undefined"){t_name=d.content.author.name;t_nickname=d.content.author.username+" "}if(typeof d.content.description!="undefined"&&d.content.description!=null){tt+=d.content.description}tt+="";_data_obj.timeline.text=tt;_data_obj.timeline.asset.media=d.content.thumbnail;_data_obj.timeline.type="storify";for(var i=0;i"+dd.attribution.name+"";_date.asset.credit+=" on "+dd.source.name+""}else if(dd.source.name=="instagram"){_date.asset.media=dd.permalink;_date.asset.credit=""+dd.attribution.name+"";_date.asset.credit+=" on "+dd.source.name+""}else{_date.asset.credit=""+dd.attribution.name+"";if(typeof dd.source.href!="undefined"){_date.asset.credit+=" on "+dd.source.name+""}_date.asset.media=dd.data.image.src}}else{_date.asset.credit=""+dd.attribution.name+"";_date.asset.media=dd.data.image.src}_date.slug=dd.attribution.name;if(typeof dd.data.image.caption!="undefined"){if(dd.data.image.caption!="undefined"){_date.asset.caption=dd.data.image.caption;_date.slug=dd.data.image.caption}}}else if(dd.type=="quote"){if(dd.permalink.match("twitter")){_date.asset.media=dd.permalink;_date.slug=VMM.Util.untagify(dd.data.quote.text)}else if(dd.permalink.match("storify")){is_text=true;_date.asset.media="
"+dd.data.quote.text.replace(/<\s*\/?\s*b\s*.*?>/g,"")+"
"}}else if(dd.type=="link"){_date.headline=dd.data.link.title;_date.text=dd.data.link.description;if(dd.data.link.thumbnail!="undefined"&&dd.data.link.thumbnail!=""){_date.asset.media=dd.data.link.thumbnail}else{_date.asset.media=dd.permalink}_date.asset.caption=""+dd.data.link.title+"";_date.slug=dd.data.link.title}else if(dd.type=="text"){if(dd.permalink.match("storify")){is_text=true;var d_name=d.content.author.username;var d_nickname="";if(typeof dd.attribution.name!="undefined"){t_name=dd.attribution.name;t_nickname=dd.attribution.username+" "}var asset_text="
";asset_text+="

"+dd.data.text.replace(/<\s*\/?\s*b\s*.*?>/g,"")+"

";asset_text+="
";_date.text=asset_text;if(i+1>=d.content.elements.length){_date.startDate=d.content.elements[i-1].posted_at}else{if(d.content.elements[i+1].type=="text"&&d.content.elements[i+1].permalink.match("storify")){if(i+2>=d.content.elements.length){_date.startDate=d.content.elements[i-1].posted_at}else{if(d.content.elements[i+2].type=="text"&&d.content.elements[i+2].permalink.match("storify")){if(i+3>=d.content.elements.length){_date.startDate=d.content.elements[i-1].posted_at}else{if(d.content.elements[i+3].type=="text"&&d.content.elements[i+3].permalink.match("storify")){_date.startDate=d.content.elements[i-1].posted_at}else{trace("LEVEL 3");_date.startDate=d.content.elements[i+3].posted_at}}}else{trace("LEVEL 2");_date.startDate=d.content.elements[i+2].posted_at}}}else{trace("LEVEL 1");_date.startDate=d.content.elements[i+1].posted_at}}_date.endDate=_date.startDate}}else if(dd.type=="video"){_date.headline=dd.data.video.title;_date.asset.caption=dd.data.video.description;_date.asset.caption=dd.source.username;_date.asset.media=dd.data.video.src}else{trace("NO MATCH ");trace(dd)}if(is_text){_date.slug=VMM.Util.untagify(dd.data.text)}_data_obj.timeline.date.push(_date)}VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,_data_obj)}},tweets:{type:"twitter",buildData:function(raw_data){VMM.bindEvent(global,VMM.Timeline.DataObj.model.tweets.onTwitterDataReady,"TWEETSLOADED");VMM.ExternalAPI.twitter.getTweets(raw_data.timeline.tweets)},getData:function(raw_data){VMM.bindEvent(global,VMM.Timeline.DataObj.model.tweets.onTwitterDataReady,"TWEETSLOADED");VMM.ExternalAPI.twitter.getTweetSearch(raw_data)},onTwitterDataReady:function(e,d){var _data_obj=VMM.Timeline.DataObj.data_template_obj;for(var i=0;i"+"@"+d.tweetdata[i].raw.from_user+")"}else{_date.headline=d.tweetdata[i].raw.user.name+" ("+"@"+d.tweetdata[i].raw.user.screen_name+")"}_date.asset.media=d.tweetdata[i].content;_data_obj.timeline.date.push(_date)}VMM.fireEvent(global,VMM.Timeline.Config.events.data_ready,_data_obj)}}},data_template_obj:{timeline:{headline:"",description:"",asset:{media:"",credit:"",caption:""},date:[],era:[]}},date_obj:{startDate:"2012,2,2,11,30",headline:"",text:"",asset:{media:"http://youtu.be/vjVfu8-Wp6s",credit:"",caption:""},tags:"Optional"}}}VMM.debug=false;