-
Notifications
You must be signed in to change notification settings - Fork 41
/
timeglider-0.1.4.min.js
298 lines (285 loc) · 122 KB
/
timeglider-0.1.4.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
/*
// Underscore.js 1.1.7
// (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
// Underscore is freely distributable under the MIT license.
// Portions of Underscore are inspired or borrowed from Prototype,
// Oliver Steele's Functional, and John Resig's Micro-Templating.
// For all details and documentation:
// http://documentcloud.github.com/underscore
*/
(function(){var u=this,D=u._,z={},q=Array.prototype,E=Object.prototype,F=q.slice,w=q.unshift,n=E.toString,r=E.hasOwnProperty,e=q.forEach,y=q.map,g=q.reduce,p=q.reduceRight,v=q.filter,x=q.every,H=q.some,d=q.indexOf,m=q.lastIndexOf;E=Array.isArray;var o=Object.keys,b=Function.prototype.bind,a=function(c){return new t(c)};typeof module!=="undefined"&&module.exports?(module.exports=a,a._=a):u._=a;a.VERSION="1.1.7";var k=a.each=a.forEach=function(c,j,l){if(c!=null)if(e&&c.forEach===e)c.forEach(j,l);else if(c.length===
+c.length)for(var A=0,C=c.length;A<C;A++){if(A in c&&j.call(l,c[A],A,c)===z)break}else for(A in c)if(r.call(c,A)&&j.call(l,c[A],A,c)===z)break};a.map=function(c,j,l){var A=[];if(c==null)return A;if(y&&c.map===y)return c.map(j,l);k(c,function(C,G,J){A[A.length]=j.call(l,C,G,J)});return A};a.reduce=a.foldl=a.inject=function(c,j,l,A){var C=l!==void 0;c==null&&(c=[]);if(g&&c.reduce===g)return A&&(j=a.bind(j,A)),C?c.reduce(j,l):c.reduce(j);k(c,function(G,J,K){C?l=j.call(A,l,G,J,K):(l=G,C=true)});if(!C)throw new TypeError("Reduce of empty array with no initial value");
return l};a.reduceRight=a.foldr=function(c,j,l,A){c==null&&(c=[]);if(p&&c.reduceRight===p)return A&&(j=a.bind(j,A)),l!==void 0?c.reduceRight(j,l):c.reduceRight(j);c=(a.isArray(c)?c.slice():a.toArray(c)).reverse();return a.reduce(c,j,l,A)};a.find=a.detect=function(c,j,l){var A;f(c,function(C,G,J){if(j.call(l,C,G,J))return A=C,true});return A};a.filter=a.select=function(c,j,l){var A=[];if(c==null)return A;if(v&&c.filter===v)return c.filter(j,l);k(c,function(C,G,J){j.call(l,C,G,J)&&(A[A.length]=C)});
return A};a.reject=function(c,j,l){var A=[];if(c==null)return A;k(c,function(C,G,J){j.call(l,C,G,J)||(A[A.length]=C)});return A};a.every=a.all=function(c,j,l){var A=true;if(c==null)return A;if(x&&c.every===x)return c.every(j,l);k(c,function(C,G,J){if(!(A=A&&j.call(l,C,G,J)))return z});return A};var f=a.some=a.any=function(c,j,l){j=j||a.identity;var A=false;if(c==null)return A;if(H&&c.some===H)return c.some(j,l);k(c,function(C,G,J){if(A|=j.call(l,C,G,J))return z});return!!A};a.include=a.contains=function(c,
j){var l=false;if(c==null)return l;if(d&&c.indexOf===d)return c.indexOf(j)!=-1;f(c,function(A){if(l=A===j)return true});return l};a.invoke=function(c,j){var l=F.call(arguments,2);return a.map(c,function(A){return(j.call?j||A:A[j]).apply(A,l)})};a.pluck=function(c,j){return a.map(c,function(l){return l[j]})};a.max=function(c,j,l){if(!j&&a.isArray(c))return Math.max.apply(Math,c);var A={computed:-Infinity};k(c,function(C,G,J){G=j?j.call(l,C,G,J):C;G>=A.computed&&(A={value:C,computed:G})});return A.value};
a.min=function(c,j,l){if(!j&&a.isArray(c))return Math.min.apply(Math,c);var A={computed:Infinity};k(c,function(C,G,J){G=j?j.call(l,C,G,J):C;G<A.computed&&(A={value:C,computed:G})});return A.value};a.sortBy=function(c,j,l){return a.pluck(a.map(c,function(A,C,G){return{value:A,criteria:j.call(l,A,C,G)}}).sort(function(A,C){var G=A.criteria,J=C.criteria;return G<J?-1:G>J?1:0}),"value")};a.groupBy=function(c,j){var l={};k(c,function(A,C){var G=j(A,C);(l[G]||(l[G]=[])).push(A)});return l};a.sortedIndex=
function(c,j,l){l||(l=a.identity);for(var A=0,C=c.length;A<C;){var G=A+C>>1;l(c[G])<l(j)?A=G+1:C=G}return A};a.toArray=function(c){if(!c)return[];if(c.toArray)return c.toArray();if(a.isArray(c))return F.call(c);if(a.isArguments(c))return F.call(c);return a.values(c)};a.size=function(c){return a.toArray(c).length};a.first=a.head=function(c,j,l){return j!=null&&!l?F.call(c,0,j):c[0]};a.rest=a.tail=function(c,j,l){return F.call(c,j==null||l?1:j)};a.last=function(c){return c[c.length-1]};a.compact=function(c){return a.filter(c,
function(j){return!!j})};a.flatten=function(c){return a.reduce(c,function(j,l){if(a.isArray(l))return j.concat(a.flatten(l));j[j.length]=l;return j},[])};a.without=function(c){return a.difference(c,F.call(arguments,1))};a.uniq=a.unique=function(c,j){return a.reduce(c,function(l,A,C){if(0==C||(j===true?a.last(l)!=A:!a.include(l,A)))l[l.length]=A;return l},[])};a.union=function(){return a.uniq(a.flatten(arguments))};a.intersection=a.intersect=function(c){var j=F.call(arguments,1);return a.filter(a.uniq(c),
function(l){return a.every(j,function(A){return a.indexOf(A,l)>=0})})};a.difference=function(c,j){return a.filter(c,function(l){return!a.include(j,l)})};a.zip=function(){for(var c=F.call(arguments),j=a.max(a.pluck(c,"length")),l=Array(j),A=0;A<j;A++)l[A]=a.pluck(c,""+A);return l};a.indexOf=function(c,j,l){if(c==null)return-1;var A;if(l)return l=a.sortedIndex(c,j),c[l]===j?l:-1;if(d&&c.indexOf===d)return c.indexOf(j);l=0;for(A=c.length;l<A;l++)if(c[l]===j)return l;return-1};a.lastIndexOf=function(c,
j){if(c==null)return-1;if(m&&c.lastIndexOf===m)return c.lastIndexOf(j);for(var l=c.length;l--;)if(c[l]===j)return l;return-1};a.range=function(c,j,l){arguments.length<=1&&(j=c||0,c=0);l=arguments[2]||1;for(var A=Math.max(Math.ceil((j-c)/l),0),C=0,G=Array(A);C<A;){G[C++]=c;c+=l}return G};a.bind=function(c,j){if(c.bind===b&&b)return b.apply(c,F.call(arguments,1));var l=F.call(arguments,2);return function(){return c.apply(j,l.concat(F.call(arguments)))}};a.bindAll=function(c){var j=F.call(arguments,
1);j.length==0&&(j=a.functions(c));k(j,function(l){c[l]=a.bind(c[l],c)});return c};a.memoize=function(c,j){var l={};j||(j=a.identity);return function(){var A=j.apply(this,arguments);return r.call(l,A)?l[A]:l[A]=c.apply(this,arguments)}};a.delay=function(c,j){var l=F.call(arguments,2);return setTimeout(function(){return c.apply(c,l)},j)};a.defer=function(c){return a.delay.apply(a,[c,1].concat(F.call(arguments,1)))};var i=function(c,j,l){var A;return function(){var C=this,G=arguments,J=function(){A=
null;c.apply(C,G)};l&&clearTimeout(A);if(l||!A)A=setTimeout(J,j)}};a.throttle=function(c,j){return i(c,j,false)};a.debounce=function(c,j){return i(c,j,true)};a.once=function(c){var j=false,l;return function(){if(j)return l;j=true;return l=c.apply(this,arguments)}};a.wrap=function(c,j){return function(){var l=[c].concat(F.call(arguments));return j.apply(this,l)}};a.compose=function(){var c=F.call(arguments);return function(){for(var j=F.call(arguments),l=c.length-1;l>=0;l--)j=[c[l].apply(this,j)];
return j[0]}};a.after=function(c,j){return function(){if(--c<1)return j.apply(this,arguments)}};a.keys=o||function(c){if(c!==Object(c))throw new TypeError("Invalid object");var j=[],l;for(l in c)r.call(c,l)&&(j[j.length]=l);return j};a.values=function(c){return a.map(c,a.identity)};a.functions=a.methods=function(c){var j=[],l;for(l in c)a.isFunction(c[l])&&j.push(l);return j.sort()};a.extend=function(c){k(F.call(arguments,1),function(j){for(var l in j)j[l]!==void 0&&(c[l]=j[l])});return c};a.defaults=
function(c){k(F.call(arguments,1),function(j){for(var l in j)c[l]==null&&(c[l]=j[l])});return c};a.clone=function(c){return a.isArray(c)?c.slice():a.extend({},c)};a.tap=function(c,j){j(c);return c};a.isEqual=function(c,j){if(c===j)return true;var l=typeof c;if(l!=typeof j)return false;if(c==j)return true;if(!c&&j||c&&!j)return false;if(c._chain)c=c._wrapped;if(j._chain)j=j._wrapped;if(c.isEqual)return c.isEqual(j);if(j.isEqual)return j.isEqual(c);if(a.isDate(c)&&a.isDate(j))return c.getTime()===j.getTime();
if(a.isNaN(c)&&a.isNaN(j))return false;if(a.isRegExp(c)&&a.isRegExp(j))return c.source===j.source&&c.global===j.global&&c.ignoreCase===j.ignoreCase&&c.multiline===j.multiline;if(l!=="object")return false;if(c.length&&c.length!==j.length)return false;l=a.keys(c);var A=a.keys(j);if(l.length!=A.length)return false;for(var C in c)if(!(C in j)||!a.isEqual(c[C],j[C]))return false;return true};a.isEmpty=function(c){if(a.isArray(c)||a.isString(c))return c.length===0;for(var j in c)if(r.call(c,j))return false;
return true};a.isElement=function(c){return!!(c&&c.nodeType==1)};a.isArray=E||function(c){return n.call(c)==="[object Array]"};a.isObject=function(c){return c===Object(c)};a.isArguments=function(c){return!(!c||!r.call(c,"callee"))};a.isFunction=function(c){return!(!c||!c.constructor||!c.call||!c.apply)};a.isString=function(c){return!!(c===""||c&&c.charCodeAt&&c.substr)};a.isNumber=function(c){return!!(c===0||c&&c.toExponential&&c.toFixed)};a.isNaN=function(c){return c!==c};a.isBoolean=function(c){return c===
true||c===false};a.isDate=function(c){return!(!c||!c.getTimezoneOffset||!c.setUTCFullYear)};a.isRegExp=function(c){return!(!c||!c.test||!c.exec||!(c.ignoreCase||c.ignoreCase===false))};a.isNull=function(c){return c===null};a.isUndefined=function(c){return c===void 0};a.noConflict=function(){u._=D;return this};a.identity=function(c){return c};a.times=function(c,j,l){for(var A=0;A<c;A++)j.call(l,A)};a.mixin=function(c){k(a.functions(c),function(j){B(j,a[j]=c[j])})};var h=0;a.uniqueId=function(c){var j=
h++;return c?c+j:j};a.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};a.template=function(c,j){var l=a.templateSettings;l="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+c.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(l.interpolate,function(A,C){return"',"+C.replace(/\\'/g,"'")+",'"}).replace(l.evaluate||null,function(A,C){return"');"+C.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,
"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";l=new Function("obj",l);return j?l(j):l};var t=function(c){this._wrapped=c};a.prototype=t.prototype;var s=function(c,j){return j?a(c).chain():c},B=function(c,j){t.prototype[c]=function(){var l=F.call(arguments);w.call(l,this._wrapped);return s(j.apply(a,l),this._chain)}};a.mixin(a);k(["pop","push","reverse","shift","sort","splice","unshift"],function(c){var j=q[c];t.prototype[c]=function(){j.apply(this._wrapped,arguments);return s(this._wrapped,
this._chain)}});k(["concat","join","slice"],function(c){var j=q[c];t.prototype[c]=function(){return s(j.apply(this._wrapped,arguments),this._chain)}});t.prototype.chain=function(){this._chain=true;return this};t.prototype.value=function(){return this._wrapped}})();/*
// Backbone.js 0.5.3
// (c) 2010 Jeremy Ashkenas, DocumentCloud Inc.
// Backbone may be freely distributed under the MIT license.
// For all details and documentation:
// http://documentcloud.github.com/backbone
*/
(function(){var u=this,D=u.Backbone,z;z=typeof exports!=="undefined"?exports:u.Backbone={};z.VERSION="0.5.3";var q=u._;if(!q&&typeof require!=="undefined")q=require("underscore")._;var E=u.jQuery||u.Zepto;z.noConflict=function(){u.Backbone=D;return this};z.emulateHTTP=false;z.emulateJSON=false;z.Events={bind:function(b,a,k){var f=this._callbacks||(this._callbacks={});(f[b]||(f[b]=[])).push([a,k]);return this},unbind:function(b,a){var k;if(b){if(k=this._callbacks)if(a){k=k[b];if(!k)return this;for(var f=
0,i=k.length;f<i;f++)if(k[f]&&a===k[f][0]){k[f]=null;break}}else k[b]=[]}else this._callbacks={};return this},trigger:function(b){var a,k,f,i,h=2;if(!(k=this._callbacks))return this;for(;h--;)if(a=h?b:"all",a=k[a])for(var t=0,s=a.length;t<s;t++)(f=a[t])?(i=h?Array.prototype.slice.call(arguments,1):arguments,f[0].apply(f[1]||this,i)):(a.splice(t,1),t--,s--);return this}};z.Model=function(b,a){var k;b||(b={});if(k=this.defaults){q.isFunction(k)&&(k=k.call(this));b=q.extend({},k,b)}this.attributes={};
this._escapedAttributes={};this.cid=q.uniqueId("c");this.set(b,{silent:true});this._changed=false;this._previousAttributes=q.clone(this.attributes);if(a&&a.collection)this.collection=a.collection;this.initialize(b,a)};q.extend(z.Model.prototype,z.Events,{_previousAttributes:null,_changed:false,idAttribute:"id",initialize:function(){},toJSON:function(){return q.clone(this.attributes)},get:function(b){return this.attributes[b]},escape:function(b){var a;if(a=this._escapedAttributes[b])return a;a=this.attributes[b];
return this._escapedAttributes[b]=(a==null?"":""+a).replace(/&(?!\w+;|#\d+;|#x[\da-f]+;)/gi,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},has:function(b){return this.attributes[b]!=null},set:function(b,a){a||(a={});if(!b)return this;if(b.attributes)b=b.attributes;var k=this.attributes,f=this._escapedAttributes;if(!a.silent&&this.validate&&!this._performValidation(b,a))return false;if(this.idAttribute in b)this.id=b[this.idAttribute];
var i=this._changing;this._changing=true;for(var h in b){var t=b[h];if(!q.isEqual(k[h],t)){k[h]=t;delete f[h];this._changed=true;a.silent||this.trigger("change:"+h,this,t,a)}}!i&&!a.silent&&this._changed&&this.change(a);this._changing=false;return this},unset:function(b,a){if(!(b in this.attributes))return this;a||(a={});var k={};k[b]=void 0;if(!a.silent&&this.validate&&!this._performValidation(k,a))return false;delete this.attributes[b];delete this._escapedAttributes[b];b==this.idAttribute&&delete this.id;
this._changed=true;a.silent||(this.trigger("change:"+b,this,void 0,a),this.change(a));return this},clear:function(b){b||(b={});var a,k=this.attributes,f={};for(a in k)f[a]=void 0;if(!b.silent&&this.validate&&!this._performValidation(f,b))return false;this.attributes={};this._escapedAttributes={};this._changed=true;if(!b.silent){for(a in k)this.trigger("change:"+a,this,void 0,b);this.change(b)}return this},fetch:function(b){b||(b={});var a=this,k=b.success;b.success=function(f,i,h){if(!a.set(a.parse(f,
h),b))return false;k&&k(a,f)};b.error=o(b.error,a,b);return(this.sync||z.sync).call(this,"read",this,b)},save:function(b,a){a||(a={});if(b&&!this.set(b,a))return false;var k=this,f=a.success;a.success=function(h,t,s){if(!k.set(k.parse(h,s),a))return false;f&&f(k,h,s)};a.error=o(a.error,k,a);var i=this.isNew()?"create":"update";return(this.sync||z.sync).call(this,i,this,a)},destroy:function(b){b||(b={});if(this.isNew())return this.trigger("destroy",this,this.collection,b);var a=this,k=b.success;b.success=
function(f){a.trigger("destroy",a,a.collection,b);k&&k(a,f)};b.error=o(b.error,a,b);return(this.sync||z.sync).call(this,"delete",this,b)},url:function(){var b=d(this.collection)||this.urlRoot||m();if(this.isNew())return b;return b+(b.charAt(b.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(b){return b},clone:function(){return new this.constructor(this)},isNew:function(){return this.id==null},change:function(b){this.trigger("change",this,b);this._previousAttributes=q.clone(this.attributes);
this._changed=false},hasChanged:function(b){if(b)return this._previousAttributes[b]!=this.attributes[b];return this._changed},changedAttributes:function(b){b||(b=this.attributes);var a=this._previousAttributes,k=false,f;for(f in b)q.isEqual(a[f],b[f])||(k=k||{},k[f]=b[f]);return k},previous:function(b){if(!b||!this._previousAttributes)return null;return this._previousAttributes[b]},previousAttributes:function(){return q.clone(this._previousAttributes)},_performValidation:function(b,a){var k=this.validate(b);
if(k)return a.error?a.error(this,k,a):this.trigger("error",this,k,a),false;return true}});z.Collection=function(b,a){a||(a={});if(a.comparator)this.comparator=a.comparator;q.bindAll(this,"_onModelEvent","_removeReference");this._reset();b&&this.reset(b,{silent:true});this.initialize.apply(this,arguments)};q.extend(z.Collection.prototype,z.Events,{model:z.Model,initialize:function(){},toJSON:function(){return this.map(function(b){return b.toJSON()})},add:function(b,a){if(q.isArray(b))for(var k=0,f=
b.length;k<f;k++)this._add(b[k],a);else this._add(b,a);return this},remove:function(b,a){if(q.isArray(b))for(var k=0,f=b.length;k<f;k++)this._remove(b[k],a);else this._remove(b,a);return this},get:function(b){if(b==null)return null;return this._byId[b.id!=null?b.id:b]},getByCid:function(b){return b&&this._byCid[b.cid||b]},at:function(b){return this.models[b]},sort:function(b){b||(b={});if(!this.comparator)throw Error("Cannot sort a set without a comparator");this.models=this.sortBy(this.comparator);
b.silent||this.trigger("reset",this,b);return this},pluck:function(b){return q.map(this.models,function(a){return a.get(b)})},reset:function(b,a){b||(b=[]);a||(a={});this.each(this._removeReference);this._reset();this.add(b,{silent:true});a.silent||this.trigger("reset",this,a);return this},fetch:function(b){b||(b={});var a=this,k=b.success;b.success=function(f,i,h){a[b.add?"add":"reset"](a.parse(f,h),b);k&&k(a,f)};b.error=o(b.error,a,b);return(this.sync||z.sync).call(this,"read",this,b)},create:function(b,
a){var k=this;a||(a={});b=this._prepareModel(b,a);if(!b)return false;var f=a.success;a.success=function(i,h,t){k.add(i,a);f&&f(i,h,t)};b.save(null,a);return b},parse:function(b){return b},chain:function(){return q(this.models).chain()},_reset:function(){this.length=0;this.models=[];this._byId={};this._byCid={}},_prepareModel:function(b,a){if(b instanceof z.Model){if(!b.collection)b.collection=this}else{var k=b;b=new this.model(k,{collection:this});b.validate&&!b._performValidation(k,a)&&(b=false)}return b},
_add:function(b,a){a||(a={});b=this._prepareModel(b,a);if(!b)return false;var k=this.getByCid(b);if(k)throw Error(["Can't add the same model to a set twice",k.id]);this._byId[b.id]=b;this._byCid[b.cid]=b;this.models.splice(a.at!=null?a.at:this.comparator?this.sortedIndex(b,this.comparator):this.length,0,b);b.bind("all",this._onModelEvent);this.length++;a.silent||b.trigger("add",b,this,a);return b},_remove:function(b,a){a||(a={});b=this.getByCid(b)||this.get(b);if(!b)return null;delete this._byId[b.id];
delete this._byCid[b.cid];this.models.splice(this.indexOf(b),1);this.length--;a.silent||b.trigger("remove",b,this,a);this._removeReference(b);return b},_removeReference:function(b){this==b.collection&&delete b.collection;b.unbind("all",this._onModelEvent)},_onModelEvent:function(b,a,k,f){(b=="add"||b=="remove")&&k!=this||(b=="destroy"&&this._remove(a,f),a&&b==="change:"+a.idAttribute&&(delete this._byId[a.previous(a.idAttribute)],this._byId[a.id]=a),this.trigger.apply(this,arguments))}});q.each(["forEach",
"each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","sortBy","sortedIndex","toArray","size","first","rest","last","without","indexOf","lastIndexOf","isEmpty","groupBy"],function(b){z.Collection.prototype[b]=function(){return q[b].apply(q,[this.models].concat(q.toArray(arguments)))}});z.Router=function(b){b||(b={});if(b.routes)this.routes=b.routes;this._bindRoutes();this.initialize.apply(this,arguments)};
var F=/:([\w\d]+)/g,w=/\*([\w\d]+)/g,n=/[-[\]{}()+?.,\\^$|#\s]/g;q.extend(z.Router.prototype,z.Events,{initialize:function(){},route:function(b,a,k){z.history||(z.history=new z.History);q.isRegExp(b)||(b=this._routeToRegExp(b));z.history.route(b,q.bind(function(f){f=this._extractParameters(b,f);k.apply(this,f);this.trigger.apply(this,["route:"+a].concat(f))},this))},navigate:function(b,a){z.history.navigate(b,a)},_bindRoutes:function(){if(this.routes){var b=[],a;for(a in this.routes)b.unshift([a,
this.routes[a]]);a=0;for(var k=b.length;a<k;a++)this.route(b[a][0],b[a][1],this[b[a][1]])}},_routeToRegExp:function(b){b=b.replace(n,"\\$&").replace(F,"([^/]*)").replace(w,"(.*?)");return RegExp("^"+b+"$")},_extractParameters:function(b,a){return b.exec(a).slice(1)}});z.History=function(){this.handlers=[];q.bindAll(this,"checkUrl")};var r=/^#*/,e=/msie [\w.]+/,y=false;q.extend(z.History.prototype,{interval:50,getFragment:function(b,a){if(b==null)if(this._hasPushState||a){b=window.location.pathname;
var k=window.location.search;k&&(b+=k);b.indexOf(this.options.root)==0&&(b=b.substr(this.options.root.length))}else b=window.location.hash;return decodeURIComponent(b.replace(r,""))},start:function(b){if(y)throw Error("Backbone.history has already been started");this.options=q.extend({},{root:"/"},this.options,b);this._wantsPushState=!!this.options.pushState;this._hasPushState=!(!this.options.pushState||!window.history||!window.history.pushState);b=this.getFragment();var a=document.documentMode;if(a=
e.exec(navigator.userAgent.toLowerCase())&&(!a||a<=7)){this.iframe=E('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(b)}this._hasPushState?E(window).bind("popstate",this.checkUrl):"onhashchange"in window&&!a?E(window).bind("hashchange",this.checkUrl):setInterval(this.checkUrl,this.interval);this.fragment=b;y=true;b=window.location;a=b.pathname==this.options.root;if(this._wantsPushState&&!this._hasPushState&&!a)return this.fragment=this.getFragment(null,
true),window.location.replace(this.options.root+"#"+this.fragment),true;else if(this._wantsPushState&&this._hasPushState&&a&&b.hash){this.fragment=b.hash.replace(r,"");window.history.replaceState({},document.title,b.protocol+"//"+b.host+this.options.root+this.fragment)}if(!this.options.silent)return this.loadUrl()},route:function(b,a){this.handlers.unshift({route:b,callback:a})},checkUrl:function(){var b=this.getFragment();b==this.fragment&&this.iframe&&(b=this.getFragment(this.iframe.location.hash));
if(b==this.fragment||b==decodeURIComponent(this.fragment))return false;this.iframe&&this.navigate(b);this.loadUrl()||this.loadUrl(window.location.hash)},loadUrl:function(b){var a=this.fragment=this.getFragment(b);return q.any(this.handlers,function(k){if(k.route.test(a))return k.callback(a),true})},navigate:function(b,a){var k=(b||"").replace(r,"");if(!(this.fragment==k||this.fragment==decodeURIComponent(k))){if(this._hasPushState){var f=window.location;k.indexOf(this.options.root)!=0&&(k=this.options.root+
k);this.fragment=k;window.history.pushState({},document.title,f.protocol+"//"+f.host+k)}else if(window.location.hash=this.fragment=k,this.iframe&&k!=this.getFragment(this.iframe.location.hash)){this.iframe.document.open().close();this.iframe.location.hash=k}a&&this.loadUrl(b)}}});z.View=function(b){this.cid=q.uniqueId("view");this._configure(b||{});this._ensureElement();this.delegateEvents();this.initialize.apply(this,arguments)};var g=/^(\S+)\s*(.*)$/,p=["model","collection","el","id","attributes",
"className","tagName"];q.extend(z.View.prototype,z.Events,{tagName:"div",$:function(b){return E(b,this.el)},initialize:function(){},render:function(){return this},remove:function(){E(this.el).remove();return this},make:function(b,a,k){b=document.createElement(b);a&&E(b).attr(a);k&&E(b).html(k);return b},delegateEvents:function(b){if(b||(b=this.events))for(var a in q.isFunction(b)&&(b=b.call(this)),E(this.el).unbind(".delegateEvents"+this.cid),b){var k=this[b[a]];if(!k)throw Error('Event "'+b[a]+'" does not exist');
var f=a.match(g),i=f[1];f=f[2];k=q.bind(k,this);i+=".delegateEvents"+this.cid;f===""?E(this.el).bind(i,k):E(this.el).delegate(f,i,k)}},_configure:function(b){this.options&&(b=q.extend({},this.options,b));for(var a=0,k=p.length;a<k;a++){var f=p[a];b[f]&&(this[f]=b[f])}this.options=b},_ensureElement:function(){if(this.el){if(q.isString(this.el))this.el=E(this.el).get(0)}else{var b=this.attributes||{};if(this.id)b.id=this.id;if(this.className)b["class"]=this.className;this.el=this.make(this.tagName,
b)}}});z.Model.extend=z.Collection.extend=z.Router.extend=z.View.extend=function(b,a){var k=H(this,b,a);k.extend=this.extend;return k};var v={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};z.sync=function(b,a,k){var f=v[b];k=q.extend({type:f,dataType:"json"},k);if(!k.url)k.url=d(a)||m();if(!k.data&&a&&(b=="create"||b=="update")){k.contentType="application/json";k.data=JSON.stringify(a.toJSON())}if(z.emulateJSON){k.contentType="application/x-www-form-urlencoded";k.data=k.data?{model:k.data}:
{}}if(z.emulateHTTP&&(f==="PUT"||f==="DELETE")){if(z.emulateJSON)k.data._method=f;k.type="POST";k.beforeSend=function(i){i.setRequestHeader("X-HTTP-Method-Override",f)}}if(k.type!=="GET"&&!z.emulateJSON)k.processData=false;return E.ajax(k)};var x=function(){},H=function(b,a,k){var f;f=a&&a.hasOwnProperty("constructor")?a.constructor:function(){return b.apply(this,arguments)};q.extend(f,b);x.prototype=b.prototype;f.prototype=new x;a&&q.extend(f.prototype,a);k&&q.extend(f,k);f.prototype.constructor=
f;f.__super__=b.prototype;return f},d=function(b){if(!b||!b.url)return null;return q.isFunction(b.url)?b.url():b.url},m=function(){throw Error('A "url" property or function must be specified');},o=function(b,a,k){return function(f){b?b(a,f,k):a.trigger("error",a,f,k)}}}).call(this);/*
jQuery Templates Plugin 1.0.0pre
http://github.com/jquery/jquery-tmpl
Requires jQuery 1.4.2
Copyright Software Freedom Conservancy, Inc.
Dual licensed under the MIT or GPL Version 2 licenses.
http://jquery.org/license
*/
(function(u){function D(i,h,t,s){s={data:s||s===0||s===false?s:h?h.data:{},_wrap:h?h._wrap:null,tmpl:null,parent:h||null,nodes:[],calls:r,nest:e,wrap:y,html:g,update:p};i&&u.extend(s,i,{nodes:[],parent:h});if(t){s.tmpl=t;s._ctnt=s._ctnt||s.tmpl(u,s);s.key=++a;(f.length?m:d)[a]=s}return s}function z(i,h,t){var s;t=t?u.map(t,function(B){return typeof B==="string"?i.key?B.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+x+'="'+i.key+'" $2'):B:z(B,i,B._ctnt)}):i;if(h)return t;t=t.join("");t.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,
function(B,c,j,l){s=u(j).get();n(s);if(c)s=q(c).concat(s);if(l)s=s.concat(q(l))});return s?s:q(t)}function q(i){var h=document.createElement("div");h.innerHTML=i;return u.makeArray(h.childNodes)}function E(i){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+u.trim(i).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,
function(h,t,s,B,c,j,l){h=u.tmpl.tag[s];if(!h)throw"Unknown template tag: "+s;s=h._default||[];if(j&&!/\w$/.test(c)){c+=j;j=""}if(c){c=w(c);l=l?","+w(l)+")":j?")":"";l=j?c.indexOf(".")>-1?c+w(j):"("+c+").call($item"+l:c;j=j?l:"(typeof("+c+")==='function'?("+c+").call($item):("+c+"))"}else j=l=s.$1||"null";B=w(B);return"');"+h[t?"close":"open"].split("$notnull_1").join(c?"typeof("+c+")!=='undefined' && ("+c+")!=null":"true").split("$1a").join(j).split("$1").join(l).split("$2").join(B||s.$2||"")+"__.push('"})+
"');}return __;")}function F(i,h){i._wrap=z(i,true,u.isArray(h)?h:[H.test(h)?h:u(h).html()]).join("")}function w(i){return i?i.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function n(i){function h(C){function G(N){N+=t;I=c[N]=c[N]||D(I,d[I.parent.key+t]||I.parent)}var J,K=C,I,O;if(O=C.getAttribute(x)){for(;K.parentNode&&(K=K.parentNode).nodeType===1&&!(J=K.getAttribute(x)););if(J!==O){K=K.parentNode?K.nodeType===11?0:K.getAttribute(x)||0:0;if(!(I=d[O])){I=m[O];I=D(I,d[K]||m[K]);I.key=++a;d[a]=I}k&&
G(O)}C.removeAttribute(x)}else if(k&&(I=u.data(C,"tmplItem"))){G(I.key);d[I.key]=I;K=(K=u.data(C.parentNode,"tmplItem"))?K.key:0}if(I){for(J=I;J&&J.key!=K;){J.nodes.push(C);J=J.parent}delete I._ctnt;delete I._wrap;u.data(C,"tmplItem",I)}}var t="_"+k,s,B,c={},j,l,A;j=0;for(l=i.length;j<l;j++)if((s=i[j]).nodeType===1){B=s.getElementsByTagName("*");for(A=B.length-1;A>=0;A--)h(B[A]);h(s)}}function r(i,h,t,s){if(!i)return f.pop();f.push({_:i,tmpl:h,item:this,data:t,options:s})}function e(i,h,t){return u.tmpl(u.template(i),
h,t,this)}function y(i,h){var t=i.options||{};t.wrapped=h;return u.tmpl(u.template(i.tmpl),i.data,t,i.item)}function g(i,h){var t=this._wrap;return u.map(u(u.isArray(t)?t.join(""):t).filter(i||"*"),function(s){if(h)s=s.innerText||s.textContent;else{var B;if(!(B=s.outerHTML)){B=document.createElement("div");B.appendChild(s.cloneNode(true));B=B.innerHTML}s=B}return s})}function p(){var i=this.nodes;u.tmpl(null,null,null,this).insertBefore(i[0]);u(i).remove()}var v=u.fn.domManip,x="_tmplitem",H=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,
d={},m={},o,b={key:0,data:{}},a=0,k=0,f=[];u.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(i,h){u.fn[i]=function(t){var s=[];t=u(t);var B,c,j;B=this.length===1&&this[0].parentNode;o=d||{};if(B&&B.nodeType===11&&B.childNodes.length===1&&t.length===1){t[h](this[0]);s=this}else{c=0;for(j=t.length;c<j;c++){k=c;B=(c>0?this.clone(true):this).get();u(t[c])[h](B);s=s.concat(B)}k=0;s=this.pushStack(s,i,t.selector)}t=o;o=null;u.tmpl.complete(t);
return s}});u.fn.extend({tmpl:function(i,h,t){return u.tmpl(this[0],i,h,t)},tmplItem:function(){return u.tmplItem(this[0])},template:function(i){return u.template(i,this[0])},domManip:function(i,h,t){if(i[0]&&u.isArray(i[0])){for(var s=u.makeArray(arguments),B=i[0],c=B.length,j=0,l;j<c&&!(l=u.data(B[j++],"tmplItem")););if(l&&k)s[2]=function(A){u.tmpl.afterManip(this,A,t)};v.apply(this,s)}else v.apply(this,arguments);k=0;o||u.tmpl.complete(d);return this}});u.extend({tmpl:function(i,h,t,s){var B=!s;
if(B){s=b;i=u.template[i]||u.template(null,i);m={}}else if(!i){i=s.tmpl;d[s.key]=s;s.nodes=[];s.wrapped&&F(s,s.wrapped);return u(z(s,null,s.tmpl(u,s)))}if(!i)return[];if(typeof h==="function")h=h.call(s||{});t&&t.wrapped&&F(t,t.wrapped);h=u.isArray(h)?u.map(h,function(c){return c?D(t,s,i,c):null}):[D(t,s,i,h)];return B?u(z(s,null,h)):h},tmplItem:function(i){var h;if(i instanceof u)i=i[0];for(;i&&i.nodeType===1&&!(h=u.data(i,"tmplItem"))&&(i=i.parentNode););return h||b},template:function(i,h){if(h){if(typeof h===
"string")h=E(h);else if(h instanceof u)h=h[0]||{};if(h.nodeType)h=u.data(h,"tmpl")||u.data(h,"tmpl",E(h.innerHTML));return typeof i==="string"?u.template[i]=h:h}return i?typeof i!=="string"?u.template(null,i):u.template[i]||u.template(null,H.test(i)?i:u(i)):null},encode:function(i){return(""+i).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}});u.extend(u.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},
wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){d=
{}},afterManip:function(i,h,t){var s=h.nodeType===11?u.makeArray(h.childNodes):h.nodeType===1?[h]:[];t.call(i,h);n(s);k++}})})(jQuery);/*
JavaScript Debug - v0.4 - 6/22/2010
http://benalman.com/projects/javascript-debug-console-log/
Copyright (c) 2010 "Cowboy" Ben Alman
Dual licensed under the MIT and GPL licenses.
http://benalman.com/about/license/
With lots of help from Paul Irish!
http://paulirish.com/
*/
window.debug=function(){function u(p){if(F&&(w||!q||!q.log))F.apply(D,p)}for(var D=this,z=Array.prototype.slice,q=D.console,E={},F,w,n=9,r=["error","warn","info","debug","log"],e="assert clear count dir dirxml exception group groupCollapsed groupEnd profile profileEnd table time timeEnd trace".split(" "),y=e.length,g=[];--y>=0;)(function(p){E[p]=function(){n!==0&&q&&q[p]&&q[p].apply(q,arguments)}})(e[y]);for(y=r.length;--y>=0;)(function(p,v){E[v]=function(){var x=z.call(arguments),H=[v].concat(x);
g.push(H);u(H);if(q&&(n>0?n>p:r.length+n<=p))q.firebug?q[v].apply(D,x):q[v]?q[v](x):q.log(x)}})(y,r[y]);E.setLevel=function(p){n=typeof p==="number"?p:9};E.setCallback=function(){var p=z.call(arguments),v=g.length,x=v;F=p.shift()||null;w=typeof p[0]==="boolean"?p.shift():false;for(x-=typeof p[0]==="number"?p.shift():v;x<v;)u(g[x++])};return E}();(function(u){var D=u("<b/>");u.subscribe=function(z,q){function E(){return q.apply(this,Array.prototype.slice.call(arguments,1))}E.guid=q.guid=q.guid||(u.guid?u.guid++:u.event.guid++);D.bind(z,E)};u.unsubscribe=function(){D.unbind.apply(D,arguments)};u.publish=function(){D.trigger.apply(D,arguments)}})(jQuery);/*
Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
Licensed under the MIT License (LICENSE.txt).
Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
Thanks to: Seamus Leahy for adding deltaX and deltaY
Version: 3.0.6
Requires: 1.2.2+
*/
(function(u){function D(E){var F=E||window.event,w=[].slice.call(arguments,1),n=0,r=0,e=0;return E=u.event.fix(F),E.type="mousewheel",F.detail&&(n=-F.detail/3),F.wheelDeltaY!==undefined&&(e=F.wheelDeltaY/120),F.wheelDeltaX!==undefined&&(r=-1*F.wheelDeltaX/120),w.unshift(E,n,r,e),(u.event.dispatch||u.event.handle).apply(this,w)}var z=["DOMMouseScroll","mousewheel"];if(u.event.fixHooks)for(var q=z.length;q;)u.event.fixHooks[z[--q]]=u.event.mouseHooks;u.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var E=
z.length;E;)this.addEventListener(z[--E],D,false);else this.onmousewheel=D},teardown:function(){if(this.removeEventListener)for(var E=z.length;E;)this.removeEventListener(z[--E],D,false);else this.onmousewheel=null}};u.fn.extend({mousewheel:function(E){return E?this.bind("mousewheel",E):this.trigger("mousewheel")},unmousewheel:function(E){return this.unbind("mousewheel",E)}})})(jQuery);/*
jQuery.UI.iPad plugin
Copyright (c) 2010 Stephen von Takach
licensed under MIT.
Date: 27/8/2010
Project Home:
http://code.google.com/p/jquery-ui-for-ipad-and-iphone/
*/
$(function(){$.extend($.support,{touch:"ontouchend"in document});$.fn.addTouch=function(){$.support.touch&&this.each(function(u,D){D.addEventListener("touchstart",iPadTouchHandler,false);D.addEventListener("touchmove",iPadTouchHandler,false);D.addEventListener("touchend",iPadTouchHandler,false);D.addEventListener("touchcancel",iPadTouchHandler,false)})}});var lastTap=null,tapValid=false,tapTimeout=null;function cancelTap(){tapValid=false}
var rightClickPending=false,rightClickEvent=null,holdTimeout=null,cancelMouseUp=false;function cancelHold(){if(rightClickPending){window.clearTimeout(holdTimeout);rightClickPending=false;rightClickEvent=null}}function startHold(u){if(!rightClickPending){rightClickPending=true;rightClickEvent=u.changedTouches[0];holdTimeout=window.setTimeout("doRightClick();",800)}}
function doRightClick(){rightClickPending=false;var u=rightClickEvent,D=document.createEvent("MouseEvent");D.initMouseEvent("mouseup",true,true,window,1,u.screenX,u.screenY,u.clientX,u.clientY,false,false,false,false,0,null);u.target.dispatchEvent(D);D=document.createEvent("MouseEvent");D.initMouseEvent("mousedown",true,true,window,1,u.screenX,u.screenY,u.clientX,u.clientY,false,false,false,false,2,null);u.target.dispatchEvent(D);D=document.createEvent("MouseEvent");D.initMouseEvent("contextmenu",
true,true,window,1,u.screenX+50,u.screenY+5,u.clientX+50,u.clientY+5,false,false,false,false,2,null);u.target.dispatchEvent(D);cancelMouseUp=true;rightClickEvent=null}
function iPadTouchStart(u){var D=u.changedTouches[0],z="mouseover",q=document.createEvent("MouseEvent");q.initMouseEvent(z,true,true,window,1,D.screenX,D.screenY,D.clientX,D.clientY,false,false,false,false,0,null);D.target.dispatchEvent(q);z="mousedown";q=document.createEvent("MouseEvent");q.initMouseEvent(z,true,true,window,1,D.screenX,D.screenY,D.clientX,D.clientY,false,false,false,false,0,null);D.target.dispatchEvent(q);if(tapValid){window.clearTimeout(tapTimeout);if(D.target==lastTap){lastTap=
null;tapValid=false;z="click";q=document.createEvent("MouseEvent");q.initMouseEvent(z,true,true,window,1,D.screenX,D.screenY,D.clientX,D.clientY,false,false,false,false,0,null);D.target.dispatchEvent(q);z="dblclick";q=document.createEvent("MouseEvent");q.initMouseEvent(z,true,true,window,1,D.screenX,D.screenY,D.clientX,D.clientY,false,false,false,false,0,null);D.target.dispatchEvent(q)}else{lastTap=D.target;tapValid=true;tapTimeout=window.setTimeout("cancelTap();",600);startHold(u)}}else{lastTap=
D.target;tapValid=true;tapTimeout=window.setTimeout("cancelTap();",600);startHold(u)}}
function iPadTouchHandler(u){var D="";if(!(u.touches.length>1)){switch(u.type){case "touchstart":if($(u.changedTouches[0].target).is("select"))return;iPadTouchStart(u);u.preventDefault();return false;case "touchmove":cancelHold();D="mousemove";u.preventDefault();break;case "touchend":if(cancelMouseUp){cancelMouseUp=false;u.preventDefault();return false}cancelHold();D="mouseup";break;default:return}u=u.changedTouches[0];var z=document.createEvent("MouseEvent");z.initMouseEvent(D,true,true,window,1,
u.screenX,u.screenY,u.clientX,u.clientY,false,false,false,false,0,null);u.target.dispatchEvent(z);if(D=="mouseup"&&tapValid&&u.target==lastTap){z=document.createEvent("MouseEvent");z.initMouseEvent("click",true,true,window,1,u.screenX,u.screenY,u.clientX,u.clientY,false,false,false,false,0,null);u.target.dispatchEvent(z)}}};(function(){function u(f){return(f+"").replace(m,"")}function D(f,i,h){for(var t=f.length;t<i;t++)f=h?"0"+f:f+"0";return f}function z(f){return k.call(f)==="[object Array]"}function q(f,i){if(f.indexOf)return f.indexOf(i);for(var h=0,t=f.length;h<t;h++)if(f[h]===i)return h;return-1}function E(f,i,h){var t=i["-"];i=i["+"];var s;switch(h){case "n -":t=" "+t;i=" "+i;case "n-":if(f.substr(f.length-t.length)===t)s=["-",f.substr(0,f.length-t.length)];else if(f.substr(f.length-i.length)===i)s=["+",f.substr(0,
f.length-i.length)];break;case "- n":t+=" ";i+=" ";case "-n":if(f.indexOf(t)===0)s=["-",f.substr(t.length)];else if(f.indexOf(i)===0)s=["+",f.substr(i.length)];break;case "(n)":if(f.indexOf("(")===0&&f.substr(f.length-1)===")")s=["-",f.substr(1,f.length-2)]}return s||["",f]}function F(f,i){if(!i)return 0;for(var h,t=f.getTime(),s=0,B=i.length;s<B;s++){h=i[s].start;if(h===null||t>=h)return s}return 0}function w(f){return f.split("\u00a0").join(" ").toUpperCase()}function n(f){for(var i=[],h=0,t=f.length;h<
t;h++)i[h]=w(f[h]);return i}function r(f,i,h,t){f=f.getFullYear();if(!t&&i.eras)f-=i.eras[h].offset;return f}function e(f,i){for(var h=0,t=false,s=0,B=f.length;s<B;s++){var c=f.charAt(s);switch(c){case "'":if(t)i.push("'");else h++;t=false;break;case "\\":t&&i.push("\\");t=!t;break;default:i.push(c);t=false}}return h}function y(f,i){i=i||"F";var h;h=f.patterns;var t=i.length;if(t===1){h=h[i];if(!h)throw"Invalid date format string '"+i+"'.";i=h}else if(t===2&&i.charAt(0)==="%")i=i.charAt(1);return i}
function g(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g}function p(f,i,h){f=u(f);h=h.calendar;a:{var t=h._parseRegExp;if(t){var s=t[i];if(s){i=s;break a}}else h._parseRegExp=t={};s=y(h,i).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");for(var B=["^"],c=[],j=0,l=0,A=g(),C;(C=A.exec(s))!==null;){var G=s.slice(j,C.index);j=A.lastIndex;l+=e(G,B);if(l%2)B.push(C[0]);else{G=C[0];var J=G.length;switch(G){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":G=
"(\\D+)";break;case "tt":case "t":G="(\\D*)";break;case "yyyy":case "fff":case "ff":case "f":G="(\\d{"+J+"})";break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":G="(\\d\\d?)";break;case "zzz":G="([+-]?\\d\\d?:\\d{2})";break;case "zz":case "z":G="([+-]?\\d\\d?)";break;case "/":G="(\\"+h["/"]+")";break;default:throw"Invalid date format pattern '"+G+"'.";}G&&B.push(G);c.push(C[0])}}e(s.slice(j),B);B.push("$");s={regExp:B.join("").replace(/\s+/g,
"\\s+"),groups:c};i=t[i]=s}l=RegExp(i.regExp).exec(f);if(l===null)return null;A=i.groups;var K=f=null,I=null,O=i=null;c=B=s=t=0;C=null;j=false;G=0;for(J=A.length;G<J;G++){var N=l[G+1];if(N){var P=A[G],L=P.length,M=parseInt(N,10);switch(P){case "dd":case "d":i=M;if(i<1||i>31)return null;break;case "MMM":case "MMMM":I=h;L=L===3;P=I.months;var Q=I.monthsGenitive||I.months,R=I._upperMonths;M=I._upperMonthsGen;if(!R){I._upperMonths=R=[n(P.names),n(P.namesAbbr)];I._upperMonthsGen=M=[n(Q.names),n(Q.namesAbbr)]}N=
w(N);I=q(L?R[1]:R[0],N);if(I<0)I=q(L?M[1]:M[0],N);if(I<0||I>11)return null;break;case "M":case "MM":I=M-1;if(I<0||I>11)return null;break;case "y":case "yy":case "yyyy":if(L<4){K=h;N=M;M=new Date;P=F(M);if(N<100){L=K.twoDigitYearMax;L=typeof L==="string"?(new Date).getFullYear()%100+parseInt(L,10):L;K=r(M,K,P);N+=K-K%100;if(N>L)N-=100}K=N}else K=M;if(K<0||K>9999)return null;break;case "h":case "hh":t=M;if(t===12)t=0;if(t<0||t>11)return null;break;case "H":case "HH":t=M;if(t<0||t>23)return null;break;
case "m":case "mm":s=M;if(s<0||s>59)return null;break;case "s":case "ss":B=M;if(B<0||B>59)return null;break;case "tt":case "t":j=h.PM&&(N===h.PM[0]||N===h.PM[1]||N===h.PM[2]);if(!j&&(!h.AM||N!==h.AM[0]&&N!==h.AM[1]&&N!==h.AM[2]))return null;break;case "f":case "ff":case "fff":c=M*Math.pow(10,3-L);if(c<0||c>999)return null;break;case "ddd":case "dddd":O=N;N=L===3;M=void 0;M=h.days;L=h._upperDays;if(!L)h._upperDays=L=[n(M.names),n(M.namesAbbr),n(M.namesShort)];O=w(O);if(N){M=q(L[1],O);if(M===-1)M=q(L[2],
O)}else M=q(L[0],O);O=M;if(O<0||O>6)return null;break;case "zzz":L=N.split(/:/);if(L.length!==2)return null;C=parseInt(L[0],10);if(C<-12||C>13)return null;L=parseInt(L[1],10);if(L<0||L>59)return null;C=C*60+(N.indexOf("-")===0?-L:L);break;case "z":case "zz":C=M;if(C<-12||C>13)return null;C*=60;break;case "g":case "gg":if(!N||!h.eras)return null;N=u(N.toLowerCase());L=0;for(M=h.eras.length;L<M;L++)if(N===h.eras[L].name.toLowerCase()){f=L;break}if(f===null)return null}}}l=new Date;A=(G=h.convert)?G.fromGregorian(l)[0]:
l.getFullYear();if(K===null)K=A;else if(h.eras)K+=h.eras[f||0].offset;if(I===null)I=0;if(i===null)i=1;if(G){l=G.toGregorian(K,I,i);if(l===null)return null}else{l.setFullYear(K,I,i);if(l.getDate()!==i)return null;if(O!==null&&l.getDay()!==O)return null}if(j&&t<12)t+=12;l.setHours(t,s,B,c);if(C!==null){h=l.getMinutes()-(C+l.getTimezoneOffset());l.setHours(l.getHours()+parseInt(h/60,10),h%60)}return l}function v(f,i,h){function t(L,M){var Q;Q=L+"";if(M>1&&Q.length<M){Q=G[M-2]+Q;return Q.substr(Q.length-
M,M)}return Q}function s(){if(J||K)return J;J=I.test(i);K=true;return J}function B(L,M){if(P)return P[M];switch(M){case 0:return L.getFullYear();case 1:return L.getMonth();case 2:return L.getDate()}}var c=h.calendar,j=c.convert;if(!i||!i.length||i==="i"){if(h&&h.name.length)if(j)h=v(f,c.patterns.F,h);else{h=new Date(f.getTime());var l=F(f,c.eras);h.setFullYear(r(f,c,l));h=h.toLocaleString()}else h=f.toString();return h}l=c.eras;var A=i==="s";i=y(c,i);h=[];var C,G=["0","00","000"],J,K,I=/([^d]|^)(d|dd)([^d]|$)/g,
O=0,N=g(),P;if(!A&&j)P=j.fromGregorian(f);for(;;){C=N.lastIndex;j=N.exec(i);C=i.slice(C,j?j.index:i.length);O+=e(C,h);if(!j)break;if(O%2)h.push(j[0]);else{C=j[0];j=C.length;switch(C){case "ddd":case "dddd":h.push((j===3?c.days.namesAbbr:c.days.names)[f.getDay()]);break;case "d":case "dd":J=true;h.push(t(B(f,2),j));break;case "MMM":case "MMMM":C=B(f,1);h.push(c.monthsGenitive&&s()?c.monthsGenitive[j===3?"namesAbbr":"names"][C]:c.months[j===3?"namesAbbr":"names"][C]);break;case "M":case "MM":h.push(t(B(f,
1)+1,j));break;case "y":case "yy":case "yyyy":C=P?P[0]:r(f,c,F(f,l),A);if(j<4)C%=100;h.push(t(C,j));break;case "h":case "hh":C=f.getHours()%12;if(C===0)C=12;h.push(t(C,j));break;case "H":case "HH":h.push(t(f.getHours(),j));break;case "m":case "mm":h.push(t(f.getMinutes(),j));break;case "s":case "ss":h.push(t(f.getSeconds(),j));break;case "t":case "tt":C=f.getHours()<12?c.AM?c.AM[0]:" ":c.PM?c.PM[0]:" ";h.push(j===1?C.charAt(0):C);break;case "f":case "ff":case "fff":h.push(t(f.getMilliseconds(),3).substr(0,
j));break;case "z":case "zz":C=f.getTimezoneOffset()/60;h.push((C<=0?"+":"-")+t(Math.floor(Math.abs(C)),j));break;case "zzz":C=f.getTimezoneOffset()/60;h.push((C<=0?"+":"-")+t(Math.floor(Math.abs(C)),2)+":"+t(Math.abs(f.getTimezoneOffset()%60),2));break;case "g":case "gg":c.eras&&h.push(c.eras[F(f,l)].name);break;case "/":h.push(c["/"]);break;default:throw"Invalid date format pattern '"+C+"'.";}}}return h.join("")}var x={},H={en:{}};H["default"]=H.en;x.extend=function(f){for(var i=arguments[1]||{},
h=2,t=arguments.length;h<t;h++){var s=arguments[h];if(s)for(var B in s){var c=s[B];if(typeof c!=="undefined")if(f&&(k.call(c)==="[object Object]"||z(c))){var j=i[B];j=j&&(k.call(j)==="[object Object]"||z(j))?j:z(c)?[]:{};i[B]=this.extend(true,j,c)}else i[B]=c}}return i};x.findClosestCulture=function(f){var i;if(!f)return this.culture||this.cultures["default"];if(k.call(f)==="[object String]")f=f.split(",");if(z(f)){var h,t=this.cultures,s=f,B,c=s.length,j=[];for(B=0;B<c;B++){f=u(s[B]);f=f.split(";");
h=u(f[0]);if(f.length===1)f=1;else{f=u(f[1]);if(f.indexOf("q=")===0){f=f.substr(2);f=parseFloat(f,10);f=isNaN(f)?0:f}else f=1}j.push({lang:h,pri:f})}j.sort(function(A,C){return A.pri<C.pri?1:-1});for(B=0;B<c;B++){h=j[B].lang;if(i=t[h])return i}for(B=0;B<c;B++){h=j[B].lang;do{s=h.lastIndexOf("-");if(s===-1)break;h=h.substr(0,s);if(i=t[h])return i}while(1)}for(B=0;B<c;B++){h=j[B].lang;for(var l in t){s=t[l];if(s.language==h)return s}}}else if(typeof f==="object")return f;return i||null};x.preferCulture=
function(f){this.culture=this.findClosestCulture(f)||this.cultures["default"]};x.localize=function(f,i,h){if(typeof i!=="string")i=this.culture.name||this.culture||"default";i=this.cultures[i]||{name:i};var t=H[i.name];if(arguments.length===3){t||(t=H[i.name]={});t[f]=h}else{if(t)h=t[f];if(typeof h==="undefined"){if(t=H[i.language])h=t[f];if(typeof h==="undefined")h=H["default"][f]}}return typeof h==="undefined"?null:h};x.format=function(f,i,h){h=this.findClosestCulture(h);if(typeof f==="number"){var t=
f;if(!i||i==="i")f=h.name.length?t.toLocaleString():t.toString();else{i=i||"D";h=h.numberFormat;f=Math.abs(t);var s=-1;if(i.length>1)s=parseInt(i.slice(1),10);var B=i.charAt(0).toUpperCase(),c;switch(B){case "D":i="n";if(s!==-1)f=D(""+f,s,true);if(t<0)f=-f;break;case "N":c=h;case "C":c=c||h.currency;case "P":c=c||h.percent;i=t<0?c.pattern[0]:c.pattern[1]||"n";if(s===-1)s=c.decimals;b:{var j=f*(B==="P"?100:1);B=c;c=B.groupSizes;f=c[0];t=1;var l=Math.pow(10,s),A=Math.round(j*l)/l;isFinite(A)||(A=j);
l="";l=(A+"").split(/e/i);A=l.length>1?parseInt(l[1],10):0;j=l[0];l=j.split(".");j=l[0];l=l.length>1?l[1]:"";if(A>0){l=D(l,A,false);j+=l.slice(0,A);l=l.substr(A)}else if(A<0){A=-A;j=D(j,A+1);l=j.slice(-A,j.length)+l;j=j.slice(0,-A)}l=s>0?B["."]+(l.length>s?l.slice(0,s):D(l,s)):"";s=j.length-1;B=B[","];for(A="";s>=0;){if(f===0||f>s){f=j.slice(0,s+1)+(A.length?B+A+l:l);break b}A=j.slice(s-f+1,s+1)+(A.length?B+A:"");s-=f;if(t<c.length){f=c[t];t++}}f=j.slice(0,s+1)+B+A+l}break;default:throw"Bad number format specifier: "+
B;}c=/n|\$|-|%/g;for(t="";;){s=c.lastIndex;B=c.exec(i);t+=i.slice(s,B?B.index:i.length);if(!B)break;switch(B[0]){case "n":t+=f;break;case "$":t+=h.currency.symbol;break;case "-":if(/[1-9]/.test(f))t+=h["-"];break;case "%":t+=h.percent.symbol}}f=t}}else if(f instanceof Date)f=v(f,i,h);return f};x.parseInt=function(f,i,h){return Math.floor(this.parseFloat(f,i,h))};x.parseFloat=function(f,i,h){if(typeof i==="string"){h=i;i=10}h=this.findClosestCulture(h);var t=NaN,s=h.numberFormat;if(f.indexOf(h.numberFormat.currency.symbol)>
-1){f=f.replace(h.numberFormat.currency.symbol,"");f=f.replace(h.numberFormat.currency["."],h.numberFormat["."])}f=u(f);if(o.test(f))t=parseFloat(f,i);else if(!i&&b.test(f))t=parseInt(f,16);else{h=E(f,s,s.pattern[0]);i=h[0];h=h[1];if(i===""&&s.pattern[0]!=="-n"){h=E(f,s,"-n");i=h[0];h=h[1]}i=i||"+";var B;f=h.indexOf("e");if(f<0)f=h.indexOf("E");if(f<0){B=h;f=null}else{B=h.substr(0,f);f=h.substr(f+1)}var c=s["."],j=B.indexOf(c);if(j<0){h=B;B=null}else{h=B.substr(0,j);B=B.substr(j+c.length)}c=s[","];
h=h.split(c).join("");j=c.replace(/\u00A0/g," ");if(c!==j)h=h.split(j).join("");i+=h;if(B!==null)i+="."+B;if(f!==null){s=E(f,s,"-n");i+="e"+(s[0]||"+")+s[1]}if(a.test(i))t=parseFloat(i)}return t};x.parseDate=function(f,i,h){h=this.findClosestCulture(h);var t,s;if(i){if(typeof i==="string")i=[i];if(i.length){s=0;for(var B=i.length;s<B;s++){var c=i[s];if(c)if(t=p(f,c,h))break}}}else{i=h.calendar.patterns;for(s in i)if(t=p(f,i[s],h))break}return t||null};var d=x.cultures=x.cultures||{};d=d["default"]=
d.en=x.extend(true,{name:"en",englishName:"English",nativeName:"English",isRTL:false,language:"en",numberFormat:{pattern:["-n"],decimals:2,",":",",".":".",groupSizes:[3],"+":"+","-":"-",percent:{pattern:["-n %","n %"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"%"},currency:{pattern:["($n)","$n"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"$"}},calendars:{standard:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday",
"Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",
f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss"}}}},d.en);d.calendar=d.calendar||d.calendars.standard;var m=/^\s+|\s+$/g,o=/^[+-]?infinity$/i,b=/^0x[a-f0-9]+$/i,a=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/,k=Object.prototype.toString;jQuery.global=x})();timeglider=window.timeglider||{version:"0.1.0"};timeglider.TG_Date={};
(function(u){function D(g){return parseInt(g,10)}function z(g){var p=parseInt(g,10);return p>9||p<0?String(g):"0"+p}u=timeglider;var q=jQuery,E={},F={},w={},n={},r={},e=/^(\-?\d+)?(\-\d{1,2})?(\-\d{1,2})?(?:T| )?(\d{1,2})?(?::)?(\d{1,2})?(?::)?(\d{1,2})?(\+|\-)?(\d{1,2})?(?::)?(\d{1,2})?/;u.TG_Date=function(g,p,v){var x,H,d;v=v||0;if(typeof g=="number"){x=H=y.getDateFromSec(g);d=g+v}else if(typeof g!=="object"){if(g=="today")g=y.getToday();x=H=g}if(e.test(x)){g=y.parse8601(x);if(g.tz_ho)g=y.toFromUTC(g,
{hours:g.tz_ho,minutes:g.tz_mi},"to");q.extend(this,g);this.rd=y.getRataDie(this);this.mo_num=this.ye>0?(this.ye-1)*12+this.mo:-1*((Math.abs(this.ye)-1)*12+(12-(this.mo-1)));this.sec=d||(this.rd>0?1:-1)*(Math.abs(this.rd)*86400+this.ho*3600+(this.mi-1)*60);this.date_display=p?p.toLowerCase().substr(0,2):"da";this.dateStr=H}else return{error:"invalid date"};return this};var y=u.TG_Date;y.getTimeUnitSerial=function(g,p){var v=0,x;x=g.ye<0?Math.ceil:Math.floor;switch(p){case "da":v=g.rd;break;case "mo":v=
g.mo_num;break;case "ye":v=g.ye;break;case "de":v=x(g.ye/10);break;case "ce":v=x(g.ye/100);break;case "thou":v=x(g.ye/1E3);break;case "tenthou":v=x(g.ye/1E4);break;case "hundredthou":v=x(g.ye/1E5);break;case "mill":v=x(g.ye/1E6);break;case "tenmill":v=x(g.ye/1E7);break;case "hundredmill":v=x(g.ye/1E8);break;case "bill":v=x(g.ye/1E9)}return v};y.getMonthDays=function(g,p){return y.isLeapYear(p)==true&&g==2?29:y.monthsDayNums[g]};y.twentyFourToTwelve=function(g){var p={};p.ye=g.ye;p.mo=g.mo;p.da=g.da;
p.ho=g.ho;p.mi=g.mi;p.ampm="am";if(g.ho)if(g.ho>=12){p.ampm="pm";p.ho=g.ho>12?g.ho-12:12}else if(g.ho==0){p.ho=12;p.ampm="am"}else p.ho=g.ho;else{p.ho=12;p.mi=0;p.ampm="am"}return p};y.getMonthAdj=function(g,p){var v=y.getDateFromMonthNum(g);switch(v.mo){case 1:case 3:case 5:case 7:case 8:case 10:case 12:v=Math.floor(p+p/28*3);return{width:v,days:31};case 2:if(y.isLeapYear(v.ye)==true){v=Math.floor(p+p/28);return{width:v,days:29}}else return{width:p,days:28};default:v=Math.floor(p+p/28*2);return{width:v,
days:30}}};y.getDateFromMonthNum=function(g){var p=0;if(g>0){p=g%12;if(p==0)p=12;g=Math.ceil(g/12)}else{p=Math.abs(g)%12;p=12-p+1;if(p==13)p=1;g=-1*Math.ceil(Math.abs(g)/12)}return{ye:g,mo:p}};y.getMonthWidth=function(g,p,v){var x=v/28,H;switch(g){case 1:case 3:case 5:case 7:case 8:case 10:case 12:H=3;break;case 4:case 6:case 9:case 11:H=2;break;case 2:H=y.isLeapYear(p)==true?1:0}return{width:Math.floor(v+x*H),numDays:28+H}};y.getToday=function(){var g=new Date;return g.getFullYear()+"-"+(g.getMonth()+
1)+"-"+g.getDate()+" "+g.getHours()+":"+g.getMinutes()+":00"};y.getMonthFromRemDays=function(g,p){var v=0;var x=v=0;v=y.isLeapYear(p)?1:0;if(g<=31){x=1;v=g}else if(g>31&&g<=59+v){x=2;v=g-(31+v)}else if(g>59+v&&g<=90+v){x=3;v=g-(59+v)}else if(g>90+v&&g<=120+v){x=4;v=g-(90+v)}else if(g>120+v&&g<=151+v){x=5;v=g-(120+v)}else if(g>151+v&&g<=181+v){x=6;v=g-(151+v)}else if(g>181+v&&g<=212+v){x=7;v=g-(181+v)}else if(g>212+v&&g<=243+v){x=8;v=g-(212+v)}else if(g>243+v&&g<=273+v){x=9;v=g-(243+v)}else if(g>273+
v&&g<=304+v){x=10;v=g-(273+v)}else if(g>304+v&&g<=334+v){x=11;v=g-(304+v)}else{x=12;v=g-(334+v)}return{mo:x,da:v}};y.getDateFromRD=function(g){if(n[g])return n[g];for(var p=Math.floor(g),v=Math.floor(p/146097)*400,x=p-Math.floor(p/146097)*146097,H=1,d=v+1,m=d+400;d<=m;d++)if(x>365){x-=365;if(y.isLeapYear(d))x-=1;H++}else d=m;v+=H;if(x==0)x=1;x=y.getMonthFromRemDays(x,v);H=(g-p)*1440;p=Math.floor(H%60);H=Math.floor(H/60);if(y.isLeapYear(v)&&x.mo==2)x.da+=1;p=v+"-"+x.mo+"-"+x.da+" "+H+":"+p+":00";return n[g]=
p};y.getDateFromSec=function(g){if(r[g])return r[g];var p=y.getDateFromRD(g/86400);return r[g]=p};y.isLeapYear=function(g){return g%400==0?true:g%100==0?false:g%4==0?true:false};y.getRataDie=function(g){function p(b,a){if(F[b+"-"+a])return F[b+"-"+a];for(var k=0,f=b;f<a;f++)k+=y.isLeapYear(f)?366:365;return F[b+"-"+a]=k}function v(b,a){var k;switch(b){case 1:k=0;break;case 2:k=31;break;case 3:k=59;break;case 4:k=90;break;case 5:k=120;break;case 6:k=151;break;case 7:k=181;break;case 8:k=212;break;
case 9:k=243;break;case 10:k=273;break;case 11:k=304;break;case 12:k=334}if(b>2)if(y.isLeapYear(a))k+=1;return k}var x=g.ye,H=g.mo;g=g.da;var d=0;if(E[x+"-"+H+"-"+g])return E[x+"-"+H+"-"+g];if(x>=0){if(x==0)x=1;d=Math.floor(x/400)*146097;var m=parseInt(p(x-x%400,x)),o=parseInt(v(H,x));d=d+m+o+g-366}else if(x<0)d=y.getBCRataDie({ye:x,mo:H,da:g});return E[x+"-"+H+"-"+g]=d};y.monthNamesLet=["","J","F","M","A","M","J","J","A","S","O","N","D"];y.monthsDayNums=[0,31,28,31,30,31,30,31,31,30,31,30,31,29];
y.units=["da","mo","ye","de","ce","thou","tenthou","hundredthou","mill","tenmill","hundredmill","bill"];y.getBCRataDie=function(g){var p=g.ye,v=g.mo;g=g.da;if(w[p+"-"+v+"-"+g])return w[p+"-"+v+"-"+g];if(v==0)v=1;if(g==0)g=1;var x=-1*((Math.abs(p)-1)*366+[0,335,306,275,245,214,184,153,122,92,61,31,0][v]+(y.monthsDayNums[v]-g+1));return w[p+"-"+v+"-"+g]=x};y.setCulture=function(g){jQuery.global.culture=jQuery.global.cultures[g];y.monthNames=q.merge([""],jQuery.global.culture.calendar.months.names);
y.monthNamesAbbr=q.merge([""],jQuery.global.culture.calendar.months.namesAbbr);y.dayNames=jQuery.global.culture.calendar.days.names;y.dayNamesAbbr=jQuery.global.culture.calendar.days.namesAbbr;y.dayNamesShort=jQuery.global.culture.calendar.days.namesShort;y.patterns=jQuery.global.culture.calendar.patterns};y.prototype={format:function(g,p,v){v=v||{hours:0,minutes:0};if(p==true)switch(this.date_display.substr(0,2)){case "no":return"";case "ye":g="yyyy";break;case "mo":g="MMM yyyy";break;case "da":g=
"MMM d, yyyy";break;case "ho":g="MMM d, yyyy h:mm tt";break;default:g="f"}if(this.ye>-27E4){p=y.toFromUTC(_.clone(this),v,"from");p=new Date(p.ye,p.mo-1,p.da,p.ho,p.mi,p.se,0);return q.global.format(p,g)}else return this.ye}};y.getTimeOffset=function(g){g=g.replace(/[^-\d:]/gi,"");var p=g.split(":"),v=parseInt(p[0],10);p=parseInt(p[1],10);var x=v+(v<0?-1:1)*(p/60);return{decimal:x,hours:v,minutes:p,seconds:x*3600,string:g}};y.tzOffsetStr=function(g,p){if(g){if(g.length==19)g+=p;else if(g.length==
16)g+=":00"+p;return g}};y.parse8601=function(g){var p,v,x,H,d,m,o,b;d=function(a){return a?parseInt(a.replace("-",""),10):0};b=g.match(e);g=parseInt(b[1]);if(!g)return{error:"invalid date; no year provided"};p=d(b[2])||1;v=d(b[3])||1;x=d(b[4])||1;H=d(b[5])||0;d=d(b[6])||0;m=b[7]||"+";o=parseInt(b[8],10)||0;if(m=="-")o*=-1;b=parseInt(b[9],10)||0;if(m=="-")b*=-1;return{ye:g,mo:p,da:v,ho:x,mi:H,se:d,tz_ho:o,tz_mi:b}};y.getLastDayOfMonth=function(g,p){var v=[0,31,28,31,30,31,30,31,31,30,31,30,31],x=
0;return x=p==2&&y.isLeapYear(g)==true?29:v[p]};y.getDateTimeStrings=function(g){var p=y.parse8601(g);g=p.ye+"-"+z(p.mo)+"-"+z(p.da);var v="pm";if(p.ho>12){p.ho-=12;v="pm"}else{if(p.ho==0)p.ho="12";v="am"}p=D(p.ho)+":"+z(p.mi)+" "+v;return{date:g,time:p}};y.transValidateDateString=function(g){if(!g)return false;var p=g.match(/^(\-?\d+|today|now) ?(bce?)?-?(\d{1,2})?-?(\d{1,2})?/);g=y.zeroButt;if(p){var v=p[1],x=p[2]||"",H=p[3]||"07";p=p[4]||"1";if(parseInt(v,10)<0||x.substr(0,1)=="b")v=-1*Math.abs(v);
return y.validateDate(v,H,p)?v+"-"+g(H)+"-"+g(p):false}else return false};y.transValidateTimeString=function(g){if(!g)return"12:00:00";g=g.toLowerCase().match(/^(\d{1,2}|noon):?(\d{1,2})?:?(\d{1,2})? ?(am|pm)?/i);var p="";p=y.zeroButt;if(g[1])if(g[0]=="noon")p="12:00:00";else{var v=parseInt(g[1],10)||12,x=parseInt(g[2],10)||0,H=parseInt(g[3],10)||0;g=g[4]||"am";if(y.validateTime(v,x,H)==false)return false;if(g=="pm"&&v<12)v+=12;p=p(v)+":"+p(x)+":"+p(H)}else p=false;return p};y.validateTime=function(g,
p,v){if(g<0||g>23||p<0||p>59||v<0||v>59)return false;return true};y.validateDate=function(g,p,v){var x=y.getMonthDays(p,g);if(v>x||v<=0)return false;if(p>12||p<0)return false;if(g==0)return false;return true};y.zeroButt=function(g){g=parseInt(g,10);return g>9?String(g):"0"+g};y.toFromUTC=function(g,p,v){var x=0,H=[0,31,28,31,30,31,30,31,31,30,31,30,31,29];x={};if(v=="from"){x.ho=-1*p.hours;x.mi=-1*p.minutes}else if(v=="to"){x.ho=p.hours;x.mi=p.minutes}else{x.ho=-1*g.tz_ho;x.mi=-1*g.tz_mi}if(x.ho==
0&&x.mi==0)return g;v=g.ho+g.mi/60+(-1*x.ho+x.mi*-1/60);if(v<0){x=24+v;if(g.da>1)g.da-=1;else if(g.mo==1){g.ye-=1;g.mo=12;g.da=31}else{g.mo-=1;g.da=y.getLastDayOfMonth(g.ye,g.mo)}}else if(v>=24){x=v-24;if(y.isLeapYear(g.ye)&&g.mo==2&&g.da==28)g.da=29;else if(g.da==H[g.mo]){if(g.mo==12){g.ye+=1;g.mo=1}else g.mo+=1;g.da=1}else g.da+=1}else x=v;H=function(d){d=Math.abs(d);var m=Math.floor(d);return{ho:m,mi:Math.round((d-m)*60),se:0}}(x);g.ho=H.ho;g.mi=H.mi;if(p){g.tz_ho=p.tz_ho;g.tz_mi=p.tz_mi}else{g.tz_ho=
0;g.tz_mi=0}return{ye:g.ye,mo:g.mo,da:g.da,ho:g.ho,mi:g.mi,se:g.se}};y.TGSecToUnixSec=function(g){return g-62135661873};y.JSDateToISODateString=function(g){var p=function(v){return v<10?"0"+v:v};return g.getUTCFullYear()+"-"+p(g.getUTCMonth()+1)+"-"+p(g.getUTCDate())+" "+p(g.getUTCHours())+":"+p(g.getUTCMinutes())+":"+p(g.getUTCSeconds())};y.timezones=[{offset:"-12:00",name:"Int'l Date Line West"},{offset:"-11:00",name:"Bering & Nome"},{offset:"-10:00",name:"Alaska-Hawaii Standard Time"},{offset:"-10:00",
name:"U.S. Hawaiian Standard Time"},{offset:"-10:00",name:"U.S. Central Alaska Time"},{offset:"-09:00",name:"U.S. Yukon Standard Time"},{offset:"-08:00",name:"U.S. Pacific Standard Time"},{offset:"-07:00",name:"U.S. Mountain Standard Time"},{offset:"-07:00",name:"U.S. Pacific Daylight Time"},{offset:"-06:00",name:"U.S. Central Standard Time"},{offset:"-06:00",name:"U.S. Mountain Daylight Time"},{offset:"-05:00",name:"U.S. Eastern Standard Time"},{offset:"-05:00",name:"U.S. Central Daylight Time"},
{offset:"-04:00",name:"U.S. Atlantic Standard Time"},{offset:"-04:00",name:"U.S. Eastern Daylight Time"},{offset:"-03:30",name:"Newfoundland Standard Time"},{offset:"-03:00",name:"Brazil Standard Time"},{offset:"-03:00",name:"Atlantic Daylight Time"},{offset:"-03:00",name:"Greenland Standard Time"},{offset:"-02:00",name:"Azores Time"},{offset:"-01:00",name:"West Africa Time"},{offset:"00:00",name:"Greenwich Mean Time/UTC"},{offset:"00:00",name:"Western European Time"},{offset:"01:00",name:"Central European Time"},
{offset:"01:00",name:"Middle European Time"},{offset:"01:00",name:"British Summer Time"},{offset:"01:00",name:"Middle European Winter Time"},{offset:"01:00",name:"Swedish Winter Time"},{offset:"01:00",name:"French Winter Time"},{offset:"02:00",name:"Eastean EU"},{offset:"02:00",name:"USSR-zone1"},{offset:"02:00",name:"Middle European Summer Time"},{offset:"02:00",name:"French Summer Time"},{offset:"03:00",name:"Baghdad Time"},{offset:"03:00",name:"USSR-zone2"},{offset:"03:30",name:"Iran"},{offset:"04:00",
name:"USSR-zone3"},{offset:"05:00",name:"USSR-zone4"},{offset:"05:30",name:"Indian Standard Time"},{offset:"06:00",name:"USSR-zone5"},{offset:"06:30",name:"North Sumatra Time"},{offset:"07:00",name:"USSR-zone6"},{offset:"07:00",name:"West Australian Standard Time"},{offset:"07:30",name:"Java"},{offset:"08:00",name:"China & Hong Kong"},{offset:"08:00",name:"USSR-zone7"},{offset:"08:00",name:"West Australian Daylight Time"},{offset:"09:00",name:"Japan"},{offset:"09:00",name:"Korea"},{offset:"09:00",
name:"USSR-zone8"},{offset:"09:30",name:"South Australian Standard Time"},{offset:"09:30",name:"Central Australian Standard Time"},{offset:"10:00",name:"Guam Standard Time"},{offset:"10:00",name:"USSR-zone9"},{offset:"10:00",name:"East Australian Standard Time"},{offset:"10:30",name:"Central Australian Daylight Time"},{offset:"10:30",name:"South Australian Daylight Time"},{offset:"11:00",name:"USSR-zone10"},{offset:"11:00",name:"East Australian Daylight Time"},{offset:"12:00",name:"New Zealand Standard Time"},
{offset:"12:00",name:"Int'l Date Line East"},{offset:"13:00",name:"New Zealand Daylight Time"}];y.boil=D;y.unboil=z})(timeglider);(function(u){var D=u.levelHeight=12;u.TG_Org=function(){var z=this,q=u.icon_folder;this.blocks=[];this.ids=[];this.vis=[];this.pol=-1;this.placedBlocks=[];this.freshBlocks=[];this.addBlock=function(w,n){w.right=w.left+w.width;w.bottom=w.top+w.height;w.tickScope=n;z.freshBlocks.push(w);z.blocks.push(w)};this.clearFresh=function(){z.freshBlocks=[]};this.getBorg=function(){return this};this.getBlocks=function(){return this.blocks};this.getHTML=function(w,n){if(w=="sweep")this.vis=[];this.freshBlocks.sort(E);
var r,e,y="",g="",p="",v=0,x={},H=this.freshBlocks.length;e="";var d=0;r=0;y="";for(var m=0;m<H;m++){x=this.freshBlocks[m];d=0;if(x.tickScope==w)if(_.indexOf(x.id,this.vis)==-1){this.vis.push(x.id);if(x.html&&x.html.substr(0,4)=="<div")p+="<div style='left:"+x.left+"px' id='"+x.id+"'"+x.html.substr(4);else{if(x.image){y=x.shape&&x.image.display_class=="inline"?" style='width:"+x.shape.img_wi+"px;height:auto;top:-"+x.shape.img_ht+"px'":"";d=0;y="<div data-max_height='"+x.image.max_height+"' class='timeglider-event-image-"+
x.image.display_class+"'><img src='"+x.image.src+"' "+y+"></div>"}else y="";r=n-18;if(x.y_position>0)x.top=z.pol*x.y_position;else{x.attempts=0;F(x,r)}if(n&&z.pol==-1&&Math.abs(x.top)>r)p+="<div class='timeglider-more-plus' style='left:"+x.left+"px; top:-"+n+"px'>"+(x.icon?"<img src='"+q+x.icon+"'>":"+")+"</div>";else if(x.fontsize>2){e=x.span_color?";background-color:"+x.span_color:"";x.fontsize<10?x.opacity=x.fontsize/10:x.opacity=1;if(x.span==true){r="timeglider-event-spanning";e="<div data-starts='"+
x.startdateObj.sec+"' data-ends='"+x.enddateObj.sec+"' class='timeglider-event-spanner' style='top:px;height:"+x.fontsize+"px;width:"+x.spanwidth+"px"+e+"'></div>"}else e=r="";g=x.icon?"<img class='timeglider-event-icon' src='"+q+x.icon+"' style='height:"+x.fontsize+"px;left:-"+(x.fontsize+2)+"px; top:"+d+"px'>":"";v=z.pol===1?42:-12;p+="<div class='timeglider-timeline-event "+x.css_class+" "+r+"' id='"+x.id+"' style='width:"+x.width+"px;height:"+x.height+"px;left:"+x.left+"px;opacity:"+x.opacity+
";top:"+(x.top+v)+"px;font-size:"+x.fontsize+"px;'>"+g+y+e+"<div class='timeglider-event-title' style='top:"+d+"px'>"+x.title+"</div></div>"}}}}return{html:p}};var E=function(w,n){var r=n.importance,e=w.importance;if(w.image&&n.image)return-1;return r<e?-1:r>e?1:0},F=function(w,n){var r=false,e=z.placedBlocks,y=z.placedBlocks.length,g=false;if(y==0||Math.abs(w.top)>n)g=false;else for(var p=0;p<y;p++){a:{r=e[p];if(!(w.left+-16>r.right||w.right<r.left+-16||w.bottom<r.top+-6))if(w.left>=r.left&&w.left<=
r.right||w.right>=r.left&&w.right<=r.right||w.right>=r.right&&w.left<=r.left||w.right<=r.right&&w.left>=r.left)if(w.bottom<=r.bottom&&w.bottom>=r.top||w.top<=r.bottom&&w.top>=r.top||w.bottom==r.bottom&&w.top==r.top){r=true;break a}r=false}if(r==true){if(z.pol===-1){w.top-=D;w.bottom-=D}else{w.top+=D;w.bottom+=D}w.attempts++;F(w,n);g=true;break}}g==false&&z.placedBlocks.push(w)}}})(timeglider);(function(u){var D=u.TG_Date,z=jQuery,q={},E=D.units,F;u.TG_EventCollection=Backbone.Collection.extend({eventHash:{},comparator:function(w){return w.get("startdateObj").sec},setTimelineHash:function(w,n){this.eventHash[w]=n},getTimelineHash:function(w){return this.eventHash[w]},model:u.TG_Event});u.TG_Event=Backbone.Model.extend({urlRoot:"/event",defaults:{title:"Untitled"},initialize:function(w){if(w.image){if(typeof w.image=="string")w.image={id:w.id,src:w.image,display_class:w.image_class||"above",
width:0,height:0};else{w.image.display_class=w.image.display_class||"above";w.image.width=0;w.image.height=0}this.getEventImageSize(w.image)}else w.image="";w.title=w.title.replace(/&/g,"&");w.titleWidth=u.getStringWidth(w.title);this.set(w)},validate:function(){},getEventImageSize:function(w){function n(y,g){return function(){return g.apply(y,arguments)}}var r=this,e=new Image;e.src=w.src;e.onerror=n(e,function(){r.set({image:""})});e.onload=n(e,function(){r.get("image").height=this.height;r.get("image").width=
this.width;r.get("image").max_height=this.height})},reIndex:function(w){var n=this,r=w||false,e=n.get("cache"),y=n.get("id"),g=n.get("startdateObj"),p=n.get("enddateObj"),v=n.get("timelines"),x=e.startdateObj||g,H={},d={},m=0,o=0;w=_.union(e.timelines,v);var b=u.TG_Date,a=n.get("mediator"),k=a.timelineCollection,f=a.eventCollection;_.each(w,function(i){H=k.get(i);d=f.getTimelineHash(i);d.all=_.reject(d.all,function(s){return s==y});_.each(b.units,function(s){m=b.getTimeUnitSerial(x,s);if(d[s][m]!==
undefined)d[s][m]=_.reject(d[s][m],function(B){return B==y});if(r!=true)if(z.inArray(i,v)!=-1){o=b.getTimeUnitSerial(g,s);if(d[s][o]!==undefined)d[s][o].push(y);else d[s][o]=[y]}});r!=true&&z.inArray(i,v)!=-1&&d.all.push(y);H.get("bounds");var h=[];_.each(d.all,function(s){s=f.get(s);h.push(s.get("startdateObj").sec);h.push(s.get("enddateObj").sec)});H.set({bounds:{first:_.min(h),last:_.max(h)}});var t=H.get("spans");e.span&&delete t["s_"+y];if(r!=true)if(n.get("span")==true)t["s_"+y]={id:y,start:g.sec,
end:p.sec};H.set({has_events:d.all.length})})}});u.TG_TimelineCollection=Backbone.Collection.extend({model:u.TG_Timeline});u.TG_Timeline=Backbone.Model.extend({urlRoot:"/timeline",defaults:{initial_zoom:25,timezone:"00:00",title:"Untitled",events:[],legend:[]},_chewTimeline:function(w){F=w.mediator;w.timeline_id=w.id;q=F.options;var n={all:[],da:[],mo:[],ye:[],de:[],ce:[],thou:[],tenthou:[],hundredthou:[],mill:[],tenmill:[],hundredmill:[],bill:[]};w.spans={};w.hasImagesAbove=false;w.startSeconds=
[];w.endSeconds=[];w.size_importance=w.size_importance=="false"||w.size_importance=="0"?0:1;w.is_public=w.is_public=="false"||w.is_public=="0"?0:1;w.timeOffset=D.getTimeOffset(w.timezone||"00:00");if(!w.color)w.color="#333333";if(w.events.length>0){for(var r,e,y,g,p=w.events.length,v=0;v<p;v++){e=w.events[v];if(e.id)y=e.id;else e.id=y="anon"+this.anonEventId++;e.importance=parseInt(e.importance,10)+q.boost;e.low_threshold=e.low_threshold||1;e.high_threshold=e.high_threshold||100;if(e.map)if(F.main_map){if(timeglider.mapping.ready)e.map.marker_instance=
timeglider.mapping.addAddMarkerToMap(e,F.main_map)}else u.googleMapsLoad();e.callbacks=e.callbacks||{};r=typeof e.date_display=="object"?"da":e.date_display||e.date_limit||"da";e.date_display=r.toLowerCase().substr(0,2);if(w.timeOffset.seconds){e.startdate=D.tzOffsetStr(e.startdate,w.timeOffset.string);if(e.enddate)e.enddate=D.tzOffsetStr(e.enddate,w.timeOffset.string)}e.startdateObj=new D(e.startdate,e.date_display);if(e.enddate&&e.enddate!==e.startdate){e.enddateObj=new D(e.enddate,e.date_display);
e.span=true;w.spans["s_"+e.id]={id:e.id,start:e.startdateObj.sec,end:e.enddateObj.sec}}else{e.enddateObj=e.startdateObj;e.span=false}if(e.image)if(e.image.display_class!="inline")w.hasImagesAbove=true;w.startSeconds.push(e.startdateObj.sec);w.endSeconds.push(e.enddateObj.sec);e.cache={timelines:[w.timeline_id],span:e.span,startdateObj:_.clone(e.startdateObj),enddateObj:_.clone(e.enddateObj)};e.icon=!e.icon||e.icon==="none"?"":e.icon;if(!isNaN(e.startdateObj.sec)&&!isNaN(e.enddateObj.sec)){n.all.push(y);
for(var x=E.length,H=0;H<x;H++){r=E[H];g=D.getTimeUnitSerial(e.startdateObj,r);if(n[r][g]!==undefined)_.indexOf(n[r][g],y)===-1&&n[r][g].push(y);else n[r][g]=[y]}e.mediator=F;if(F.eventCollection.get(y))F.eventCollection.get(y).get("timelines").push(w.timeline_id);else{e.timelines=[w.timeline_id];e=new u.TG_Event(e);F.eventCollection.add(e)}}}p=z.merge(w.startSeconds,w.endSeconds);p=_.sortBy(p,function(d){return parseInt(d)});w.bounds={first:_.first(p),last:_.last(p)};p=D.getDateFromSec(w.bounds.first);
w.focus_date=w.focus_date||p;w.focusDateObj=new D(w.focus_date);w.has_events=1}else{w.focus_date=w.focus_date||"today";w.focusDateObj=new D(w.focus_date);w.bounds={first:w.focusDateObj.sec,last:w.focusDateObj.sec+86400};w.has_events=0}w.hasLegend=w.legend.length>0?true:false;w.display="expanded";F.eventCollection.setTimelineHash(w.timeline_id,n);delete w.events;return w},initialize:function(w){this.set(this._chewTimeline(w));this.bind("change",function(){})}})})(timeglider);(function(u){var D=u.TG_Date,z="",q="",E={},F=0,w=0,n=0,r="",e=jQuery,y={},g="",p,v,x,H=e.support.touch?"touchstart":"click";u.TG_TimelinePlayer=function(d,m){var o=this;q=m;E=q.options;z="#"+d._id;g=d._id;r=E.base_namespace+"#"+g;this.gens=0;this.setImageLaneHeight(E.image_lane_height);this._views={PLACE:z,CONTAINER:z+" .timeglider-container",DATE:z+" .timeglider-date-display",TIMELINE_MENU:z+" .timeglider-timeline-menu",TIMELINE_MENU_UL:z+" .timeglider-timeline-menu ul",TIMELINE_LIST_BT:z+" .timeglider-list-bt",
SLIDER_CONTAINER:z+" .timeglider-slider-container",SLIDER:z+" .timeglider-slider",ZOOM_DISPLAY:z+" .timeglider-zoomlevel-display",TRUCK:z+" .timeglider-truck",CENTERLINE:z+" .timeglider-centerline",TICKS:z+" .timeglider-ticks",HANDLE:z+" .timeglider-handle",FOOTER:z+" .timeglider-footer",FILTER_BT:z+" .timeglider-filter-bt",FILTER_BOX:z+" .timeglider-filter-box",SETTINGS_BT:z+" .timeglider-settings-bt"};p=this._views.CONTAINER;v=this._views.TICKS;x=this._views.DATE;this.initTimelineVOffset=100;this.tick_height=
34;this.dragScopeState={state:"okay",pos:0};this._templates={};this._templates={test:"testola",event_modal_small:"<div class='tg-modal timeglider-ev-modal ui-widget-content' id='${id}_modal'><div class='close-button close-button-remove'></div><div class='dateline'>{{html dateline}}</div><h4 id='title'>${title}</h4><p>{{html image}}{{html description}}</p><ul class='timeglider-ev-modal-links'>{{html links}}</ul></div>",event_modal_iframe:"<div class='tg-modal timeglider-ev-modal ui-widget-content tg-iframe-modal' id='${id}_modal'><div class='close-button close-button-remove'></div><div class='dateline'>{{html dateline}}</div><h4 id='title'>{{html title}}</h4><iframe frameborder='none' src='${link}'></iframe></div>",
event_modal_full:e.template(null,"<div class='tg-modal full_modal' id='ev_${id}_modal'><div class='full_modal_scrim'></div><div class='full_modal_panel'><div class='close-button full_modal_close'>x</div><div class='dateline'>{{html dateline}}</div><table><tr><td><h4>${title}</h4><div class='description'><p>{{html description}}</p></div></td><td><div>{{html image}}</div><div id='insert'></div></td></tr></table><div class='footer'><ul>{{html links}}</ul></div></div>"),filter_modal:e.template(null,"<div class='tg-modal timeglider-menu-modal timeglider-filter-box'><div class='close-button'></div><h3>filter</h3><div class='timeglider-menu-modal-content'><div class='timeglider-formline'>show: <input type='text' class='timeglider-filter-include'></div><div class='timeglider-formline'>hide: <input type='text' class='timeglider-filter-exclude'></div><ul><li class='timeglider-filter-clear'>clear</li><li class='timeglider-filter-apply'>apply</li></ul></div><div class='timeglider-menu-modal-point-right'></div>"),
timeline_list_modal:e.template(null,"<div class='timeglider-menu-modal timeglider-timeline-menu'><div class='close-button'></div><h3>timelines</h3><div class='timeglider-menu-modal-content'><ul></ul></div><div class='timeglider-menu-modal-point-right'></div>"),settings_modal:e.template(null,"<div class='timeglider-menu-modal timeglider-settings-modal'><div class='close-button'></div><h3>settings</h3><div class='timeglider-menu-modal-content'><div class='timeglider-settings-timezone'></div></div><div class='timeglider-menu-modal-point-right'></div>"),
legend_modal:e.template(null,"<div class='timeglider-menu-modal timeglider-legend timeglider-display-none' id='${id}_legend'><div class='timeglider-menu-modal-content'><ul id='${id}'>{{html legend_list}}</ul><div class='timeglider-close-button-small timeglider-legend-close'></div><div class='timeglider-legend-all'>all</div></div></div>")};this.timelineModal=u.TG_Timeline.extend({tagName:"div",model:u.TG_Timeline,className:"tg-modal timeglider-timeline-modal ui-widget-content",events:{"click .close-button-remove":"remove"},
template:"<div class='close-button-remove'></div><h4 id='title'>${title}</h4><p>{{html description}}</p>",initialize:function(){this.model.bind("change",this.render,this)},render:function(){e(this.el).html(e.tmpl(this.template,this.model.attributes)).attr("id",this.model.get("id")+"_timelineModal");return this},remove:function(){e(this.el).fadeOut()}});e(p).delegate(".tg-timeline-envelope .timeline-info","click",function(){var a=e(this).data("timeline_id");o.openTimelineModal(a)}).delegate(".tg-timeline-envelope .expand-collapse",
"click",function(){var a=e(this).data("timeline_id");o.expandCollapseTimeline(a)}).delegate(".tg-timeline-envelope .tg-timeline-legend-bt","click",function(){var a=e(this).data("timeline_id");o.legendModal(a)}).delegate(".close-button-remove","click",function(){e(this).parent().remove()}).delegate(".full_modal_scrim, .full_modal_close","click",function(){e(".full_modal").remove()}).delegate(".timeglider-more-plus","click",function(){q.zoom(-1)}).delegate(".timeglider-more-plus","hover",function(){e(this).data("event_id")}).delegate(".timeglider-legend-close",
"click",function(){var a=e(p+" .timeglider-legend");a.fadeOut(300,function(){a.remove()})}).delegate(".timeglider-legend-all","click",function(){e(p+" .timeglider-legend li").each(function(){e(this).removeClass("tg-legend-icon-selected")});q.setFilters({origin:"legend",icon:"all"})}).css("height",e(z).height());e(window).resize(_.throttle(function(){q.resize()},700));this.basicFontSize=E.basic_fontsize;E.show_footer==false&&e(this._views.FOOTER).css("display","none");this.dragSpeed=0;this.dimensions=
q.dimensions=this.getWidgetDimensions();this.ticksHandleOffset=this.rightside=this.leftside=this.tickNum=0;this.timeoout_id=1;this.sliderActive=false;this.ztop=1E3;this.filterBoxActivated=false;this.buildSlider();this.setupFilter();this.setPanButton(e(".timeglider-pan-right"),-30);this.setPanButton(e(".timeglider-pan-left"),30);e(this._views.TRUCK).bind("dblclick",function(a){q.registerUIEvent({name:"dblclick",event:a})}).bind("mousewheel",function(a,k){q.mouseWheelChange(-1*(k<0?Math.floor(k):Math.ceil(k)));
return false});e(v).draggable({axis:"x",start:function(){o.eventUnHover()},drag:function(){w=Math.floor(e(this).position().left);q.setTicksOffset(w);F=w-n;n=w;var a=o.dragScopeState;if(E.constrain_to_data&&q.activeTimelines.length==1){var k=e(".titleBar"),f=k.data("lef"),i=o.dimensions.container.centerx;if(a.state=="over-left"){e(v).css("left",-1*f+(i-1));o.dragScopeState={state:"okay"};o.registerDragging();return false}else if(a.state=="over-right"){a=-1*f+(i-1)-(k.width()-4);e(v).css("left",a);
o.dragScopeState={state:"okay"};o.registerDragging();return false}}return true},stop:function(){o.resetTicksHandle();o.registerDragging();o.registerTitles()}}).delegate(p+" .timeglider-timeline-event",H,function(){o.eventUnHover();var a=e(this),k=a.attr("id"),f=q.eventCollection.get(k).attributes;if(timeglider.mode!="authoring")if(f.click_callback)try{var i=f.click_callback.split("."),h=i.length;if(h==1)window[i[0]](f);else if(h==2)window[i[0]][i[1]](f);else if(h==3)window[i[0]][i[1]][i[2]](f)}catch(t){debug.log(f.click_callback+
" method cannot be found")}else o.eventModal(k,a)}).delegate(".timeglider-timeline-event","mouseover",function(){o.eventUnHover();var a=q.eventCollection.get(e(this).attr("id")).attributes;o.eventHover(e(this),a)}).delegate(".timeglider-timeline-event","mouseout",function(){q.eventCollection.get(e(this).attr("id"));o.eventUnHover()}).delegate(".timeglider-event-collapsed","hover",function(){q.eventCollection.get(e(this).attr("id"))});o.setResizeElements();e.subscribe(r+".mediator.ticksOffsetChange",
function(){o.tickHangies();o.registerDragging();o.registerTitles()});e.subscribe(r+".mediator.focusToEvent",function(){});e.subscribe(r+".mediator.zoomLevelChange",function(){o.tickNum=0;o.leftside=0;var a=q.getZoomLevel();e(o._views.SLIDER).slider("value",o.invSliderVal(a));o.displayZoomLevel(a);o.castTicks("zoomLevelChange")});e.subscribe(r+".viewer.rendered",function(){});e.subscribe(r+".mediator.ticksReadySignal",function(){q.ticksReady===true&&o.freshTimelines()});e.subscribe(r+".mediator.refreshSignal",
function(){o.tickNum=0;o.leftside=0;o.castTicks("refreshSignal")});e.subscribe(r+".mediator.ticksArrayChange",function(){});e.subscribe(r+".mediator.scopeChange",function(){var a=q.getScope(),k=a.timelineBounds;a=a.focusDateSec;o.dragScopeState=a>k.last?{state:"over-right"}:a<k.first?{state:"over-left"}:{state:"okay"}});e.subscribe(r+".mediator.focusDateChange",function(){this.displayFocusDate()});e.subscribe(r+".mediator.timelineDataLoaded",function(){e(".timeglider-loading").fadeOut(500);o.buildSettingsMenu();
o.buildTimelineMenu()});e.subscribe(r+".mediator.activeTimelinesChange",function(){e(o._views.TIMELINE_MENU_UL+" li").each(function(){var a=e(this).data("timeline_id");_.indexOf(q.activeTimelines,a)!=-1?e(this).addClass("activeTimeline"):e(this).removeClass("activeTimeline")})});e.subscribe(r+".mediator.filterChange",function(){});e.subscribe(r+".mediator.resize",function(){o.resize()});if(e.support.touch){e("#"+g).addTouch();var b=document.getElementById(g);b.addEventListener("gesturestart",function(a){a.preventDefault();
e("#output").append("<br>gesture zoom:"+q.getZoomLevel())},false);b.addEventListener("gestureend",function(a){a.preventDefault();e("#output").append("<br>gesture end:"+q.getZoomLevel())},false);b.addEventListener("gesturechange",function(a){a.preventDefault();a.preventDefault();if(q.gesturing===false){q.gesturing=true;q.gestureStartZoom=q.getZoomLevel()}q.setZoomLevel(Math.ceil(q.gestureStartZoom/(a.scale/2)))},false)}};u.TG_TimelinePlayer.prototype={resize:function(){var d=e(z).height();e(p).height(d);
this.dimensions=this.getWidgetDimensions();q.setDimensions(this.dimensions);this.setResizeElements();q.refresh()},getWidgetDimensions:function(){var d=e(p),m=d.width(),o=Math.floor(m/2)+1,b=d.height(),a=Math.floor(b/2),k=this.tick_height,f=d.position().left;d=d.offset();var i=E.show_footer==true?e(this._views.FOOTER).height():0;return{container:{width:m,height:b,centerx:o,centery:a,left:f,offset:d},tick:{top:b-i-k},footer:{height:i}}},scaleToImportance:function(d,m){return((d-m)*4.5+100)/100},displayZoomLevel:function(){var d=
q.getZoomLevel();d>0&&E.display_zoom_level==true&&e(this._views.ZOOM_DISPLAY).text(d)},displayFocusDate:_.throttle(function(){var d=q.getFocusDate();e(x).text(d.format("d MMM yyyy",false))},300),setPanButton:function(d,m){var o=this;e(d).live("mousedown",function(){o.intervalMachine("pan",{type:"set",fn:o.pan,args:[m],intvl:33})}).live("mouseup",function(){o.intervalMachine("pan",{type:"clear",fn:o.pan,callback:"resetTicksHandle"})}).live("mouseout",function(){o.intervalMachine("pan",{type:"clear",
fn:o.pan,callback:"resetTicksHandle"})})},intervalMachine:function(d,m){var o=this;if(m.type==="clear"){clearInterval(y[d]);if(m.callback)o[m.callback]()}else y[d]=setInterval(function(){m.fn.apply(o,m.args)},m.intvl)},invSliderVal:function(d){return Math.abs(d-101)},pan:function(d){var m=d||20;d=e(v);m=d.position().left+m;d.css({left:m});q.setTicksOffset(m)},registerTitles:function(){var d,m,o,b,a,k,f,i,h,t,s=e(p).offset().left;e(p+" .timeglider-event-spanning").each(function(){var B=e(this);d=B.offset().left-
s;a=B.find(".timeglider-event-title");m=a.outerWidth();o=a.siblings(".timeglider-event-spanner").outerWidth();if(o>m)if(d<0)Math.abs(d)<o-m?a.css({marginLeft:-1*d+5}):a.css({marginLeft:o-m-5});else a.css({marginLeft:5})});e.browser.msie&&parseInt(e.browser.version);e(p+" .tg-timeline-envelope").each(function(){k=e(this);f=k.offset().left-s;i=k.find(".titleBar");b=i.data("lef");t=-1*(b+f);h=i.find(".timeline-title");if(t>0){var B=i.width()-h.width();t<B?h.css({marginLeft:t+5}):h.css({marginLeft:B-
5})}else h.css({marginLeft:5})})},registerDragging:function(){var d=q.startSec,m=e(v).position().left,o=q.getZoomInfo().spp;d=new D(d-m*o);q.setFocusDate(d);this.displayFocusDate()},setupFilter:function(){var d=this;e(d._views.FILTER_BT);var m=e.tmpl(d._templates.filter_modal,{}).appendTo(d._views.CONTAINER);m.position({my:"right bottom",at:"right top",of:e(d._views.FILTER_BT),offset:"-8, -30"}).css("z-index",d.ztop++).hide();e(p).delegate(".timeglider-filter-box .close-button","click",function(){m.fadeOut()});
e(d._views.FILTER_BT).bind("click",function(){m.fadeIn();e(this);var o=d._views.FILTER_BOX;if(d.filterBoxActivated==false){d.filterBoxActivated=true;var b=e(o+" .timeglider-filter-apply"),a=e(".timeglider-filter-box .close-button"),k=e(o+" .timeglider-filter-clear"),f="",i="";b.bind("click",function(){f=e(o+" .timeglider-filter-include").val();i=e(o+" .timeglider-filter-exclude").val();q.setFilters({origin:"clude",include:f,exclude:i});e(o).toggleClass("timeglider-display-block")});a.bind("click",
function(){e(o).toggleClass("timeglider-display-none")});k.bind("click",function(){q.setFilters({origin:"clude",include:"",exclude:""});e(o+" .timeglider-filter-include").val("");e(o+" .timeglider-filter-exclude").val("");e(o).toggleClass("timeglider-display-block")})}})},buildTimelineMenu:function(){var d=this,m;e(d._views.TIMELINE_LIST_BT);e(d._views.TIMELINE_MENU)[0]&&e(d._views.TIMELINE_MENU).remove();m=e.tmpl(d._templates.timeline_list_modal,{}).appendTo(d._views.CONTAINER);var o=Backbone.View.extend({initialize:function(){this.model.bind("change",
this.render,this)},tagName:"li",className:"timeglider-timeline-list-item",template:"${title}",events:{click:"toggleTimeline"},toggleTimeline:function(){q.toggleTimeline(this.model.get("id"))},render:function(){var b=this.model.get("id");e(this.el).html(e.tmpl(this.template,this.model.attributes)).data("timeline_id",b);return this}});e(d._views.TIMELINE_MENU_UL).html("");_.each(q.timelineCollection.models,function(b){e(d._views.TIMELINE_MENU_UL).append((new o({model:b})).render().el)});m.position({my:"right bottom",
at:"right top",of:e(d._views.TIMELINE_LIST_BT),offset:"-8, -30"}).hide();e(p).delegate(".timeglider-timeline-menu .close-button","click",function(){m.fadeOut()}).delegate(this._views.TIMELINE_LIST_BT,"click",function(){m.fadeIn()})},getTimezonePulldown:function(d,m){var o="<select name='timezone' id='"+d+"'>",b=false,a="selected";e.map(D.timezones,function(k){if(m==k.offset&&b==false){a="selected";b=true}else a="";o+="<option value='"+k.offset+"' "+a+">"+k.name+"</option>"});o+="</select>";return o},
buildSettingsMenu:function(){var d=e.tmpl(this._templates.settings_modal,{}).appendTo(this._views.CONTAINER),m=this.getTimezonePulldown("timeglider-settings-timezone",q.timeOffset.string);d.find(".timeglider-settings-timezone").append('<p>Make changes below, then click on "save". More settings options to come!</p>').append('<span class="settings-label">timezone:</span> '+m).append("<p style='clear:both'> </p><div class='btn success' id='timeglider-settings-save'>save</div>");d.position({my:"right bottom",
at:"right top",of:e(this._views.SETTINGS_BT),offset:"-8, -30"}).hide();e(p).delegate(".timeglider-settings-modal .close-button","click",function(){d.fadeOut()}).delegate(this._views.SETTINGS_BT,"click",function(){d.fadeIn()}).delegate("#timeglider-settings-save","click",function(){var o=e(p+" #timeglider-settings-timezone").val();q.setTimeoffset(o)})},buildSlider:function(){var d=q.getZoomLevel();if(E.min_zoom==E.max_zoom)e(this._views.SLIDER_CONTAINER).css("display","none");else{E.display_zoom_level==
true&&e("<div>").appendTo(this._views.SLIDER_CONTAINER).addClass("timeglider-zoomlevel-display").html(" ");var m=this;d=m.invSliderVal(d);var o=q.max_zoom,b=q.min_zoom;e(this._views.SLIDER).css("height",(1+o-b)*3).slider({steps:100,handle:e(".knob"),animate:300,orientation:"vertical",min:m.invSliderVal(o),max:m.invSliderVal(b),value:d,start:function(){m.sliderActive=true},stop:function(){m.sliderActive=false},change:function(){},slide:function(a,k){q.setZoomLevel(m.invSliderVal(k.value))}})}},
getEventDateLine:function(d){var m="<span class='timeglider-dateline-startdate'>"+d.startdateObj.format("",true,q.timeOffset)+"</span>",o="";if(d.span==true)o=" – <span class='timeglider-dateline-enddate'>"+d.enddateObj.format("",true,q.timeOffset)+"</span>";return m+o},eventHover:function(d,m){if(typeof q.options.eventHover=="function")q.options.eventHover(d,m);else{var o=e(".timeglider-event-hover-info");m.date_display!="no"&&o.position({my:"left bottom",at:"left top",of:d,offset:"1, -10",
collision:"flip flip"}).html(this.getEventDateLine(m));d.addClass("tg-event-hovered")}},eventUnHover:function(){if(typeof q.options.eventUnHover=="function")q.options.eventUnHover();else{e(".timeglider-event-hover-info").css("left","-1000px");e(".timeglider-timeline-event").removeClass("tg-event-hovered")}},clearTicks:function(){this.tickNum=this.leftside=0;e(v).css("left",0);e(p+" .tg-timeline-envelope").remove();e(p+" .timeglider-tick").remove()},castTicks:function(){this.clearTicks();q.getZoomLevel();
var d=q.getFocusDate(),m=q.getZoomInfo().width;m=Math.ceil(this.dimensions.container.width/m)+4;var o="l";q.setTicksReady(false);this.addTick({type:"init",focus_date:d});for(d=1;d<=m;d+=1){this.addTick({type:o});o=o=="l"?"r":"l"}q.setTicksReady(true);this.displayFocusDate()},getTickTop:function(){var d=typeof q.options.tick_top;return d=="number"?q.options.tick_top:d=="function"?q.options.tick_top(me.dimensions):parseInt(this.dimensions.tick.top)},addTick:function(d){var m=0,o=0,b=o=0,a=0,k=0,f=k=
"",i={};k={};b={};var h={};k={};var t=i="";t=q.getZoomInfo().unit;h=q.getZoomInfo().width;a=q.getFocusDate();b=this.getTickTop();a=q.addToTicksArray({type:d.type,unit:t},a);if(t=="mo"){k=D.getMonthAdj(a,h);h=k.width;m=k.days}this.tickNum++;if(d.type=="init"){k=this.tickOffsetFromDate(q.getZoomInfo(),q.getFocusDate(),h);o=Math.ceil(this.dimensions.container.centerx+k);e(v).data("init-left",o);this.leftside=o;this.rightside=o+h}else if(d.type=="l")this.leftside=o=Math.floor(this.leftside-h);else if(d.type==
"r"){o=Math.floor(this.rightside);this.rightside+=h}q.getTickBySerial(a).width=h;q.getTickBySerial(a).left=o;k=this._views.PLACE+"_"+t+"_"+a+"-"+this.tickNum;k=e("<div class='timeglider-tick "+(a%2==0?"tg-even-tick":"tg-odd-tick")+"' id='"+k+"'><div class='timeglider-tick-label' id='label'></div></div>").appendTo(v);k.css({width:h,left:o,top:b,zIndex:0});b=this.getTickMarksInfo({unit:t,width:h});b=m||b.tperu;o=h/b;if(o>5)for(d=m=0;d<b;d++){f=" ";if(o>16)if(t=="da")f=this.getHourLabelFromHour(d,
o);else if(t=="mo")f=d+1;else if(t=="ye")f=o>30?" "+D.monthNamesAbbr[d+1]:" "+D.monthNamesLet[d+1];else if(t=="de"){if(o>44)f=a+""+d}else if(t=="ce")if(o>28)f=a+""+d+"0";i+="<div class='timeglider-tick-sub-label "+t+"' style='left:"+m+"px;width:"+o+"px'>"+f+"</div>";m+=o}i&&k.append("<div class='tg-tick-sublabel-group' style='width:"+(h+10)+"px;'>"+i+"</div>");h={unit:t,width:h,serial:a};i=this.getDateLabelForTick(h);h.seconds=this.getTickSeconds[t](h.serial);k.children("#label").text(i);
return h},setResizeElements:function(){var d=this.dimensions.container.centerx,m=this.dimensions.container.height,o=e(this._views.CENTERLINE),b=e(this._views.DATE),a=d-b.width()/2;q.options.show_centerline===true?o.css({height:m,left:d}):o.css({display:"none"});b.css({left:a})},getTickSeconds:{da:function(d){d*=86400;return{start:d,end:d+86400}},mo:function(d){d*=2629800;return{start:d,end:d+2629800}},ye:function(d){d*=3154E4;return{start:d,end:d+3154E4}},de:function(d){d*=3154E5;return{start:d,end:d+
3154E5}},ce:function(d){d*=3154E6;return{start:d,end:d+3154E6}},thou:function(d){d*=3154E6;return{start:d,end:d+3154E6}},tenthou:function(d){d*=3154E6;return{start:d,end:d+3154E6}},hundredthou:function(d){d*=3154E6;return{start:d,end:d+3154E6}},mill:function(d){d*=3154E6;return{start:d,end:d+3154E6}},tenmill:function(d){d*=3154E6;return{start:d,end:d+3154E6}},hundredmill:function(d){d*=3154E6;return{start:d,end:d+3154E6}},bill:function(d){d*=3154E6;return{start:d,end:d+3154E6}}},getHourLabelFromHour:function(d,
m){var o="",b=d,a="";a=0;if(m<16)return"";else{if(d>12)b=d-12;else if(d==0)b=12;if(m>30)o=d>11?" pm":" am";if(m>200){a=m/4-4;return"<div class='minutes' style='width:"+a+"px'>"+b+":00 "+o+"</div><div class='minutes' style='width:"+a+"px'>"+b+":15 "+o+"</div><div class='minutes' style='width:"+a+"px'>"+b+":30 "+o+"</div><div class='minutes' style='width:"+a+"px'>"+b+":45 "+o+"</div>"}else return b+(m>60?":00":"")+o}},getTickMarksInfo:function(d){switch(d.unit){case "da":d=24;break;case "mo":d=30;break;
case "ye":d=12;break;default:d=10}return{tperu:d}},getDateLabelForTick:function(d){var m=d.serial,o=d.width;switch(d.unit){case "bill":return m==0?"1":m>0?m+" billion":m+" b.y. bce";case "hundredmill":return m==0?"1":m>0?m+"00 million":m+"00 m.y. bce";case "tenmill":return m==0?"1":m>0?m+"0 million":m+"0 m.y. bce";case "mill":return m==0?"1":m>0?m+" million":m+" m.y. bce";case "hundredthou":return m==0?"1":m>0?m+"00,000":m+"00,000 bce";case "tenthou":return m==0?"1":m>0?m+"0,000":m+"0,000 bce";case "thou":return m==
0?"1("+m+")":m>0?m+"000":m+"000 bce";case "ce":return m==0?"1("+m+")":m>0?m+"00":m+"00 bce";case "de":return m>120?m*10+"s":m*10;case "ye":return m;case "mo":d=D.getDateFromMonthNum(m);return o<120?D.monthNamesAbbr[d.mo]+" "+d.ye:D.monthNames[d.mo]+", "+d.ye;case "da":d=new D(D.getDateFromRD(m));return o<120?D.monthNamesAbbr[d.mo]+" "+d.da+", "+d.ye:D.monthNames[d.mo]+" "+d.da+", "+d.ye;default:return d.unit+":"+m+":"+o}},tickHangies:function(){var d=e(v).position().left,m=this.rightside+d-this.dimensions.container.width;
if(this.leftside+d>-100){d=this.addTick({type:"l"});this.appendTimelines(d,"left")}else if(m<100){d=this.addTick({type:"r"});this.appendTimelines(d,"right")}},tickOffsetFromDate:function(d,m,o){switch(d.unit){case "da":m=m.ho/24+m.mi/1440;o*=m;break;case "mo":d=D.getMonthDays(m.mo,m.ye);m=(m.da-1)/d+m.ho/(24*d)+m.mi/(1440*d);o*=m;break;case "ye":m=((m.mo-1)*30+m.da)/365;o*=m;break;case "de":m=m.ye%10/10+m.mo/120;o*=m;break;case "ce":m=m.ye%100/100+m.mo/1200;o*=m;break;case "thou":m=m.ye%1E3/1E3;o*=
m;break;case "tenthou":m=m.ye%1E4/1E4;o*=m;break;case "hundredthou":m=m.ye%1E5/1E5;debug.log("hundredthou prop:",m);o*=m;debug.log("hundredthou p:",o);break;case "mill":m=m.ye%1E6/1E6;o*=m;break;case "tenmill":m=m.ye%1E7/1E7;o*=m;break;case "hundredmill":m=m.ye%1E8/1E7;o*=m;break;case "bill":m=m.ye%1E9/1E9;o*=m;break;default:o=0}return-1*o},resetTicksHandle:function(){e(this._views.HANDLE).offset({left:e(p).offset().left})},easeOutTicks:function(){Math.abs(F)>5&&e(v).animate({left:"+="+3*F},1E3,"easeOutQuad",
function(){debug.trace("stopping easing","note")})},getTimelineEventsByTick:function(d){var m=d.tick.unit,o=d.tick.serial;d=q.eventCollection.getTimelineHash(d.timeline.timeline_id);return d[m][o]&&d[m][o].length>0?d[m][o]:[]},passesFilters:function(d,m){var o=true,b="";b="";var a=[],k;b="";a=[];if(m<d.low_threshold||m>d.high_threshold)return false;if(b=q.filters.include){a=b.split(",");o=false;for(k=0;k<a.length;k++){b=RegExp(e.trim(a[k]),"i");if(d.title.match(b)||d.description.match(b))o=true}}if(b=
q.filters.exclude){a=b.split(",");for(k=0;k<a.length;k++){b=RegExp(e.trim(a[k]),"i");if(d.title.match(b)||d.description.match(b))o=false}}if(q.filters.legend.length>0){b=d.icon;if(_.indexOf(q.filters.legend,b)==-1)o=false}if(q.filters.tags.length>0)if(d.tags){ev_tags=d.tags.split(",");_.each(ev_tags,function(f){f=e.trim(f);if(_.indexOf(q.filters.tags,f)!==-1)o=true})}else o=false;if(q.filters.custom&&typeof q.filters.custom=="function")o=q.filters.custom(d);return o},freshTimelines:function(){var d=
this,m,o,b,a=q.activeTimelines,k=q.ticksArray,f="",i,h;o="";var t=d.dimensions.container.centerx,s=d.dimensions.container.width,B=q.getFocusDate().sec,c=q.getZoomInfo(),j=c.spp;c=c.unit;o=[];var l=[];s=Math.floor(j*(s/2));var A=B-s,C=B+s,G=b=i=0,J=d.dimensions.container.height;G=0;e.publish(r+".viewer.rendering");for(var K=0;K<a.length;K++){l=[];o=q.timelineCollection.get(a[K]);m=o.attributes;m.visibleEvents=[];s=m.display;G=m.top?parseInt(m.top.replace("px","")):J-d.initTimelineVOffset;o=new u.TG_TimelineView({model:o});
i=q.timeOffset.seconds/j;h=e(o.render().el).appendTo(v);h.draggable({axis:"y",handle:".titleBar",stop:function(){var O=e(this).css("top"),N=e(this).attr("id");q.timelineCollection.get(N).set({top:O});q.refresh()}}).css({top:G,left:i});i=h.find(".titleBar");if(typeof m.bounds!="undefined"){o=t+(m.bounds.first-B)/j;b=t+(m.bounds.last-B)/j}else{o=t;b=t+300}b=Math.floor(b-o);if(b>1E6){var I=b-1E6;b=1E6;if(o<-998E3)o+=I}i.css({top:void 0,left:o,width:b}).data({lef:o,wid:b});if(s=="expanded")m.borg=f=new timeglider.TG_Org;
for(i=0;i<k.length;i++){o=this.getTimelineEventsByTick({tick:k[i],timeline:m});l=_.union(l,o)}m.visibleEvents=l;_.each(m.spans,function(O){if(_.indexOf(l,O.id)===-1)if(O.start<A&&O.end>C||O.end<C&&O.end>A){l.unshift(O.id);m.visibleEvents.push(O.id)}});o=this.compileTickEventsAsHtml(m,_.uniq(l),0,"sweep",c);G=E.event_overflow=="scroll"?0:m.hasImagesAbove?G-d.imageLaneHeight-16:G;if(s=="expanded"){o=f.getHTML("sweep",G);m.borg=f.getBorg()}o!="undefined"&&h.append(o.html);setTimeout(function(){d.registerEventImages(h)},
3)}d.registerTitles();setTimeout(function(){d.applyFilterActions()},300);e.publish(r+".viewer.rendered")},appendTimelines:function(d,m){var o=q.activeTimelines,b=[],a,k="",f=this;e.publish(r+".viewer.rendering");for(var i=0;i<o.length;i++){a=q.timelineCollection.get(o[i]).attributes;b=this.getTimelineEventsByTick({tick:d,timeline:a});a.visibleEvents=_.union(a.visibleEvents,b);m=="left"&&_.each(a.spans,function(h){if(h.end<d.seconds.end&&h.end>d.seconds.start)if(_.indexOf(a.visibleEvents,h.id)===-1){b.unshift(h.id);
a.visibleEvents.push(h.id)}});k=this.compileTickEventsAsHtml(a,b,d.serial,"append",d.unit);if(a.display=="expanded")k=a.borg.getHTML(d.serial,a.top);e(p+" .tg-timeline-envelope#"+a.id).append(k.html);this.registerEventImages(void 0)}setTimeout(function(){f.applyFilterActions()},500);e.publish(r+".viewer.rendered")},compileTickEventsAsHtml:function(d,m,o,b,a){var k=0,f=this.dimensions.container.centerx,i=d.display,h="",t=q.startSec,s=q.getZoomInfo(),B=s.spp;s=s.level;var c=k=0,j=d.borg,l={},A="sweep";
d.borg.clearFresh();if(b=="append")A=o;for(o=0;o<m.length;o++){l=q.eventCollection.get(m[o]).attributes;if(this.passesFilters(l,s)===true){k=f+(l.startdateObj.sec*(!(a=="da"||a=="mo"||a=="ye"||a=="ce"||a=="de")?0.99795:1)-t)/B;if(i=="expanded"){b=d.size_importance===true||d.size_importance===1?this.scaleToImportance(l.importance,s):1;l.width=l.titleWidth*b+16;l.fontsize=this.basicFontSize*b;l.left=k;l.spanwidth=0;if(l.span==true){l.spanwidth=(l.enddateObj.sec-l.startdateObj.sec)/B;if(l.spanwidth>
l.width)l.width=l.spanwidth+16}b=Math.ceil(l.fontsize);l.height=b+4;l.top=0-b;if(l.image&&l.image.display_class==="inline"){b=(l.image.scale||100)/100;k=b*l.image.height+2;c=b*l.image.width+2;l.shape={img_ht:k,img_wi:c,top:l.top-k,bottom:l.top-4,left:l.left,right:l.left+c}}else l.shape=null;j.addBlock(l,A)}else if(i=="collapsed")h+="<div id='"+l.id+"' class='timeglider-event-collapsed' style='top:-2px;left:"+k+"px'></div>"}}return i=="collapsed"?{html:h}:""},setImageLaneHeight:function(d,m){this.imageLaneHeight=
d;m&&q.refresh()},registerEventImages:function(){var d=this;e(p+" .timeglider-event-image-above").each(function(){var m=d.imageLaneHeight,o=e(this);o.parent().parent();$img=e(this).find("img");yoff=12;imax=parseInt(o.data("max_height"),10);if(imax<m){imght=imax;yoff+=(m-imax)/2}else imght=m;o.css({display:"block"}).position({my:"top",at:"top",of:e(p),offset:"0, "+yoff}).css({left:0});$img.css("height",imght)})},applyFilterActions:function(){var d=q.filterActions,m=q.eventCollection.models,o;_.isEmpty(d)||
_.each(d,function(b){_.each(m,function(a){if(b.filter(a)){o=a.get("id");b.fn(e(".timeglider-timeline-event#"+o))}})})},expandCollapseTimeline:function(d){d=q.timelineCollection.get(d).attributes;d.display=d.display=="expanded"?"collapsed":"expanded";q.refresh()},openTimelineModal:function(d){d=new this.timelineModal({model:q.timelineCollection.get(d)});e(d.render().el).appendTo("body").position({my:"left top",at:"left top",of:this._views.CONTAINER,offset:"32, 32",collision:"fit fit"}).css("z-index",
this.ztop++).draggable({stack:".timeglider-modal"})},createEventLinksMenu:function(d){if(!d)return"";var m="",o=0,b="",a="";if(typeof d=="string")m="<li><a href='"+d+"' target='_blank'>link</a></li>";else if(typeof d=="object")for(o=0;o<d.length;o++){b=d[o].url;a=d[o].label;m+="<li><a href='"+b+"' target='_blank'>"+a+"</a></li>"}return m},eventModal:function(d,m){e(p+" #"+d+"_modal").remove();var o=this,b=false,a=false,k="";k={};k=0;var f=q.eventCollection.get(d).attributes;k=f.modal_type||E.event_modal.type;
var i=f.image&&f.image.src?"<img src='"+f.image.src+"'>":"",h=this.createEventLinksMenu(f.link);i={title:f.title,description:f.description,link:f.link,dateline:o.getEventDateLine(f),links:h,image:i};if(f.video){i.video=f.video;k="full";a=true;i.video=f.video}else if(f.map&&f.map.latlong){b=true;k="full"}else o.dimensions.container.width<500&&debug.log("small version!");switch(k){case "full":k=e.tmpl(o._templates.event_modal_full,i);i=32;k.appendTo(p).css({"z-index":o.ztop++}).position({my:"left top",
at:"left top",of:p,offset:"0, 0",collision:"none none"});if(b==true){k.find("#insert").append("<div id='map_modal_map'></div>");k=f.map.zoom||12;i=String(f.map.latlong).split(",");i=new google.maps.LatLng(parseFloat(i[0]),parseFloat(i[1]));k={zoom:k,center:i,mapTypeId:google.maps.MapTypeId.ROADMAP};k=new google.maps.Map(e("#map_modal_map")[0],k);if(f.map.markers)for(i=0;i<f.map.markers.length;i++){b=f.map.markers[i];new google.maps.MarkerImage(b.image,new google.maps.Size(24,32),new google.maps.Point(0,
0),new google.maps.Point(0,32));a=b.latlong.split(",");a=new google.maps.LatLng(a[0],a[1]);b=new google.maps.Marker({position:a,map:k,icon:b.icon,title:b.title,zIndex:b.zIndex})}}else a==true&&k.find("#insert").append("<iframe width='100%' height='300' src='"+f.video+"'></iframe></div>");f=o.dimensions.container.height;k=o.dimensions.container.width;i=e(p+" .full_modal_panel");b=i.width();a=i.height();i.css({top:(f-a)/2+"px",left:(k-b)/2+"px"});break;case "video":k=e.tmpl(o._templates.event_modal_video,
i);k.appendTo(v).css("z-index",o.ztop++).position({my:"right center",at:"left center",of:m,offset:"-12, -1",collision:"flip fit"}).hover(function(){e(this).css("z-index",o.ztop++)});break;case "link-iframe":debug.log("templ_obj:",i);k=e.tmpl(o._templates.event_modal_iframe,i);k.appendTo(v).css("z-index",o.ztop++).position({my:"center top",at:"center top",of:e(p),offset:"0, -12",collision:"flip fit"}).hover(function(){e(this).css("z-index",o.ztop++)});break;default:k=e.tmpl(o._templates.event_modal_small,
i).appendTo(m.parent());i=8;h=a=f="";f=m.position().left;a=m.position().top;var t=k.outerHeight();h=k.outerWidth();var s=o.dimensions.container.offset,B=m.offset();b=0;if(B.top-s.top<t+i){b=a+m.height()+8;a="top"}else{b=a-(t+12);a="bottom"}s=B.left-s.left;h=o.dimensions.container.width-(h+i);if(s<i){f+=Math.abs(s)+i;h="left"}else if(s>h){f-=s-h;h="right"}else h="left";debug.log("arrow class:","arrow-"+a+"-"+h);k.css({"z-index":o.ztop++,top:b,left:f})}},legendModal:function(d){var m=q.timelineCollection.get(d).attributes.legend,
o=0,b="",a="",k="";o="";for(o=0;o<m.length;o++){b=E.icon_folder+m[o].icon;a=m[o].title;k+="<li><img class='legend-icon' src='"+b+"'><span class='legend-info'>"+a+"</span></li>"}d={id:d,legend_list:k};e(p+" .timeglider-legend").remove();e.tmpl(this._templates.legend_modal,d).appendTo(p).css("z-index",this.ztop++).toggleClass("timeglider-display-none").position({my:"left top",at:"left top",of:p,offset:"16, -4",collision:"none none"});o=p+" .legend-info, "+p+" .legend-icon";e(o).bind("mouseup",function(f){f=
e(f.target).parent().children("img").attr("src");e(this).parent().toggleClass("tg-legend-icon-selected");q.setFilters({origin:"legend",icon:f})})},parseHTMLTable:function(d){var m={},o=+new Date,b=[];e("#"+d).find("tr").each(function(a){var k=e(this).children(),f;if(a===0)b=k.map(function(){return e(this).attr("class").replace(/^.*?\btg-(\S+)\b.*?$/,"$1")}).get();else{f={};k.each(function(i){f[b[i]]=e(this).text()});m["prefix"+o++]=f}});return m}};u.TG_TimelineView=Backbone.View.extend({initialize:function(){var d=
this;this.model.bind("change:title",function(){e(d.el).find(".timeline-title-span").text(d.model.get("title"))});this.model.bind("destroy",this.remove,this)},tagName:"div",events:{"click .timeline-title-span":"titleClick"},className:"tg-timeline-envelope",getTemplate:function(){var d="<div class='titleBar'><div class='timeline-title'><span class='timeline-title-span'>${title}</span><div class='tg-timeline-env-buttons'>";if(this.model.get("description"))d+="<span class='timeline-info' data-timeline_id='${id}'>info</span>";
if(this.model.get("hasLegend"))d+="<span class='tg-timeline-legend-bt' data-timeline_id='${id}'>legend</span>";d+="<span class='expand-collapse' data-timeline_id='${id}'>exp/col</span>";d+="</div></div></div>";return d},render:function(){this.model.get("id");this.model.get("title");var d=this.getTemplate();e(this.el).html(e.tmpl(d,this.model.attributes)).attr("id",this.model.get("id"));return this},setText:function(){},titleClick:function(){q.timelineTitleClick(this.model.get("id"))},remove:function(){e(this.el).remove()}});
u.zoomTree=[{},{unit:"da",width:35E3,level:1,label:"5 hours"},{unit:"da",width:17600,level:2,label:"7 hours"},{unit:"da",width:8800,level:3,label:"10 hours"},{unit:"da",width:4400,level:4,label:"12 hours"},{unit:"da",width:2200,level:5,label:"14 hours"},{unit:"da",width:1100,level:6,label:"17 hours"},{unit:"da",width:550,level:7,label:"22 hours"},{unit:"da",width:432,level:8,label:"1 DAY"},{unit:"da",width:343,level:9,label:"1.5 days"},{unit:"da",width:272,level:10,label:"2 days"},{unit:"da",width:216,
level:11,label:"2.5 days"},{unit:"da",width:171,level:12,label:"3 days"},{unit:"da",width:136,level:13,label:"3.5 days"},{unit:"da",width:108,level:14,label:"4 days"},{unit:"mo",width:2509,level:15,label:"6 days"},{unit:"mo",width:1945,level:16,label:"1 WEEK"},{unit:"mo",width:1508,level:17,label:"10 days"},{unit:"mo",width:1169,level:18,label:"2 weeks"},{unit:"mo",width:913,level:19,label:"2.5 weeks"},{unit:"mo",width:719,level:20,label:"3 weeks"},{unit:"mo",width:566,level:21,label:"3.5 weeks"},
{unit:"mo",width:453,level:22,label:"1 MONTH"},{unit:"mo",width:362,level:23,label:"5.5 weeks"},{unit:"mo",width:290,level:24,label:"7 weeks"},{unit:"mo",width:232,level:25,label:"2 months"},{unit:"mo",width:186,level:26,label:"2.5 months"},{unit:"mo",width:148,level:27,label:"3 months"},{unit:"mo",width:119,level:28,label:"4 months"},{unit:"mo",width:95,level:29,label:"5 months"},{unit:"mo",width:76,level:30,label:"6 months"},{unit:"ye",width:723,level:31,label:"9 months"},{unit:"ye",width:573,level:32,
label:"1 YEAR"},{unit:"ye",width:455,level:33,label:"1.25 years"},{unit:"ye",width:361,level:34,label:"1.5 years"},{unit:"ye",width:286,level:35,label:"2 years"},{unit:"ye",width:227,level:36,label:"2.5 years"},{unit:"ye",width:179,level:37,label:"3 years"},{unit:"ye",width:142,level:38,label:"4 years"},{unit:"ye",width:113,level:39,label:"5 years"},{unit:"ye",width:89,level:40,label:"6 years"},{unit:"de",width:705,level:41,label:"8 years"},{unit:"de",width:559,level:42,label:"10 years"},{unit:"de",
width:443,level:43,label:"13 years"},{unit:"de",width:302,level:44,label:"16 years"},{unit:"de",width:240,level:45,label:"20 years"},{unit:"de",width:190,level:46,label:"25 years"},{unit:"de",width:150,level:47,label:"30 years"},{unit:"de",width:120,level:48,label:"40 years"},{unit:"de",width:95,level:49,label:"50 years"},{unit:"de",width:76,level:50,label:"65 years"},{unit:"ce",width:600,level:51,label:"80 years"},{unit:"ce",width:480,level:52,label:"100 years"},{unit:"ce",width:381,level:53,label:"130 years"},
{unit:"ce",width:302,level:54,label:"160 years"},{unit:"ce",width:240,level:55,label:"200 years"},{unit:"ce",width:190,level:56,label:"250 years"},{unit:"ce",width:150,level:57,label:"300 years"},{unit:"ce",width:120,level:58,label:"400 years"},{unit:"ce",width:95,level:59,label:"500 years"},{unit:"ce",width:76,level:60,label:"600 years"},{unit:"thou",width:603,level:61,label:"1000 years"},{unit:"thou",width:478,level:62,label:"1200 years"},{unit:"thou",width:379,level:63,label:"1800 years"},{unit:"thou",
width:301,level:64,label:"160 years"},{unit:"thou",width:239,level:65,label:"xxx years"},{unit:"thou",width:190,level:66,label:"xxx years"},{unit:"thou",width:150,level:67,label:"xxx years"},{unit:"thou",width:120,level:68,label:"xxx years"},{unit:"thou",width:95,level:69,label:"8,000 years"},{unit:"thou",width:76,level:70,label:"10,000 years"},{unit:"tenthou",width:603,level:71,label:"15,000 years"},{unit:"tenthou",width:358,level:72,label:"20,000 years"},{unit:"tenthou",width:213,level:73,label:"30,000 years"},
{unit:"tenthou",width:126,level:74,label:"60,000 years"},{unit:"tenthou",width:76,level:75,label:"100,000 years"},{unit:"hundredthou",width:603,level:76,label:"180,000 years"},{unit:"hundredthou",width:358,level:77,label:"300,000 years"},{unit:"hundredthou",width:213,level:78,label:"500,000 years"},{unit:"hundredthou",width:126,level:79,label:"800,000 years"},{unit:"hundredthou",width:76,level:80,label:"1 million years"},{unit:"mill",width:603,level:81,label:"1.2 million years"},{unit:"mill",width:358,
level:82,label:"2 million years"},{unit:"mill",width:213,level:83,label:"3 million years"},{unit:"mill",width:126,level:84,label:"5 million years"},{unit:"mill",width:76,level:85,label:"10 million years"},{unit:"tenmill",width:603,level:86,label:"15 million years"},{unit:"tenmill",width:358,level:87,label:"30 million years"},{unit:"tenmill",width:213,level:88,label:"50 million years"},{unit:"tenmill",width:126,level:89,label:"80 million years"},{unit:"tenmill",width:76,level:90,label:"100 million years"},
{unit:"hundredmill",width:603,level:91,label:"120 million years"},{unit:"hundredmill",width:358,level:92,label:"200 million years"},{unit:"hundredmill",width:213,level:93,label:"300 million years"},{unit:"hundredmill",width:126,level:94,label:"500 million years"},{unit:"hundredmill",width:76,level:95,label:"1 billion years"},{unit:"bill",width:603,level:96,label:"15 million years"},{unit:"bill",width:358,level:97,label:"30 million years"},{unit:"bill",width:213,level:98,label:"50 million years"},
{unit:"bill",width:126,level:99,label:"80 million years"},{unit:"bill",width:76,level:100,label:"100 billion years"}];u.calculateSecPerPx=function(d){for(var m=1;m<d.length;m++){var o=d[m],b=0;switch(o.unit){case "da":b=86400;break;case "mo":b=2419200;break;case "ye":b=31536E3;break;case "de":b=31536E4;break;case "ce":b=31536E5;break;case "thou":b=31536E6;break;case "tenthou":b=31536E7;break;case "hundredthou":b=31536E8;break;case "mill":b=31536E9;break;case "tenmill":b=31536E10;break;case "hundredmill":b=
31536E11;break;case "bill":b=31536E12}o.spp=Math.round(b/parseInt(o.width))}}(u.zoomTree);u.getStringWidth=function(d){if(d)return e("#timeglider-measure-span").html(d).width()};String.prototype.removeWhitespace=function(){return this.replace(RegExp("\\n","g"),"")};if(debug)debug.trace=function(d,m){e("#"+m).text(d)};u.googleMapsInit=function(){};u.googleMapsLoaded=false;u.googleMapsLoad=function(){if(u.googleMapsLoaded==false){var d=document.createElement("script");d.type="text/javascript";d.src=
"http://maps.googleapis.com/maps/api/js?sensor=false&callback=timeglider.googleMapsInit";document.body.appendChild(d);u.googleMapsLoaded=true}}})(timeglider);(function(u){var D={},z=u.TG_Date,q={},E=jQuery,F={},w="";u.TG_Mediator=function(n,r){this.options=q=n;F=r;w=n.base_namespace+"#"+F.attr("id");this._focusDate={};this._zoomInfo={};this._zoomLevel=1;this.ticksReady=false;this.ticksArray=[];this.startSec=0;this.activeTimelines=[];this.max_zoom=q.max_zoom;this.min_zoom=q.min_zoom;this.icon_folder=u.icon_folder=q.icon_folder||"js/timeglider/icons/";this.timeOffset=z.getTimeOffset(q.timezone);this.fixed_zoom=this.max_zoom==this.min_zoom?true:false;this.gesturing=
false;this.gestureStartScale=this.gestureStartZoom=0;this.filters={include:"",exclude:"",legend:[],tags:[]};this.filterActions={};this.loadedSources=[];this.timelineCollection=new u.TG_TimelineCollection;this.eventCollection=new u.TG_EventCollection;this.imagesToSize=this.imagesSized=0;this.timelineDataLoaded=false;this.initial_timeline_id=q.initial_timeline_id||"";this.sole_timeline_id="";this.dimensions={};this.focusedEvent="";if(q.max_zoom===q.min_zoom)this.fixed_zoom=q.min_zoom;if(q.main_map){this.main_map=
q.main_map;timeglider.mapping.setMap(this.main_map,this)}D=this};u.TG_Mediator.prototype={focusToEvent:function(n,r){this.focusedEvent=n;this.gotoDateZoom(n.startdateObj.dateStr);E.publish(w+".mediator.focusToEvent");typeof r=="function"&&r(n)},filterBy:function(n,r){var e={origin:n};e[n]=r;debug.log("fObj:",e);this.setFilters(e)},gotoDateZoom:function(n,r){var e=false;this.setFocusDate(new z(n));if(r)e=this.setZoomLevel(r);if(!r||e==false)this.refresh();E.publish(w+".mediator.scopeChange")},zoom:function(n){this.setZoomLevel(this.getZoomLevel()+
parseInt(n))},getScope:function(){var n=this.getZoomInfo(),r=this.getFocusDate(),e=this.getActiveTimelinesBounds();r=Math.round(r.sec);var y=u.TG_Date.TGSecToUnixSec(r),g=this.dimensions.container.width,p=g/2;n=Math.round(n.spp);return{spp:n,width:g,focusDateSec:r,timelines:this.activeTimelines,timelineBounds:e,container:F,left_sec:r-p*n,right_sec:r+p*n,leftMS:(y-p*n)*1E3,rightMS:(y+p*n)*1E3,focusMS:y*1E3}},fitToContainer:function(){var n=this.getActiveTimelinesBounds(),r=n.last-n.first;n=(n.first+
n.last)/2;var e=this.dimensions.container.width,y=_.find(u.zoomTree,function(g){return r/g.spp<e});this.gotoDateZoom(n,y.level)},resize:function(){E.publish(w+".mediator.resize")},addFilterAction:function(n,r,e){this.filterActions[n]={filter:r,fn:e};this.refresh()},removeFilterAction:function(n){delete this.filterActions[n];this.refresh()},getEventByID:function(n,r){var e=this.eventCollection.get(n).attributes;return r&&e.hasOwnProperty(r)?e[r]:e},getPastEvents:function(n){var r=this,e=this.getScope();
return e.timelineBounds.first<e.focusDateSec?_.filter(this.eventCollection.models,function(y){n&&r.isEventVisible(y);return y.get("startdateObj").sec<e.focusDateSec}):false},gotoPreviousEvent:function(){var n=this.getPastEvents(true);if(n)this.focusToEvent(_.last(n).attributes,function(r){E(".timeglider-timeline-event").removeClass("tg-event-selected");E(".timeglider-timeline-event#"+r.id).addClass("tg-event-selected")});else return false},getFutureEvents:function(n){var r=this,e=this.getScope();
return e.timelineBounds.last>e.focusDateSec?_.filter(this.eventCollection.models,function(y){return(n?r.isEventVisible(y):true)&&y.get("startdateObj").sec>e.focusDateSec}):false},gotoNextEvent:function(){var n=this.getFutureEvents(true);if(n)this.focusToEvent(_.first(n).attributes,function(r){E(".timeglider-timeline-event").removeClass("tg-event-selected");E(".timeglider-timeline-event#"+r.id).addClass("tg-event-selected")});else return false},isEventVisible:function(n){var r=this._zoomLevel;return r<=
n.get("high_threshold")&&r>=n.get("low_threshold")?true:false},adjustNowEvents:function(){var n=false,r="",e="";_.each(this.eventCollection.models,function(y){if(y.get("keepCurrent")){r=y.get("keepCurrent");e=y.get("date_display");if(r=="start")y.set({startdateObj:new z("today",e)});else r=="end"&&y.set({enddateObj:new z("today",e)});y.reIndex();n=true}});n&&this.refresh()},addEvent:function(n){n.startdateObj=new u.TG_Date(n.startdate);n.enddateObj=new u.TG_Date(n.enddate||n.startdate);n.mediator=
this;n.cache={timelines:n.timelines,startdateObj:n.startdateObj,enddateObj:n.enddateObj,span:true};n=new u.TG_Event(n);this.eventCollection.add(n);n.reIndex();this.refresh();E.publish(w+".mediator.addEvent");return n},updateEvent:function(n){if(!n.id){alert("error: you need a valid id set on the object in updateEvent()");return false}var r=this.eventCollection.get(n.id);r.set(n);if(n.startdateObject||n.enddateObject)r.reIndex();this.refresh();E.publish(w+".mediator.updateEvent");return r},getActiveTimelinesBounds:function(){for(var n=
this.activeTimelines,r={},e=99999999999,y=0,g=0;g<n.length;g++){r=this.timelineCollection.get(n[g]);e=r.get("bounds").first<e?r.get("bounds").first:e;y=r.get("bounds").last>y?r.get("bounds").last:y}return{first:e,last:y}},loadTimelineData:function(n,r){var e=this;if(n){if(_.indexOf(e.loadedSources,n)==-1){if(typeof n==="object")e.parseTimelineData(n);else if(n.substr(0,1)=="#"){var y=[e.getTableTimelineData(n)];e.parseTimelineData(y)}else E.getJSON(n,function(g){e.parseTimelineData(g,r)});e.loadedSources.push(n)}}else{this.timelineDataLoaded=
true;this.setZoomLevel(Math.floor((this.max_zoom+this.min_zoom)/2));this.tryLoading()}},mapMarkerClick:function(n){this.focusToEvent(n)},getTimelineCollection:function(){return this.timelineCollection},timelineTitleClick:function(n){E.publish(w+".mediator.timelineTitleClick",{timeline_id:n})},getTableTimelineData:function(n){var r={},e=0,y=[],g,p,v="",x=E(n);r.id=n.substr(1);r.title=x.attr("title")||"untitled";r.description=x.attr("description")||"";r.focus_date=x.attr("focus_date")||z.getToday();
r.initial_zoom=x.attr("initial_zoom")||20;r.events=[];x.find("tr").each(function(H){var d=E(this).children(),m;if(H===0)y=d.map(function(){return E(this).attr("class").replace(/^.*?\btg-(\S+)\b.*?$/,"$1")}).get();else{m={};d.each(function(o){g=y[o];p=g=="description"?E(this).html():E(this).text();m[g]=p});v="ev_"+e++;m.id=v;r.events.push(m)}});x.css("display","none");return r},runLoadedTimelineCallback:function(n,r){n.fn(n.args||"",r);if(n.display){debug.log("callback DISPLAY true...");this.showSingleTimeline(r[0].id)}else if(n.toggle){debug.log("callback TOGGLE true...");
this.toggleTimeline(r[0].id)}},parseTimelineData:function(n,r){var e=this,y=0,g=n.length,p={};p={};for(var v=0;v<g;v++){p=n[v];p.mediator=e;p=(new u.TG_Timeline(p)).toJSON();if(p.id.length>0){y++;e.swallowTimeline(p)}}if(r&&(typeof r.fn=="function"||typeof r=="function")){if(typeof r=="function")r={fn:r};E.publish(w+".mediator.timelineDataLoaded");setTimeout(function(){e.runLoadedTimelineCallback(r,n)},100);if(r.display||r.toggle)return false}if(y===0)alert("ERROR loading data: Check JSON with jsonLint");
else{this.timelineDataLoaded=true;this.tryLoading()}},tryLoading:function(){var n=this.timelineDataLoaded==true;if(this.imagesSized==this.imagesToSize&&n){this.setInitialTimelines();E.publish(w+".mediator.timelineDataLoaded")}},swallowTimeline:function(n){this.sole_timeline_id=n.id;this.timelineCollection.add(n);E.publish(w+".mediator.timelineListChangeSignal")},setInitialTimelines:function(){var n=this,r=this.initial_timeline_id,e="";if(typeof r=="object"){e=this.initial_timeline_id[0];_.each(r,
function(y){n.activeTimelines.push(y)})}else if(r.length>0){e=this.initial_timeline_id||this.sole_timeline_id;n.activeTimelines=[e]}else if(this.timelineCollection.length>0){e=this.timelineCollection.pluck("id")[0];n.activeTimelines=[e]}if(timeglider.mode=="authoring")n.setZoomLevel(40);else e?setTimeout(function(){var y=n.timelineCollection.get(e),g=y.get("focusDateObj");n.setFocusDate(g);n.setZoomLevel(y.get("initial_zoom"))},500):n.setZoomLevel(40)},refresh:function(){E.publish(w+".mediator.refreshSignal")},
setTicksReady:function(n){this.ticksReady=n;this.startSec=this._focusDate.sec;n===true&&E.publish(w+".mediator.ticksReadySignal")},setTimeoffset:function(n){this.timeOffset=z.getTimeOffset(n);this.refresh()},getTimeoffset:function(){return this.timeOffset},setDimensions:function(n){this.dimensions=n},setFocusDate:function(n){if(n!=this._focusDate)this._focusDate=n},getFocusDate:function(){return this._focusDate},getZoomLevel:function(){return parseInt(this._zoomLevel)},mouseWheelChange:function(n){this.setZoomLevel(this.getZoomLevel()+
n);E.publish(w+".mediator.mouseWheelChange")},setZoomLevel:function(n){if(n<=this.max_zoom&&n>=this.min_zoom){this.startSec=this._focusDate.sec;if(n!=this._zoomLevel){this._zoomLevel=n;this._zoomInfo=u.zoomTree[n];E.publish(w+".mediator.zoomLevelChange");E.publish(w+".mediator.scopeChange");return true}else return false}else return false},getZoomInfo:function(){return this._zoomInfo},getDateFromOffset:function(n){var r=this.dimensions.container;n=n-r.offset.left-r.width/2;r=this.getZoomInfo().spp;
var e=this.getFocusDate().sec;return new z(Math.floor(e+n*r))},registerUIEvent:function(n){switch(n.name){case "dblclick":n=this.getDateFromOffset(n.event.pageX);E.publish(w+".mediator.dblclick",{date:n})}},setFilters:function(n){switch(n.origin){case "clude":this.filters.include=n.include;this.filters.exclude=n.exclude;break;case "tags":this.filters.tags=n.tags?n.tags.split(","):[];break;case "legend":var r=n.icon.replace(this.options.icon_folder,"");if(r=="all"){this.filters.legend=[];E.publish(w+
".mediator.legendAll")}else if(_.indexOf(this.filters.legend,r)==-1)this.filters.legend.push(r);else{n=[];n=E.grep(this.filters.legend,function(e){return e!=r});this.filters.legend=n}break;case "custom":if(n.action=="add"){this.filters.custom=n.fn;debug.log("this.filters.custom:",this.filters.custom)}else delete this.filters.custom}E.publish(w+".mediator.filtersChange");this.refresh()},getTicksOffset:function(){return this._ticksOffset},setTicksOffset:function(n){this._ticksOffset=n;E.publish(w+".mediator.ticksOffsetChange");
E.publish(w+".mediator.scopeChange")},getTickBySerial:function(n){for(var r=this.ticksArray,e=r.length,y=0;y<e;y++){var g=r[y];if(g.serial==n)return g}return false},addToTicksArray:function(n,r){if(n.type=="init"){n.serial=z.getTimeUnitSerial(r,n.unit);this.ticksArray=[n]}else if(n.type=="l"){n.serial=this.ticksArray[0].serial-1;this.ticksArray.unshift(n)}else{n.serial=this.ticksArray[this.ticksArray.length-1].serial+1;this.ticksArray.push(n)}E.publish(w+".mediator.ticksArrayChange");return n.serial},
showSingleTimeline:function(n){this.activeTimelines=[];this.toggleTimeline(n);debug.log("clear active timelines, ought to be just the single showing timeline ",this.activeTimelines)},toggleTimeline:function(n){var r=this.timelineCollection.get(n).attributes;debug.log("uh, is this..",n+" in "+this.activeTimelines+"?");var e=_.indexOf(this.activeTimelines,n);debug.log("is it active??",e);if(e==-1){this.activeTimelines.push(n);this.setFocusDate(new z(r.focus_date));this.setZoomLevel(r.initial_zoom)}else this.activeTimelines.splice(e,
1);this.refresh();E.publish(w+".mediator.activeTimelinesChange")},reportImageSize:function(n){var r=D.eventCollection.get(n.id);if(r.has("image")){if(n.error){r.attributes.image={};debug.log("WHOOPS: MISSING IMAGE: "+n.src)}else{r.attributes.image.width=n.width;r.attributes.image.height=n.height}this.imagesSized++;this.imagesSized==this.imagesToSize&&this.tryLoading()}}};u.getLowHigh=function(n){n=_.sortBy(n,function(r){return parseInt(r)});return{low:_.first(n),high:_.last(n)}};u.validateOptions=
function(n){this.optionsMaster={initial_focus:{type:"date"},timezone:{type:"timezone"},editor:{type:"string"},backgroundColor:{type:"color"},backgroundImage:{type:"color"},min_zoom:{type:"number",min:1,max:100},max_zoom:{type:"number",min:1,max:100},initial_zoom:{type:"number",min:1,max:100},show_centerline:{type:"boolean"},display_zoom_level:{type:"boolean"},data_source:{type:"url"},basic_fontsize:{type:"number",min:9,max:100},mouse_wheel:{type:"string",possible:["zoom","pan"]},initial_timeline_id:{type:"mixed"},
icon_folder:{type:"string"},show_footer:{type:"boolean"},display_zoom_level:{type:"boolean"},constrain_to_data:{type:"boolean"},boost:{type:"number",min:0,max:99},event_modal:{type:"object"},event_overflow:{type:"string"}};var r=this,e="";E.each(n,function(y,g){if(r.optionsMaster[y])switch(r.optionsMaster[y].type){case "string":if(typeof g!="string")e+=y+" needs to be a string.\n";if(r.optionsMaster[y].possible)if(_.indexOf(r.optionsMaster[y].possible,g)==-1)e+=y+" must be: "+r.optionsMaster[y].possible.join(" or ");
break;case "number":if(typeof g!="number")e+=g+" needs to be a number.\n";if(r.optionsMaster[y].min)if(g<r.optionsMaster[y].min)e+=y+" must be greater than or equal to "+r.optionsMaster[y].min+"\n";if(r.optionsMaster[y].max)if(g>r.optionsMaster[y].max)e+=y+" must be less than or equal to "+r.optionsMaster[y].max+"\n";break;case "timezone":var p=/[+|-]?[0-9]+:[0-9]+/;if(_.indexOf(["New York","Denver","Chicago","Los Angeles"],g)==-1&&g.match(p)==-1)e+="The timezone is not formatted properly";break;
case "boolean":if(typeof g!="boolean")e+=g+" needs to be a number.\n"}});return e}})(timeglider);(function(u){var D,z,q=timeglider,E=timeglider.TG_Date;u.widget("timeglider.timeline",{options:{base_namespace:"tg",timezone:"00:00",initial_focus:q.TG_Date.getToday(),editor:"none",min_zoom:1,max_zoom:100,show_centerline:true,data_source:"",culture:"en",basic_fontsize:12,mouse_wheel:"zoom",initial_timeline_id:"",icon_folder:"js/timeglider/icons/",image_lane_height:32,show_footer:true,display_zoom_level:true,constrain_to_data:false,boost:0,tick_top:"",event_modal:{href:"",type:"default"},event_overflow:"plus"},
_create:function(){this._id=u(this.element).attr("id");this.element.html("<div class='timeglider-container'><div class='timeglider-loading'>loading</div><div class='timeglider-centerline'></div><div class='timeglider-date-display'></div><div class='timeglider-truck' id='tg-truck'><div class='timeglider-ticks'><div class='timeglider-handle'></div></div></div><div class='timeglider-slider-container'><div class='timeglider-slider'></div><div class='timeglider-pan-buttons'><div class='timeglider-pan-left'></div><div class='timeglider-pan-right'></div></div></div><div class='timeglider-footer'><div class='timeglider-logo'></div><div class='timeglider-footer-button timeglider-filter-bt'></div><div class='timeglider-footer-button timeglider-settings-bt'></div><div class='timeglider-footer-button timeglider-list-bt'></div></div><div class='timeglider-event-hover-info'></div></div><span id='timeglider-measure-span'></span>")},
_init:function(){var F=timeglider.validateOptions(this.options);if(F==""){q.TG_Date.setCulture(this.options.culture);z=new q.TG_Mediator(this.options,this.element);D=new q.TG_TimelinePlayer(this,z);z.setFocusDate(new E(this.options.initial_focus));z.loadTimelineData(this.options.data_source,this.options.loaded)}else alert("Rats. There's a problem with your widget settings:"+F)},goTo:function(F,w){if(F=="next")z.gotoNextEvent();else F=="previous"?z.gotoPreviousEvent():z.gotoDateZoom(F,w);return this},
refresh:function(){z.refresh();return this},resize:function(){D.resize();return this},filterBy:function(F,w){z.filterBy(F,w);return this},addFilterAction:function(F,w,n){z.addFilterAction(F,w,n);return this},removeFilterAction:function(F){z.removeFilterAction(F);return this},getMediator:function(){return z},getEventByID:function(F,w){return z.getEventByID(F,w)},updateEvent:function(F){return z.updateEvent(F)},focusToEvent:function(F){F=z.getEventByID(F);z.focusToEvent(F);return this},getScope:function(){return z.getScope()},
fitToContainer:function(){z.fitToContainer();return this},adjustNowEvents:function(){return z.adjustNowEvents()},addEvent:function(F){return z.addEvent(F)},zoom:function(F){switch(F){case "in":F=-1;break;case "out":F=1}if(F>99||F<-99)return false;z.zoom(F);return this},loadTimeline:function(F,w){z.loadTimelineData(F,w);return this},panButton:function(F,w){var n=0;switch(w){case "left":n=30;break;case "right":n=-30;break;default:n=w}D.setPanButton(F,n)},destroy:function(){u.Widget.prototype.destroy.apply(this,
arguments);u(this.element).html("")}})})(jQuery);