
var timems=function(t0){return(new Date()-(t0||0));};Object.prototype.each=function(f){for(var _ in this)f(_,this[_]);return this;}
Object.prototype.map=function(f){var o={};for(var _ in this){var r=f(_,this[_]);o[r[0]]=r[1];}return o;}
Array.toArray=Array.to_a=function(a){var b=new Array();for(var _=0;_<a.length;_++)b.push(a[_]);return b;}
Array.prototype.each=function(f){for(var _=0;_<this.length;_++)f(this[_]);return this;}
Array.prototype.map=function(f){var a=[];for(var _=0;_<this.length;_++)a.push(f(this[_]));return a;}
String.prototype.gsub=function(a,b){return this.split(a).join(b);}
String.prototype.subst=function(words){var s=this.split("{");s=s.map(function(_){return _.split("}");});s=s.map(function(_,r){if(_.length==1)return _;r=words[_[0]];if(r!=null)return r+_[1];return'{'+_.join('}');});return s.join('');}
String.prototype.subst0=function(words){var s=this,o;for(o=s;true;o=s){for(var _ in words)s=s.replace("{"+_+"}",words[_]);if(o===s)return s;}
return s;}
String.prototype.format=function(){for(var _=0,s=this;_<arguments.length;_++)s=s.replace("%s",arguments[_].toString());return s;}
String.prototype.contains=function(s){return(this.indexOf(s)>=0);}
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");}
var upgrade={toCamelCase:function(sInput){if(sInput.indexOf('-')<0)return sInput;var oStringList=sInput.split('-');if(oStringList.length==1)return oStringList[0];var ret=sInput.indexOf("-")==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];ret+=s.charAt(0).toUpperCase()+s.substring(1);}
return ret;},getStyle:function(el,style){if(!document.getElementById)return null;var value=el['offset'+style.charAt(0).toUpperCase()+style.substring(1)];if(!value)value=el.style[upgrade.toCamelCase(style)];if(!value){if(el.currentStyle)
value=el.currentStyle[upgrade.toCamelCase(style)];else if(document.defaultView&&document.defaultView.getComputedStyle)
var cs=document.defaultView.getComputedStyle(el,null);if(cs)value=cs.getPropertyValue(style);}
return value;}}
var $=function(){var int_fns=['width','height','top','right','bottom','left','font-size','border-width'];var str_fns=['background','background-color','color','display','position','font-family','font-weight','border','padding','margin','overflow','display','z-index','cursor','border-color','background-position'];return function(e,c){if(typeof e=='string'){if(document.getElementById)e=document.getElementById(e);else e=document.all[e];}
if(c&&e){for(e=e.firstChild;e;){if(e.id!=null&&e.id==c)break;e=e.nextSibling;}}
if(e&&e.__upgraded2__==null){e.__upgraded2__=true;int_fns.each(function(_){var _cc=upgrade.toCamelCase(_);e[_cc]=function(a){if(arguments.length>0){this.style[_cc]=(typeof a=='number'?a+'px':a);return this;}
var t=upgrade.getStyle(this,_);if(isNaN(parseInt(t)))return t;else return parseInt(t);}});str_fns.each(function(_){var _cc=upgrade.toCamelCase(_);e[_cc]=function(a){if(arguments.length>0){this.style[_cc]=a;return this;}
return upgrade.getStyle(this,_);}});e.opacity=function(a){if(arguments.length){if(this.style.filter!=undefined)this.style.filter='alpha(opacity=%s)'.format(a*100);else this.style.opacity=a;return this;}else{if(this.style.filter!=undefined)return parseFloat(style(this,'filter').split('=')[1])/100;return parseFloat(upgrade.getStyle(this,'opacity'));}}
e.setdiv=function(s){this.innerHTML="<div id='%s'></div>".format(s);return this;}
e.adddiv=function(s){this.innerHTML+="<div id='%s'></div>".format(s);return this;}
e.set=function(s){this.innerHTML=s;return this;}
e.add=function(s){this.innerHTML+=s;return this;}
e.reset=function(){this.set('');return this;}
e.parent=function(){return $(this.parentNode);}}
return(function(e2){e=null;return e2;})(e);}}();var __newxmlreq=function(){var v=["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];try{return new XMLHttpRequest();}catch(e){};for(var i=0;i<v.length;i++)try{return new ActiveXObject(v[i]);}catch(e){};trace('no xmlhttp support?');throw new Error("XMLHttpRequest not found");}
var xmlreq=function(url,pdata,opt_content_type,opt_on_load,opt_on_error){var req=__newxmlreq();req.open((pdata!=null?"POST":"GET"),url,true);if(opt_content_type){try{req.setRequestHeader("Content-Type",opt_content_type);}catch(e){};try{req.overrideMimeType(opt_content_type);}catch(e){};}
req.onreadystatechange=function(){try{if(req.readyState==4){if(req.status==200&&opt_on_load)opt_on_load(req);if(req.status!=200&&opt_on_error)opt_on_error(req);}}catch(e){if(opt_on_error)opt_on_error(req,e);throw e;};}
req.send(pdata);trace('request sent');};
var cog_glue=function(bk_i,minw,rval,bk,iters,glue){minw=OPTS.nodew/OPTS.noded;bk_i.each(function(_){cog_calc_minmax(_);_.scale=1;if(_.maxw>minw)_.scale=((OPTS.nodew/2*_.length-1)/OPTS.noded)/_.maxw*OPTS.scalemult;});rval=[];bk=[];glue=function(_,t){if(bk.length==0){bk=_;return;}
if(bk.scale>=_.scale){if(_.scale/bk.scale>OPTS.glue){t=bk.concat(_);t.maxw=Math.max(_.maxw,bk.maxw);t.minw=Math.min(_.minw,bk.minw);t.scale=Math.max(_.scale,bk.scale);bk=t;return;}}else{if(bk.scale/_.scale>OPTS.glue){t=bk.concat(_);t.maxw=Math.max(_.maxw,bk.maxw);t.minw=Math.min(_.minw,bk.minw);t.scale=Math.max(_.scale,bk.scale);bk=t;return;}}
rval.push(bk);bk=_;}
iters=1;rval=[];bk=[];bk_i.each(glue);rval.push(bk);while(rval.length<bk_i.length){iters++;bk_i=rval;rval=[];bk=[];bk_i.each(glue);rval.push(bk);}
trace(iters+" g-iters");return rval;}
var cog_flatten=function(data){return data;}
var cog_balance=function(block,i,sum){sum=0;for(i=0;i<block.length;i++){sum+=block[i].tmark;}
block.center=sum/block.length;return block.center;}
var cog_calc_minmax=function(block,min,max,t,i){min=100000;max=-100000;for(i=0;i<block.length;i++){if(i>0){t=cog_dist(block[i-1],block[i]);block[i].tstep=t;if(t<min)min=t;if(t>max)max=t;}else block[i].tstep=0;}
block.minw=min;block.maxw=Math.max(0.0001,max);}
var cog_width=function(block){return block[block.length-1].tmark-block[0].tmark;}
var cog_dist=function(a,b){return b.tmark-a.tmark;}
var cog_split=function(block,point,a,b){a=[];for(var i=0;i<block.length;i++){if(block[i].tmark>=point){if(i>0&&i<block.length-2){if(cog_dist(block[i-1],block[i])<cog_dist(block[i],block[i+1])){continue;}}
a=block.slice(0,i);b=block.slice(i);if(a.length>0)return[a,b];else return[b];}
a.push(block[i]);}
return[block];}
var cog_apply=function(bk_i,termcond,bk_o,process,ctr){bk_o=[];process=function(block){ctr=cog_balance(block);block=cog_split(block,ctr);if(block.length==1){cog_calc_minmax(block[0]);bk_o.push(block[0]);}else{block.each(function(_){cog_calc_minmax(_);if(_.length>termcond){process(_);}else{bk_o.push(_);}});}}
bk_i.each(process);return bk_o;}
var TDATA;var NDATA;var OPTS={sourcedata:null,debug:false,samples:500,nodew:360,nodeh:25,noded:12,termcond:11,viewmode:0,widgeth:400,widgetw:900,marginx:8,ctrlsize:32,theme:0,glue:1.0,scalemult:1.5,tagspan:80};var args=(new String(window.location)).split('?');if(args.length==2){args=args[1].split("&");args.each(function(_){_=_.split('=');if(_[0]=="data")OPTS.sourcedata="xtdata/"+_[1]+".js";if(_[0]=="debug")OPTS.debug=(_[1]=="true"?true:false);if(_[0]=="termcond")OPTS.termcond=_[1]*1;if(_[0]=="viewmode")OPTS.viewmode=_[1]*1;if(_[0]=="samples")OPTS.samples=_[1]*1;if(_[0]=="noded")OPTS.noded=_[1]*1;if(_[0]=="nodew")OPTS.nodew=_[1]*1;if(_[0]=="nodeh")OPTS.nodeh=_[1]*1;if(_[0]=="widgeth")OPTS.widgeth=_[1]*1;if(_[0]=="widgetw")OPTS.widgetw=_[1]*1;if(_[0]=="margin")OPTS.marginx=_[1]*1;if(_[0]=="ctrlsize")OPTS.ctrlsize=_[1]*1;if(_[0]=="theme")OPTS.theme=_[1]*1;if(_[0]=="glue")OPTS.glue=_[1]*1;if(_[0]=="scalemult")OPTS.scalemult=_[1]*1;if(_[0]=="tagspan")OPTS.tagspan=_[1]*1;});}
function adjust_widget_size(){if(OPTS.noded>Math.floor((OPTS.widgeth-OPTS.ctrlsize*3)/OPTS.nodeh)){OPTS.noded=Math.floor((OPTS.widgeth-OPTS.ctrlsize*3)/OPTS.nodeh);if(OPTS.noded<1)OPTS.noded=1;}}
if(!trace)var trace=function(str){$('debug')&&$('debug').add("<div>"+str+"</div>");}
var gen_random_data=function(count,w){var data=[];for(var x=0;x<count;x++){var obj={tmark:Math.abs(w*Math.random())};data.push(obj);}
return[data.sort(function(a,b){return a.tmark-b.tmark;})];}
var MONTHS=[0,31,28,31,30,31,30,31,31,30,31,30,31];var MTDAYS=[0,31,59,90,120,151,181,212,243,273,304,334,365];var MNAMES=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var __hl_node=null;var toggle_hl=function(c){if(__hl_node)__hl_node.className="node";(__hl_node=c).className="node hilite";}
var zpad=function(s,l){while(s.length<l)s='0'+s;return s;}
var date_to_s=function(d,yy,mm,dd,HH,MM){yy=d.split('.')[0];if(yy<0){yy*=-1;yy+="BC";}else if(yy<1000){yy+="AD";}
d=d.split('.')[1];mm=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][d.substr(0,2)*1];dd=d.substr(2,2);HH=zpad(""+(d.substr(4,2)*1),2);MM=(d.length>=8?zpad(""+d.substr(6,2)*1,2):"00");return mm+" "+(1*dd)+" "+yy+" "+(d.length>4?HH+":"+MM:"");}
var date_to_a=function(d,yy,mm,dd,HH,MM){yy=d.split('.')[0];if(yy<0){yy*=-1;yy+="BC";}else if(yy<1000){yy+="AD";}
if(d.length==1)return[yy];d=d.split('.')[1];dd=d.substr(2,2)*1;mm=d.substr(0,2)*1;if(d.length<=4)return[yy,mm,dd];HH=d.substr(4,2)*1;MM=d.substr(6,2)*1;return[yy,mm,dd,HH,MM];}
var fx_fadein=function(_,on_complete){_.display("block");_.opacity(0.0);var opacity=0.0;var ani=function(){if(opacity<0.9){_.opacity(opacity=Math.min(opacity+0.25,1.0));}else{_.opacity(opacity=0.99);clearInterval(ival);if(on_complete)on_complete();}}
var ival=setInterval(ani,50);}
var fx_fadeout=function(_,on_complete){_.display("block");var opacity=0.0;var ani=function(){if(opacity>0.1){_.opacity(opacity=Math.max(opacity-0.25,0.0));}else{_.opacity(opacity=0.0);_.display("none");clearInterval(ival);if(on_complete)on_complete();}}
var ival=setInterval(ani,50);}
var main_view=function(_){}
var node_sel=function(_,base,i,node,data,info,tbar,nbar,ctrl){i=_.id.substr(1)*1;if(i==654321){node=TDATA;if(!base)base=_.parentNode.parentNode.parentNode;}else{node=NDATA[i];if(!base)base=_.parentNode.parentNode;}
info=$(base.childNodes[3]);nbar=$(base.childNodes[0]);tbar=$(base.childNodes[1]);ctrl=$(base.childNodes[2]);data=[];if(node.media){data.push("<div class='media_panel'><span>%s</span></div>".format(node.media));}
data.push("<div class='info_panel' style='width:%spx'>".format(OPTS.widgetw/2));data.push("<span class='title'>%s</span>".format(node.title.gsub("&nbsp;"," ")));data.push("<br><span class='semi'>%s</span>".format(date_to_s(node.date)));data.push("<br><br>");data.push("<div>%s</div>".format(node.description));if(node.link)data.push("<div><br><a href='%s' target='xtd'>click for full event details</a></div>".format(node.link));data.push("</div>");info.set(data.join(''));$(info.firstChild.lastChild).onmousedown=function(){return true;};if(node.media)$(info.firstChild).width(info.width()*0.4).height(info.height()).top(24).display('inline');info.display("block");info.opacity(0.01);$(tbar.firstChild.childNodes[0]).display('block');$(tbar.firstChild.childNodes[1]).display('block');$(tbar.firstChild.childNodes[2]).display('block');$(tbar.firstChild.childNodes[3]).display('none');$(tbar.firstChild.childNodes[4]).display('none');ctrl.display("none");var ctrltime=0;var set_handlers=function(){$(tbar.firstChild.childNodes[0]).onclick=function(){i=i-1;if(i<0)i=NDATA.length-1;node_sel({id:"n"+i},base);}
$(tbar.firstChild.childNodes[1]).onclick=function(){__ui_adjust_main_ctrls(base);fx_fadeout(info);fx_fadein(nbar);tbar=$(base.childNodes[1]);ctrl=$(base.childNodes[2]);ctrl.display("block");tbar.bottom(OPTS.ctrlsize);}
$(tbar.firstChild.childNodes[2]).onclick=function(){i=i+1;if(i>=NDATA.length)i=0;node_sel({id:"n"+i},base);}
info.onmousemove=function(e){ctrltime=timems();if($(info.lastChild.lastChild).display()=="block")return;var clrctrl=function(){if(timems()-ctrltime>500){fx_fadeout($(info.lastChild.lastChild));clearInterval(i);}}
fx_fadein($(info.lastChild.lastChild));}
info.onmousemove(null);}
fx_fadein(info,set_handlers);fx_fadeout(nbar,set_handlers);}
var render_nodes=function(blocks,out){out=out||[];out.push("<div class='node_layer'>");var id=0;var bx=OPTS.marginx*2+OPTS.nodew,nh=0;bx=OPTS.widgetw/2;var draw_node_fn=function(block){nh=0;return function(_){_.xpos=block.xpos+(_.tmark-block[0].tmark)*block.scale;_.ypos=nh*OPTS.nodeh;var ndef="<div class='node' id='%s' onmouseover='toggle_hl(this);' style='left:%spx;top:%spx;width:%spx;'><a onclick='node_sel(this.parentNode);' >%s</a><br><br><div class='cardview'>%s</div></div>";var desc="";if(OPTS.viewmode==1){desc="%s<br>".format(date_to_s(_.date))+_.description;if(_.icon)desc="<div><img src='%s' width=130'></div>".format(_.icon)+desc;}
out.push(ndef.format("n"+(id++),_.xpos,_.ypos,OPTS.nodew-8,_.title||"untitled&nbsp;event",desc));nh=(nh+1)%OPTS.noded;}}
var draw_block=function(_,bdef,ddef,date,bw,nh){bw=(_[_.length-1].tmark-_[0].tmark)*_.scale+OPTS.nodew;if(!OPTS.viewmode){ddef="<div class='block' style='top:%spx;left:%spx;width:%spx;overflow:hidden;height:32px;'>%s</div>";var d="";var d0=_[0].tmark;var dn=_[_.length-1].tmark;var dr=dn-d0;var m2="<div class='tmark' style='top:0px;left:%spx;width:%spx;height:32px;z-index:2;%s'>%s</div> ";var y0=d0-d0%(60*60*24*365);var ys=(60*60*24*365);var cy=Math.floor(y0/ys);var mys=1;var ts=OPTS.tagspan;while(ys*mys*_.scale<(ts))mys+=1;for(var y=y0;y<=dn;y+=(ys*mys)){var mcy=cy;if(mcy<0)mcy=-mcy+"BC";else if(mcy<1000)mcy+="AD";var yx=(y-d0)*_.scale;var yw=ys*_.scale*mys;if(mys==1&&ys*_.scale>=ts*3){var mstep=1;if(ys*_.scale>=ts*3)mstep=4;if(ys*_.scale>=ts*4)mstep=3;if(ys*_.scale>=ts*6)mstep=2;if(ys*_.scale>=ts*12)mstep=1;var ms=ys/12*_.scale;var mx=yx;for(var m=1;m<=12;m+=mstep){if(mx>(dn-d0)*_.scale)break;if(mx>=0&&mx+ts<bw)
d+=("<div style='position:absolute;font-size:10px;left:%spx;top:14px;height:32px;z-index:3;'>%s</div>").format(mx,MNAMES[m]);mx+=ms*mstep;}}
if(yx>=0){if(yx+ts<bw)d+=m2.format(yx,yw,"text-align:left;",mcy);else d+=m2.format(yx,bw-yx,"","");}else{var pdate=date_to_s(_[0].date).gsub(" ","&nbsp;");if(yx+yw<bw){if(yx+yw>ts)
d+=m2.format(0,(yx+yw),"text-align:left;font-size:9px;",pdate);else
d+=m2.format(0,(yx+yw),"text-align:left;","");}else{var NOMONTHS=true;d+=m2.format(0,bw,"text-align:left;font-size:9px;",pdate);}}
cy+=mys;}
out.push(ddef.format((OPTS.widgeth-OPTS.ctrlsize*3),bx+8,bw,d));}
_.xpos=bx;_.width=bw;_.each(draw_node_fn(_));bx+=bw;}
blocks.each(draw_block);out.push("</div>");out.push("<div class='name_layer'>untitled timeline&nbsp;</div>");out.push("<div class='ctrl_layer'></div>");out.push("<div class='info_layer'></div>");return out;}
var __ui_set_theme=function(target,theme){var addrule=function(sel,rul){if(css.insertRule)css.insertRule(sel+'{%s}'.format(rul),css.cssRules.length);if(css.addRule)css.addRule(sel,rul);}
theme=theme||OPTS.theme||0;if(document.styleSheets||(trace('no stylesheet access!'),0)){var css=null;Array.toArray(document.styleSheets).each(function(_){if(_.cssRules&&_.cssRules[0].selectorText==".xtimeline_style")css=_;if(_.rules&&_.rules[0].selectorText==".xtimeline_style")css=_;});if(!css){trace('xtimeline css not found');return;}
switch(theme){case 0:addrule('.widget','color:#000;background:#d0d0c0;padding:0px;margin:0px;');addrule('.title','color:#000;font-size:16px;');addrule('.info_layer','color:#222;background-image:url("xtassets/info_bg.gif");');addrule('.node_layer','color:#222;background:inherit;background-image:url("xtassets/node_bg.gif");');addrule('.name_layer','color:#5c8015;background:#d0d0c0;background-image:url("xtassets/name_bg.gif");font-size:24px;font-family:tahoma,verdana;');addrule('.node a','color:#000; font-weight:normal;');addrule('.hilite a','color:#000; font-weight:normal;');addrule('.widget','background:#d0d0c0;border:solid 1px #b0b0a0; color:#000;');addrule('.block','z-index:1;border:solid 4px #5c8015;border-width:1px 0 0 0;color:#5c8015;font-size:12px;font-weight:bold; color:#222; border-color:#222;');addrule('.tmark',"position:absolute; border:solid 1px #b0b0a0; border-width:0px 0 0 0px; height:32px;");addrule('.ctrl_layer',"background:#c0c0b0; background-image:url('/xt3/xtassets/slider.gif'); background-repeat:no-repeat; background-position: 0px 0px; cursor:pointer;");break;default:break;}}}
var __node_pos=0;var __ctrl_pos=0;var adjust_ui=function(target,data,theme){__ui_set_theme(target,theme);$(target.childNodes[0]).width(Math.max(OPTS.widgetw,data[data.length-1].xpos+data[data.length-1].width+OPTS.marginx*2+OPTS.nodew)).height(OPTS.widgeth-OPTS.ctrlsize*2);$(target.childNodes[0]).position('absolute');$(target.childNodes[0]).top(32);$(target.childNodes[1]).width(OPTS.widgetw).height(OPTS.ctrlsize).top(0);$(target.childNodes[2]).width(OPTS.widgetw).height(OPTS.ctrlsize).bottom(0).left(0);$(target.childNodes[3]).width(OPTS.widgetw).height(OPTS.noded*OPTS.nodeh+OPTS.ctrlsize*2).top(OPTS.ctrlsize);target.childNodes[1].onclick=function(){}
target.childNodes[0].onmousedown=function(e){var _x=-1;target.childNodes[0].onmousemove=target.childNodes[2].onmousemove=function(e){document.body.focus();e=e||window.event;var ctrl=target.childNodes[2];var node=target.childNodes[0];if(window.scrollX)var scrollx=window.scrollX;else var scrollx=document.body.scrollLeft;var x=(e.clientX+scrollx)-target.left();if(_x<0)_x=x;var cpos=ctrl.backgroundPosition()+(_x-x);var nx=node.left()+(x-_x);if(nx<-node.width()+ctrl.width())nx=-node.width()+ctrl.width();if(nx>0)nx=0;node.left(__node_pos=nx);_x=x;var cpos=-nx*(ctrl.width()-OPTS.ctrlsize)/(node.width()-ctrl.width());ctrl.backgroundPosition("%spx 0px".format(cpos));__ctrl_pos=cpos;}
target.childNodes[0].onmouseup=target.childNodes[2].onmouseup=function(e){target.childNodes[0].onmousemove=target.childNodes[2].onmousemove=null;}}
target.childNodes[2].onmousedown=function(e){var _x=-1;target.childNodes[0].onmousemove=target.childNodes[2].onmousemove=function(e){document.body.focus();e=e||window.event;var ctrl=target.childNodes[2];var node=target.childNodes[0];if(window.scrollX)var scrollx=window.scrollX;else var scrollx=document.body.scrollLeft;var x=(e.clientX+scrollx)-target.left();if(x<OPTS.ctrlsize/2)x=OPTS.ctrlsize/2;if(x>ctrl.width()-OPTS.ctrlsize/2)x=ctrl.width()-OPTS.ctrlsize/2;if(_x<0){_x=x;return;}
var cpos=x-OPTS.ctrlsize/2;ctrl.backgroundPosition("%spx 0px".format(cpos));var npos=-(node.width()-(ctrl.width()-OPTS.ctrlsize))*((x-OPTS.ctrlsize/2)/(ctrl.width()-OPTS.ctrlsize));if(npos>0)npos=0;if(npos<-(node.width()-ctrl.width()))npos=-(node.width()-ctrl.width());node.left(__node_pos=npos);__ctrl_pos=cpos;}
target.childNodes[0].onmouseup=target.childNodes[2].onmouseup=function(e){target.childNodes[0].onmousemove=target.childNodes[2].onmousemove=null;}}
target.childNodes[0].left(0);fx_fadein(target.childNodes[0]);}
var toggle_viewmode=function(target){OPTS.viewmode=!OPTS.viewmode;target=target.parentNode.parentNode.parentNode;var on_complete=function(){adjust_ui(target,show_timeline(target,[NDATA]));node.left(__node_pos);ctrl.backgroundPosition("%spx 0px".format(__ctrl_pos));}
fx_fadeout(target.childNodes[0],on_complete);}
var __ui_adjust_main_ctrls=function(target,bstrip){bstrip=target.childNodes[1].firstChild;$(bstrip.childNodes[0]).display('none');$(bstrip.childNodes[1]).display('none');$(bstrip.childNodes[2]).display('none');$(bstrip.childNodes[3]).display('block').opacity(0.99);$(bstrip.childNodes[4]).display('block').opacity(0.99);if(OPTS.viewmode!=0)
$(bstrip.childNodes[3]).onclick=function(){toggle_viewmode(this);};else
$(bstrip.childNodes[3]).opacity(0.5);if(OPTS.viewmode!=1)
$(bstrip.childNodes[4]).onclick=function(){toggle_viewmode(this);};else $(bstrip.childNodes[4]).opacity(0.5);$(bstrip.childNodes[0]).position('absolute').top(0).right(76);$(bstrip.childNodes[1]).position('absolute').top(0).right(44);$(bstrip.childNodes[2]).position('absolute').top(0).right(12);$(bstrip.childNodes[3]).position('absolute').top(0).right(44);$(bstrip.childNodes[4]).position('absolute').top(0).right(12);}
var show_timeline=function(target,data){var html='';var out=[];var t0=timems();data=cog_apply(data,(OPTS.viewmode?OPTS.viewmode:OPTS.termcond));trace(data.length+" cog-blocks");data=cog_glue(data);trace(data.length+" g-blocks");trace((timems(t0)|1)/1000+"s layout");t0=timems();out=render_nodes(data,out);target.set(out.join(""));var tbar="<span>"
+"<div class='pointer'><img src='/xt3/xtassets/left.gif'></div>"
+"<div class='pointer'><img src='/xt3/xtassets/exit.gif'></div>"
+"<div class='pointer'><img src='/xt3/xtassets/right.gif'></div>"
+"<div class='pointer'><img src='/xt3/xtassets/viewmode0.gif'></div>"
+"<div class='pointer'><img src='/xt3/xtassets/viewmode1.gif'></div>"
+"<span id='n654321' class='pointer' onclick='node_sel(this)'>%s</span></span>&nbsp;";$(target.childNodes[1]).set(tbar.format(TDATA.title));__ui_adjust_main_ctrls(target);trace((timems(t0)|1)/1000+"s output");return data;}
var __xt_main=function(target,data){NDATA=data[0];var t0=timems();trace(data[0].length+" nodes");data=show_timeline(target,data);adjust_ui(target,data);trace((timems(t0)|1)/1000+"s elapsed");};var xt_alert=function(target,str){str=str.gsub("<","&lt;");str=str.gsub(">","&gt;");target.set('<div class="node hilite" style="top:0px;left:%spx;">&nbsp;&nbsp;&nbsp;%s</div>'.format(OPTS.marginx,str));}
var __import_xtdata=function(xtdata){var block=[];xtdata=eval("__ie_hack="+(new String(xtdata)).gsub("{secure:(function(){throw('halt');})()},","")+";");var min=0;var to_s=function(){return"[node: "+(this.title||"untitled")+"]";}
xtdata.each(function(_){var o={};var d=_.start.split(",")[0].split(".");o.date=d[0]+"."+d[1];var td="01010000";d[1]=d[1]||"";while(d[1].length<8)d[1]=""+d[1]+""+td.charAt(d[1].length);var scale=Math.max(OPTS.nodew/OPTS.noded,24*60*60);o.tmark=((d[0]*365)+MTDAYS[1*d[1].substr(0,2)-1]+
1*d[1].substr(2,2)+
(1*d[1].substr(4,2))/24+
(1*d[1].substr(6,2))/(24*60))*scale;o.tmark+=Math.random()/(24*60);if(typeof o.tmark!='number')trace(o.tmark);o.title=_.title.gsub(" ","&nbsp;")+"&nbsp;";o.icon=_.icon;o.media=_.media;o.description=_.description||"";o.link=_.link||"";o.toString=to_s;block.push(o);});var title=block[0];return[title,[block.slice(1).sort(function(a,b){return a.tmark-b.tmark;})]];}
var xtimeline=function(target,data){OPTS.sourcedata=data||OPTS.sourcedata||"xtdata/ww2new";__ui_set_theme(target,OPTS.theme);target=$(target||'widget');OPTS.widgetw=target.width();OPTS.widgeth=target.height();adjust_widget_size();$('debug')&&$('debug').set('');xt_alert(target,"XTimeline Loading ...".gsub(" ","&nbsp;"));if(OPTS.sourcedata){trace('load '+OPTS.sourcedata);xmlreq(OPTS.sourcedata,null,null,function(r){trace('load ok');xt_alert(target,'Processing&nbsp;XTimeline&nbsp;...');var user_data=__import_xtdata(r.responseText);TDATA=user_data[0];__xt_main(target,user_data[1]);},function(r,e){trace('load err '+e.toString());xt_alert(target,'XTimeline Detected An Error - Please try again later.'.gsub(' ','&nbsp;'));});trace('load wait');}else{var user_data=gen_random_data(OPTS.samples,Math.max(OPTS.widgetw,OPTS.samples*(OPTS.nodew/OPTS.noded)));__xt_main(target,user_data);}}