/ * !
TimelineJS
Designed and built by Zach Wise at VéritéCo
This program is free software : you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation , either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
http : //www.gnu.org/licenses/
* //***********************************************
Begin VMM . js
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //* Verite
* Verite JS Master
* Version : 0.6
* Date : April 26 , 2012
* Copyright 2012 Verite unless part of Verite Timeline ,
* if part of Timeline then it inherits Timeline ' s license .
* Designed and built by Zach Wise digitalartwork . net
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - * //* Simple JavaScript Inheritance
* By John Resig http : //ejohn.org/
* MIT Licensed .
=== === === === === === === === === === === === === === === === == * / f u n c t i o n t r a c e ( a ) { V M M . d e b u g & & ( w i n d o w . c o n s o l e ? c o n s o l e . l o g ( a ) : t y p e o f j s T r a c e ! = " u n d e f i n e d " & & j s T r a c e . s e n d ( a ) ) } f u n c t i o n o n Y o u T u b e P l a y e r A P I R e a d y ( ) { t r a c e ( " G L O B A L Y O U T U B E A P I C A L L E D " ) ; V M M . E x t e r n a l A P I . y o u t u b e . o n A P I R e a d y ( ) } ( f u n c t i o n ( ) { v a r a = ! 1 , b = / x y z / . t e s t ( f u n c t i o n ( ) { x y z } ) ? / \ b _ s u p e r \ b / : / . * / ; t h i s . C l a s s = f u n c t i o n ( ) { } ; C l a s s . e x t e n d = f u n c t i o n ( c ) { f u n c t i o n g ( ) { ! a & & t h i s . i n i t & & t h i s . i n i t . a p p l y ( t h i s , a r g u m e n t s ) } v a r d = t h i s . p r o t o t y p e ; a = ! 0 ; v a r e = n e w t h i s ; a = ! 1 ; f o r ( v a r f i n c ) e [ f ] = t y p e o f c [ f ] = = " f u n c t i o n " & & t y p e o f d [ f ] = = " f u n c t i o n " & & b . t e s t ( c [ f ] ) ? f u n c t i o n ( a , b ) { r e t u r n f u n c t i o n ( ) { v a r c = t h i s . _ s u p e r ; t h i s . _ s u p e r = d [ a ] ; v a r e = b . a p p l y ( t h i s , a r g u m e n t s ) ; t h i s . _ s u p e r = c ; r e t u r n e } } ( f , c [ f ] ) : c [ f ] ; g . p r o t o t y p e = e ; g . p r o t o t y p e . c o n s t r u c t o r = g ; g . e x t e n d = a r g u m e n t s . c a l l e e ; r e t u r n g } } ) ( ) ; v a r g l o b a l = f u n c t i o n ( ) { r e t u r n t h i s | | ( 1 , e v a l ) ( " t h i s " ) } ( ) ; i f ( t y p e o f V M M = = " u n d e f i n e d " ) { v a r V M M = C l a s s . e x t e n d ( { } ) ; V M M . d e b u g = ! 0 ; V M M . m a s t e r _ c o n f i g = { i n i t : f u n c t i o n ( ) { r e t u r n t h i s } , s i z e s : { a p i : { w i d t h : 0 , h e i g h t : 0 } } , v p : " P e l l e n t e s q u e n i b h f e l i s , e l e i f e n d i d , c o m m o d o i n , i n t e r d u m v i t a e , l e o " , a p i _ k e y s _ m a s t e r : { f l i c k r : " R A I v x H Y 4 h E / E l m 5 c i e h 4 X 5 p t M y D p j 7 M Y I x z i G x i 0 W G C c y 1 s + y r 7 r K Q = = " , g o o g l e : " j w N G n Y w 4 h E 9 l m A e z 4 l l 0 Q D + j o 6 S K B J F k n k o p L S 4 F r S A u G f I w y j 5 7 A u s u R 0 s 8 d A o = " , t w i t t e r : " " } , f l i c k r : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , y o u t u b e : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , v i m e o : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , g o o g l e m a p s : { a c t i v e : ! 1 , m a p _ a c t i v e : ! 1 , p l a c e s _ a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , g o o g l e d o c s : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , w i k i p e d i a : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } , s o u n d c l o u d : { a c t i v e : ! 1 , a r r a y : [ ] , a p i _ l o a d e d : ! 1 , q u e : [ ] } } . i n i t ( ) ; V M M . c r e a t e E l e m e n t = f u n c t i o n ( a , b , c , d , e ) { v a r f = " " ; i f ( a ! = n u l l & & a ! = " " ) { f + = " < " + a ; c ! = n u l l & & c ! = " " & & ( f + = " c l a s s = ' " + c + " ' " ) ; d ! = n u l l & & d ! = " " & & ( f + = " " + d ) ; e ! = n u l l & & e ! = " " & & ( f + = " s t y l e = ' " + e + " ' " ) ; f + = " > " ; b ! = n u l l & & b ! = " " & & ( f + = b ) ; f = f + " < / " + a + " > " } r e t u r n f } ; V M M . c r e a t e M e d i a E l e m e n t = f u n c t i o n ( a , b , c ) { v a r d = " " , e = ! 1 ; d + = " < d i v c l a s s = ' m e d i a ' > " ; i f ( a ! = n u l l & & a ! = " " ) { v a l i d = ! 0 ; d + = " < i m g s r c = ' " + a + " ' > " ; c ! = n u l l & & c ! = " " & & ( d + = V M M . c r e a t e E l e m e n t ( " d i v " , c , " c r e d i t " ) ) ; b ! = n u l l & & b ! = " " & & ( d + = V M M . c r e a t e E l e m e n t ( " d i v " , b , " c a p t i o n " ) ) } d + = " < / d i v > " ; r e t u r n d } ; V M M . h i d e U r l B a r = f u n c t i o n ( ) { v a r a = w i n d o w , b = a . d o c u m e n t ; i f ( ! l o c a t i o n . h a s h | | ! a . a d d E v e n t L i s t e n e r ) { w i n d o w . s c r o l l T o ( 0 , 1 ) ; v a r c = 1 , d = s e t I n t e r v a l ( f u n c t i o n ( ) { i f ( b . b o d y ) { c l e a r I n t e r v a l ( d ) ; c = " s c r o l l T o p " i n b . b o d y ? b . b o d y . s c r o l l T o p : 1 ; a . s c r o l l T o ( 0 , c = = = 1 ? 0 : 1 ) } } , 1 5 ) ; a . a d d E v e n t L i s t e n e r ( " l o a d " , f u n c t i o n ( ) { s e t T i m e o u t ( f u n c t i o n ( ) { a . s c r o l l T o ( 0 , c = = = 1 ? 0 : 1 ) } , 0 ) } , ! 1 ) } } } D a t e . p r o t o t y p e . g e t W e e k = f u n c t i o n ( ) { v a r a = n e w D a t e ( t h i s . g e t F u l l Y e a r ( ) , 0 , 1 ) ; r e t u r n M a t h . c e i l ( ( ( t h i s - a ) / 8 6 4 e 5 + a . g e t D a y ( ) + 1 ) / 7 ) } ; D a t e . p r o t o t y p e . g e t D a y O f Y e a r = f u n c t i o n ( ) { v a r a = n e w D a t e ( t h i s . g e t F u l l Y e a r ( ) , 0 , 1 ) ; r e t u r n M a t h . c e i l ( ( t h i s - a ) / 8 6 4 e 5 ) } ; v a r i s = { N u l l : f u n c t i o n ( a ) { r e t u r n a = = = n u l l } , U n d e f i n e d : f u n c t i o n ( a ) { r e t u r n a = = = u n d e f i n e d } , n t : f u n c t i o n ( a ) { r e t u r n a = = = n u l l | | a = = = u n d e f i n e d } , F u n c t i o n : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " f u n c t i o n " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / F u n c t i o n / ) ! = = n u l l : ! 1 } , S t r i n g : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " s t r i n g " ? ! 0 : t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / s t r i n g / i ) ! = = n u l l : ! 1 } , A r r a y : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / a r r a y / i ) ! = = n u l l | | a . l e n g t h ! = = u n d e f i n e d : ! 1 } , B o o l e a n : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " b o o l e a n " ? ! 0 : t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / b o o l e a n / i ) ! = = n u l l : ! 1 } , D a t e : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " d a t e " ? ! 0 : t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / d a t e / i ) ! = = n u l l : ! 1 } , H T M L : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / h t m l / i ) ! = = n u l l : ! 1 } , N u m b e r : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " n u m b e r " ? ! 0 : t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / N u m b e r / ) ! = = n u l l : ! 1 } , O b j e c t : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " o b j e c t " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / o b j e c t / i ) ! = = n u l l : ! 1 } , R e g E x p : f u n c t i o n ( a ) { r e t u r n t y p e o f a = = " f u n c t i o n " ? a . c o n s t r u c t o r . t o S t r i n g ( ) . m a t c h ( / r e g e x p / i ) ! = = n u l l : ! 1 } } , t y p e = { o f : f u n c t i o n ( a ) { f o r ( v a r b i n i s ) i f ( i s [ b ] ( a ) ) r e t u r n b . t o L o w e r C a s e ( ) } } ; i f ( t y p e o f V M M ! = " u n d e f i n e d " ) { V M M . a t t a c h E l e m e n t = f u n c t i o n ( a , b ) { t y p e o f j Q u e r y ! = " u n d e f i n e d " & & j Q u e r y ( a ) . h t m l ( b ) } ; V M M . a p p e n d E l e m e n t = f u n c t i o n ( a , b ) { t y p e o f j Q u e r y ! = " u n d e f i n e d " & & j Q u e r y ( a ) . a p p e n d ( b ) } ; V M M . g e
) ; VMM . master _config . googledocs . que = [ ] } } , flickr : { get : function ( a , b ) { var c ; VMM . master _config . Timeline . api _keys . flickr != "" ? c = VMM . master _config . Timeline . api _keys . flickr : c = Aes . Ctr . decrypt ( VMM . master _config . api _keys _master . flickr , VMM . master _config . vp , 256 ) ; var d = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=" + c + "&photo_id=" + a + "&format=json&jsoncallback=?" ; VMM . getJSON ( d , VMM . ExternalAPI . flickr . create ) } , create : function ( a ) { var b = a . sizes . size [ 0 ] . url . split ( "photos/" ) [ 1 ] . split ( "/" ) [ 1 ] , c = "flickr_" + b , d = c + "_large" , e = c + "_thumb" , f , g , h = ! 1 , i = "Large" ; i = VMM . ExternalAPI . flickr . sizes ( VMM . master _config . sizes . api . height ) ; for ( var j = 0 ; j < a . sizes . size . length ; j ++ ) if ( a . sizes . size [ j ] . label == i ) { h = ! 0 ; f = a . sizes . size [ j ] . source } h || ( f = a . sizes . size [ a . sizes . size . length - 1 ] . source ) ; g = a . sizes . size [ 0 ] . source ; VMM . Lib . attr ( "#" + d , "src" , f ) ; VMM . attachElement ( "#" + e , "<img src='" + g + "'>" ) } , sizes : function ( a ) { var b = "" ; a <= 75 ? b = "Thumbnail" : a <= 180 ? b = "Small" : a <= 240 ? b = "Small 320" : a <= 375 ? b = "Medium" : a <= 480 ? b = "Medium 640" : a <= 600 ? b = "Medium 800" : b = "Large" ; return b } } , soundcloud : { get : function ( a , b ) { var c = { url : a , id : b } ; VMM . master _config . soundcloud . que . push ( c ) ; VMM . master _config . soundcloud . active = ! 0 } , create : function ( a ) { var b = "http://soundcloud.com/oembed?url=" + a . url + "&format=js&callback=?" ; VMM . getJSON ( b , function ( b ) { VMM . attachElement ( "#" + a . id , b . html ) } ) } , pushQue : function ( ) { for ( var a = 0 ; a < VMM . master _config . soundcloud . que . length ; a ++ ) VMM . ExternalAPI . soundcloud . create ( VMM . master _config . soundcloud . que [ a ] ) ; VMM . master _config . soundcloud . que = [ ] } } , wikipedia : { get : function ( a , b ) { var c = { url : a , id : b } ; VMM . master _config . wikipedia . que . push ( c ) ; VMM . master _config . wikipedia . active = ! 0 } , create : function ( a ) { var b = "http://en.wikipedia.org/w/api.php?action=query&prop=extracts&redirects=&titles=" + a . url + "&exintro=1&format=json&callback=?" ; if ( VMM . Browser . browser == "Explorer" && parseInt ( VMM . Browser . version , 10 ) >= 7 && window . XDomainRequest ) { var c = "<h4><a href='http://en.wikipedia.org/wiki/" + a . url + "' target='_blank'>" + a . url + "</a></h4>" ; c += "<div class='wiki-source'>From Wikipedia, the free encyclopedia</span>" ; c += "<p>Wikipedia entry unable to load using Internet Explorer 8 or below.</p>" ; VMM . attachElement ( "#" + a . id , c ) } VMM . getJSON ( b , function ( b ) { if ( b . query ) { var c = VMM . Util . getObjectAttributeByIndex ( b . query . pages , 0 ) . extract , d = VMM . Util . getObjectAttributeByIndex ( b . query . pages , 0 ) . title , e = "" , f = "" , g = c . split ( "<p>" ) , h = 1 ; for ( var i = 0 ; i < g . length ; i ++ ) i + 1 <= h && i + 1 < g . length && ( f += "<p>" + g [ i + 1 ] ) ; e = "<h4><a href='http://en.wikipedia.org/wiki/" + d + "' target='_blank'>" + d + "</a></h4>" ; e += "<div class='wiki-source'>From Wikipedia, the free encyclopedia</span>" ; e += VMM . Util . linkify _wikipedia ( f ) ; c . match ( "REDIRECT" ) || VMM . attachElement ( "#" + a . id , e ) } } ) } , pushQue : function ( ) { trace ( "WIKIPEDIA PUSH QUE" ) ; for ( var a = 0 ; a < VMM . master _config . wikipedia . que . length ; a ++ ) VMM . ExternalAPI . wikipedia . create ( VMM . master _config . wikipedia . que [ a ] ) ; VMM . master _config . wikipedia . que = [ ] } } , youtube : { get : function ( a ) { var b = "http://gdata.youtube.com/feeds/api/videos/" + a + "?v=2&alt=jsonc&callback=?" ; if ( VMM . master _config . youtube . active ) VMM . master _config . youtube . que . push ( a ) ; else { VMM . master _config . youtube . que . push ( a ) ; VMM . master _config . youtube . api _loaded || VMM . LoadLib . js ( "http://www.youtube.com/player_api" , function ( ) { trace ( "YouTube API Library Loaded" ) } ) } VMM . getJSON ( b , VMM . ExternalAPI . youtube . createThumb ) } , create : function ( a ) { var b = { active : ! 1 , player : { } , name : "youtube_" + a , playing : ! 1 } ; b . player [ "youtube_" + a ] = new YT . Player ( "youtube_" + a , { height : "390" , width : "640" , playerVars : { enablejsapi : 1 , color : "white" , showinfo : 0 , theme : "light" , rel : 0 } , videoId : a , events : { onReady : VMM . ExternalAPI . youtube . onPlayerReady , onStateChange : VMM . ExternalAPI . youtube . onStateChange } } ) ; VMM . master _config . youtube . array . push ( b ) } , createThumb : function ( a ) { trace ( a . data . id ) ; trace ( a . data . thumbnail . sqDefault ) ; var b = "youtube_" + a . data . id + "_thumb" ; VMM . attachElement ( "#" + b , "<img src='" + a . data . thumbnail . sqDefault + "'>" ) } , pushQue : function ( ) { for ( var a = 0 ; a < VMM . master _config . youtube . que . length ; a ++ ) VMM . ExternalAPI . youtube . create ( VMM . master _config . youtube . que [ a ] ) ; VMM . master _config . youtube . que = [ ] } , onAPIReady : function ( ) { VMM . master _config . youtube . active = !
, "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 ( a ) { var b = "" , c = a . split ( /([:.;?!][ ]|(?:[ ]|^)["“])/ ) ; for ( var d = 0 ; d < c . length ; ++ d ) { var e = c [ d ] ; e = e . replace ( /\b([a-zA-Z][a-z.'’]*)\b/g , this . _ _titleCaseDottedWordReplacer ) ; e = e . replace ( this . _ _lowerCaseWordsRE , this . _ _lowerReplacer ) ; e = e . replace ( this . _ _firstWordRE , this . _ _firstToUpperCase ) ; e = e . replace ( this . _ _lastWordRE , this . _ _firstToUpperCase ) ; b += e } b = b . replace ( / V(s?)\. /g , " v$1. " ) ; b = b . replace ( /(['’])S\b/g , "$1s" ) ; b = b . replace ( /\b(AT&T|Q&A)\b/ig , this . _ _upperReplacer ) ; return b } , _ _titleCaseDottedWordReplacer : function ( a ) { return a . match ( /[a-zA-Z][.][a-zA-Z]/ ) ? a : b . _ _firstToUpperCase ( a ) } , _ _lowerReplacer : function ( a ) { return a . toLowerCase ( ) } , _ _upperReplacer : function ( a ) { return a . toUpperCase ( ) } , _ _firstToUpperCase : function ( a ) { var b = a . split ( /(^[^a-zA-Z0-9]*[a-zA-Z0-9])(.*)$/ ) ; b [ 1 ] && ( b [ 1 ] = b [ 1 ] . toUpperCase ( ) ) ; return b . join ( "" ) } } ; b . init ( ) ; a = a . replace ( /_/g , " " ) ; a = b . toTitleCase ( a ) ; return a } } . init ( ) ; String . linkify || ( String . prototype . linkify = function ( ) { var a = /\b(?:https?|ftp):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*[a-z0-9-+&@#\/%=~_|]/gim , b = /(^|[^\/])(www\.[\S]+(\b|$))/gim , c = /(([a-zA-Z0-9_\-\.]+)@[a-zA-Z_]+?(?:\.[a-zA-Z]{2,6}))+/gim , d = /(@([\w]+))/g , e = /(#([\w]+))/g ; return this . replace ( a , '<a target="_blank" href="$&">$&</a>' ) . replace ( b , '$1<a target="_blank" href="http://$2">$2</a>' ) . replace ( c , '<a target="_blank" href="mailto:$1">$1</a>' ) . replace ( d , "<a href='http://twitter.com/$2' target='_blank'>$1</a>" ) . replace ( e , "<a href='http://twitter.com/#search?q=%23$2' target='_blank'>$1</a>" ) } ) ; var dateFormat = function ( ) { var a = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g , b = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g , c = /[^-+\dA-Z]/g , d = function ( a , b ) { a = String ( a ) ; b = b || 2 ; while ( a . length < b ) a = "0" + a ; return a } ; return function ( e , f , g ) { var h = dateFormat ; if ( arguments . length == 1 && Object . prototype . toString . call ( e ) == "[object String]" && ! /\d/ . test ( e ) ) { f = e ; e = undefined } e = e ? new Date ( e ) : new Date ; if ( isNaN ( e ) ) throw SyntaxError ( "invalid date" ) ; f = String ( h . masks [ f ] || f || h . masks [ "default" ] ) ; if ( f . slice ( 0 , 4 ) == "UTC:" ) { f = f . slice ( 4 ) ; g = ! 0 } var i = g ? "getUTC" : "get" , j = e [ i + "Date" ] ( ) , k = e [ i + "Day" ] ( ) , l = e [ i + "Month" ] ( ) , m = e [ i + "FullYear" ] ( ) , n = e [ i + "Hours" ] ( ) , o = e [ i + "Minutes" ] ( ) , p = e [ i + "Seconds" ] ( ) , q = e [ i + "Milliseconds" ] ( ) , r = g ? 0 : e . getTimezoneOffset ( ) , s = { d : j , dd : d ( j ) , ddd : h . i18n . dayNames [ k ] , dddd : h . i18n . dayNames [ k + 7 ] , m : l + 1 , mm : d ( l + 1 ) , mmm : h . i18n . monthNames [ l ] , mmmm : h . i18n . monthNames [ l + 12 ] , yy : String ( m ) . slice ( 2 ) , yyyy : m , h : n % 12 || 12 , hh : d ( n % 12 || 12 ) , H : n , HH : d ( n ) , M : o , MM : d ( o ) , s : p , ss : d ( p ) , l : d ( q , 3 ) , L : d ( q > 99 ? Math . round ( q / 10 ) : q ) , t : n < 12 ? "a" : "p" , tt : n < 12 ? "am" : "pm" , T : n < 12 ? "A" : "P" , TT : n < 12 ? "AM" : "PM" , Z : g ? "UTC" : ( String ( e ) . match ( b ) || [ "" ] ) . pop ( ) . replace ( c , "" ) , o : ( r > 0 ? "-" : "+" ) + d ( Math . floor ( Math . abs ( r ) / 60 ) * 100 + Math . abs ( r ) % 60 , 4 ) , S : [ "th" , "st" , "nd" , "rd" ] [ j % 10 > 3 ? 0 : ( j % 100 - j % 10 != 10 ) * j % 10 ] } ; return f . replace ( a , function ( a ) { return a in s ? s [ a ] : a . slice ( 1 , a . 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 ( a , b ) { return dateFormat ( this , a , b ) } } window . loadedJS = [ ] ; typeof VMM != "undefined"
Math . floor ( a . years ) ; u . year . last = b . years ; u . year . number = e . years ; u . year . multiplier = 1 ; u . year . minor = p . month ; u . month . type = "month" ; u . month . first = a . months ; u . month . base = Math . floor ( a . months ) ; u . month . last = b . months ; u . month . number = e . months ; u . month . multiplier = 1 ; u . month . minor = Math . round ( p . week ) ; u . week . type = "week" ; u . week . first = a . weeks ; u . week . base = Math . floor ( a . weeks ) ; u . week . last = b . weeks ; u . week . number = e . weeks ; u . week . multiplier = 1 ; u . week . minor = 7 ; u . day . type = "day" ; u . day . first = a . days ; u . day . base = Math . floor ( a . days ) ; u . day . last = b . days ; u . day . number = e . days ; u . day . multiplier = 1 ; u . day . minor = 24 ; u . hour . type = "hour" ; u . hour . first = a . hours ; u . hour . base = Math . floor ( a . hours ) ; u . hour . last = b . hours ; u . hour . number = e . hours ; u . hour . multiplier = 1 ; u . hour . minor = 60 ; u . minute . type = "minute" ; u . minute . first = a . minutes ; u . minute . base = Math . floor ( a . minutes ) ; u . minute . last = b . minutes ; u . minute . number = e . minutes ; u . minute . multiplier = 1 ; u . minute . minor = 60 ; u . second . type = "decade" ; u . second . first = a . seconds ; u . second . base = Math . floor ( a . seconds ) ; u . second . last = b . seconds ; u . second . number = e . seconds ; u . second . multiplier = 1 ; u . second . minor = 10 } , Z = function ( a , b ) { var c = { } ; c . days = a / q . day ; c . weeks = c . days / q . week ; c . months = c . days / q . month ; c . years = c . months / q . year ; c . hours = c . days * q . hour ; c . minutes = c . days * q . minute ; c . seconds = c . days * q . second ; c . decades = c . years / q . decade ; c . centuries = c . years / q . century ; c . milleniums = c . years / q . millenium ; c . ages = c . years / q . age ; c . epochs = c . years / q . epoch ; c . eras = c . years / q . era ; c . eons = c . years / q . eon ; return c } , $ = function ( a , b , c ) { var d = a . type , e = a . multiplier , f = Z ( b ) , g , h , i ; h = b . months ; if ( type . of ( c ) == "date" ) { g = Z ( c ) ; i = c . months ; if ( d == "eon" ) { h = f . eons ; i = g . eons } else if ( d == "era" ) { h = f . eras ; i = g . eras } else if ( d == "epoch" ) { h = f . epochs ; i = g . epochs } else if ( d == "age" ) { h = f . ages ; i = g . ages } else if ( d == "millenium" ) { h = b . milleniums ; i = c . milleniums } else if ( d == "century" ) { h = f . centuries ; i = g . centuries } else if ( d == "decade" ) { h = f . decades ; i = g . decades } else if ( d == "year" ) { h = f . years ; i = g . years } else if ( d == "month" ) { h = f . months ; i = g . months } else if ( d == "week" ) { h = f . weeks ; i = g . weeks } else if ( d == "day" ) { h = f . days ; i = g . days } else if ( d == "hour" ) { h = f . hours ; i = g . hours } else if ( d == "minute" ) { h = f . minutes ; i = g . minutes } _pos = ( h - r . base ) * ( J . nav . interval _width / J . nav . multiplier . current ) ; _pos _end = ( i - r . base ) * ( J . nav . interval _width / J . nav . multiplier . current ) } else { if ( d == "eon" ) { h = f . eons ; i = f . eons } else if ( d == "era" ) { h = f . eras ; i = f . eras } else if ( d == "epoch" ) { h = f . epochs ; i = f . epochs } else if ( d == "age" ) { h = f . ages ; i = f . ages } else if ( d == "millenium" ) { h = b . milleniums ; i = b . milleniums } else if ( d == "century" ) { h = f . centuries ; i = f . centuries } else if ( d == "decade" ) { h = f . decades ; i = f . decades } else if ( d == "year" ) { h = f . years ; i = f . years } else if ( d == "month" ) { h = f . months ; i = f . months } else if ( d == "week" ) { h = f . weeks ; i = f . weeks } else if ( d == "day" ) { h = f . days ; i = f . days } else if ( d == "hour" ) { h = f . hours ; i = f . hours } else if ( d == "minute" ) { h = f . minutes ; i = f . minutes } _pos = ( h - r . base ) * ( J . nav . interval _width / J . nav . multiplier . current ) ; _pos _end = _pos } return pos = { begin : _pos , end : _pos _end } } , _ = function ( a ) { var b = r . type , c = r . multiplier , d = 2 , e = 0 , f = 0 , j = 150 , k = 6 , l = 0 ; VMM . Lib . removeClass ( ".flag" , "row1" ) ; VMM . Lib . removeClass ( ".flag" , "row2" ) ; VMM . Lib . removeClass ( ".flag" , "row3" ) ; for ( var m = 0 ; m < i . length ; m ++ ) { var o , p = i [ m ] . marker , q = i [ m ] . flag , s = i [ m ] . lineevent , t = $ ( r , g [ m ] . startdate , g [ m ] . enddate ) , u = - 2 ; z = t . begin ; _pos _end = t . end ; z = Math . round ( z + u ) ; _pos _end = Math . round ( _pos _end + u ) ; o = Math . round ( _pos _end - z ) ; if ( a ) { VMM . Lib . stop ( p ) ; VMM . Lib . animate ( p , J . duration / 2 , J . ease , { left : z } ) } else VMM . Lib . css ( p , "left" , z ) ; m == n && ( l = z ) ; if ( o > 5 ) { VMM . Lib . css ( s , "height" , k ) ; VMM . Lib . css ( s , "width" , o ) ; VMM . Lib . css ( s , "top" , j ) } if ( z - e < J . nav . marker . width + J . spacing ) if ( d < J . nav . rows . length - 1 ) d ++ ; else { d = 0 ; f ++ } else { f = 0 ; d = 0 } e = z ; if ( a ) { VMM . Lib . stop ( q ) ; VMM . Lib . animate ( q , J . duration , J . ease , { top : J . nav . rows [ d ] } ) } else VMM . Lib . css ( q , "top" , J . nav . rows [ d ] ) ; J . start _page && i [ m ] . type == "start" && VMM . Lib . visible ( p , ! 1 ) } for ( var w = 0 ; w < h . length ; w ++ ) { var o , x = h [ w ] , y = x . content , z = $ ( r , x . startdate , x . enddate ) , A = z . end - z . begin , B = 25 ; VMM . Lib . css ( y , "left" , z . begin ) ; VMM . Lib . css ( y , "width" , A ) } VMM . Lib . stop ( v ) ; VMM . Lib . animate ( v , J . duration / 2 , J . ease , { left : J . width / 2 - l } ) } , ab = function ( a , b , c ) { var d = r . type , e = r . multiplier , f = 0 , g = 0 ; for ( var h = 0 ; h < a . length ; h ++ ) { var i = a [ h ] . interval _element , j = a [ h ] . interval _date , k = a