var dojo={};
dojo.global=window;
var djConfig=dojo.config={};
dojo.doc=document;
dojo.body=function(){
return document.body;
};
dojo.provide=function(){
};
dojo.require=function(){
};
(function(d){
var _1={},_2;
for(var i in {toString:1}){
_2=[];
break;
}
dojo._extraNames=_2=_2||["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString"];
d._mixin=function(_3,_4){
var _5,s,i=0,l=_2.length;
for(_5 in _4){
s=_4[_5];
if(s!==_1[_5]&&s!==_3[_5]){
_3[_5]=s;
}
}
if(l&&_4){
for(;i<l;++i){
_5=_2[i];
s=_4[_5];
if(s!==_1[_5]&&s!==_3[_5]){
_3[_5]=s;
}
}
}
return _3;
};
dojo.mixin=function(_6,_7){
if(!_6){
_6={};
}
for(var i=1,l=arguments.length;i<l;i++){
d._mixin(_6,arguments[i]);
}
return _6;
};
d._getProp=function(_8,_9,_a){
var _b=_a||d.global;
for(var i=0,p;_b&&(p=_8[i]);i++){
_b=(p in _b?_b[p]:(_9?_b[p]={}:undefined));
}
return _b;
};
d.setObject=function(_c,_d,_e){
var _f=_c.split("."),p=_f.pop(),obj=d._getProp(_f,true,_e);
return obj&&p?(obj[p]=_d):undefined;
};
d.getObject=function(_10,_11,_12){
return d._getProp(_10.split("."),_11,_12);
};
d._loaders=[];
d._unloaders=[];
d._onto=function(arr,obj,fn){
if(!fn){
arr.push(obj);
}else{
if(fn){
var _13=(typeof fn=="string")?obj[fn]:fn;
arr.push(function(){
_13.call(obj);
});
}
}
};
dojo.addOnLoad=function(obj,_14){
d._onto(d._loaders,obj,_14);
if(d._postLoad&&d._inFlightCount==0&&!d._loadNotifying){
d._callLoaded();
}
};
})(dojo);
(function(d){
d.findNextPredecessorByClassName=function(_1,_2){
var _3=(_1&&_1.className)?_1.className:"";
while(!_3.match(_2)&&_1!=null){
_1=_1.parentNode;
_3=(_1&&_1.className)?_1.className:"";
}
if(_1&&_1.className.match(_2)){
return _1;
}
return null;
};
})(dojo);
(function(d){
d._query=function(_1,_2){
return (_2||document).querySelectorAll(_1);
};
var _3=d._byId=function(id,_4){
return (typeof id=="string")?(_4||document).getElementById(id):id;
};
d._getComputedStyle=function(_5){
return _5.nodeType==1?_5.ownerDocument.defaultView.getComputedStyle(_5,null):{};
};
var _6=d.isIE?"styleFloat":"cssFloat",_7={"cssFloat":_6,"styleFloat":_6,"float":_6};
d._style=function(_8,_9,_a){
var n=_3(_8),l=arguments.length;
_9=_7[_9]||_9;
if(l==3){
return n.style[_9]=_a;
}
var s=d._getComputedStyle(n);
if(l==2&&typeof _9!="string"){
for(var x in _9){
d._style(_8,x,_9[x]);
}
return s;
}
return (l==1)?s:parseFloat(s[_9]||n.style[_9]);
};
var _b="className";
d.hasClass=function(_c,_d){
return ((" "+_3(_c)[_b]+" ").indexOf(" "+_d+" ")>=0);
};
var _e=/\s+/,a1=[""],_f=function(s){
if(typeof s=="string"||s instanceof String){
if(s.indexOf(" ")<0){
a1[0]=s;
return a1;
}else{
return s.split(_e);
}
}
return s;
};
d.addClass=function(_10,_11){
_10=_3(_10);
_11=_f(_11);
var cls=" "+_10[_b]+" ";
for(var i=0,len=_11.length,c;i<len;++i){
c=_11[i];
if(c&&cls.indexOf(" "+c+" ")<0){
cls+=c+" ";
}
}
_10[_b]=d.trim(cls);
};
d.removeClass=function(_12,_13){
_12=_3(_12);
var cls;
if(_13!==undefined){
_13=_f(_13);
cls=" "+_12[_b]+" ";
for(var i=0,len=_13.length;i<len;++i){
cls=cls.replace(" "+_13[i]+" "," ");
}
cls=d.trim(cls);
}else{
cls="";
}
if(_12[_b]!=cls){
_12[_b]=cls;
}
};
d.toggleClass=function(_14,_15,_16){
if(_16===undefined){
_16=!d.hasClass(_14,_15);
}
d[_16?"addClass":"removeClass"](_14,_15);
};
d._docScroll=function(){
var n=d.global;
return "pageXOffset" in n?{x:n.pageXOffset,y:n.pageYOffset}:(n=d.doc.documentElement,n.clientHeight?{x:d._fixIeBiDiScrollLeft(n.scrollLeft),y:n.scrollTop}:(n=d.body(),{x:n.scrollLeft||0,y:n.scrollTop||0}));
};
})(dojo);
dojo.byId=dojo._byId;
dojo.getComputedStyle=dojo._getComputedStyle;
dojo.style=dojo._style;
dojo.query=dojo._query;
(function(d){
d._query=function(_1,_2){
return (_2||document).querySelectorAll(_1);
};
var _3=d._byId=function(id,_4){
return (typeof id=="string")?(_4||document).getElementById(id):id;
};
d._getComputedStyle=function(_5){
return _5.nodeType==1?_5.ownerDocument.defaultView.getComputedStyle(_5,null):{};
};
var _6=d.isIE?"styleFloat":"cssFloat",_7={"cssFloat":_6,"styleFloat":_6,"float":_6};
d._style=function(_8,_9,_a){
var n=_3(_8),l=arguments.length;
_9=_7[_9]||_9;
if(l==3){
return n.style[_9]=_a;
}
var s=d._getComputedStyle(n);
if(l==2&&typeof _9!="string"){
for(var x in _9){
d._style(_8,x,_9[x]);
}
return s;
}
return (l==1)?s:parseFloat(s[_9]||n.style[_9]);
};
var _b="className";
d.hasClass=function(_c,_d){
return ((" "+_3(_c)[_b]+" ").indexOf(" "+_d+" ")>=0);
};
var _e=/\s+/,a1=[""],_f=function(s){
if(typeof s=="string"||s instanceof String){
if(s.indexOf(" ")<0){
a1[0]=s;
return a1;
}else{
return s.split(_e);
}
}
return s;
};
d.addClass=function(_10,_11){
_10=_3(_10);
_11=_f(_11);
var cls=" "+_10[_b]+" ";
for(var i=0,len=_11.length,c;i<len;++i){
c=_11[i];
if(c&&cls.indexOf(" "+c+" ")<0){
cls+=c+" ";
}
}
_10[_b]=d.trim(cls);
};
d.removeClass=function(_12,_13){
_12=_3(_12);
var cls;
if(_13!==undefined){
_13=_f(_13);
cls=" "+_12[_b]+" ";
for(var i=0,len=_13.length;i<len;++i){
cls=cls.replace(" "+_13[i]+" "," ");
}
cls=d.trim(cls);
}else{
cls="";
}
if(_12[_b]!=cls){
_12[_b]=cls;
}
};
d.toggleClass=function(_14,_15,_16){
if(_16===undefined){
_16=!d.hasClass(_14,_15);
}
d[_16?"addClass":"removeClass"](_14,_15);
};
d._docScroll=function(){
var n=d.global;
return "pageXOffset" in n?{x:n.pageXOffset,y:n.pageYOffset}:(n=d.doc.documentElement,n.clientHeight?{x:d._fixIeBiDiScrollLeft(n.scrollLeft),y:n.scrollTop}:(n=d.body(),{x:n.scrollLeft||0,y:n.scrollTop||0}));
};
})(dojo);
dojo.byId=dojo._byId;
dojo.getComputedStyle=dojo._getComputedStyle;
dojo.style=dojo._style;
dojo.query=dojo._query;
dojo.stopEvent=function(_1){
_1.preventDefault();
_1.stopPropagation();
};
dojo.provide("dojo._base.lang");
dojo.isString=function(it){
return (typeof it=="string"||it instanceof String);
};
dojo.isArray=function(it){
return it&&(it instanceof Array||typeof it=="array");
};
dojo.isFunction=(function(){
var _1=function(it){
var t=typeof it;
return it&&(t=="function"||it instanceof Function)&&!it.nodeType;
};
return dojo.isSafari?function(it){
if(typeof it=="function"&&it=="[object NodeList]"){
return false;
}
return _1(it);
}:_1;
})();
dojo.isObject=function(it){
return it!==undefined&&(it===null||typeof it=="object"||dojo.isArray(it)||dojo.isFunction(it));
};
dojo.isArrayLike=function(it){
var d=dojo;
return it&&it!==undefined&&!d.isString(it)&&!d.isFunction(it)&&!(it.tagName&&it.tagName.toLowerCase()=="form")&&(d.isArray(it)||isFinite(it.length));
};
dojo.isAlien=function(it){
return it&&!dojo.isFunction(it)&&/\{\s*\[native code\]\s*\}/.test(String(it));
};
dojo.isNumber=function(n){
return n==parseFloat(n);
};
dojo.extend=function(_2,_3){
for(var i=1,l=arguments.length;i<l;i++){
dojo._mixin(_2.prototype,arguments[i]);
}
return _2;
};
dojo._hitchArgs=function(_4,_5){
var _6=dojo._toArray(arguments,2);
var _7=dojo.isString(_5);
return function(){
var _8=dojo._toArray(arguments);
var f=_7?(_4||dojo.global)[_5]:_5;
return f&&f.apply(_4||this,_6.concat(_8));
};
};
dojo.hitch=function(_9,_a){
if(arguments.length>2){
return dojo._hitchArgs.apply(dojo,arguments);
}
if(!_a){
_a=_9;
_9=null;
}
if(dojo.isString(_a)){
_9=_9||dojo.global;
if(!_9[_a]){
throw (["dojo.hitch: scope[\"",_a,"\"] is null (scope=\"",_9,"\")"].join(""));
}
return function(){
return _9[_a].apply(_9,arguments||[]);
};
}
return !_9?_a:function(){
return _a.apply(_9,arguments||[]);
};
};
dojo.delegate=dojo._delegate=(function(){
function _b(){
};
return function(_c,_d){
_b.prototype=_c;
var _e=new _b();
_b.prototype=null;
if(_d){
dojo._mixin(_e,_d);
}
return _e;
};
})();
(function(){
var _f=function(obj,_10,_11){
return (_11||[]).concat(Array.prototype.slice.call(obj,_10||0));
};
var _12=function(obj,_13,_14){
var arr=_14||[];
for(var x=_13||0;x<obj.length;x++){
arr.push(obj[x]);
}
return arr;
};
dojo._toArray=dojo.isIE?function(obj){
return ((obj.item)?_12:_f).apply(this,arguments);
}:_f;
})();
dojo.partial=function(_15){
var arr=[null];
return dojo.hitch.apply(dojo,arr.concat(dojo._toArray(arguments)));
};
dojo.clone=function(o){
if(!o){
return o;
}
if(dojo.isArray(o)){
var r=[];
for(var i=0;i<o.length;++i){
r.push(dojo.clone(o[i]));
}
return r;
}
if(!dojo.isObject(o)){
return o;
}
if(o.nodeType&&o.cloneNode){
return o.cloneNode(true);
}
if(o instanceof Date){
return new Date(o.getTime());
}
r=new o.constructor();
for(i in o){
if(!(i in r)||r[i]!=o[i]){
r[i]=dojo.clone(o[i]);
}
}
return r;
};
dojo.trim=String.prototype.trim?function(str){
return str.trim();
}:function(str){
return str.replace(/^\s\s*/,"").replace(/\s\s*$/,"");
};
(function(d){
d._connects=[];
d.connect=function(_1,_2,_3){
var n=(typeof _1=="string")?d.query(_1)[0]:_1,e=_2.replace(/^on/,"");
n.addEventListener(e,_3,false);
this._connects.push([n,e,_3,false]);
return this._connects.length-1;
};
d.connectOnce=function(_4,_5,_6){
var n=(typeof _4=="string")?d.query(_4)[0]:_4;
var _7=d.connect(n,_5,doh.util.hitch(this,function(){
_6.apply(null,arguments);
this.disconnect(_7);
}));
return _7;
};
d.disconnect=function(_8){
var c=this._connects[_8];
if(typeof c=="undefined"){
return;
}
c[0].removeEventListener.apply(c[0],c.slice(1));
this._connects[_8]=undefined;
};
})(dojo);
["indexOf","lastIndexOf","forEach","map","some","every","filter"].forEach(function(_1,_2){
dojo[_1]=function(_3,_4,_5){
if((_2>1)&&(typeof _4=="string")){
_4=new Function("item","index","array",_4);
}
return Array.prototype[_1].call(_3,_4,_5);
};
});
dojo.provide("dojo._base.declare");
dojo.require("dojo._base.lang");
dojo.declare=function(_1,_2,_3){
var dd=arguments.callee,_4;
if(dojo.isArray(_2)){
_4=_2;
_2=_4.shift();
}
if(_4){
dojo.forEach(_4,function(m,i){
if(!m){
throw (_1+": mixin #"+i+" is null");
}
_2=dd._delegate(_2,m);
});
}
var _5=dd._delegate(_2);
_3=_3||{};
_5.extend(_3);
dojo.extend(_5,{declaredClass:_1,_constructor:_3.constructor});
_5.prototype.constructor=_5;
return dojo.setObject(_1,_5);
};
dojo.mixin(dojo.declare,{_delegate:function(_6,_7){
var bp=(_6||0).prototype,mp=(_7||0).prototype,dd=dojo.declare;
var _8=dd._makeCtor();
dojo.mixin(_8,{superclass:bp,mixin:mp,extend:dd._extend});
if(_6){
_8.prototype=dojo._delegate(bp);
}
dojo.extend(_8,dd._core,mp||0,{_constructor:null,preamble:null});
_8.prototype.constructor=_8;
_8.prototype.declaredClass=(bp||0).declaredClass+"_"+(mp||0).declaredClass;
return _8;
},_extend:function(_9){
var i,fn;
for(i in _9){
if(dojo.isFunction(fn=_9[i])&&!0[i]){
fn.nom=i;
fn.ctor=this;
}
}
dojo.extend(this,_9);
},_makeCtor:function(){
return function(){
this._construct(arguments);
};
},_core:{_construct:function(_a){
var c=_a.callee,s=c.superclass,ct=s&&s.constructor,m=c.mixin,_b=m&&m.constructor,a=_a,ii,fn;
if(a[0]){
if(((fn=a[0].preamble))){
a=fn.apply(this,a)||a;
}
}
if((fn=c.prototype.preamble)){
a=fn.apply(this,a)||a;
}
if(ct&&ct.apply){
ct.apply(this,a);
}
if(_b&&_b.apply){
_b.apply(this,a);
}
if((ii=c.prototype._constructor)){
ii.apply(this,_a);
}
if(this.constructor.prototype==c.prototype&&(ct=this.postscript)){
ct.apply(this,_a);
}
},_findMixin:function(_c){
var c=this.constructor,p,m;
while(c){
p=c.superclass;
m=c.mixin;
if(m==_c||(m instanceof _c.constructor)){
return p;
}
if(m&&m._findMixin&&(m=m._findMixin(_c))){
return m;
}
c=p&&p.constructor;
}
},_findMethod:function(_d,_e,_f,has){
var p=_f,c,m,f;
do{
c=p.constructor;
m=c.mixin;
if(m&&(m=this._findMethod(_d,_e,m,has))){
return m;
}
if((f=p[_d])&&(has==(f==_e))){
return p;
}
p=c.superclass;
}while(p);
return !has&&(p=this._findMixin(_f))&&this._findMethod(_d,_e,p,has);
},inherited:function(_10,_11,_12){
var a=arguments;
if(typeof a[0]!="string"){
_12=_11;
_11=_10;
_10=_11.callee.nom;
}
a=_12||_11;
var c=_11.callee,p=this.constructor.prototype,fn,mp;
if(this[_10]!=c||p[_10]==c){
mp=(c.ctor||0).superclass||this._findMethod(_10,c,p,true);
if(!mp){
throw (this.declaredClass+": inherited method \""+_10+"\" mismatch");
}
p=this._findMethod(_10,c,mp,false);
}
fn=p&&p[_10];
if(!fn){
throw (mp.declaredClass+": inherited method \""+_10+"\" not found");
}
return fn.apply(this,a);
}}});
(function(d){
var fx=d.fx={},_1=d.byId,_2=d.mixin;
function _3(_4){
var _5={onEnd:"webkitTransitionEnd"},_6=[];
for(var i in _4){
if(_5[i]){
_6[i]=dojo.connect(_4.node,_5[i],(function(_7){
return function(){
dojo.disconnect(_6[_7]);
_4[_7]();
};
})(i));
}
}
};
function _8(_9){
_3(_9);
dojo.style(_9.node,{webkitTransitionProperty:_9.property,webkitTransitionDuration:_9.duration/1000+"s",webkitTransitionTimingFunction:_9.easing,webkitTransitionDelay:_9.delay});
setTimeout(function(){
dojo.style(_9.node,_9.property,_9.propertyValue);
},0);
};
fx.slideTo=function(_a){
_a.node=_1(_a.node);
_a=_2({units:"px",property:"-webkit-transform",easing:"linear",duration:"1000"},_a);
var _b=typeof _a.top!="undefined"?(_a.top+_a.units):false,_c=typeof _a.left!="undefined"?(_a.left+_a.units):false;
if(_b&&_c){
_a.propertyValue="translate("+_c+","+_b+")";
}else{
if(_b){
_a.propertyValue="translateY("+_b+")";
}else{
if(_c){
_a.propertyValue="translateX("+_c+")";
}else{
throw new Error("slideTo needs top or left value");
}
}
}
return {play:function(){
_8(_a);
}};
};
d.slideBy=function(){
};
fx._fadeDefaults={property:"opacity",easing:"linear",duration:1000,delay:0};
d.fadeOut=fx.fadeOut=function(_d){
_d.node=_1(_d.node);
_d=_2(fx._fadeDefaults,{end:0},_d);
_d.propertyValue=_d.end;
return {play:function(){
_8(_d);
}};
};
fx.fadeIn=function(_e){
_e.node=_1(_e.node);
_e=_2(fx._fadeDefaults,{end:1},_e);
_e.propertyValue=_e.end;
return {play:function(){
_8(_e);
}};
};
})(dojo);
var app={clickEvtName:dojo.getObject("Mojo.Event.tap")||"onclick",activeScreen:null,init:function(){
var _1=Math.min.apply(this,this.getScreenSize());
if(_1<320){
dojo.body().className+=" lowRes";
}
app.event.load();
},getScreenSize:function(){
if(typeof widget!=="undefined"){
return [widget.width,widget.height];
}
return [screen.availWidth,screen.availHeight];
},getScrollOffset:function(){
var _2=dojo._docScroll();
return [_2.x,_2.y];
},scrollTo:function(x,y){
window.scrollTo(x,y);
}};
dojo.declare("app._ui",null,{domNode:null,contentNode:null,nextPageObjName:"",nextPageObj:null,previousPageObjName:"",previousPageObj:null,TEMPLATES:{ITEM:"<a class=\"tap-area {{ linkClass }}\" href=\"#{{ _itemType|safe }}-{{ index|safe }}\">"+"<span>{{ name }}</span>"+"<div class=\"info {{ infoClass }}\">{{ info }}</div>"+"</a>",SUB_HEADLINE:"<h3 class=\"item\">{{ headline }}</h3>",DESC_LIST:"{{ items|safe }}",DESC_ITEM:"<div class=\"infobox\">{{ title }}</div>",DESC_ITEM_LINKED:"<a class=\"tap-area {{ linkClass }}\" href=\"{{ href }}\"><span>{{ title }}</span></a>",PARA:"<p>{{ text }}</p>"},load:function(){
this.previousPageObj=this.previousPageObj||(this.previousPageObjName?dojo.getObject(this.previousPageObjName):null);
this.nextPageObj=this.nextPageObj||(this.nextPageObjName?dojo.getObject(this.nextPageObjName):null);
this._load();
},back:function(){
this.showPreviousPage();
},_pageYOffset:0,showNextPage:function(){
dojo.style(this.nextPageObj.domNode,{display:"block"});
this.domNode._actualPageYOffset=app.getScrollOffset()[1];
dojo.style(this.domNode,{top:-app.getScrollOffset()[1]+"px"});
app.scrollTo(0,0);
dojo.fx.slideTo({node:this.domNode,left:-100,units:"%",duration:200,rate:40,onEnd:dojo.hitch(this,function(){
dojo.style(this.domNode,{top:"0px",display:"none"});
})}).play();
app.activeScreen=this.nextPageObj||null;
},showPreviousPage:function(){
dojo.style(this.previousPageObj.domNode,{display:"block"});
dojo.fx.slideTo({node:this.previousPageObj.domNode,left:0,units:"%",duration:200,rate:40,onEnd:dojo.hitch(this,function(){
app.scrollTo(0,this.previousPageObj.domNode._actualPageYOffset);
dojo.style(this.domNode,{top:"0px",display:"none"});
})}).play();
app.activeScreen=this.previousPageObj||null;
},_convertYqlData:function(_1){
if(!dojo.getObject("query.results.row",_1)){
console.log(arguments);
throw new Error(":-( YQL says: "+_1.error.diagnostics.csv);
}else{
return this._mapYqlResultToColumns(_1.query.results.row);
}
},_jsonp:function(_2){
var _3=document;
var _4=_3.createElement("script");
_4.type="text/javascript";
_4.src=_2;
_4.charset="utf-8";
return _3.getElementsByTagName("head")[0].appendChild(_4);
},_mapYqlResultToColumns:function(_5){
var _6=dojo.isArray(_5)?_5:[_5],_7=[],_8=this.columns.length;
for(var i=1,l=_6.length,_9,d={};i<l;i++){
_9=_6[i];
d={};
for(var j=0,_a,_b;j<_8;j++){
_b=this.columns[j];
_a=_9["col"+j]||"";
_a=_a.indexOf(",")!=-1?_a.replace(/^"/,"").replace(/"$/,""):_a;
if(_b=="startTime"||_b=="endTime"){
_a=_a.replace(/\:00$/,"");
}
d[_b]=_a;
}
_7.push(d);
}
return _7;
}});
(function(){
var _1=/^https?:\/\//i;
dojo.declare("app.Event",app._ui,{contentNode:dojo.query(".events .content")[0],events:[],domNode:dojo.query(".events")[0],nextPageObjName:"app.details",_formatTime:function(_2){
var _3=(_2+"").split("T");
var _4=_3[0].split("-"),_5=parseInt(_4[0],10)||0,_6=parseInt(_4[1],10)||0,_7=parseInt(_4[2],10)||0;
if(_3.length>1){
_3[1]=_3[1].slice(0,5).replace(/^0+/,"");
}
return {date:this._months[_6-1]+" "+_7,dateShort:this._monthsShort[_6-1]+" "+_7,time:_3[1]};
},dataCallback:function(_8){
var _9=[];
if(typeof _8.feed.entry!="undefined"){
for(var i=0,d=_8.feed.entry,l=d.length,_a;i<l;i++){
_a=d[i];
var _b=_a["gd$when"][0],_c=this._parseBlock(_a.content["$t"]);
var _d=dojo.mixin(_c,{name:_a.title["$t"],location:_a["gd$where"][0].valueString,startTime:_b.startTime,endTime:_b.endTime,begins:this._formatTime(_b.startTime),ends:this._formatTime(_b.endTime)});
dojo.forEach(["url","locationUrl","scheduleGoogleSpreadsheetId"],function(_e){
if(_e in _d&&_d[_e].shift){
_d[_e]=_d[_e].shift();
}
});
if(!_d.url||!_1.test(_d.url)){
_d.url="";
}
if(_d.description&&_d.description.join){
_d.description=_d.description.join(", ");
}
_9.push(_d);
}
}
this.render(_9);
},_parseBlock:function(_f){
try{
var ret=dojo.fromJson(_f);
}
catch(e){
var ret={},_10=(""+_f).split("\n"),_11="";
for(var i=0,l=_10.length,_12,_13;i<l;i++){
_12=_10[i];
_13=_12.match(/^\s*([a-zA-Z]+)\s*:/);
if(_13!==null){
_11=_13[1];
_12=dojo.trim(_12.replace(new RegExp("s*"+_11+"s*:"),""));
if(!_12){
continue;
}
if(typeof ret[_11]=="undefined"){
ret[_11]=[_12];
}else{
ret[_11].push(_12);
}
}
}
for(var r in ret){
ret[r]=dojo.trim(dojo.isArray(ret[r])?ret[r].join(","):ret[r]).replace(/\s*,\s*/g,",").split(",");
}
}
for(var i in ret){
if(!dojo.isArray(ret[i])){
ret[i]=[ret[i]];
}
}
return ret;
},load:function(){
app.activeScreen=this;
this.contentNode.innerHTML="<p class='state'>Loading...</p>";
this.inherited(arguments);
},_load:function(){
var url="http://www.google.com/calendar/feeds/0s3d3j8lpu4nl5ab1thgi3nc2s%40group.calendar.google.com/public/full-noattendees?"+"sortorder=ascending&singleevents=true&orderby=starttime&futureevents=true&alt=json-in-script&"+"callback=app.event.dataCallback";
this._jsonp(url);
},onClick:function(e){
dojo.stopEvent(e);
var _14=e.target._eventIndex;
if(_14===undefined){
var n=e.target;
while(n.tagName.toLowerCase()!="a"&&typeof n._eventIndex=="undefined"){
n=n.parentNode;
}
_14=n._eventIndex;
}
if(dojo.isNumber(_14)){
this.nextPageObj.load(this.events[_14]);
this.showNextPage();
}else{
alert("Internal error, event data not found. (index="+_14+")");
}
},_months:["January","February","March","April","May","June","July","August","September","October","November","December"],_monthsShort:["Jan.","Feb.","Mar.","Apr.","May","June","July","Aug.","Sep.","Oct.","Nov.","Dec."],render:function(_15){
this.events=[];
var n=this.contentNode,_16=0;
n.innerHTML="";
for(var i=0,ev,l=_15.length;i<l;i++){
ev=_15[i];
var _17=ev.startTime.match(/(\d{4})-(\d{2})/),_18=_17.length==3?ev.startTime.substr(0,7):"";
if(_16!=_18){
n.innerHTML+=app.dtl.render(this.TEMPLATES.SUB_HEADLINE,{headline:this._months[_17[2]-1]+" "+_17[1]});
_16=_18;
}
this.events.push(ev);
this.events[i].index=i;
var _19=dojo.clone(ev);
dojo.mixin(_19,{info:_19.location?_19.begins.dateShort+", "+_19.location:_19.begins.dateShort,_itemType:"event",linkClass:"compact"});
n.innerHTML+=app.dtl.render(this.TEMPLATES.ITEM,_19);
}
var _1a=dojo.query("a",this.contentNode);
for(var i=0,l=_1a.length;i<l;i++){
_1a[i]._eventIndex=i;
}
}});
app.event=new app.Event();
var _1b=dojo.query(".events .content")[0],_1c=dojo.query(".events .header .helpButton")[0];
if(_1b){
dojo.connect(_1b,app.clickEvtName,dojo.hitch(app.event,"onClick"));
}
if(_1c){
dojo.connect(_1c,app.clickEvtName,function(){
app.help.load();
});
}
})();
(function(){
dojo.declare("app.Details",app._ui,{domNode:dojo.query(".details")[0],contentNode:dojo.query(".details .content")[0],h2Node:dojo.query(".details .subHeader h2")[0],currentEvent:null,nextPageObjName:"app.track",previousPageObjName:"app.event",load:function(_1){
this.currentEvent=_1;
this.inherited(arguments);
},_load:function(){
this.render(this.currentEvent);
},render:function(_2){
this.h2Node.innerHTML=_2.name;
var _3=[],t=this.TEMPLATES,_4=app.dtl.render;
var _5=_2.begins.date;
if(_2.begins.date!=_2.ends.date){
_5+=" \u2013 "+_2.ends.date;
}else{
if(_2.begins.time){
_5+=", "+_2.begins.time;
if(_2.ends.time&&_2.begins.time!=_2.ends.time){
_5+=" \u2013 "+_2.ends.time;
}
}
}
_3.push(_4(t.DESC_ITEM,{title:_5}));
var _6={title:_2.location},_7=t.DESC_ITEM;
if(_2.locationUrl){
_6.href=_2.locationUrl;
_7=t.DESC_ITEM_LINKED;
}
_3.push(_4(_7,_6));
if(_2.url){
_3.push(_4(t.DESC_ITEM_LINKED,{title:"Web: "+_2.url,href:_2.url,linkClass:"compact"}));
}
if(_2.speakers&&_2.speakers.length){
_3.push(_4(t.DESC_ITEM,{title:"Speakers: "+_2.speakers.join(", ")}));
}
if(_2.tags&&_2.tags.length){
_3.push(_4(t.DESC_ITEM,{title:"Tags: "+_2.tags.join(", ")}));
}
if(_2.scheduleGoogleSpreadsheetId){
_3.push(_4(t.ITEM,{name:"Browse schedule",info:"",_itemType:"event",index:0,linkClass:"schedule"}));
}
if(_2.description){
_3.push(_4(t.SUB_HEADLINE,{headline:"Information"}));
_3.push(_4(t.DESC_ITEM,{title:_2.description}));
}
if(_3.length){
this.contentNode.innerHTML=_4(t.DESC_LIST,{items:_3.join("")});
}
var _8=dojo.query(".details a.schedule")[0];
if(_8){
dojo.connect(_8,app.clickEvtName,dojo.hitch(app.details,"onClick"));
}
},onClick:function(e){
dojo.stopEvent(e);
this.nextPageObj.load(this.currentEvent);
this.showNextPage();
}});
app.details=new app.Details();
var _9=dojo.query(".details .header .backButton")[0];
if(_9){
dojo.connect(_9,app.clickEvtName,dojo.hitch(app.details,"back"));
}
})();
(function(){
dojo.declare("app.Track",app._ui,{columns:["headline","name","room","lastChanged"],contentNode:dojo.query(".tracks .content")[0],currentEvent:null,domNode:dojo.query(".tracks")[0],tracks:[],nextPageObjName:"app.schedule",previousPageObjName:"app.details",dataCallback:function(_1){
this.render(this._convertYqlData(_1));
},load:function(_2){
this.currentEvent=_2;
this.contentNode.innerHTML="<p class='state'>Loading...</p>";
dojo.query(".subHeader h2",this.domNode)[0].innerHTML=this.currentEvent.name;
this.inherited(arguments);
},_load:function(){
var _3=this.currentEvent;
var _4="http://query.yahooapis.com/v1/public/yql?"+"q=select%20*%20from%20csv%20where%20url%3D'http%3A%2F%2Fspreadsheets.google.com%2Fpub%3Fkey%3D"+_3.scheduleGoogleSpreadsheetId+"%26output%3Dcsv'"+"&format=json&callback=app.track.dataCallback";
this._jsonp(_4);
},onClick:function(e){
dojo.stopEvent(e);
var _5=e.target._trackIndex;
if(_5===undefined){
var n=e.target;
while(n.tagName.toLowerCase()!="a"&&typeof n._trackIndex=="undefined"){
n=n.parentNode;
}
_5=n._trackIndex;
}
this.nextPageObj.load(this.tracks[_5]);
this.showNextPage();
},render:function(_6){
this.tracks=[];
var n=this.contentNode;
n.innerHTML="";
for(var i=0,t,l=_6.length;i<l;i++){
t=_6[i];
if(t.headline){
n.innerHTML+=app.dtl.render(this.TEMPLATES.SUB_HEADLINE,t);
}
this.tracks.push(t);
dojo.mixin(this.tracks[i],{index:i,event:this.currentEvent});
var _7=dojo.clone(t);
dojo.mixin(_7,{_itemType:"track",info:t.room});
n.innerHTML+=app.dtl.render(this.TEMPLATES.ITEM,_7);
}
var _8=dojo.query("a",this.contentNode);
for(var i=0,l=_8.length;i<l;i++){
_8[i]._trackIndex=i;
}
}});
app.track=new app.Track();
var _9=dojo.query(".tracks .content")[0],_a=dojo.query(".tracks .header .backButton")[0];
if(_9){
dojo.connect(_9,app.clickEvtName,dojo.hitch(app.track,"onClick"));
}
if(_a){
dojo.connect(_a,app.clickEvtName,dojo.hitch(app.track,"back"));
}
})();
(function(){
var _1={ITEM:"<a class=\"tap-area\" href=\"#{{ _itemType }}-{{ index }}\">"+"{{ name }}"+"<div class=\"info\">{{ info }}</div>"+"<div class=\"info speakers\">{{ speakers }}</div>"+"<div class=\"description displayNone\">{{ description }}</div>"+"</a>"};
dojo.declare("app.Schedule",app._ui,{columns:["startTime","endTime","name","speakers","description"],contentNode:dojo.query(".schedule .content")[0],currentTrack:null,domNode:dojo.query(".schedule")[0],previousPageObjName:"app.track",dataCallback:function(_2){
this.render(this._convertYqlData(_2));
},onClick:function(e){
dojo.stopEvent(e);
var _3=e.target;
while(_3.tagName.toLowerCase()!="a"){
_3=_3.parentNode;
}
dojo.toggleClass(dojo.query(".description",_3)[0],"displayNone");
},render:function(_4){
var n=this.contentNode;
n.innerHTML="";
for(var i=0,l=_4.length;i<l;i++){
var _5=dojo.clone(_4[i]);
dojo.mixin(_5,{_itemType:"schedule",index:i,info:_5.startTime+" - "+_5.endTime});
n.innerHTML+=app.dtl.render(_1.ITEM,_5);
}
},load:function(_6){
this.currentTrack=_6;
dojo.query(".subHeader h2",this.domNode)[0].innerHTML=this.currentTrack.name;
this.contentNode.innerHTML="<p class='state'>Loading...</p>";
this.inherited(arguments);
},_load:function(){
var _7=this.currentTrack;
var _8="http://query.yahooapis.com/v1/public/yql?"+"q=select%20*%20from%20csv%20where%20url%3D'http%3A%2F%2Fspreadsheets.google.com%2Fpub%3Fkey%3D"+_7.event.scheduleGoogleSpreadsheetId+"%26output%3Dcsv%26gid%3D"+(1+_7.index)+"'"+"&format=json&callback=app.schedule.dataCallback";
this._jsonp(_8);
}});
app.schedule=new app.Schedule();
var _9=dojo.query(".schedule .content")[0],_a=dojo.query(".schedule .header .backButton")[0];
if(_9){
dojo.connect(_9,app.clickEvtName,dojo.hitch(app.schedule,"onClick"));
}
if(_a){
dojo.connect(_a,app.clickEvtName,dojo.hitch(app.schedule,"back"));
}
})();
(function(){
dojo.declare("app.Help",app._ui,{domNode:dojo.query(".help")[0],load:function(){
if(this===app.activeScreen){
return;
}
this.previousPageObj=app.activeScreen;
var _1=this.previousPageObj.nextPageObj;
this.previousPageObj.nextPageObj=this;
this.previousPageObj.showNextPage();
app.activeScreen=this;
this.previousPageObj.nextPageObj=_1;
}});
app.help=new app.Help();
var _2=dojo.query(".help .backButton")[0];
if(_2){
dojo.connect(_2,app.clickEvtName,dojo.hitch(app.help,"back"));
}
})();
(function(){
var _1=function(s){
var _2=""+s,_3=[["&","&amp;"],["<","&lt;"],[">","&gt;"],["\xe4","&auml;"],["\xf6","&ouml;"],["\xfc","&uuml;"],["\xc4","&Auml;"],["\xd6","&Ouml;"],["\xdc","&Uuml;"]];
for(var i=0,l=_3.length;i<l;i++){
_2=_2.replace(_3[i][0],_3[i][1]);
}
return _2;
};
app.dtl={_htmlEntities:_1,RE:{variable:/\{\{\s(\w+)((?:\|\w+)*)\s\}\}/g},filters:{},render:function(_4,_5){
var d=app.dtl;
var _6=_4;
if(_6.indexOf("{% if")!=-1){
_6=this._renderIf(_6,_5);
}
return _6.replace(d.RE.variable,function(_7,_8,_9){
var _a="",_b=false;
if(_8 in _5){
_a+=_5[_8];
}
if(_9){
var _c=_9.slice(1).split("|");
for(var i=0,_d=_c.length,_e;i<_d;i++){
_e=_c[i];
if(_e==="safe"){
_b=true;
}else{
if(_e in d.filters){
_a=d.filters[_e](_a);
}else{
throw new Error("Unknown dtl template filter: '"+_e+"'");
}
}
}
}
if(!_b){
_a=d._htmlEntities(_a);
}
return _a;
});
},_renderIf:function(_f,_10){
var ifs=[],pos;
do{
pos=_f.indexOf("{% if ",pos+1);
if(pos!=-1){
ifs.push({startPos:pos,endPos:_f.indexOf("{% endif %}",pos+1),variable:_f.substr(pos+6).replace(/\s%}.*/,"")});
}
}while(pos!=-1);
var ret=_f;
for(var i=ifs.length-1;i>=0;i--){
var v=ifs[i],_11="{% if "+v.variable+" %}",_12="{% endif %}";
if(_10[v.variable]){
ret=ret.substring(0,v.startPos)+ret.substring(v.startPos+_11.length,v.endPos)+ret.substring(v.endPos+_12.length);
}else{
ret=ret.replace(new RegExp(_11+".*"+_12),"");
}
}
return ret;
}};
})();

