var superfly={flash_cbacks:new Array(),subscribe_hash:new Array(),subscribe_ani:new Array(),last_data:new Array(),avail_feeds:{pages:{url:"/api/pages/",interval:2},stats:{url:"/dashapi/stats/",interval:0}},data:null,interval:33,paused:false,apikey:"",shareLink:"",tzoffset_set:false,setDomain:function(a){this.domain=a},setDisplayUrl:function(a){this.displayUrl=a},numSubscribers:function(a){if(this.subscribe_hash[a]&&this.subscribe_hash[a].objs.length){return this.subscribe_hash[a].objs.length}return 0},lastCallTime:function(a){if(this.avail_feeds[a]){return this.avail_feeds[a].last_call_time}},subscribeToDataFeed:function(a,e,b){var c=this.subscribe_hash[a];if(!$chk(c)){c=new Object();c.objs=new Array();c.args=new Array()}c.objs.push(e);c.args.push(b);this.subscribe_hash[a]=c},unsubscribeFromDataFeed:function(b,e){var c=this.subscribe_hash[b];if($chk(c)){for(var a=0;a<c.objs.length;++a){if(c.objs[a]==e){c.objs.splice(a,1);c.args.splice(a,1)}}}},addNewDataFeed:function(a,c,b,f){if(this.avail_feeds[a]){return false}var e=new Object();e.url=c;e.interval=b;e.modify_args=f;e.second_count=0;this.avail_feeds[a]=e;return true},removeDataFeed:function(a){if(this.avail_feeds[a]){delete (this.avail_feeds[a])}},modifyDataFeed:function(a,c,b,e){if(!this.avail_feeds[a]){return false}if(c){this.avail_feeds[a].url=c}if(b){this.avail_feeds[a].interval=b}this.avail_feeds[a].modify_args=e;return true},refreshDataFeed:function(a){if(!this.avail_feeds[a]){return false}this.avail_feeds[a].second_count=0;this.avail_feeds[a].refresh_data=true},pauseFeed:function(a){if(this.avail_feeds[a]){this.avail_feeds[a].paused=true}},resumeFeed:function(a){if(this.avail_feeds[a]){this.avail_feeds[a].paused=false}},pauseFeeds:function(a){superfly.paused=true;if(!$("pausebox")&&a){var b=new Element("div",{id:"pausebox","class":"pausebox",html:"paused.  click to resume."});b.setStyle("opacity",0.6);var c=document.documentElement.scrollTop;if(c==0&&document.body.scrollTop){c=document.body.scrollTop}b.setStyle("top",c);$(document.body).adopt(b)}},resumeFeeds:function(){superfly.paused=false;if($("pausebox")){$("pausebox").dispose()}},subscribeToAnimation:function(a){this.subscribe_ani.push(a)},animator:function(){for(var a=0;a<superfly.subscribe_ani.length;++a){superfly.subscribe_ani[a].animate()}superfly.setAnimatorTimeout()},queryFeeds:function(){if(!$chk(superfly.domain)||superfly.paused){superfly.setQueryTimeout();return}for(var feedid in superfly.avail_feeds){if(superfly.avail_feeds[feedid].refresh_data){superfly.avail_feeds[feedid].refresh_data=false}else{if(superfly.avail_feeds[feedid].paused){continue}}if(!superfly.avail_feeds[feedid].second_count){superfly.avail_feeds[feedid].second_count=0}if(superfly.avail_feeds[feedid].processing||superfly.avail_feeds[feedid].run_once){continue}else{if(superfly.avail_feeds[feedid].interval&&superfly.avail_feeds[feedid].second_count%superfly.avail_feeds[feedid].interval!=0){superfly.avail_feeds[feedid].second_count++;continue}}if(superfly.avail_feeds[feedid].interval==0){superfly.avail_feeds[feedid].run_once=true}superfly.avail_feeds[feedid].processing=true;var cback=function(jsonret,fid){if(typeof(jsonret)=="string"){eval("ret = "+jsonret)}else{ret=jsonret}superfly.dashboard.show();if(this.options){var feedid=this.options.headers.feedid}else{feedid=fid}if(!superfly.avail_feeds[feedid]){return}superfly.last_data[feedid]=ret;var subs=superfly.subscribe_hash[feedid];if(!$chk(subs)){return}for(var x=0;x<subs.objs.length;++x){subs.objs[x].draw(ret,subs.args[x])}superfly.avail_feeds[feedid].second_count++;superfly.avail_feeds[feedid].processing=false;if(historical.series){superfly.historical.beginPlayback(historical.series);historical.series=false}};var reqargs={host:superfly.domain,rnd:Math.random(),sessionid:Cookie.read("sessionid")};if(superfly.avail_feeds[feedid].modify_args){reqargs=superfly.avail_feeds[feedid].modify_args(superfly.avail_feeds[feedid],reqargs)}superfly.avail_feeds[feedid].last_call_time=new Date();superfly.getFeedData(feedid,superfly.avail_feeds[feedid].url,cback,{feedid:feedid},reqargs);if(!$chk(superfly.avail_feeds[feedid].count)){superfly.avail_feeds[feedid].count=0}else{superfly.avail_feeds[feedid].count++}}superfly.setQueryTimeout()},onChartbeat:function(){var a=false;if(location.host.match(/chartbeat\.com(:\d+)?$/)){a=true}return a},getFeedData:function(feedid,url,cback,headers,reqargs){var onCB=superfly.onChartbeat();var httpmatch=url.match(/^http:/);if(superfly.apikey!=""){reqargs.apikey=superfly.apikey;reqargs.sessionid=""}if(!onCB||httpmatch){if(!httpmatch){url="http://chartbeat.com"+url}var jsonp=feedid+"_cback";var jsid=feedid+"_jsid";eval(jsonp+"= function(data) { cback(data, feedid); }");var args="?";for(var arg in reqargs){args+=arg+"="+reqargs[arg]+"&"}args+="jsonp="+jsonp;if($(jsid)){$(jsid).erase()}var el=new Element("script",{type:"text/javascript",src:url+args,id:jsid});$$("head").adopt(el)}else{new Request({url:url,onComplete:cback,headers:headers}).GET(reqargs)}},runFrequency:function(a,c,b){if(b){return true}if(!$chk(this.avail_feeds[a])){return false}return(this.avail_feeds[a].count%c==0)},title:function(m,k,a){if(!a){a="pages"}if(!$chk(this.last_data[a])){return m}var g=this.last_data[a].titles[m];if(!$chk(g)){return m}if(k){var e=new Array();var h=0;for(var l in this.last_data[a].titles){++h;if(h>5){break}e.push(this.last_data[a].titles[l])}if(!e.length){return utf8.decode(g)}var b=false;var c=0;for(var h=0;h<g.length;++h){if(!g[h]){break}if(g[h].match(/^[^A-Za-z0-9]/)){c=h}for(var f=0;f<e.length;++f){if(e[f]&&g[h]!=e[f][h]){b=true;break}}if(b){break}}if(h<5||h>=g.length){return utf8.decode(g)}return utf8.decode(g.substr(c).replace(/^[^A-Za-z0-9]*/g,""))}return utf8.decode(g)},url:function(a){return"http://"+this.displayUrl+a},timestampdate:function(f,b){if(!b){var h=new Date(f*1000)}else{var h=b}var e=h.getMonth()+1;var a=h.getDate();var c=h.getFullYear();var g=h.getDay();switch(g){case 0:g="sun";break;case 1:g="mon";break;case 2:g="tue";break;case 3:g="wed";break;case 4:g="thu";break;case 5:g="fri";break;case 6:g="sat";break}return g+" "+e+"/"+a+"/"+c+" "+this.prettyclocktime(f,false,b)},timestampjustdate:function(f,b){if(!b){var g=new Date(f*1000)}else{var g=b}var e=g.getMonth()+1;var a=g.getDate();var c=g.getFullYear();return e+"/"+a+"/"+c},prettyclocktime:function(g,k,c){if(!c){var h=new Date(g*1000)}else{var h=c}var a=h.getHours();var e=h.getMinutes();var f=h.getSeconds();var b="am";if(a>11){if(a>12){a=a-12}b="pm"}else{if(a==0){a=12}}if(e<10){e="0"+e}if(f<10){f="0"+f}return a+":"+e+((k)?":"+f:"")+" "+b},prettytime:function(a){if(a<60){t=a;return t+" second"+((t==1)?"":"s")}else{if(a<3600){t=Math.round(a/60);return t+" minute"+((t==1)?"":"s")}else{if(a<86400){t=Math.round(a/3600);return t+" hour"+((t==1)?"":"s")}else{if(a<2592000){t=Math.round(a/86400);return t+" day"+((t==1)?"":"s")}else{if(a<31536000){t=Math.round(a/2592000);return t+" month"+((t==1)?"":"s")}else{t=Math.round(a/31536000);return t+" year"+((t==1)?"":"s")}}}}}},decimal:function(b,a){dd=Math.pow(10,a);return Math.round(b*dd)/dd},truncate:function(b,a){if(!b||b.length<=a){return b}return b.substr(b,a-3)+"..."},split:function(e,b){var c="";for(var a=0;a<e.length;a+=b){c+=e.slice(a,a+b)+" "}return c},add_commas:function(b){if(b<1000){return b}b+="";x=b.split(".");x1=x[0];x2=x.length>1?"."+x[1]:"";var a=/(\d+)(\d{3})/;while(a.test(x1)){x1=x1.replace(a,"$1,$2")}return x1+x2},hasFlash:function(){return deconcept.SWFObjectUtil.getPlayerVersion().major},flashPath:function(){var b=this.onChartbeat();if(!b){var a="http://chartbeat.com/flash/"}else{var a="/flash/"}return a},addSwf:function(f,l,n,b,m,g,a,c){var k=this.flashPath();this.hasFlash();var e=new SWFObject(k+f,n,b,m,"8","#FFFFFF");e.useExpressInstall(k+"expressInstall.swf");for(var h in g){e.addVariable(h,escape(g[h]))}e.addParam("wmode","transparent");e.write(l);if(a){this.flash_cbacks[n]={cbackobj:a,cbackfunc:c}}return $(n)},setQueryTimeout:function(){setTimeout(superfly.queryFeeds,1000)},setAnimatorTimeout:function(){setTimeout(superfly.animator,superfly.interval)},addFocusHandlers:function(){if(Browser.Engine.trident){document.onfocusin=superfly.resumeFeeds;document.onfocusout=superfly.pauseFeeds}else{window.onfocus=superfly.resumeFeeds;window.onblur=superfly.pauseFeeds}},removeFocusHandlers:function(){if(Browser.Engine.trident){document.onfocusin=function(){};document.onfocusout=function(){}}else{window.onfocus=undefined;window.onblur=undefined}},init:function(){superfly.setQueryTimeout();superfly.setAnimatorTimeout();superfly.addFocusHandlers()},historicalStarted:false,dashboardStarted:false,swapRT:function(a){if(superfly.loader){superfly.loader.dispose()}if(superfly.historical.turnOffReplay){superfly.historical.turnOffReplay()}var b=$("realtime").dispose();if(a){superfly.isSwapped=true;$("allhistorical").adopt(b);b.setStyle("display","none");$("historypicker").setStyle("display","block")}else{superfly.isSwapped=false;$("allrealtime").adopt(b);b.setStyle("display","block");$("historypicker").setStyle("display","none")}},startOtherTab:function(){if(superfly.loader){superfly.loader.dispose()}if(superfly.historical.turnOffReplay){superfly.historical.turnOffReplay()}superfly.pauseFeeds();superfly.removeFocusHandlers()},startHistorical:function(b,a){if(a){superfly.apikey=a}superfly.pauseFeeds();superfly.removeFocusHandlers();if(superfly.historicalStarted){return}$("tab2").style.display="";superfly.setDomain(b);superfly.historicalStarted=true;historical.display(b);function c(e){if(!e||!e.length){$("twitterterms").set("value",superfly.domain)}else{$("twitterterms").set("value",e.join(", "))}}superfly.getTwitterWords(c);superfly.setTwitterUpdate($("twitterterms"),$("twittertermsupdate"))},startExternal:function(b,a){superfly.apikey=a;superfly.resumeFeeds();superfly.addFocusHandlers();if(superfly.dashboardStarted){return}superfly.dashboardStarted=true;superfly.init();superfly.setDomain(b);superfly.dashboard.visible=true},startDashboard:function(b,a,c){if(a){superfly.apikey=a}superfly.resumeFeeds();superfly.addFocusHandlers();if(superfly.dashboardStarted){return}superfly.dashboardStarted=true;superfly.init();superfly.setDisplayUrl(c);superfly.dashboard.init(b);superfly.widgetManager.getLayout()},getTwitterWords:function(a){if(superfly.onChartbeat()){new Request.JSON({url:"/dashapi/twitterwords/",onComplete:a}).get({host:superfly.domain,apikey:superfly.apikey})}else{a()}},setTwitterUpdate:function(a,c){function b(){function e(g){if(c){if(g[0]){alert("Twitter search terms updated.  Refresh this page in about 5 minutes for charts to update.")}else{alert("An error occurred when trying to set the new search terms.")}}}if(typeof(a)=="string"){var f=a}else{var f=a.get("value")}if(superfly.onChartbeat()){new Request.JSON({url:"/dashapi/twitterwords/",onComplete:e}).get({keywords:f,host:superfly.domain})}}if(c){c.addEvent("click",b)}else{b()}},bitlyShareLink:function(a){if(!$("sharelink")){return}if(a==""){$("sharelink").set("value","make an apikey for all")}else{superfly.shareLink="http://chartbeat.com/dashboard/?url="+superfly.domain+"&k="+a;var c="http://api.bit.ly/shorten?version=2.0.1&longUrl="+encodeURIComponent(superfly.shareLink)+"&login=chartbeat&apiKey=R_66816b76d632af6eb203d5bcda47fb91&callback=superfly.bitlyShareLinkCback";var b=new Element("script",{type:"text/javascript",src:c});$$("head").adopt(b)}},bitlyShareLinkCback:function(a){if(a.errorCode!=0){$("sharelink").set("value",superfly.shareLink)}else{$("sharelink").set("value",a.results[superfly.shareLink].shortUrl)}},DSTdatesUS:function(e){if(e<1987){return}var f=(e<2007)?38:14;var c=(e<2007)?31:38;var b=new Date(e,2,f,2);var a=new Date(e,9,c,2);b.setDate(b.getDate()-b.getDay());a.setDate(a.getDate()-a.getDay());return[b,a]},IsDST:function(b){if(b==null){return false}var a=b.getFullYear();var c=this.DSTdatesUS(a);if(b>c[0]&&b<c[1]){return true}else{return false}},tzoffset:function(){if(this.tzoffset_set){return this.tzoffset_set}if(this.IsDST(new Date())){this.tzoffset_set=" -0400"}else{this.tzoffset_set=" -0500"}return this.tzoffset_set}};function amChartInited(b){if(superfly.flash_cbacks[b]){var a=superfly.flash_cbacks[b];a.cbackobj[a.cbackfunc]()}}function StringBuffer(){this.buffer=[]}StringBuffer.prototype.append=function append(a){this.buffer.push(a);return this};StringBuffer.prototype.toString=function toString(){return this.buffer.join("")};var CanvasTextFunctions={};CanvasTextFunctions.letters={"0":{width:20,points:[[9,21],[6,20],[4,17],[3,12],[3,9],[4,4],[6,1],[9,0],[11,0],[14,1],[16,4],[17,9],[17,12],[16,17],[14,20],[11,21],[9,21]]},"1":{width:20,points:[[6,17],[8,18],[11,21],[11,0]]},"2":{width:20,points:[[4,16],[4,17],[5,19],[6,20],[8,21],[12,21],[14,20],[15,19],[16,17],[16,15],[15,13],[13,10],[3,0],[17,0]]},"3":{width:20,points:[[5,21],[16,21],[10,13],[13,13],[15,12],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},"4":{width:20,points:[[13,21],[3,7],[18,7],[-1,-1],[13,21],[13,0]]},"5":{width:20,points:[[15,21],[5,21],[4,12],[5,13],[8,14],[11,14],[14,13],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},"6":{width:20,points:[[16,18],[15,20],[12,21],[10,21],[7,20],[5,17],[4,12],[4,7],[5,3],[7,1],[10,0],[11,0],[14,1],[16,3],[17,6],[17,7],[16,10],[14,12],[11,13],[10,13],[7,12],[5,10],[4,7]]},"7":{width:20,points:[[17,21],[7,0],[-1,-1],[3,21],[17,21]]},"8":{width:20,points:[[8,21],[5,20],[4,18],[4,16],[5,14],[7,13],[11,12],[14,11],[16,9],[17,7],[17,4],[16,2],[15,1],[12,0],[8,0],[5,1],[4,2],[3,4],[3,7],[4,9],[6,11],[9,12],[13,13],[15,14],[16,16],[16,18],[15,20],[12,21],[8,21]]},"9":{width:20,points:[[16,14],[15,11],[13,9],[10,8],[9,8],[6,9],[4,11],[3,14],[3,15],[4,18],[6,20],[9,21],[10,21],[13,20],[15,18],[16,14],[16,9],[15,4],[13,1],[10,0],[8,0],[5,1],[4,3]]}};CanvasTextFunctions.letter=function(a){return CanvasTextFunctions.letters[a]};CanvasTextFunctions.ascent=function(a,b){return b};CanvasTextFunctions.descent=function(a,b){return 7*b/25};CanvasTextFunctions.measure=function(b,e,g){var f=0;var a=g.length;for(i=0;i<a;i++){var h=CanvasTextFunctions.letter(g.charAt(i));if(h){f+=h.width*e/25}}return f};CanvasTextFunctions.draw=function(r,e,s,q,m,l){var n=0;var h=l.length;var g=s/25;r.save();r.lineCap="round";r.lineWidth=2*g;for(i=0;i<h;i++){var k=CanvasTextFunctions.letter(l.charAt(i));if(!k){continue}r.beginPath();var f=1;var b=0;for(j=0;j<k.points.length;j++){var o=k.points[j];if(o[0]==-1&&o[1]==-1){f=1;continue}if(f){r.moveTo(q+o[0]*g,m-o[1]*g);f=false}else{r.lineTo(q+o[0]*g,m-o[1]*g)}}r.stroke();q+=k.width*g}r.restore();return n};CanvasTextFunctions.enable=function(a){a.drawText=function(c,e,b,g,f){return CanvasTextFunctions.draw(a,c,e,b,g,f)};a.measureText=function(b,c,e){return CanvasTextFunctions.measure(b,c,e)};a.fontAscent=function(b,c){return CanvasTextFunctions.ascent(b,c)};a.fontDescent=function(b,c){return CanvasTextFunctions.descent(b,c)};a.drawTextRight=function(e,f,b,h,g){var c=CanvasTextFunctions.measure(e,f,g);return CanvasTextFunctions.draw(a,e,f,b-c,h,g)};a.drawTextCenter=function(e,f,b,h,g){var c=CanvasTextFunctions.measure(e,f,g);return CanvasTextFunctions.draw(a,e,f,b-c/2,h,g)}};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.sitemap=function(a){this.container=a;superfly.historical.allowHistory(this)};superfly.charts.sitemap.prototype.draw=function(b,a){if(!$chk(b)||!$chk(b.active)||b.active.length==0||this.deleted){return}this.historical=b.historical;if(superfly.runFrequency("pages",10,this.historical)||!this.inited){this.__setData(b.active);if(!this.width){this.width=a.width}if(!this.height){this.height=a.height}if(!this.maindiv){this.maindiv=new Element("div");$(this.container).adopt(this.maindiv)}this.maindiv.set("html",this.__buildSiteMap(b.active,this.width-5,this.height-5,0,0,b.active[b.active.length-1].total,b.active[0].total)+'<div id="sitemapdetails"></div>');superfly.dashboard.hideNoResults(this.container);this.inited=true}else{this.update(b.active)}};superfly.charts.sitemap.prototype.update=function(f){if(!$chk(f)||!$chk(this.mapdata)){return}for(var a=0;a<f.length;++a){var h=escape(f[a].path);var b=this.mapdata[h];if(!$chk(b)){return}if(b.read!=f[a].read||b.write!=f[a].write||b.idle!=f[a].idle||b.total!=f[a].total){if(!$chk($(h))){return}$(h).set("html",f[a].total);if($chk($("r"+h))){$("r"+h).getChildren("div")[0].set("html",f[a].read);$("w"+h).getChildren("div")[0].set("html",f[a].write);$("i"+h).getChildren("div")[0].set("html",f[a].idle);var g=Math.floor((f[a].read/f[a].total)*100);var e=Math.floor((f[a].write/f[a].total)*100);var c=(100-g-e);if(!Browser.Engine.trident){this.heatMap("heatmap"+h,f[a].position)}$("r"+h).setStyle("width",g+"%");$("w"+h).setStyle("width",e+"%");$("i"+h).setStyle("width",c+"%")}if(b.total<f[a].total){$(h).getParent().highlight("#c3fec1")}else{if(b.total>f[a].total){$(h).getParent().highlight("#fec1c6")}}this.mapdata[h]=f[a]}}};superfly.charts.sitemap.prototype.__sort=function(e,c){return(c.total-e.total)};superfly.charts.sitemap.prototype.__setData=function(b){if(!$chk(b)){return}if(!$chk(this.mapdata)){this.mapdata=new Array()}for(var a=0;a<b.length;++a){this.mapdata[escape(b[a].path)]=b[a]}};superfly.charts.sitemap.prototype.__buildSiteMap=function(z,r,n,A,e,s,v){var k="";if(!$chk(A)||A==0){k='<div class="sitemap" style="width: '+r+"px; height: "+n+'px;">'}if(z.length>1){var y,w;if(z.length>2){y=z.slice(0,Math.ceil(z.length/2)-1);w=z.slice(Math.ceil(z.length/2)-1,z.length)}else{y=z.slice(0,1);w=z.slice(1,2)}var m=0;for(var h=0;h<y.length;++h){m+=y[h].total}var c=0;for(var h=0;h<z.length;++h){c+=z[h].total}apercent=m/c;bpercent=1-apercent;var l,q,g,f;if(A%2==e){l=Math.ceil(r*apercent);q=r-l;g=n;f=n}else{g=Math.ceil(n*apercent);f=n-g;l=r;q=r}var o="width: "+l+"px; height: "+g+"px;";var u="width: "+q+"px; height: "+f+"px;";k+='<div class="node" style="'+o+'">';k+=this.__buildSiteMap(y,l,g,A+1,0,s,v);k+="</div>";k+='<div class="node" style="'+u+'">';k+=this.__buildSiteMap(w,q,f,A+1,0,s,v);k+="</div>"}else{k+=this.__siteCell(this.container,z[0],r,n,s,v)}if(!$chk(A)||A==0){k+="</div>"}return k};superfly.charts.sitemap.prototype.__siteCell=function(a,f,c,l,e,h){var k=superfly.title(f.path,true,"pages");var n=Math.max(15*(f.total/((h+e)/2)),10);var m='style="font-size: '+n+'px;"';var b=escape(f.path);var g=" onMouseOver=\"superfly.dashboard.getObj('"+a+"').showDetails('"+b+"', this)\" onMouseOut=\"superfly.dashboard.getObj('"+a+"').hideDetails('"+b+"', this)\"";return'<a href="'+superfly.url(f.path)+'" target="_blank" class="sitemapnode" '+m+g+' id="a'+b+'">'+k+'<br><div id="'+b+'" class="sitemapnodenum" '+m+">"+f.total+"</div></a>"};superfly.charts.sitemap.prototype.showDetails=function(h,c){var f=this.mapdata[h];if(!$chk(f)){return}var g=Math.floor((f.read/f.total)*100);var b=Math.floor((f.write/f.total)*100);var a=(100-g-b);var e='<table border="0" cellspacing="0" cellpadding="0"><tr><td class="sitemaphover1">Scroll Heatmap<br><canvas id="heatmap'+h+'" width="90" height="110"></canvas></td><td valign="top" class="sitemaphover2">Activity<br><div class="sitemaprwi"><div class="readwidth" id="r'+h+'" style="width:'+g+'%">r<br><div class="graphtxt">'+f.read+'</div></div><div class="writewidth" id="w'+h+'" style="width:'+b+'%">w<br><div class="graphtxt">'+f.write+'</div></div><div class="idlewidth" id="i'+h+'" style="width:'+a+'%">i<br><div class="graphtxt">'+f.idle+'</div></div></div></td></tr></table><br><div class="hoverbottom">url: '+superfly.url(f.path)+"</div>";$("sitemapdetails").set("html",'<table border="0" cellpadding="0" cellspacing="0" class="sitemaphover" style="padding-bottom:0px"><tr><td class="sitemaphovertopleft"></td><td class="sitemaphovertop">&nbsp;</td><td class="sitemaphovertopright"></td></tr></table><table border="0" cellpadding="0" cellspacing="0" class="sitemaphover" style="padding-top:0px; padding-bottom:0px;"><tr><td class="sitemaphovermiddle" colspan="3" align="center">'+e+'</td></tr></table><table border="0" cellpadding="0" cellspacing="0" class="sitemaphover" style="padding-top:0px"><tr><td class="sitemaphoverbottomleft"></td><td class="sitemaphoverbottom">&nbsp;</td><td class="sitemaphoverbottomright"></td></tr></table>');this.heatMap("heatmap"+h,f.position);$("sitemapdetails").setStyle("top",$("a"+h).getCoordinates().top-20);$("sitemapdetails").setStyle("left",$("a"+h).getCoordinates().left-$("sitemapdetails").getCoordinates().width);$("a"+h).setStyle("background-color","#c5c1bc")};superfly.charts.sitemap.prototype.heatMap=function(a,f){if(!$chk(f)||!f.length){return}var b=10;var l=new Object();var k=1;for(var m=0;m<=b;++m){l[m/b]=0}for(var m=0;m<f.length;++m){var g=Math.round(f[m]*b)/b;if(!$chk(l[g])){l[g]=1}else{l[g]++;if(l[g]>k){k=l[g]}}}if(Browser.Engine.trident){G_vmlCanvasManager.initElement($(a))}var q=$(a).getContext("2d");var n=q.createLinearGradient(0,0,0,100);var o=0;for(var m in l){var c=Math.round((l[m]/k)*255);if(c<16){c="0"+c.toString(16)}else{c=c.toString(16)}var e=c+"1919";var h=Number(m)+(1/b);if(h>1){h=1}n.addColorStop(h,"#"+e);o=m}q.fillStyle=n;q.beginPath();q.arc(10,10,5,(Math.PI/180)*180,(Math.PI/180)*270,false);q.lineTo(80,5);q.arc(80,10,5,(Math.PI/180)*270,(Math.PI/180)*360,false);q.lineTo(85,100);q.arc(80,100,5,(Math.PI/180)*0,(Math.PI/180)*90,false);q.lineTo(10,105);q.arc(10,100,5,(Math.PI/180)*90,(Math.PI/180)*180,false);q.fill()};superfly.charts.sitemap.prototype.hideDetails=function(b,a){a.setStyle("background-color","#e5e0db");$("sitemapdetails").set("html","")};superfly.charts.sitemap.prototype.unload=function(){this.deleted=true};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.Alerts=function(a){this.container=a;this.weekEnd=Math.floor(new Date().getTime()/1000);this.weekStart=this.weekEnd-(7*24*60*60);this.minStart=this.weekStart-(3*7*24*60*60);this.maxStart=this.weekStart;superfly.addNewDataFeed("alerts",this.getFeedUrl(),60);superfly.subscribeToDataFeed("alerts",this,{width:450});superfly.historical.disableHistory(this)};superfly.charts.Alerts.prototype.getFeedUrl=function(){return"/dashapi/alerts/?since="+this.weekStart+"&until="+this.weekEnd+"&host="+superfly.domain};superfly.charts.Alerts.prototype.changeWeek=function(a){if(((a>0)&&(this.weekStart>=this.maxStart))||((a<0)&&(this.weekStart<=this.minStart))){return}this.weekStart=this.weekStart+(60*60*24*7*a);this.weekEnd=this.weekStart+(60*60*24*7);superfly.modifyDataFeed("alerts",this.getFeedUrl(),0);superfly.refreshDataFeed("alerts")};superfly.charts.Alerts.prototype.arrow=function(a,b){return"<div id=alertarrow"+a+" onclick=\"superfly.dashboard.getObj('"+this.container+"').changeWeek("+b+')"></div>'};superfly.charts.Alerts.prototype.getPagingHtml=function(){return this.arrow("left",-1)+superfly.charts.Alerts.dayString(this.weekStart)+" - "+superfly.charts.Alerts.dayString(this.weekEnd)+this.arrow("right",1)};superfly.charts.Alerts.prototype.draw=function(h,e){if(!$chk(h)||this.suspended||this.deleted){return}var a=$(this.container);if(!this.inited){a.setStyle("width",e.width);superfly.dashboard.hideNoResults(this.container);var c=new Element("div",{id:"alert-paging",style:"display: inline-block; font-size: 18px; margin-left: 15px"});a.parentNode.firstChild.appendChild(c)}$("alert-paging").set("html",this.getPagingHtml());$(this.container).set("html","");$(this.container).style.textAlign="left";$(this.container).style.fontSize="14px";var g;h.reverse();for(var f=0;f<h.length;f++){var b=superfly.charts.Alerts.dayString(h[f].seconds);if(b!=g){g=b;$(this.container).adopt(new Element("div",{html:g,"class":"alertheader"}))}$(this.container).adopt(new Element("div",{style:"clear: both; padding: 10px 0",html:superfly.charts.Alerts.alertToMessage(h[f])}))}this.inited=true};superfly.charts.Alerts.dayString=function(b){var a=new Date(b*1000);return superfly.charts.Alerts.MONTHS[a.getMonth()]+" "+a.getDate()};superfly.charts.Alerts.prototype.unload=function(){this.deleted=true};superfly.charts.Alerts.prototype.historyClose=function(){superfly.refreshDataFeed("alerts")};superfly.charts.Alerts.MAPPING={people:"Total visitors","new":"New visitors","return":"Returning visitors",read:"People reading",write:"People writing",idle:"People idle",srvload:"Server load time",domload:"User page load time"};superfly.charts.Alerts.MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];superfly.charts.Alerts.showReplay=function(a){a=a-(60*15);var b=new Date(a*1000);historical.series=superfly.timestampdate(null,b);superfly.startDashboard(main_url);$("historypicker").setStyle("display","block");window.scrollTo(0,0)};superfly.charts.Alerts.alertToMessage=function(h){var b=h.metric;var g=' <div title="Show replay" class="alertreplay" onclick="superfly.charts.Alerts.showReplay('+h.seconds+');"></div>';var k=(b=="uptime"||b=="srvload"||b=="domload");var c="<div class=alert"+(k?"perform":"visitors")+"></div>";var f=g+c;var e;if(b=="uptime"){e="Site went down."}else{b=superfly.charts.Alerts.MAPPING[b];var a=h.threshold;if(k){a=Math.round(a/1000);h.value=Math.round(h.value/1000)+" seconds"}if(h.dynthreshold){a="monthly "+h.dynthreshold+" ("+a+")"}e=b+" ("+h.value+") was "+h.direction+" "+a+"."}return f+'<div style="padding-top: 3px">'+e+"</div>"};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.geomap=function(a){this.container=a;this.suspended=false;superfly.historical.disableHistory(this);this.draw()};superfly.charts.geomap.prototype.draw=function(g,b){var e=450;var a=280;if(this.suspended||this.deleted){return}if(!this.suspended){superfly.dashboard.hideNoResults(this.container);if(!this.inited){$(this.container).setStyle("width",e);$(this.container).setStyle("height",a);var c="<settings><reload_data_interval>10</reload_data_interval><projection>mercator</projection><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><color_change_time_start>0</color_change_time_start><color_change_time_hover>0.1</color_change_time_hover><background><file>bg_dots.gif</file></background><zoom><enabled>false</enabled><arrows_enabled>false</arrows_enabled><home_link_enabled>false</home_link_enabled><background_zooms_to_top>1</background_zooms_to_top></zoom><small_map><enabled>false</enabled></small_map><area><balloon_text><![CDATA[<b>{title}</b>]]></balloon_text><color_light>#B2AFA7</color_light><color_hover>#F24444</color_hover><color_selected>#A5B6B8</color_selected><disable_when_clicked>true</disable_when_clicked></area><movie><balloon_text><![CDATA[{title}]]></balloon_text></movie><label><balloon_text><![CDATA[]]></balloon_text></label><balloon><max_width>50%</max_width></balloon></settings>";var f=this.container+"_flash";this.flashobj=superfly.addSwf("ammap.swf",this.container,f,e,a,{path:superfly.flashPath()+"ammap/",map_settings:c,data_file:(superfly.onChartbeat()?"":"http://chartbeat.com")+"/dashapi/maps/?file=all&host="+superfly.domain+"&apikey="+superfly.apikey,chart_id:f},this,"activate");this.inited=true}}};superfly.charts.geomap.prototype.unload=function(){this.deleted=true};superfly.charts.geomap.prototype.suspend=function(){this.suspended=true};superfly.charts.geomap.prototype.activate=function(){this.suspended=false};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.livefeed=function(a){this.container=a;this.count=0;this.shown=new Array();superfly.historical.allowHistory(this)};superfly.charts.livefeed.prototype.draw=function(h,b){if(!$chk(h)||!$chk(h.recent)||h.recent.length==0||this.deleted||this.suspended){return}this.historical=h.historical;if(!this.inited){if(!this.width){this.width=b.width}if(!this.limit){this.limit=b.limit}$(this.container).setStyle("width",this.width);superfly.historical.addSparkline(this.container,this);superfly.dashboard.addPause(this.container,this);superfly.dashboard.hideNoResults(this.container)}h.recent.sort(this.__sort);var e="";var g=0;for(var a=0;a<h.recent.length;++a){if(h.recent[a].count==0&&!this.shown[h.recent[a].id]){g++;var f=new Element("div",{html:this.__item(h.recent[a]),"class":"livefeed"});$(this.container).grab(f,"top");f.fade("hide");f.fade("in");this.shown[h.recent[a].id]=true;this.count++;if(this.count>this.limit){$(this.container).getLast("div.livefeed").dispose()}}}if(h.historical){var c='<chart><series><value xid="'+this.datacount+'">'+h.pages_timestamp+'</value></series><graphs><graph gid="1" color="#302e48" fill_color="#302e48" fill_alpha="10" color_hover="#302e48" balloon_text="{value} hits"><value xid="'+this.datacount+'">'+g+"</value></graph></graphs></chart>";superfly.historical.sendToSparkline(this,c)}this.inited=true};superfly.charts.livefeed.prototype.historyChange=function(){while(dd=$(this.container).getLast("div.livefeed")){dd.dispose()}this.count=0;this.shown=new Array()};superfly.charts.livefeed.prototype.historyClose=superfly.charts.livefeed.prototype.historyChange;superfly.charts.livefeed.prototype.historyOpen=superfly.charts.livefeed.prototype.historyChange;superfly.charts.livefeed.prototype.unload=function(){this.deleted=true};superfly.charts.livefeed.prototype.__item=function(c){var b=c.referer;var a=c.referer;if(!b||b==""){b="direct";a=superfly.url("")}return'<div class="livefeedtitle"><a href="'+superfly.url(c.path)+'" target="_blank">'+superfly.truncate(superfly.title(c.path,true,"pages"),100)+'</a></div>&nbsp;coming from <div class="livefeedurl"><a href="'+a+'" target="_blank">'+superfly.truncate(b,100)+"</a></div> at "+superfly.prettyclocktime(c.utc,true)};superfly.charts.livefeed.prototype.__sort=function(e,c){return(c.utc-e.utc)};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.refpie=function(a){this.container=a;superfly.historical.allowHistory(this)};superfly.charts.refpie.prototype.draw=function(c,m){if(!$chk(c)||!$chk(c.referers)||this.suspended||this.deleted){return}if(!this.suspended){var e=0;for(var b in c.referers){e++}if(e==0){return}superfly.dashboard.hideNoResults(this.container);var h="";for(var b in c.referers){if(b==superfly.domain||b=="www."+superfly.domain){continue}var g=((!b||b=="")?"direct":b);var e=0;for(var l in c.referers[b]){e+=c.referers[b][l]}h+='<slice title="'+g+'">'+e+"</slice>"}var f="<pie>"+h+"</pie>";if(!this.inited){$(this.container).setStyle("width",m.width);var a="<settings><text_color>#333333</text_color><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><pie><colors>#c62b2f,#eda170,#e5cc7e,#6c353a,#7c9182,#f5f2c4,#bccf9f,#3fb094,#87244c,#30162b,#7d596d,#fbf8fe,#dedef8,#95c5eb,#69308c</colors><radius>50%</radius><inner_radius>35</inner_radius><height>20</height><angle>30</angle><gradient>radial</gradient><gradient_ratio>-50,0,0,-50</gradient_ratio></pie><animation><start_time>1</start_time><start_effect>strong</start_effect><pull_out_on_click>false</pull_out_on_click></animation><data_labels><max_width>100</max_width><show><![CDATA[{title}]]></show><line_color>#000000</line_color><line_alpha>15</line_alpha><hide_labels_percent>2</hide_labels_percent></data_labels><balloon><show><![CDATA[{title}: {value} people. ({percents}%)]]></show></balloon><legend><enabled>false</enabled></legend><error_messages><enabled>false</enabled></error_messages></settings>";var k=this.container+"_flash";this.flashobj=superfly.addSwf("ampie.swf",this.container,k,m.width,m.height,{chart_settings:a,chart_data:f,chart_id:k},this,"activate");superfly.dashboard.addPause(this.container,this);this.suspended=true;this.inited=true}else{if(this.flashobj.setData&&superfly.runFrequency("pages",2,c.historical)){this.flashobj.setSettings("<settings><animation><start_time>0</start_time></animation></settings>");this.flashobj.setData(f)}}}};superfly.charts.refpie.prototype.activate=function(){this.suspended=false};superfly.charts.refpie.prototype.unload=function(){this.deleted=true};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}function openLink(b){var a=window.open("","link","");a.document.write('<meta http-equiv="refresh" content="0;url='+b+'">');a.document.close()}superfly.charts.refdetails=function(a){this.container=a;superfly.historical.allowHistory(this)};superfly.charts.refdetails.prototype.draw=function(v,c){if(!$chk(v)||!$chk(v.referers)||this.suspended||this.deleted){return}if(!this.inited){$(this.container).setStyle("width",c.width);$(this.container).setStyle("text-align","left");$(this.container).setStyle("overflow","hidden");superfly.dashboard.addPause(this.container,this);this.frame1=new Element("div");this.frame2=new Element("div");this.frame1.fade("hide");this.frame2.fade("hide");this.current_frame=this.frame1;$(this.container).adopt(this.frame1);$(this.container).adopt(this.frame2);$(this.container).setStyle("position","relative");this.frame1.setStyle("position","absolute");this.frame2.setStyle("position","absolute");this.frame1.setStyle("width",c.width);this.frame2.setStyle("width",c.width)}if(superfly.runFrequency("pages",2,v.historical)){var f,a;if(this.current_frame==this.frame1){f=this.frame1;a=this.frame2;this.current_frame=this.frame2}else{f=this.frame2;a=this.frame1;this.current_frame=this.frame1}a.empty();domainarr=new Array();var q='<table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" class="refhead"># of people / referring link</td></tr>';for(var w in v.referers){if(w==superfly.domain||w=="www."+superfly.domain){continue}superfly.dashboard.hideNoResults(this.container);for(var s in v.referers[w]){var m=v.referers[w][s];var e=new Object();e.count=m;e.path=s;e.domain=w;domainarr.push(e)}}domainarr.sort(this.__sort);for(var o=0;o<domainarr.length;++o){var k="people";if(domainarr[o].count==1){k="person"}var h="";if(domainarr[o].domain==""){h=superfly.url(domainarr[o].path)}else{h="http://"+domainarr[o].domain+domainarr[o].path}var s=domainarr[o].path;if(!s||s==""){s="direct"}else{var u=domainarr[o].domain.replace(/^www\./i,"");var r=["q","p","query","search"];for(var n=0;n<r.length;++n){var l=new RegExp("[?&]"+r[n]+"=([^&]+)");var b=s.match(l);if(b){s=" search: "+utf8.decode(unescape(b[1]).replace(/\+/g," "));break}}s='<div class="refdomain">'+u+"</div>"+superfly.truncate(s,50)}q+='<tr><td class="refdnum" align="right">'+domainarr[o].count+'</div></td><td class="refdetails" nowrap><a href="javascript:openLink(\''+h+'\')" class="refdetailslink">'+s+"</a></td></tr>"}q+="</table>";a.set("html",q);var g=new Fx.Tween($(this.container));g.start("height",a.getSize().y);a.fade("in");f.fade("out")}this.inited=true};superfly.charts.refdetails.prototype.unload=function(){this.deleted=true};superfly.charts.refdetails.prototype.__sort=function(e,c){return(c.count-e.count)};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.gauge=function(a){this.container=a;this.oldval=0.01;this.count=0;this.duration=1500;this.animating=false};superfly.charts.gauge.prototype.draw=function(data,options){if(!$chk(data)||!$chk(data.summary)||this.deleted){return}this.width=110;this.height=70;if(!this.inited){var label=new Element("div",{"class":"gaugelabel",html:options.label});$(this.container).adopt(label);this.canvas=new Element("canvas",{width:this.width,height:this.height});$(this.container).adopt(this.canvas);this.num_display=new Element("div",{"class":"gauge"});$(this.container).adopt(this.num_display);this.val_avg=options.val_avg;this.val_min=options.val_min;this.val_max=options.val_max;this.minval=options.allval_min;this.maxval=options.allval_max;if(this.maxval==0){this.maxval=10}if(Browser.Engine.trident){this.delay=1;this.canvas=G_vmlCanvasManager.initElement(this.canvas)}superfly.subscribeToAnimation(this)}if(!this.animating){this.newval=eval(options.data_source);if(options.data_mod){this.newval=options.data_mod(this.newval)}}this.inited=true};superfly.charts.gauge.prototype.unload=function(){this.deleted=true};superfly.charts.gauge.prototype.animate=function(){if(this.delay&&this.delay==1){this.delay++;return}if(!$chk(this.canvas.getContext)||this.deleted||!this.inited){return}if(!this.animating&&(this.oldval==this.newval||!$chk(this.newval))){return}if(this.count>(this.duration/superfly.interval)){this.oldval=this.newval;this.count=0;this.animating=false;return}this.animating=true;this.count++;var b=this.canvas.getContext("2d");b.clearRect(0,0,this.width,this.height);b.save();b.strokeStyle="#4f474b";b.fillStyle="#4f474b";b.lineWidth=1;b.lineCap="butt";var e=this.maxval/6;CanvasTextFunctions.enable(b);b.drawTextCenter("sans",7,22,41,Math.round(e).toString());b.drawTextCenter("sans",7,36,26,Math.round(e*2).toString());b.drawTextCenter("sans",7,55,20,Math.round(e*3).toString());b.drawTextCenter("sans",7,74,26,Math.round(e*4).toString());b.drawTextCenter("sans",7,88,41,Math.round(e*5).toString());b.beginPath();b.arc(55,55,52,0,Math.PI,true);b.stroke();b.beginPath();b.arc(55,55,50,0,Math.PI,true);b.stroke();b.strokeStyle="#8e8087";b.beginPath();b.moveTo(3,54.5);b.lineTo(107,54.5);b.stroke();b.strokeStyle="#4f474b";b.beginPath();b.arc(55,55,30,0,Math.PI,true);b.stroke();b.save();b.translate(55,55);for(var a=0;a<5;a++){b.beginPath();b.rotate(-Math.PI/6);b.moveTo(42,0);b.lineTo(50,0);b.stroke()}b.restore();b.save();b.translate(55,55);for(var a=0;a<59;a++){b.beginPath();b.rotate(-Math.PI/60);b.moveTo(46,0);b.lineTo(50,0);b.stroke()}b.restore();b.save();b.translate(55,54);b.strokeStyle="#1a7eaa";b.lineWidth=2;b.beginPath();b.rotate(Math.PI*((this.val_max/this.maxval)+1));b.moveTo(30,0.5);b.lineTo(50,0.5);b.stroke();b.restore();b.save();b.translate(55,54);b.strokeStyle="#aa571a";b.lineWidth=2;b.beginPath();b.rotate(Math.PI*((this.val_min/this.maxval)+1));b.moveTo(30,0.5);b.lineTo(50,0.5);b.stroke();b.restore();b.save();b.translate(55,54);b.strokeStyle="#28aa1a";b.lineWidth=2;b.beginPath();b.rotate(Math.PI*((this.val_avg/this.maxval)+1));b.moveTo(30,0.5);b.lineTo(50,0.5);b.stroke();b.restore();b.lineWidth=3;b.lineCap="round";b.translate(55,55);var g=new Fx.Transition(Fx.Transitions.Back,2);var h=g.easeInOut((this.count*superfly.interval)/this.duration);var f=(Fx.compute(this.oldval,this.newval,h)/this.maxval)+1;if(f>2){f=2}var c=new Fx.Transition(Fx.Transitions.Quint);h=c.easeInOut((this.count*superfly.interval)/this.duration);this.num_display.set("html",superfly.add_commas(Math.round(Fx.compute(this.oldval,this.newval,h))));b.beginPath();b.rotate(Math.PI*f);b.moveTo(-10,0.5);b.lineTo(30,0.5);b.stroke();b.lineWidth=1;b.beginPath();b.arc(0.5,0.5,4,0,Math.PI*2,true);b.fill();b.save();b.beginPath();b.strokeStyle="#d6c7cd";b.arc(0.5,0.5,2,0,Math.PI*2,true);b.stroke();b.restore();b.beginPath();b.moveTo(30,0.5);b.bezierCurveTo(25,1,36,2,40,0.5);b.moveTo(40,0.5);b.bezierCurveTo(40,0,35,-1,30,-0.5);b.stroke();b.restore()};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.readwriteidle=function(a){this.container=a;superfly.historical.allowHistory(this)};superfly.charts.readwriteidle.prototype.draw=function(c,a){if(this.deleted||!$chk(c)){return}if(!this.inited){if(!superfly.last_data.stats||!superfly.last_data.stats.people_max){return}$(this.container).set("html",'<table border="0" cellpadding="0" cellspacing="0" class="gaugetable"><tr><td><div id="readgauge"></div></td><td><div id="writegauge"></div></td><td><div id="idlegauge"></div></td></tr></table>');this.read_max=superfly.last_data.stats.read_max;this.read_min=superfly.last_data.stats.read_min;this.read_avg=Math.round(superfly.last_data.stats.read_avg);this.write_max=superfly.last_data.stats.write_max;this.write_min=superfly.last_data.stats.write_min;this.write_avg=Math.round(superfly.last_data.stats.write_avg);this.idle_max=superfly.last_data.stats.idle_max;this.idle_min=superfly.last_data.stats.idle_min;this.idle_avg=Math.round(superfly.last_data.stats.idle_avg);this.maxval=Math.max(Math.max(this.read_max,this.write_max),this.idle_max);this.minval=Math.min(Math.min(this.read_min,this.write_min),this.idle_min);if(this.maxval<10){this.maxval=10}else{this.maxval=this.maxval+Math.round(this.maxval*0.1)}superfly.dashboard.readgauge=new superfly.charts.gauge("readgauge");superfly.dashboard.writegauge=new superfly.charts.gauge("writegauge");superfly.dashboard.idlegauge=new superfly.charts.gauge("idlegauge");superfly.historical.addSparkline(this.container,this);superfly.dashboard.hideNoResults(this.container);this.inited=true}else{superfly.dashboard.readgauge.draw(c,{data_source:"data.summary.read",label:"people reading",val_max:this.read_max,val_min:this.read_min,val_avg:this.read_avg,allval_min:this.minval,allval_max:this.maxval});superfly.dashboard.writegauge.draw(c,{data_source:"data.summary.write",label:"people writing",val_max:this.write_max,val_min:this.write_min,val_avg:this.write_avg,allval_min:this.minval,allval_max:this.maxval});superfly.dashboard.idlegauge.draw(c,{data_source:"data.summary.idle",label:"people idle",val_max:this.idle_max,val_min:this.idle_min,val_avg:this.idle_avg,allval_min:this.minval,allval_max:this.maxval});if(c.historical){var b='<chart><series><value xid="'+this.datacount+'">'+c.pages_timestamp+'</value></series><graphs><graph gid="1" color="#302e48" color_hover="#302e48" fill_color="#302e48" fill_alpha="10" balloon_text="{value} reading"><value xid="'+this.datacount+'">'+c.summary.read+'</value></graph><graph gid="2" color="#cc2a42" color_hover="#cc2a42" fill_color="#cc2a42" fill_alpha="20" balloon_text="{value} writing"><value xid="'+this.datacount+'">'+c.summary.write+'</value></graph><graph gid="3" color="#bfa29c" color_hover="#bfa29c" fill_color="#bfa29c" fill_alpha="5" balloon_text="{value} idle"><value xid="'+this.datacount+'">'+c.summary.idle+"</value></graph></graphs></chart>";superfly.historical.sendToSparkline(this,b)}}};superfly.charts.readwriteidle.prototype.unload=function(){this.deleted=true};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.domload=function(a){this.container=a;this.count=0;this.shown=new Array();superfly.historical.allowHistory(this)};superfly.charts.domload.prototype.draw=function(f,b){if(!$chk(f)||!$chk(f.recent)||f.recent.length==0||this.deleted||this.suspended){return}if(!this.inited){if(!superfly.last_data.stats||!superfly.last_data.stats.people_max){return}$(this.container).setStyle("width",b.width);if(!this.limit){this.limit=b.limit}$(this.container).set("html",'<table width="100%" border="0" cellpadding="0" cellspacing="0" class="gaugetable"><tr><td valign="top" width="115"><div id="domloadgauge"></div></td><td valign="top" style="font-size:14px;">Recent user page load times:<br><div id="domloadrecent" style="padding-top: 10px"></div></td></tr></table>');this.domload_max=Math.round(superfly.last_data.stats.domload_max/1000);this.domload_min=Math.round(superfly.last_data.stats.domload_min/1000);this.domload_avg=Math.round(superfly.last_data.stats.domload_avg/1000);this.maxval=this.domload_max;this.minval=this.domload_min;if(this.maxval<10){this.maxval=10}else{this.maxval=this.maxval+Math.round(this.maxval*0.1)}superfly.dashboard.domloadgauge=new superfly.charts.gauge("domloadgauge");superfly.dashboard.addPause(this.container,this);superfly.dashboard.hideNoResults(this.container);this.inited=true}else{superfly.dashboard.domloadgauge.draw(f,{data_source:"data.summary.domload",label:"average time",val_max:this.domload_max,val_min:this.domload_min,val_avg:this.domload_avg,allval_min:this.minval,allval_max:this.maxval,data_mod:function(g){return g/1000}})}f.recent.sort(this.__sort);var c="";for(var a=0;a<f.recent.length;++a){if(f.recent[a].count==0&&!this.shown[f.recent[a].id]){var e=new Element("div",{html:this.__item(f.recent[a]),"class":"livefeed"});$("domloadrecent").grab(e,"top");e.fade("hide");e.fade("in");this.shown[f.recent[a].id]=true;this.count++;if(this.count>this.limit){$("domloadrecent").getLast("div.livefeed").dispose()}}}};superfly.charts.domload.prototype.unload=function(){this.deleted=true};superfly.charts.domload.prototype.__item=function(c){var b=c.referer;var a=c.referer;if(!b||b==""){b="direct";a=superfly.url("")}return'<div class="livefeedtitle"><a href="'+superfly.url(c.path)+'" target="_blank">'+superfly.truncate(superfly.title(c.path,true,"pages"),100)+"</a></div>&nbsp;"+Math.round(c.domload/1000*100)/100+" second load time</div>"};superfly.charts.domload.prototype.__sort=function(e,c){return(c.utc-e.utc)};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.sitetotal=function(a){this.container=a;this.count=0;this.duration=1500;this.animating=false;this.sizeold=0;this.oldpeople=0.01;this.oldnew=0.01;this.oldret=0.01;superfly.historical.allowHistory(this)};superfly.charts.sitetotal.prototype.draw=function(c,a){if(!$chk(c)||!$chk(c.summary)||this.deleted){return}this.width=125;this.height=11;this.rectwidth=115;if(!this.inited){if(!superfly.last_data.stats||!superfly.last_data.stats.people_max){return}$(this.container).set("class","sitetotal");this.grandtotal=new Element("div",{"class":"sitetotalgrand"});$(this.container).adopt(this.grandtotal);this.stats=new Element("div",{"class":"sitetotalstatsfoot",html:'<center><table border="0" cellpadding="0" cellspacing="0"><tr><td>monthly max:</td><td><div class="sitetotalsmax">'+superfly.add_commas(superfly.last_data.stats.people_max)+'</div></td></tr><tr><td>monthly min:</td><td><div class="sitetotalsmin">'+superfly.add_commas(superfly.last_data.stats.people_min)+"</div></td></tr></table></center>"});$(this.container).adopt(this.stats);this.newlabel=new Element("div",{"class":"sitetotalcounts"});$(this.container).adopt(this.newlabel);this.canvas=new Element("canvas",{width:this.width,height:this.height});$(this.container).adopt(this.canvas);this.retlabel=new Element("div",{"class":"sitetotalcounts2"});$(this.container).adopt(this.retlabel);superfly.historical.addSparkline(this.container,this);superfly.dashboard.hideNoResults(this.container);if(Browser.Engine.trident){this.delay=1;this.canvas=G_vmlCanvasManager.initElement(this.canvas)}superfly.subscribeToAnimation(this)}if(!this.animating){this.newpeople=c.summary.people;this.newnew=c.summary["new"];this.newret=c.summary["return"];this.sizenew=Math.floor((this.newnew/this.newpeople)*this.rectwidth);if(!$chk(this.sizenew)){this.sizenew=0}}if(c.historical){var b='<chart><series><value xid="'+this.datacount+'">'+c.pages_timestamp+'</value></series><graphs><graph gid="1" color="#F24444" fill_color="#f28e8e" color_hover="#f24444" fill_alpha="20" balloon_text="{value} total"><value xid="'+this.datacount+'">'+c.summary.people+'</value></graph><graph gid="2" color="#5ea3c2" fill_color="#a9d4e7" color_hover="#5ea3c2" fill_alpha="50" balloon_text="{value} returning"><value xid="'+this.datacount+'">'+c.summary["return"]+"</value></graph></graphs></chart>";superfly.historical.sendToSparkline(this,b)}this.inited=true};superfly.charts.sitetotal.prototype.animate=function(){if(this.delay&&this.delay==1){this.delay++;return}if(!$chk(this.canvas.getContext)||this.deleted||!this.inited){return}if(!this.animating&&((this.newpeople==this.oldpeople&&this.newnew==this.oldnew&&this.newret==this.oldret)||(!$chk(this.newpeople)||!$chk(this.newnew)||!$chk(this.newret)))){return}if(this.count>(this.duration/superfly.interval)){this.oldpeople=this.newpeople;this.oldnew=this.newnew;this.oldret=this.newret;this.sizeold=this.sizenew;this.count=0;this.animating=false;return}this.animating=true;this.count++;var c=this.canvas.getContext("2d");c.clearRect(0,0,this.width,this.height);c.save();var f=new Fx.Transition(Fx.Transitions.Quint);delta=f.easeInOut((this.count*superfly.interval)/this.duration);this.newlabel.set("html","<h3>"+superfly.add_commas(Math.round(Fx.compute(this.oldnew,this.newnew,delta)))+"</h3> new");this.retlabel.set("html","<h3>"+superfly.add_commas(Math.round(Fx.compute(this.oldret,this.newret,delta)))+"</h3> returning");var e=Math.round(Fx.compute(this.oldpeople,this.newpeople,delta));(e==1)?pc="person":pc="people";this.grandtotal.set("html","<h3>"+superfly.add_commas(e)+"</h3>&nbsp;"+pc+" on "+superfly.domain);var b=Math.round(Fx.compute(this.sizeold,this.sizenew,delta));var a=this.rectwidth-b;c.fillStyle="#F24444";if(b){c.fillRect(5,0,b,this.height)}c.fillStyle="#6cbbde";if(a){c.fillRect(b+6,0,a-1,this.height)}c.strokeStyle="#8a9aa5";c.lineWidth=1;c.lineCap="butt";c.strokeStyle="#96484f";c.beginPath();c.moveTo(0,5.5);c.lineTo(5,5.5);c.moveTo(5.5,0);c.lineTo(5.5,this.height);c.moveTo(5.5,0.5);c.lineTo(9,0.5);c.moveTo(5.5,this.height-0.5);c.lineTo(9,this.height-0.5);c.stroke();c.strokeStyle="#5d8194";c.beginPath();c.moveTo(this.width-5,5.5);c.lineTo(this.width,5.5);c.moveTo(this.width-5.5,0);c.lineTo(this.width-5.5,this.height);c.moveTo(this.width-9,0.5);c.lineTo(this.width-5,0.5);c.moveTo(this.width-9,this.height-0.5);c.lineTo(this.width-5,this.height-0.5);c.stroke();c.restore()};superfly.charts.sitetotal.prototype.unload=function(){this.deleted=true};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.sitetime=function(a){this.container=a;superfly.historical.allowHistory(this)};superfly.charts.sitetime.prototype.draw=function(e,l){if(!$chk(e)||!$chk(e.visitlength)||this.suspended||this.deleted){return}if(!this.suspended){if(e.visitlength.length==0){return}superfly.dashboard.hideNoResults(this.container);var g="";var a="";var c="";for(var h=0;h<e.visitlength.length;++h){g+='<value xid="'+h+'">'+e.visitlength[h].read+"</value>";a+='<value xid="'+h+'">'+e.visitlength[h].write+"</value>";c+='<value xid="'+h+'">'+e.visitlength[h].idle+"</value>"}var f='<chart><series><value xid="0">0-1</value><value xid="1">1-2</value><value xid="2">2-3</value><value xid="3">3-4</value><value xid="4">4-5</value><value xid="5">5-6</value><value xid="6">6-10</value><value xid="7">10-15</value><value xid="8">15-30</value><value xid="9">30-60</value></series><graphs><graph gid="1" title="people reading" color="#302e48">'+g+'</graph><graph gid="2" title="people writing" color="#cc2a42">'+a+'</graph><graph gid="3" title="people idle" color="#e8c5be" balloon_text_color="#333333">'+c+"</graph></chart>";if(!this.inited){$(this.container).setStyle("width",l.width);var b="<settings><text_color>#333333</text_color><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><depth>10</depth><angle>30</angle><column><width>60</width><grow_effect>strong</grow_effect><grow_time>2</grow_time><type>stacked</type><alpha>70</alpha><data_labels_text_color>#FFFFFF</data_labels_text_color><data_labels_text_size>9</data_labels_text_size><balloon_text><![CDATA[{value} {title}]]></balloon_text></column><plot_area><margins><left>50</left><top>10</top><right>70</right><bottom>35</bottom></margins></plot_area><legend><enabled>true</enabled><x>!59</x><y>50</y><width>70</width><spacing>5</spacing></legend><axes><value><color>#AAAAAA</color></value><category><color>#AAAAAA</color></category></axes><labels><label><x>45%</x><y>!15</y><text>minutes</text><text_color>#AAAAAA</text_color></label><label><x>0</x><y>150</y><rotate>true</rotate><text>number of people</text><text_color>#AAAAAA</text_color></label></labels></settings>";var k=this.container+"_flash";this.flashobj=superfly.addSwf("amcolumn.swf",this.container,k,l.width,l.height,{chart_settings:b,chart_data:f,chart_id:k},this,"activate");superfly.dashboard.addPause(this.container,this);this.suspended=true;this.inited=true}else{if(this.flashobj.setData&&superfly.runFrequency("pages",2,e.historical)){this.flashobj.setSettings("<settings><column><grow_time>0</grow_time></column></settings>");this.flashobj.setData(f)}}}};superfly.charts.sitetime.prototype.__sort=function(e,c){return(e.count-c.count)};superfly.charts.sitetime.prototype.activate=function(){this.suspended=false};superfly.charts.sitetime.prototype.unload=function(){this.deleted=true};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.conversation=function(a){this.container=a;var b=this;function c(e){if(!e||!e.length){b.keyword=superfly.domain}else{b.keyword=e.join(", ")}superfly.addNewDataFeed("conversation","/dashapi/conversation/?q="+encodeURIComponent(b.keyword)+"&host="+superfly.domain,60);superfly.subscribeToDataFeed("conversation",b,{width:600})}superfly.getTwitterWords(c);this.at_a_time=3;superfly.historical.disableHistory(this)};superfly.charts.conversation.prototype.draw=function(f,b){if(this.override_suspension){this.override_suspension=false;$("convloading").setStyle("display","none")}else{if(!$chk(f)||this.suspended||this.deleted){return}}if(!this.inited){$(this.container).setStyle("width",b.width);superfly.dashboard.addPause(this.container,this);superfly.dashboard.hideNoResults(this.container)}$(this.container).set("html","");this.linktweets=new Array();this.tweets=new Array();this.tweetpage=1;this.linktweetpage=1;$(this.container).adopt(new Element("div",{html:'Search terms (separate with commas):<br><div id="convloading"><img src="http://static.chartbeat.com/images/loading.gif" width="31" height="31" border="0"></div><input type="text" style="width:350px" class="text" value="'+this.keyword.replace(/\"/g,"&quot;")+'" id="conversationkeyword" onkeypress="if (event && event.keyCode == 13) superfly.dashboard.getObj(\''+this.container+'\').updateKeyword()"> <input type="button" value="Update" onClick="superfly.dashboard.getObj(\''+this.container+"').updateKeyword()\">"}));$(this.container).adopt(new Element("div",{html:"Tweets",id:"tweetshead"}));this.tweetsdiv=new Element("div",{id:"tweetsdiv"});$(this.container).adopt(this.tweetsdiv);for(var a=0;a<f.twitter.length;++a){var e=new Element("div",{html:this.__twititem(f.twitter[a]),"class":"conversation"});this.tweets.push(e);this.tweetsdiv.adopt(e)}if(this.tweets.length>=this.at_a_time){var g=this.tweets[this.at_a_time-1].getCoordinates().bottom-$("tweetshead").getCoordinates().bottom;this.tweetsdiv.setStyle("height",g)}if(this.tweets.length==0){this.tweetsdiv.adopt(new Element("div",{html:"No tweets found."}))}else{$(this.container).adopt(new Element("div",{id:"moretweets",html:'<a href="javascript:void(0)" onClick="superfly.dashboard.getObj(\''+this.container+'\').expand(\'tweets\')"><img src="http://static.chartbeat.com/images/more.png" border="0" width="9" height="10"> more</a>'}))}$(this.container).adopt(new Element("div",{html:"Links to "+superfly.domain,id:"linktweetshead"}));this.linktweetsdiv=new Element("div",{id:"linktweetsdiv"});$(this.container).adopt(this.linktweetsdiv);for(var a=0;a<f.linktweets.length;++a){var e=new Element("div",{html:this.__twititem(f.linktweets[a],"tweet_"),"class":"conversation"});this.linktweets.push(e);this.linktweetsdiv.adopt(e)}if(this.linktweets.length>=this.at_a_time){var c=this.linktweets[this.at_a_time-1].getCoordinates().bottom-$("linktweetshead").getCoordinates().bottom;this.linktweetsdiv.setStyle("height",c)}if(this.linktweets.length==0){this.linktweetsdiv.adopt(new Element("div",{html:"No links found in twitter."}))}else{$(this.container).adopt(new Element("div",{id:"morelinktweets",html:'<a href="javascript:void(0)" onClick="superfly.dashboard.getObj(\''+this.container+'\').expand(\'linktweets\')"><img src="http://static.chartbeat.com/images/more.png" border="0" width="9" height="10"> more</a>'}))}$(this.container).adopt(new Element("div",{id:"poweredbacktype",html:'<a href="http://backtype.com" target="_blank">Powered by Backtype</a>'}));this.inited=true};superfly.charts.conversation.prototype.expand=function(b){if(b=="linktweets"){if(this.linktweets.length>this.at_a_time*this.linktweetpage){if(this.linktweetpage==1){$("morelinktweets").set("html",$("morelinktweets").get("html")+'<div id="collapselinktweets">&nbsp;&bull;&nbsp;<a href="javascript:void(0)" onClick="superfly.dashboard.getObj(\''+this.container+"').collapse('linktweets')\">collapse</a></div>")}this.linktweetpage++;var c=this.linktweetpage*this.at_a_time;if(this.linktweets.length<c){c=this.linktweets.length}var a=new Fx.Tween(this.linktweetsdiv);a.start("height",this.linktweets[c-1].getCoordinates().bottom-$("linktweetshead").getCoordinates().bottom)}}else{if(b=="tweets"){if(this.tweets.length>this.at_a_time*this.tweetpage){if(this.tweetpage==1){$("moretweets").set("html",$("moretweets").get("html")+'<div id="collapsetweets">&nbsp;&bull;&nbsp;<a href="javascript:void(0)" onClick="superfly.dashboard.getObj(\''+this.container+"').collapse('tweets')\">collapse</a></div>")}this.tweetpage++;var c=this.tweetpage*this.at_a_time;if(this.tweets.length<c){c=this.tweets.length}var a=new Fx.Tween(this.tweetsdiv);a.start("height",this.tweets[c-1].getCoordinates().bottom-$("tweetshead").getCoordinates().bottom)}}}};superfly.charts.conversation.prototype.collapse=function(b){if(b=="linktweets"){if(this.linktweets.length>=this.at_a_time){var a=new Fx.Tween(this.linktweetsdiv);a.start("height",this.linktweets[this.at_a_time-1].getCoordinates().bottom-$("linktweetshead").getCoordinates().bottom);this.linktweetpage=1;$("collapselinktweets").dispose()}}else{if(b=="tweets"){if(this.tweets.length>=this.at_a_time){var a=new Fx.Tween(this.tweetsdiv);a.start("height",this.tweets[this.at_a_time-1].getCoordinates().bottom-$("tweetshead").getCoordinates().bottom);this.tweetpage=1;$("collapsetweets").dispose()}}}};superfly.charts.conversation.prototype.updateKeyword=function(){var a=$("conversationkeyword").value;if(!$chk(a)||a==this.keyword){return}this.keyword=a;superfly.modifyDataFeed("conversation","/dashapi/conversation/?q="+encodeURIComponent(this.keyword));superfly.refreshDataFeed("conversation");this.override_suspension=true;superfly.setTwitterUpdate(this.keyword);$("convloading").setStyle("display","block")};superfly.charts.conversation.prototype.__item=function(a){var f=this.highlight(a.comment.content);var c=new Date(a.comment.date.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2/$3/$1")+" +0000");var e=new Date();var b=Math.round((e.getTime()-c.getTime())/1000);return'<div class="conversationtitle">'+f+'</div><div class="conversationurl">&nbsp; via <a href="'+a.blog.url+'" target="_blank">'+a.blog.title+"</a>, "+superfly.prettytime(b)+' ago | <a href="'+a.comment.url+'" target="_blank">reply</a></div>'};superfly.charts.conversation.prototype.__twititem=function(data,prefix){if(!prefix){prefix=""}var text=eval("data."+prefix+"text");if(!text){text=""}text=text.replace(/(<|>|\&lt;|\&gt;)\/?script/i,"");if(prefix==""){var comment=this.highlight(text)}else{var comment=text}if(prefix){var d=new Date(data.tweet_created_at.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2/$3/$1")+" +0000")}else{var d=new Date(eval("data."+prefix+"created_at"))}var n=new Date();var seconds=Math.round((n.getTime()-d.getTime())/1000);return'<table border="0" cellpadding="0" cellspacing="0"><tr><td><a href="http://twitter.com/'+eval("data."+prefix+"from_user")+'" target="_blank"><img src="'+eval("data."+prefix+"profile_image_url")+'" border="0" width="48" height="48"></a></td><td class="conversationtweet">'+comment+'</td></tr></table><div class="conversationurl">from <a href="http://twitter.com/'+eval("data."+prefix+"from_user")+'" target="_blank">'+eval("data."+prefix+"from_user")+"</a>, "+superfly.prettytime(seconds)+' ago | <a href="http://twitter.com/'+eval("data."+prefix+"from_user")+"/status/"+eval("data."+prefix+"id")+'" target="_blank">reply</a></div>'};superfly.charts.conversation.prototype.highlight=function(f){if(!f){return f}var b=this.keyword.split(",");for(var a=0;a<b.length;++a){var e=b[a].replace(/^\s+|\s+$/g,"");e=e.replace(/\"|\'/g,"");if(e!=""){var c=new RegExp("("+e+")","gi");f=f.replace(c,'<div class="conversationhighlight">$1</div>')}}return f};superfly.charts.conversation.prototype.unload=function(){this.deleted=true};superfly.charts.conversation.prototype.historyClose=function(){superfly.refreshDataFeed("conversation")};if(!superfly){var superfly={}}if(!superfly.charts){superfly.charts={}}superfly.charts.sparkline=function(a){this.container=a};superfly.charts.sparkline.prototype.draw=function(e,a){if(!this.suspended){chart_data=e;if(!this.inited){$(this.container).setStyle("width",a.width);var b="<settings><plot_area><margins><left>15</left><right>15</right><top>20</top><bottom>25</bottom></margins></plot_area><values><x><enabled>false</enabled></x><y_left><enabled>false</enabled></y_left><y_right><enabled>false</enabled></y_right></values><legend><enabled>false</enabled></legend><axes><x><color>#cccccc</color><width>1</width></x><y_left><color>#cccccc</color><width>1</width></y_left><y_right><color>#cccccc</color><width>1</width></y_right></axes><indicator><color>#666666</color><x_balloon_text_color>#ffffff</x_balloon_text_color></indicator><balloon><text_size>10</text_size></balloon><error_messages><enabled>false</enabled></error_messages></settings>";var c=this.container+"_flash";this.flashobj=superfly.addSwf("amline.swf",this.container,c,a.width,a.height,{chart_settings:b,chart_data:chart_data,chart_id:c},this,"activate");this.suspended=true;this.inited=true;this.append_count=0}else{if(this.flashobj.appendData){if(this.doReset){this.flashobj.setData(chart_data);this.doReset=false}else{var f="0";if(this.append_count>=100){f="1"}else{this.append_count++}this.flashobj.appendData(chart_data,f)}}}}};superfly.charts.sparkline.prototype.reset=function(){this.doReset=true;this.append_count=0};superfly.charts.sparkline.prototype.activate=function(){this.suspended=false};superfly.charts.sparkline.prototype.unload=function(){this.deleted=true};superfly.dashboard={visible:false,obj_map:new Array(),hide_res_map:new Array(),init:function(a){superfly.setDomain(a);$("realtime").fade("hide");superfly.loader=new Element("div",{"class":"loader",html:this.getLoader()});$(document.body).adopt(superfly.loader);this.sortable=new Sortables("#column1, #column2, #column3",{revert:{duration:500,transition:"elastic:out"},onStart:function(){this.clone.setStyle("z-index",1000);$("column1").setStyle("border","2px dashed #61a1f8");$("column2").setStyle("border","2px dashed #61a1f8");$("column3").setStyle("border","2px dashed #61a1f8")},onComplete:function(){superfly.widgetManager.saveLayout(new Array(this.serialize(0),this.serialize(1),this.serialize(2)));$("column1").setStyle("border","none");$("column2").setStyle("border","none");$("column3").setStyle("border","none")}});this.sortable.detach();superfly.historical.historyPicker()},show:function(){if(!this.visible){$("realtime").fade("in");superfly.loader.dispose();this.visible=true}},loadWidget:function(name,feedid,column,addl_options,title,extra_help,bare_bones,bare_bones_div){if($chk(eval("superfly.charts."+name))){var divid=name+Math.round(Math.random()*100000);var liid=name;if(!bare_bones){if(!$chk($("column"+column))){return}var htmlcontent=this.dressWidget(title,extra_help,liid,divid)}else{var htmlcontent=this.bareBones(liid,divid)}var outer=new Element("div",{html:htmlcontent});if(!bare_bones){var li=new Element("li",{id:liid});li.adopt(outer);$("column"+column).adopt(li);$(divid+"_info").store("tip:title",extra_help);new Tips($(divid+"_info"),{fixed:true,hideDelay:1000})}else{$(bare_bones_div).adopt(outer)}var chart=eval("new superfly.charts."+name+"('"+divid+"')");this.obj_map[divid]=chart;if(feedid){superfly.subscribeToDataFeed(feedid,chart,addl_options)}}},bareBones:function(a,b){return'<table border="0" cellpadding="0" cellspacing="0" class="widget" id="'+b+'_whole"><tr><td><div class="widgetfix" id="'+b+'_tfix">&nbsp;</div><div class="widgetpause" id="'+b+'_pause">widget paused (move mouse off to unpause)</div></td></tr><tr><td><div id="nores'+b+'" class="nores">Awaiting data...</div><div id="'+b+'" class="widgetcontainer"></div></td></tr></table>'},dressWidget:function(e,c,b,f){var a="";if($chk(e)){a="<h3>"+e+"</h3>"}return'<table border="0" cellpadding="0" cellspacing="0" class="widget" id="'+f+'_whole"><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="widgettopleft" id="'+f+'_tl"></td><td class="widgettop" id="'+f+'_t"><div class="widgetfix" id="'+f+'_tfix">&nbsp;</div><div class="widgetpause" id="'+f+'_pause">widget paused (move mouse off to unpause)</div></td><td class="widgettopright" id="'+f+'_tr"><a href="javascript:void(0)" class="info" id="'+f+'_info"></a><a href="javascript:void(0)" onMouseOver="superfly.dashboard.moveOn()" onMouseOut="superfly.dashboard.moveOff()" class="move" id="'+f+'_move"></a><a href="javascript:void(0)" onClick="superfly.dashboard.closeWidget(\''+b+'\')" class="close" id="'+f+'_close"></a></td></tr></table></td></tr><tr><td class="widgetmiddle" id="'+f+'_m" align="center">'+a+'<div id="nores'+f+'" class="nores">Awaiting data...</div><div id="'+f+'" class="widgetcontainer"></div></td></tr><tr><td><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="widgetbottomleft" id="'+f+'_bl"></td><td class="widgetbottom" id="'+f+'_b">&nbsp;</td><td class="widgetbottomright" id="'+f+'_br"></td></tr></table></td></tr></table>'},addPause:function(b,a){$(b).obj=a;$(b).containerid=b;$(b).addEvents({mouseover:function(){this.obj.suspended=true;superfly.dashboard.showPause(this.containerid)},mouseout:function(){this.obj.suspended=false;superfly.dashboard.hidePause(this.containerid)}})},showPause:function(a){$(a+"_tfix").setStyle("display","none");$(a+"_pause").setStyle("display","block")},hidePause:function(a){$(a+"_tfix").setStyle("display","block");$(a+"_pause").setStyle("display","none")},showNoResults:function(a){if(!this.hide_res_map[a]){return}$("nores"+a).setStyle("display","block");this.hide_res_map[a]=false},hideNoResults:function(a){if(this.hide_res_map[a]){return}$("nores"+a).setStyle("display","none");this.hide_res_map[a]=true},getObj:function(a){return this.obj_map[a]},getLoader:function(){return'<img src="http://static.chartbeat.com/images/loading.gif" border="0"><br>loading widgets...'},moveOn:function(){this.sortable.attach()},moveOff:function(){this.sortable.detach()},closeWidget:function(a){if($chk($(a).chart)&&$chk($(a).chart.unload)){$(a).chart.unload()}new Fx.Slide(a).slideOut().chain(function(){$(a).dispose();superfly.widgetManager.saveLayout(superfly.dashboard.sortable.serialize())})}};superfly.historical={hpdivs:[],showing_invalid:false,last_mod_time:false,objs:[],disabled_objs:[],history_time:"",playing:false,draw:function(b,a){if(b&&b.historical){if(this.hpdiv&&b.pages_timestamp){if(superfly.lastCallTime("pages")>=this.last_mod_time){this.hpdiv.value=b.pages_timestamp;this.history_time=new Date(b.pages_timestamp)}}}else{if(!this.showing_invalid){blinkNotify("notify","No more historical data could be found.",false,2000);this.showing_invalid=true}}},callDisabledObjects:function(){for(var a=0;a<this.disabled_objs.length;++a){var c=this.disabled_objs[a];var b=this.disabled_objs[a].container;if(b&&$(b+"_whole")){if(this.playing){$(b+"_whole").setStyle("display","none");if(c.historyOpen){c.historyOpen()}}else{$(b+"_whole").setStyle("display","block");if(c.historyClose){c.historyClose()}}}}},callOnObjects:function(c){for(var a=0;a<this.objs.length;++a){var b=this.objs[a].container;if(b){if(c=="historyClose"){$(b+"_tl").removeClass("widgettopleft_h");$(b+"_tr").removeClass("widgettopright_h");$(b+"_bl").removeClass("widgetbottomleft_h");$(b+"_br").removeClass("widgetbottomright_h");$(b+"_t").removeClass("widgettop_h");$(b+"_b").removeClass("widgetbottom_h");$(b+"_m").removeClass("widgetmiddle_h");$(b+"_move").removeClass("move_h");$(b+"_close").removeClass("close_h");$(b+"_info").removeClass("info_h")}else{if(c=="historyOpen"){$(b+"_tl").addClass("widgettopleft_h");$(b+"_tr").addClass("widgettopright_h");$(b+"_bl").addClass("widgetbottomleft_h");$(b+"_br").addClass("widgetbottomright_h");$(b+"_t").addClass("widgettop_h");$(b+"_b").addClass("widgetbottom_h");$(b+"_m").addClass("widgetmiddle_h");$(b+"_move").addClass("move_h");$(b+"_close").addClass("close_h");$(b+"_info").addClass("info_h")}}}if(this.objs[a][c]){this.objs[a][c]()}}},disableHistory:function(a){this.disabled_objs.push(a);this.callDisabledObjects()},allowHistory:function(a){this.objs.push(a);if(a.historyChange){a.historyChange_old=a.historyChange}a.historyChange=function(){for(x=0;x<superfly.historical.objs.length;++x){if(superfly.historical.objs[x].sparkline){superfly.historical.objs[x].sparkline.reset()}if(superfly.historical.objs[x].historyChange_old){superfly.historical.objs[x].historyChange_old()}}};return false},historyPicker:function(){var id="historypicker_id";var container="historypicker";var fmt="m/d/Y";var api="pages";var msgdiv=new Element("div",{"class":"replaymsg",html:"REPLAY - NOT REAL-TIME"});$(container).adopt(msgdiv);var hpdiv=new Element("input",{id:id,name:id,"class":"historypicker",type:"text"});hpdiv.addEvent("focus",function(){superfly.pauseFeed(api)});hpdiv.addEvent("blur",function(){superfly.resumeFeed(api)});this.hpdiv=hpdiv;var cdiv=new Element("div",{"class":"caldiv"});cdiv.adopt(hpdiv);$(container).adopt(cdiv);function timeModifier(feed,args){var dateparts=hpdiv.value.match(/([0-9]{1,2}) *. *([0-9]{1,2}) *. *([0-9]{2,4}) *([0-9]{1,2}) *: *([0-9]{1,2}) *([a-zA-Z]{0,2})/);if(dateparts){var thedate=dateparts[3];if(thedate<100){thedate="20"+thedate}var ampm="";if(dateparts[6]){ampm=dateparts[6].toLowerCase();if(ampm!="am"&&ampm!="pm"){ampm="pm"}}var datestring=dateparts[1]+"/"+dateparts[2]+"/"+thedate+" "+dateparts[4]+":"+dateparts[5]+" "+ampm;var d=new Date(datestring);var ts=d.getTime()/1000;ts+=(60*5);args.timestamp=ts;return args}return null}superfly.historical.turnOffReplay=function(){if(!superfly.historical.playing){return}$("historypicker").setStyle("display","none");superfly.historical.playing=false;superfly.modifyDataFeed(api,"/api/pages/",2,null);superfly.unsubscribeFromDataFeed(api,thisobj);$(id).setStyle("display","none");$(id).setStyle("right","40px");$("closebtn").setStyle("display","none");superfly.historical.callOnObjects("historyClose");superfly.historical.callDisabledObjects();if(superfly.isSwapped){$("realtime").setStyle("display","none");$("mainhistorical").setStyle("display","block");superfly.startHistorical()}};var thisobj=this;function cback(){superfly.historical.playing=true;superfly.historical.showing_invalid=false;superfly.historical.last_mod_time=new Date();if($(id).getStyle("display")=="none"){superfly.modifyDataFeed(api,"/dashapi/snapshots/?api="+api,1,timeModifier);superfly.subscribeToDataFeed(api,thisobj);$(id).setStyle("display","inline");if(!$("closebtn")){var closebtn=new Element("button",{id:"closebtn",type:"button","class":"calendar_off",events:{click:superfly.historical.turnOffReplay}});$(id).getParent().adopt(closebtn)}else{$("closebtn").setStyle("display","inline")}$(id).setStyle("right","80px");superfly.historical.callOnObjects("historyOpen")}superfly.historical.callOnObjects("historyChange");superfly.historical.callDisabledObjects()}this.historyCback=cback;hpdiv.addEvent("keypress",function(evt){if(evt.key=="enter"){this.blur();cback()}});eval("new Calendar({ '"+id+"': '"+fmt+"' }, { 'classes': ['calendar'], 'direction': -1, 'onChange': cback });");return cdiv},beginPlayback:function(a){$("historypicker_id").value=a;this.historyCback()},addSparkline:function(a,b){if(b.historyOpen){b.historyOpen_old=b.historyOpen}if(b.historyClose){b.historyClose_old=b.historyClose}b.historyOpen=function(){if(!b.sparkline){var c=b.container+"_sparkline";b.sparklinediv=new Element("div",{id:c});$(b.container).adopt(b.sparklinediv);b.sparkline=new superfly.charts.sparkline(c)}b.sparklinediv.setStyle("display","block");if(b.historyOpen_old){b.historyOpen_old()}};b.historyClose=function(){if(b.sparkline){b.sparkline.reset()}if(b.sparklinediv){b.sparklinediv.setStyle("display","none")}if(b.historyClose_old){b.historyClose_old()}};if(!b.datacount){b.datacount=0}},sendToSparkline:function(b,a){if(!b.sparkline){return}b.datacount++;b.sparkline.draw(a,{width:350,height:100})}};superfly.widgetManager={widget_list:{sitetotal:{feedid:"pages",title:"Site total",hide_title:true},readwriteidle:{feedid:"pages",title:"Read/Write/Idle",hide_title:true},domload:{feedid:"pages",title:"Page load time",options:{limit:5,width:450}},geomap:{title:"Geolocations"},sitetime:{feedid:"pages",options:{width:450,height:200},title:"Visit length"},refpie:{feedid:"pages",options:{width:450,height:200},title:"Where they're coming from"},refdetails:{feedid:"pages",options:{width:450},title:"Referrer details"},sitemap:{feedid:"pages",options:{width:600,height:250},title:"Page density",default_col:2},livefeed:{feedid:"pages",options:{width:600,limit:10},title:"Raw hits",default_col:2},conversation:{title:"Conversations",default_col:2},Alerts:{title:"Recent alerts","default-col":1}},widget_help:{sitetotal:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/site_total.png" width="200" />The total number of people on an entire domain, including new vs. returning.',readwriteidle:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/readwriteidle.png" width="200" />Visitor activity gauges, displaying who is reading, writing and idle.',domload:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/pageloadtime.png" width="200" />Show actual visitor page load times and averages.',geomap:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/geolocation.png" width="200" />Real world locations displayed for all current visitors.',sitetime:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/visitlength.png" width="200" />How long people have been on the site, including a breakdown of read/write/idle.',refpie:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/geolocation.png" width="200" />Pie chart displaying how people are getting to the site.',refdetails:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/referrerdetails.png" width="200" />Detailed information regarding how people are getting to the site.',sitemap:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/pagedensity.png" width="200" />A density map of where people are located within the entire website.',livefeed:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/rawhits.png" width="200" />Live feed of incoming new traffic to the site.',conversation:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/conversations.png" width="200" />The latest gossip about your website.',Alerts:'<img class="thumb" src="http://static.chartbeat.com/images/index/v6/alerts.png" width="200">Recent alerts for your site and quick access to replays.'},widget_extra_help:{sitetotal:"The topmost number is the number of people on your site right now.  Below it are the monthly maximum and minimum values of that value.<br><br>The next graph breaks down how many of those people have been to your site before versus how many are new.",readwriteidle:"This breaks down what your visitors are doing right now.<ul><li>Reading - A user is actively moving around the page.</li><li>Writing - A user is actively typing something.</li><li>Idle - There has been no detected activity for a few minutes.</li></ul> The orange, green, and blue markings signify the minimum, average, and maximum values this month.",domload:"This panel shows the average time it is taking your users to load your website.  Also included is a running list of page load times as they happen.",geomap:"Displays where in the world your current users are located.<br><br>You can click any country or state for a zoomed in view.  When you hover over the dots, you will be given information about that user.  Clicking on the dot brings you to that page.",sitetime:"This displays how long people have been on your site.  It is broken down into read/write/idle.  Hover over for exact numbers.",refpie:"This chart shows how your current users got to your site.  Hover over for exact numbers.",refdetails:"This list is a detailed view of the referrer pie chart.  It shows every link users followed to get to your site.  It is ordered by links that sent the most traffic.  Clicking on a link brings you to that page.",sitemap:"The density map shows your top 50 most popular pages right now.  The size of each block represents how many users are on that page.<br><br>By hovering over a page, you can also see a heatmap of how far they scrolled down the page, as well as a reading/writing/idle breakdown.<br><br>A page flashes green when the number goes up, and red when it goes down.",livefeed:"This is a running list of traffic coming into your website or moving around your website.",conversation:"This panel focuses on twitter activity.  Change the search terms to search through twitter for specific keywords.<br><br>The second part of this panel shows people that have linked to your website and posted it on twitter.",Alerts:"See recent alerts and view replays. You can configure alerts on the settings page."},default_layout:[["sitetotal","readwriteidle","domload","geomap","sitetime","refpie","refdetails","Alerts"],["sitemap","livefeed","conversation"]],getLayout:function(){if(Browser.Engine.trident){if(Browser.Engine.version<=4){var a=new Element("li",{html:'chartbeat is not compatible with Internet Explorer 6.  Please <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">upgrade</a>.  Or, you can use <a href="http://firefox.com">Firefox</a> or <a href="http://www.google.com/chrome">Google Chrome</a> browsers (chartbeat functions smoother with either)',id:"error"});$("column1").adopt(a);showAlert("error","error");return}else{if(!Silverlight.isInstalled("2.0")){var a=new Element("li",{html:'You need to install <a href="http://www.microsoft.com/silverlight/resources/install.aspx">Microsoft Silverlight</a> if you want to use chartbeat with Internet Explorer.  Or, you can use <a href="http://firefox.com">Firefox</a> or <a href="http://www.google.com/chrome">Google Chrome</a> browsers (chartbeat functions smoother with either)',id:"error"});$("column1").adopt(a);showAlert("error","error");return}else{blinkNotify("notify",'Note: chartbeat will run faster and smoother with <a href="http://firefox.com">Firefox</a> or <a href="http://www.google.com/chrome">Google Chrome</a> browsers',false,2000)}}}else{if(Browser.Platform.mac&&Browser.Engine.gecko&&Browser.Engine.version<=18){blinkNotify("notify",'Note: chartbeat will run faster and smoother if you upgrade <a href="http://firefox.com">Firefox</a> or use Safari',false,2000)}else{if(!superfly.hasFlash()){var a=new Element("li",{html:'You need flash to view chartbeat.  Please go <a href="http://get.adobe.com/flashplayer/">here</a> to install it.',id:"error"});$("column1").adopt(a);showAlert("error","error");return}}}if(!Cookie.read("columns")){this.__defaultLayout()}else{this.__cookiesToLayout()}},loadSpecificWidget:function(b,c){var a=this.widget_list[b];if(a){superfly.dashboard.loadWidget(b,a.feedid,0,a.options,"","",true,c)}},saveLayout:function(a){this.__writeCookie(JSON.encode(a))},listWidgets:function(){if(!this.columns){this.__cookiesToColumns()}var c=new Array();for(var a=0;a<this.columns.length;++a){for(var f=0;f<this.columns[a].length;++f){c[this.columns[a][f]]=true}}var e=new Array();for(var b in this.widget_list){e.push({name:b,title:this.widget_list[b].title,help:this.widget_help[b],installed:c[b]})}return e},saveWidgets:function(c){var b=$$("#"+c+" input.widget_cb");for(var a=0;a<b.length;++a){this.__modifyColumns(b[a].id,b[a].checked)}this.__writeCookie(JSON.encode(this.columns));blinkNotify("notify","Panels saved.",false)},createWidgetTable:function(g){var f=this.listWidgets();for(var a=0;a<f.length;++a){var c=new Element("tbody");var h=new Element("tr",{"class":"widget_list_tr"});var b=new Element("td",{"class":"widget_list_td",html:'<input type="checkbox" class="widget_cb" id="'+f[a].name+'"'+((f[a].installed)?" checked":"")+">"});var k=new Element("td",{"class":"widget_list_td_title",html:f[a].title});var e=new Element("td",{"class":"widget_list_td",html:f[a].help});c.adopt(h);h.adopt(b);h.adopt(k);h.adopt(e);$(g).adopt(c)}},createPanelTable:function(g){var e=this.listWidgets();var c=new Element("tbody");for(var a=0;a<e.length;++a){var h=new Element("tr");var b=new Element("td",{"class":"choose",html:'<input type="checkbox" class="widget_cb" id="'+e[a].name+'"'+((e[a].installed)?" checked":"")+">"});var k=new Element("td",{"class":"strong",html:e[a].title});var f=new Element("td",{"class":"description",html:e[a].help});c.adopt(h);h.adopt(b);h.adopt(k);h.adopt(f)}$(g).adopt(c)},__modifyColumns:function(e,f){var c=false;for(var a=0;a<this.columns.length;++a){for(var g=0;g<this.columns[a].length;++g){if(this.columns[a][g]==e){if(!f){this.columns[a][g]=null;return}else{c=true;break}}}if(c){break}}if(f&&!c){var b=this.widget_list[e].default_col;if(!b){b=0}else{b=b-1}this.columns[b].push(e)}},__writeCookie:function(a){Cookie.write("columns",a,{duration:365,domain:".chartbeat.com",path:"/"})},__cookiesToColumns:function(){var b=Cookie.read("columns");this.__writeCookie(b);if(b){b=JSON.decode(b);if(b){var a=Cookie.read("colv");if(!a){b[0].push("Alerts");Cookie.write("colv","1",{duration:365,domain:".chartbeat.com",path:"/"});this.__writeCookie(JSON.encode(b))}this.columns=b;return}}this.columns=this.default_layout},__cookiesToLayout:function(){if(!this.columns){this.__cookiesToColumns()}for(var a=0;a<this.columns.length;++a){for(var e=0;e<this.columns[a].length;++e){if(this.columns[a][e]){var c=this.columns[a][e];var b=this.widget_list[c];if(b){superfly.dashboard.loadWidget(c,b.feedid,a+1,b.options,((b.hide_title)?"":b.title),this.widget_extra_help[c])}}}}},__defaultLayout:function(){this.columns=this.default_layout;for(var a=0;a<this.columns.length;++a){for(var e=0;e<this.columns[a].length;++e){var c=this.columns[a][e];var b=this.widget_list[c];superfly.dashboard.loadWidget(c,b.feedid,a+1,b.options,((b.hide_title)?"":b.title),this.widget_extra_help[c])}}this.__writeCookie(JSON.encode(this.columns))}};if(typeof deconcept=="undefined"){var deconcept=new Object()}if(typeof deconcept.util=="undefined"){deconcept.util=new Object()}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object()}deconcept.SWFObject=function(r,b,s,f,m,n,k,g,e,o){if(!document.getElementById){return}this.DETECT_KEY=o?o:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(r){this.setAttribute("swf",r)}if(b){this.setAttribute("id",b)}if(s){this.setAttribute("width",s)}if(f){this.setAttribute("height",f)}if(m){this.setAttribute("version",new deconcept.PlayerVersion(m.toString().split(".")))}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true}if(n){this.addParam("bgcolor",n)}var a=k?k:"high";this.addParam("quality",a);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var l=(g)?g:window.location;this.setAttribute("xiRedirectUrl",l);this.setAttribute("redirectUrl","");if(e){this.setAttribute("redirectUrl",e)}};deconcept.SWFObject.prototype={useExpressInstall:function(a){this.xiSWFPath=!a?"expressinstall.swf":a;this.setAttribute("useExpressInstall",true)},setAttribute:function(a,b){this.attributes[a]=b},getAttribute:function(a){return this.attributes[a]},addParam:function(b,a){this.params[b]=a},getParams:function(){return this.params},addVariable:function(b,a){this.variables[b]=a},getVariable:function(a){return this.variables[a]},getVariables:function(){return this.variables},getVariablePairs:function(){var c=new Array();var b;var a=this.getVariables();for(b in a){c[c.length]=b+"="+a[b]}return c},getSWFHTML:function(){var b="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath)}b='<embed type="application/x-shockwave-flash" src="'+this.getAttribute("swf")+'" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'"';b+=' id="'+this.getAttribute("id")+'" name="'+this.getAttribute("id")+'" ';var g=this.getParams();for(var f in g){b+=[f]+'="'+g[f]+'" '}var e=this.getVariablePairs().join("&");if(e.length>0){b+='flashvars="'+e+'"'}b+="/>"}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath)}b='<object id="'+this.getAttribute("id")+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'">';b+='<param name="movie" value="'+this.getAttribute("swf")+'" />';var c=this.getParams();for(var f in c){b+='<param name="'+f+'" value="'+c[f]+'" />'}var a=this.getVariablePairs().join("&");if(a.length>0){b+='<param name="flashvars" value="'+a+'" />'}b+="</object>"}return b},write:function(b){if(this.getAttribute("useExpressInstall")){var a=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(a)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title)}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var c=(typeof b=="string")?document.getElementById(b):b;c.innerHTML=this.getSWFHTML();if(!(navigator.plugins&&navigator.mimeTypes.length)){window[this.getAttribute("id")]=document.getElementById(this.getAttribute("id"))}return true}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"))}}return false}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var g=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var a=navigator.plugins["Shockwave Flash"];if(a&&a.description){g=new deconcept.PlayerVersion(a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var b=1;var c=3;while(b){try{c++;b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+c);g=new deconcept.PlayerVersion([c,0,0])}catch(f){b=null}}}else{try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(f){try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");g=new deconcept.PlayerVersion([6,0,21]);b.AllowScriptAccess="always"}catch(f){if(g.major==6){return g}}try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(f){}}if(b!=null){g=new deconcept.PlayerVersion(b.GetVariable("$version").split(" ")[1].split(","))}}}return g};deconcept.PlayerVersion=function(a){this.major=a[0]!=null?parseInt(a[0]):0;this.minor=a[1]!=null?parseInt(a[1]):0;this.rev=a[2]!=null?parseInt(a[2]):0};deconcept.PlayerVersion.prototype.versionIsValid=function(a){if(this.major<a.major){return false}if(this.major>a.major){return true}if(this.minor<a.minor){return false}if(this.minor>a.minor){return true}if(this.rev<a.rev){return false}return true};deconcept.util={getRequestParameter:function(c){var e=document.location.search||document.location.hash;if(c==null){return e}if(e){var b=e.substring(1).split("&");for(var a=0;a<b.length;a++){if(b[a].substring(0,b[a].indexOf("="))==c){return b[a].substring((b[a].indexOf("=")+1))}}}return""}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var b=document.getElementsByTagName("OBJECT");for(var c=b.length-1;c>=0;c--){b[c].style.display="none";for(var a in b[c]){if(typeof b[c][a]=="function"){b[c][a]=function(){}}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs)};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true}}if(!document.getElementById&&document.all){document.getElementById=function(a){return document.all[a]}}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;var Calendar=new Class({options:{blocked:[],classes:[],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],direction:0,draggable:true,months:["January","February","March","April","May","June","July","August","September","October","November","December"],navigation:1,offset:0,onHideStart:Class.empty,onHideComplete:Class.empty,onShowStart:Class.empty,onShowComplete:Class.empty,onChange:Class.empty,pad:1,tweak:{x:0,y:0}},initialize:function(g,b){if(!g){return false}this.setOptions(b);var e=["calendar","prev","next","month","year","today","invalid","valid","inactive","active","hover","hilite"];var a=e.map(function(m,l){if(this.options.classes[l]){if(this.options.classes[l].length){m=this.options.classes[l]}}return m},this);this.classes=a.associate(e);this.calendar=new Element("div",{styles:{left:"-1000px",opacity:0,position:"absolute",top:"-1000px",zIndex:1000}}).addClass(this.classes.calendar).injectInside(document.body);if(window.ie6){this.iframe=new Element("iframe",{styles:{left:"-1000px",position:"absolute",top:"-1000px",zIndex:999}}).injectInside(document.body);this.iframe.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"}this.fx=new Fx.Tween(this.calendar,{onStart:function(){if(this.calendar.getStyle("opacity")==0){if(window.ie6){this.iframe.setStyle("display","block")}this.calendar.setStyle("display","block");this.fireEvent("onShowStart",this.element)}else{this.fireEvent("onHideStart",this.element)}}.bind(this),onComplete:function(){if(this.calendar.getStyle("opacity")==0){this.calendar.setStyle("display","none");if(window.ie6){this.iframe.setStyle("display","none")}this.fireEvent("onHideComplete",this.element)}else{this.fireEvent("onShowComplete",this.element)}}.bind(this)});if(window.Drag&&this.options.draggable){this.drag=new Drag.Move(this.calendar,{onDrag:function(){if(window.ie6){this.iframe.setStyles({left:this.calendar.style.left,top:this.calendar.style.top})}}.bind(this)})}this.calendars=[];var k=0;var h=new Date();h.setDate(h.getDate()+this.options.direction.toInt());for(var c in g){var f={button:new Element("button",{type:"button"}),el:$(c),els:[],id:k++,month:h.getMonth(),visible:false,year:h.getFullYear()};if(!this.element(c,g[c],f)){continue}f.el.addClass(this.classes.calendar);f.button.addClass(this.classes.calendar).addEvent("click",function(l){this.toggle(l)}.pass(f,this)).injectAfter(f.el);f.val=this.read(f);$extend(f,this.bounds(f));$extend(f,this.values(f));this.rebuild(f);this.calendars.push(f)}},blocked:function(c){var a=[];var e=new Date(c.year,c.month,1).getDay();var b=new Date(c.year,c.month+1,0).getDate();this.options.blocked.each(function(m){var h=m.split(" ");for(var n=0;n<=3;n++){if(!h[n]){h[n]=(n==3)?"":"*"}h[n]=h[n].contains(",")?h[n].split(","):new Array(h[n]);var o=h[n].length-1;for(var l=o;l>=0;l--){if(h[n][l].contains("-")){var q=h[n][l].split("-");for(var g=q[0];g<=q[1];g++){if(!h[n].contains(g)){h[n].push(g+"")}}h[n].splice(l,1)}}}if(h[2].contains(c.year+"")||h[2].contains("*")){if(h[1].contains(c.month+1+"")||h[1].contains("*")){h[0].each(function(k){if(k>0){a.push(k.toInt())}});if(h[3]){for(var n=0;n<b;n++){var f=(n+e)%7;if(h[3].contains(f+"")){a.push(n+1)}}}}}},this);return a},bounds:function(c){var e=new Date(1000,0,1);var a=new Date(2999,11,31);var b=new Date().getDate()+this.options.direction.toInt();if(this.options.direction>0){e=new Date();e.setDate(b+this.options.pad*c.id)}if(this.options.direction<0){a=new Date();a.setDate(b-this.options.pad*(this.calendars.length-c.id-1))}c.els.each(function(g){if(g.get("tag")=="select"){if(g.format.test("(y|Y)")){var f=[];g.getChildren().each(function(m){var l=this.unformat(m.value,g.format);if(!f.contains(l[0])){f.push(l[0])}},this);f.sort(this.sort);if(f[0]>e.getFullYear()){d=new Date(f[0],e.getMonth()+1,0);if(e.getDate()>d.getDate()){e.setDate(d.getDate())}e.setYear(f[0])}if(f.getLast()<a.getFullYear()){d=new Date(f.getLast(),a.getMonth()+1,0);if(a.getDate()>d.getDate()){a.setDate(d.getDate())}a.setYear(f.getLast())}}if(g.format.test("(F|m|M|n)")){var h=[];var k=[];g.getChildren().each(function(m){var l=this.unformat(m.value,g.format);if($type(l[0])!="number"||l[0]==f[0]){if(!h.contains(l[1])){h.push(l[1])}}if($type(l[0])!="number"||l[0]==f.getLast()){if(!k.contains(l[1])){k.push(l[1])}}},this);h.sort(this.sort);k.sort(this.sort);if(h[0]>e.getMonth()){d=new Date(e.getFullYear(),h[0]+1,0);if(e.getDate()>d.getDate()){e.setDate(d.getDate())}e.setMonth(h[0])}if(k.getLast()<a.getMonth()){d=new Date(e.getFullYear(),k.getLast()+1,0);if(a.getDate()>d.getDate()){a.setDate(d.getDate())}a.setMonth(k.getLast())}}}},this);return{start:e,end:a}},caption:function(h){var a={prev:{month:true,year:true},next:{month:true,year:true}};if(h.year==h.start.getFullYear()){a.prev.year=false;if(h.month==h.start.getMonth()&&this.options.navigation==1){a.prev.month=false}}if(h.year==h.end.getFullYear()){a.next.year=false;if(h.month==h.end.getMonth()&&this.options.navigation==1){a.next.month=false}}if($type(h.months)=="array"){if(h.months.length==1&&this.options.navigation==2){a.prev.month=a.next.month=false}}var b=new Element("caption");var f=new Element("a").addClass(this.classes.prev).appendText("\x3c");var e=new Element("a").addClass(this.classes.next).appendText("\x3e");if(this.options.navigation==2){var g=new Element("span").addClass(this.classes.month).injectInside(b);if(a.prev.month){f.clone().addEvent("click",function(k){this.navigate(k,"m",-1)}.pass(h,this)).injectInside(g)}g.adopt(new Element("span").appendText(this.options.months[h.month]));if(a.next.month){e.clone().addEvent("click",function(k){this.navigate(k,"m",1)}.pass(h,this)).injectInside(g)}var c=new Element("span").addClass(this.classes.year).injectInside(b);if(a.prev.year){f.clone().addEvent("click",function(k){this.navigate(k,"y",-1)}.pass(h,this)).injectInside(c)}c.adopt(new Element("span").appendText(h.year));if(a.next.year){e.clone().addEvent("click",function(k){this.navigate(k,"y",1)}.pass(h,this)).injectInside(c)}}else{if(a.prev.month&&this.options.navigation){f.clone().addEvent("click",function(k){this.navigate(k,"m",-1)}.pass(h,this)).injectInside(b)}b.adopt(new Element("span").addClass(this.classes.month).appendText(this.options.months[h.month]));b.adopt(new Element("span").addClass(this.classes.year).appendText(h.year));if(a.next.month&&this.options.navigation){e.clone().addEvent("click",function(k){this.navigate(k,"m",1)}.pass(h,this)).injectInside(b)}}return b},changed:function(a){a.val=this.read(a);$extend(a,this.values(a));this.rebuild(a);if(!a.val){return}if(a.val.getDate()<a.days[0]){a.val.setDate(a.days[0])}if(a.val.getDate()>a.days.getLast()){a.val.setDate(a.days.getLast())}a.els.each(function(b){b.value=this.format(a.val,b.format)},this);this.check(a);this.calendars.each(function(b){if(b.visible){this.display(b)}},this)},check:function(a){this.calendars.each(function(e,b){if(e.val){var f=false;if(b<a.id){var c=new Date(Date.parse(a.val));c.setDate(c.getDate()-(this.options.pad*(a.id-b)));if(c<e.val){f=true}}if(b>a.id){var c=new Date(Date.parse(a.val));c.setDate(c.getDate()+(this.options.pad*(b-a.id)));if(c>e.val){f=true}}if(f){if(e.start>c){c=e.start}if(e.end<c){c=e.end}e.month=c.getMonth();e.year=c.getFullYear();$extend(e,this.values(e));e.val=e.days.contains(c.getDate())?c:null;this.write(e);if(e.visible){this.display(e)}}}else{e.month=a.month;e.year=a.year}},this)},clicked:function(c,a,b){b.val=new Date(b.year,b.month,a);this.write(b);if(!b.val){b.val=this.read(b)}if(b.val){this.check(b);this.toggle(b)}else{c.addClass(this.classes.valid);c.removeClass(this.classes.active)}},display:function(m){this.calendar.empty();this.calendar.className=this.classes.calendar+" "+this.options.months[m.month].toLowerCase();var n=new Element("div").injectInside(this.calendar);var w=new Element("table").injectInside(n).adopt(this.caption(m));var v=new Element("thead").injectInside(w);var b=new Element("tr").injectInside(v);for(var u=0;u<=6;u++){var f=this.options.days[(u+this.options.offset)%7];b.adopt(new Element("th",{title:f}).appendText(f.substr(0,1)))}var a=new Element("tbody").injectInside(w);var b=new Element("tr").injectInside(a);var z=new Date(m.year,m.month,1);var e=((z.getDay()-this.options.offset)+7)%7;var l=new Date(m.year,m.month+1,0).getDate();var o=new Date(m.year,m.month,0).getDate();var g=this.value(m);var r=m.days;var q=[];var h=[];this.calendars.each(function(D,C){if(D!=m&&D.val){if(m.year==D.val.getFullYear()&&m.month==D.val.getMonth()){q.push(D.val.getDate())}if(m.val){for(var B=1;B<=l;B++){z.setDate(B);if((C<m.id&&z>D.val&&z<m.val)||(C>m.id&&z>m.val&&z<D.val)){if(!h.contains(B)){h.push(B)}}}}}},this);var z=new Date();var y=new Date(z.getFullYear(),z.getMonth(),z.getDate()).getTime();for(var u=1;u<43;u++){if((u-1)%7==0){b=new Element("tr").injectInside(a)}var k=new Element("td").injectInside(b);var s=u-e;var A=new Date(m.year,m.month,s);var c="";if(s===g){c=this.classes.active}else{if(q.contains(s)){c=this.classes.inactive}else{if(r.contains(s)){c=this.classes.valid}else{if(s>=1&&s<=l){c=this.classes.invalid}}}}if(A.getTime()==y){c=c+" "+this.classes.today}if(h.contains(s)){c=c+" "+this.classes.hilite}k.addClass(c);if(r.contains(s)){k.setProperty("title",this.format(A,"D M jS Y"));k.addEvents({click:function(D,B,C){this.clicked(D,B,C)}.pass([k,s,m],this),mouseover:function(C,B){C.addClass(B)}.pass([k,this.classes.hover]),mouseout:function(C,B){C.removeClass(B)}.pass([k,this.classes.hover])})}if(s<1){s=o+s}else{if(s>l){s=s-l}}k.appendText(s)}},element:function(b,c,e){if($type(c)=="object"){for(var a in c){if(!this.element(a,c[a],e)){return false}}return true}b=$(b);if(!b){return false}b.format=c;if(b.get("tag")=="select"){b.addEvent("change",function(f){this.changed(f)}.pass(e,this))}else{}e.els.push(b);return true},format:function(c,r){var o="";if(c){var g=c.getDate();var s=c.getDay();var e=this.options.days[s];var b=c.getMonth()+1;var m=this.options.months[b-1];var q=c.getFullYear()+"";for(var h=0,k=r.length;h<k;h++){var a=r.charAt(h);switch(a){case"y":q=q.substr(2);case"Y":o+=q;break;case"m":if(b<10){b="0"+b}case"n":o+=b;break;case"M":m=m.substr(0,3);case"F":o+=m;break;case"d":if(g<10){g="0"+g}case"j":o+=g;break;case"D":e=e.substr(0,3);case"l":o+=e;break;case"N":s+=1;case"w":o+=s;break;case"S":if(g%10==1&&g!="11"){o+="st"}else{if(g%10==2&&g!="12"){o+="nd"}else{if(g%10==3&&g!="13"){o+="rd"}else{o+="th"}}}break;default:o+=a}}}return o},navigate:function(c,b,e){switch(b){case"m":if($type(c.months)=="array"){var a=c.months.indexOf(c.month)+e;if(a<0||a==c.months.length){if(this.options.navigation==1){this.navigate(c,"y",e)}a=(a<0)?c.months.length-1:0}c.month=c.months[a]}else{var a=c.month+e;if(a<0||a==12){if(this.options.navigation==1){this.navigate(c,"y",e)}a=(a<0)?11:0}c.month=a}break;case"y":if($type(c.years)=="array"){var a=c.years.indexOf(c.year)+e;c.year=c.years[a]}else{c.year+=e}break}$extend(c,this.values(c));if($type(c.months)=="array"){var a=c.months.indexOf(c.month);if(a<0){c.month=c.months[0]}}this.display(c)},read:function(c){var a=[null,null,null];c.els.each(function(g){var f=this.unformat(g.value,g.format);f.each(function(k,h){if($type(k)=="number"){a[h]=k}})},this);if($type(a[0])=="number"){c.year=a[0]}if($type(a[1])=="number"){c.month=a[1]}var e=null;if(a.every(function(f){return $type(f)=="number"})){var b=new Date(a[0],a[1]+1,0).getDate();if(a[2]>b){a[2]=b}e=new Date(a[0],a[1],a[2])}return(c.val==e)?null:e},rebuild:function(a){a.els.each(function(b){if(b.get("tag")=="select"&&b.format.test("^(d|j)$")){var c=this.value(a);if(!c){c=b.value.toInt()}b.empty();a.days.each(function(e){var f=new Element("option",{selected:(c==e),value:((b.format=="d"&&e<10)?"0"+e:e)}).appendText(e).injectInside(b)},this)}},this)},sort:function(e,c){return e-c},toggle:function(c){document.removeEvent("mousedown",this.fn);if(c.visible){c.visible=false;c.button.removeClass(this.classes.active);this.fx.start("opacity",1,0)}else{this.fn=function(l,k){var l=new Event(l);var h=l.target;var g=false;while(h!=document.body&&h.nodeType==1){if(h==this.calendar){g=true}this.calendars.each(function(m){if(m.button==h||m.els.contains(h)){g=true}});if(g){l.stop();return false}else{h=h.parentNode}}this.toggle(k)}.create({"arguments":c,bind:this,event:true});document.addEvent("mousedown",this.fn);this.calendars.each(function(g){if(g==c){g.visible=true;g.button.addClass(this.classes.active)}else{g.visible=false;g.button.removeClass(this.classes.active)}},this);var b=window.getScrollSize();var f=c.button.getCoordinates();var a=f.right+this.options.tweak.x;var e=f.top+this.options.tweak.y;if(!this.calendar.coord){this.calendar.coord=this.calendar.getCoordinates()}if(a+this.calendar.coord.width>b.x){a-=(a+this.calendar.coord.width-b.x)}if(e+this.calendar.coord.height>b.y){e-=(e+this.calendar.coord.height-b.y)}this.calendar.setStyles({left:a+"px",top:e+"px"});if(window.ie6){this.iframe.setStyles({height:this.calendar.coord.height+"px",left:a+"px",top:e+"px",width:this.calendar.coord.width+"px"})}this.display(c);this.fx.start("opacity",0,1)}},unformat:function(b,m){m=m.escapeRegExp();var o={d:"([0-9]{2})",j:"([0-9]{1,2})",D:"("+this.options.days.map(function(c){return c.substr(0,3)}).join("|")+")",l:"("+this.options.days.join("|")+")",S:"(st|nd|rd|th)",F:"("+this.options.months.join("|")+")",m:"([0-9]{2})",M:"("+this.options.months.map(function(c){return c.substr(0,3)}).join("|")+")",n:"([0-9]{1,2})",Y:"([0-9]{4})",y:"([0-9]{2})"};var k=[];var l="";for(var e=0;e<m.length;e++){var n=m.charAt(e);if(o[n]){k.push(n);l+=o[n]}else{l+=n}}var h=b.match("^"+l+"$");var a=new Array(3);if(h){h=h.slice(1);k.each(function(g,f){f=h[f];switch(g){case"y":f="19"+f;case"Y":a[0]=f.toInt();break;case"F":f=f.substr(0,3);case"M":f=this.options.months.map(function(c){return c.substr(0,3)}).indexOf(f)+1;case"m":case"n":a[1]=f.toInt()-1;break;case"d":case"j":a[2]=f.toInt();break}},this)}return a},value:function(b){var a=null;if(b.val){if(b.year==b.val.getFullYear()&&b.month==b.val.getMonth()){a=b.val.getDate()}}return a},values:function(g){var e,a,k;g.els.each(function(l){if(l.get("tag")=="select"){if(l.format.test("(y|Y)")){e=[];l.getChildren().each(function(n){var m=this.unformat(n.value,l.format);if(!e.contains(m[0])){e.push(m[0])}},this);e.sort(this.sort)}if(l.format.test("(F|m|M|n)")){a=[];l.getChildren().each(function(n){var m=this.unformat(n.value,l.format);if($type(m[0])!="number"||m[0]==g.year){if(!a.contains(m[1])){a.push(m[1])}}},this);a.sort(this.sort)}if(l.format.test("(d|j)")&&!l.format.test("^(d|j)$")){k=[];l.getChildren().each(function(n){var m=this.unformat(n.value,l.format);if(m[0]==g.year&&m[1]==g.month){if(!k.contains(m[2])){k.push(m[2])}}},this)}}},this);var h=1;var f=new Date(g.year,g.month+1,0).getDate();if(g.year==g.start.getFullYear()){if(a==null&&this.options.navigation==2){a=[];for(var c=0;c<12;c++){if(c>=g.start.getMonth()){a.push(c)}}}if(g.month==g.start.getMonth()){h=g.start.getDate()}}if(g.year==g.end.getFullYear()){if(a==null&&this.options.navigation==2){a=[];for(var c=0;c<12;c++){if(c<=g.end.getMonth()){a.push(c)}}}if(g.month==g.end.getMonth()){f=g.end.getDate()}}var b=this.blocked(g);if($type(k)=="array"){k=k.filter(function(l){if(l>=h&&l<=f&&!b.contains(l)){return l}})}else{k=[];for(var c=h;c<=f;c++){if(!b.contains(c)){k.push(c)}}}k.sort(this.sort);return{days:k,months:a,years:e}},write:function(a){this.rebuild(a);a.els.each(function(b){if(a.val){nowtime=new Date();newval=this.format(a.val,b.format)+" "+this.currentTime();oldval=b.value;b.value=newval;if(newval!=oldval){this.fireEvent("onChange",this.element)}}},this)},currentTime:function(){var b="";var c=new Date();var e=c.getHours();if(e<12){b="am"}else{b="PM"}if(e==0){e=12}else{if(e>12){e=e-12}}var a=c.getMinutes();a=a+"";if(a.length==1){a="0"+a}return e+":"+a+" "+b}});Calendar.implement(new Events,new Options);var historical={series:false,step_day:5,step_week:10,step_month:20,show_more_points:function(){historical.step_day=1;historical.step_week=5;historical.step_month=10;historical.main_cback();historical.uptime_display();historical.twitter_display()},show_less_points:function(){historical.step_day=5;historical.step_week=10;historical.step_month=20;historical.main_cback();historical.uptime_display()},display:function(url){if(!superfly.hasFlash()){var error=new Element("li",{html:'You need flash to view chartbeat.  Please go <a href="http://get.adobe.com/flashplayer/">here</a> to install it.',id:"error"});$("mainhistorical").setStyle("display","none");$("allhistorical").adopt(error);showAlert("error","error");return null}historical.main_cback=function(){var alerts=historical.split_data(historical.alerts_data);var data=historical.snapdays_data;var days=historical.get_days_from_data(data);if(!days.length||(days.length==1&&!days[0].data["return"].length)){$("allhistorical").innerHTML="<h1>Not enough data yet.  Please refresh this page in about 5 minutes.</h1>";return}historical.today_snapdata=historical.pull_data(days,1,historical.step_day,30);historical.week_snapdata=historical.pull_data(days,7,historical.step_week,30);historical.month_snapdata=historical.pull_data(days,30,historical.step_month,30);historical.ran_main_cback=true;historical.newret_chart("nr_today_chart",historical.today_snapdata,alerts.today,850,300,"time_only",true);historical.newret_chart("nr_week_chart",historical.week_snapdata,alerts.week,425,200,"day_time",false);historical.newret_chart("nr_month_chart",historical.month_snapdata,alerts.month,425,200,"day_time",false);historical.rwi_chart("rwi_today_chart",historical.today_snapdata,alerts.today,850,300,"time_only",true);historical.rwi_chart("rwi_week_chart",historical.week_snapdata,alerts.week,425,200,"day_time",false);historical.rwi_chart("rwi_month_chart",historical.month_snapdata,alerts.month,425,200,"day_time",false)};function snapdays_cback(data){eval("historical.snapdays_data = "+data)}function alerts_cback(data){eval("historical.alerts_data = "+data)}function uptime_cback(data){eval("historical.uptime_data = "+data)}historical.uptime_main_cback=function(){historical.uptime_display()};function twitter_cback(data){eval("historical.twitter_data = "+data);historical.twitter_display()}historical.twitter_display=function(){var data=historical.twitter_data;var keywords=new Array();for(var keyword in data){keywords[keyword]=historical.get_days_from_data(data[keyword])}var today_data=historical.pull_twitter_data(keywords,1,historical.step_day,30);var week_data=historical.pull_twitter_data(keywords,7,historical.step_week*3,30);var month_data=historical.pull_twitter_data(keywords,30,historical.step_month*3,30);historical.twitter_chart("twitter_today_chart",today_data,850,300,"time_only",true);historical.twitter_chart("twitter_week_chart",week_data,425,200,"day_time",false);historical.twitter_chart("twitter_month_chart",month_data,425,200,"day_time",false)};historical.uptime_display=function(){var data=historical.uptime_data;var days=historical.get_days_from_data(data);var today_data=historical.pull_data(days,1,historical.step_day,30);var week_data=historical.pull_data(days,7,historical.step_week,30);var month_data=historical.pull_data(days,30,historical.step_month,30);historical.uptime_chart("uptime_today_chart",today_data,historical.today_snapdata,850,300,"time_only",true);historical.uptime_chart("uptime_week_chart",week_data,historical.week_snapdata,425,200,"day_time",false);historical.uptime_chart("uptime_month_chart",month_data,historical.month_snapdata,425,200,"day_time",false)};var d=new Date();var reqargs={host:url,api:"pages",since:Math.round(d.getTime()/1000)-(60*60*24*30),apikey:superfly.apikey};new Request({url:"/dashapi/snapdays/",onComplete:snapdays_cback}).GET(reqargs);new Request({url:"/dashapi/uptime/",onComplete:uptime_cback}).GET(reqargs);new Request({url:"/dashapi/alerts/",onComplete:alerts_cback}).GET(reqargs);new Request({url:"/dashapi/twitterstats/",onComplete:twitter_cback}).GET(reqargs);var interv=null;var interv2;function check_ready(){if(historical.alerts_data&&historical.snapdays_data){clearInterval(interv);historical.main_cback();$("morepoints").setStyle("display","block")}}function check_ready_uptime(){if(historical.uptime_data&&historical.ran_main_cback){clearInterval(interv2);historical.uptime_main_cback()}}interv=setInterval(check_ready,50);interv2=setInterval(check_ready_uptime,50);return null},split_data:function(f){var c=new Date();var k=new Date(c.getMonth()+1+"/"+c.getDate()+"/"+c.getFullYear());var b=new Date(k.getTime()-(1000*60*60*24*7));var g=new Array();var e=new Array();var a=new Array();for(var l=0;l<f.length;++l){var h=new Date(f[l].time.replace(/-/g,"/"));a.push(f[l]);if(h>=b){e.push(f[l])}if(h>=k){g.push(f[l])}}return{today:g,week:e,month:a}},generate_all_count_times:function(n,c){var a=new Array();var m=new Date(n.replace(/-/g,"/"));var b=new Date((new Date()).getTime()-((c>5)?c/3:c)*60*1000);if(m.getDate()==b.getDate()&&m.getDay()==b.getDay()&&m.getFullYear()==b.getFullYear()){var e=b.getHours();var o=b.getMinutes()}for(var f=0;f<24;f++){for(var g=0;g<60;g+=c){if(f>e){return a}if(f==e&&g>=o){return a}var k=f;if(f<10){k="0"+f}var l=g;if(g<10){l="0"+g}var h=new Object();h.time=k+":"+l;h.date=n+" "+h.time;h.count=0;a.push(h)}}return a},pull_twitter_data:function(g,u,h,r){if(!h){h=1}var q=new Array();var c=(new Date()).getTime();for(var m=u-1;m>=0;--m){var b=60*60*24*1000;var s=new Date(c-(b*m));var w=s.getFullYear();var v=s.getMonth()+1;var n=s.getDate();if(v<10){v="0"+v}if(n<10){n="0"+n}q.push(w+"-"+v+"-"+n)}var a=new Array();for(var B in g){if(!B||!g[B]||typeof(g[B])!="object"||!g[B].length){continue}var C=new Array();for(var m=0;m<q.length;++m){for(var l=0;l<g[B].length;++l){var f=false;if(q[m]==g[B][l].date){f=true;var A=this.generate_all_count_times(g[B][l].date,h);var o=this.bucketize_twitter_data(g[B][l].data.counts,h);for(var k=0;k<A.length;++k){var e=o[A[k].time];if(e){A[k].count=e}}C=C.concat(A)}if(f){break}}if(!f){var A=this.generate_all_count_times(q[m],h);C=C.concat(A)}}a[B]=C}return a},pull_data:function(q,r,g,h){if(!g){g=1}var a=q.length-r;if(a<0){a=0}var l=new Array();var m=new Object();var f=0;var e=0;for(var o=a;o<q.length;++o){for(var k in q[o].data){if(!l[k]){l[k]=new Array()}for(var n=0;n<q[o].data[k].length;n++){if(k=="valid"){if(q[o].data[k][n]){f++}e++}if(n%g!=0){continue}var c=q[o].data[k][n];l[k].push(c);if(k=="new"||k=="return"||k=="people"||k=="read"||k=="write"||k=="idle"||k=="domload"||k=="loadtime"){if(!m[k+"_sma"]){m[k+"_sma"]=new Array()}m[k+"_sma"].push(c);if(m[k+"_sma"].length<h){if(!l[k+"_sma"]){l[k+"_sma"]=new Array()}}else{m[k+"_sma"].shift()}l[k+"_sma"].push(historical.calc_sma(m[k+"_sma"]))}}}}if(e){var b=f/e*100;b=Math.round(b*10000)/10000;l.uptime=b}return l},calc_sma:function(c){var a=0;for(var b=0;b<c.length;++b){a+=c[b]}return Math.round(a/c.length*1000)/1000},bucketize_twitter_data:function(b,a){var e=new Array();for(var c in b){p=c.split(":");ntime=p[1]-(p[1]%a);if(ntime<10){ntime="0"+ntime}ttime=p[0]+":"+ntime;if(!e[ttime]){e[ttime]=b[c]}else{e[ttime]+=b[c]}}return e},twitter_chart:function(l,A,r,q,u,m){var f=new Array();var n=new StringBuffer();var e=false;for(var z in A){if(typeof(A[z])!="object"||!A[z].length){continue}var k=new StringBuffer();var B="";for(var h=0;h<A[z].length;++h){if(!e){var y=new Date(A[z][h].date.replace(/-/g,"/"));var c;if(u=="time_only"){c=superfly.prettyclocktime(0,false,y)}else{if(u=="day_time"){c=superfly.timestampdate(0,y)}else{c=superfly.timestampjustdate(0,y)}}n.append('<value xid="'+h+'">'+c+"</value>")}B=A[z][h].count;k.append('<value xid="'+h+'">'+B+"</value>")}e=true;var v=new Object();v.data=k;v.keyword=z;v.lastval=B;f.push(v)}if(f.length){function a(D,C){if(D.lastval>C.lastval){return -1}if(D.lastval<C.lastval){return 1}return 0}f.sort(a);var g=["#53777A","#542437","#C02942","#D95B43","#ECD078"];var o=new StringBuffer();for(var h=0;h<f.length;++h){if(g[h]){var s=g[h]}else{var s=""}var w=f[h].keyword.replace(/\"/g,"");o.append('<graph title="'+w+'" gid="'+h+'" vertical_lines="true" line_alpha="0" color="'+s+'" color_hover="'+s+'" balloon_text="'+w+' - {value} tweets">'+f[h].data+"</graph>")}var b="<chart><series>"+n+"</series><graphs>"+o+"</graphs></chart>";historical.barchart(l,b,r,q,m)}else{this.not_enough_data(l)}},not_enough_data:function(a){$(a).innerHTML="Not enough data yet.  Please try back later.";$(a).setStyle("height","50px")},uptime_chart:function(l,E,f,u,o,w,m){var n=new StringBuffer();var s=new StringBuffer();var z=new StringBuffer();var y=new StringBuffer();var C=new StringBuffer();var q=new StringBuffer();var B="";if(E.snaptime.length>1){var r=0;var k=0;var b=0;for(var h=0;h<E.snaptime.length;++h){var A=new Date(E.snaptime[h].replace(/-/g,"/")+superfly.tzoffset());if(w=="time_only"){var e=superfly.prettyclocktime(0,false,A)}else{if(w=="day_time"){var e=superfly.timestampdate(0,A)}else{var e=superfly.timestampjustdate(0,A)}}n.append('<value xid="'+h+'">'+e+"</value>");var F=E.loadtime[h]/1000;z.append('<value xid="'+h+'">'+F+"</value>");var D=E.loadtime_sma[h]/1000;s.append('<value xid="'+h+'">'+D+"</value>");while(f.snaptime[r]&&new Date(f.snaptime[r].replace(/-/g,"/")+superfly.tzoffset())<A){r++;k=f.domload[r]/1000;b=f.domload_sma[r]/1000}if(f.snaptime[r]==E.snaptime[h]){var a=f.domload[r]/1000;C.append('<value xid="'+h+'">'+a+"</value>");var v=f.domload_sma[r]/1000;q.append('<value xid="'+h+'">'+v+"</value>");r++;k=a;b=v}else{C.append('<value xid="'+h+'">'+k+"</value>");q.append('<value xid="'+h+'">'+b+"</value>")}if(!E.valid[h]){var g=E.errmsg[h];if(!g){g="Page did not load or timed out."}y.append('<value xid="'+h+'" description="'+g+'">0</value>')}}if(E.uptime){B="<labels><label><x>!142</x><y>0</y><text><![CDATA[Uptime: "+E.uptime+"%]]></text><text_size>14</text_size><text_color>#028c16</text_color></label></labels>"}var c="<chart><series>"+n+'</series><graphs><graph gid="1" color="#d6b852" color_hover="#d6b852" fill_color="#d6b852" fill_alpha="10" balloon_text="{value} user load time" title="User load time">'+C+'</graph><graph gid="2" color="#947f39" color_hover="#947f39" balloon_text="{value} user load time avg" title="User load time avg">'+q+'</graph><graph gid="3" title="Server load time" color="#028c16" color_hover="#028c16" fill_color="#028c16" fill_alpha="10" balloon_text="{value} server load time">'+z+'</graph><graph gid="4" color="#ff0000" bullet="/flash/downtime.swf" bullet_size="16" bullet_color="#ff0000" vertical_lines="true" balloon_text="{description}" visible_in_legend="false">'+y+'</graph><graph gid="5" color="#01460b" color_hover="#01460b" balloon_text="{value} server load time avg" title="Server load time avg">'+s+"</graph></graphs>"+B+"</chart>";historical.sparkline(l,c,u,o,m)}else{this.not_enough_data(l)}},rwi_chart:function(b,h,k,c,u,a,s){var r=new StringBuffer();var q=new StringBuffer();var e=new StringBuffer();var f=new StringBuffer();var n=new StringBuffer();historical.iterate_alert();if(h.snaptime.length>1){for(var o=0;o<h.snaptime.length;++o){var m=new Date(h.snaptime[o].replace(/-/g,"/")+superfly.tzoffset());if(a=="time_only"){var l=superfly.prettyclocktime(0,false,m)}else{if(a=="day_time"){var l=superfly.timestampdate(0,m)}else{var l=superfly.timestampjustdate(0,m)}}r.append('<value xid="'+o+'">'+l+"</value>");q.append('<value xid="'+o+'">'+h.read[o]+"</value>");e.append('<value xid="'+o+'">'+h.write[o]+"</value>");f.append('<value xid="'+o+'">'+h.idle[o]+"</value>");n.append(historical.iterate_alert(k,["read","write","idle"],o,m))}var g="<chart><series>"+r+'</series><graphs><graph gid="3" title="Idle" vertical_lines="true" line_alpha="0" color="#bfa29c" color_hover="#bfa29c" balloon_text="{value} idle">'+f+'</graph><graph gid="4" color="#405797" bullet="/flash/alert.swf" bullet_size="7" bullet_color="#0000ff" vertical_lines="true" balloon_text_color="#ffffff" balloon_text="{description}" visible_in_legend="false">'+n+'</graph><graph gid="1" title="Reading" vertical_lines="true" line_alpha="0" color="#302e48" color_hover="#302e48" balloon_text="{value} reading">'+q+'</graph><graph gid="2" title="Writing" vertical_lines="true" line_alpha="0" color="#cc2a42" color_hover="#cc2a42" balloon_text="{value} writing">'+e+"</graph></graphs></chart>";historical.barchart(b,g,c,u,s)}else{this.not_enough_data(b)}},alert_phrase:function(e){var b={people:"total visitors","new":"new visitors","return":"returning visitors",read:"people reading",write:"people writing",idle:"people idle"};var a={above:"goes above",below:"goes below"};var c={max:"monthly max",min:"monthly min",avg:"monthly avg",oth:"other amount"};return b[e.metric]+" "+a[e.direction]+" "+((e.dynthreshold)?c[e.dynthreshold]:e.threshold+" "+((e.threshold==1)?"person":"people"))},iterate_alert:function(h,c,f,e){if(!h){historical.curalert=false;historical.alertpos=0;historical.found_alert=false;return null}if(!historical.found_alert&&(!historical.curalert||(h.length&&historical.alertpos<h.length))){for(var b=historical.alertpos;b<h.length;++b){for(var k=0;k<c.length;++k){if(h[b].metric==c[k]){historical.curalert=h[historical.alertpos];historical.found_alert=true;break}}historical.alertpos++;if(historical.found_alert){break}}}var a="";if(historical.found_alert&&historical.curalert){var g=new Date(historical.curalert.time.replace(/-/g,"/")+superfly.tzoffset());if(g<=e){a='<value xid="'+f+'" description="'+historical.alert_phrase(historical.curalert)+'">0</value>';historical.found_alert=false}}return a},newret_chart:function(b,k,l,e,u,a,s){var r=new StringBuffer();var g=new StringBuffer();var v=new StringBuffer();var c=new StringBuffer();var f=new StringBuffer();var o=new StringBuffer();historical.iterate_alert();if(k.snaptime.length>1){for(var q=0;q<k.snaptime.length;++q){var n=new Date(k.snaptime[q].replace(/-/g,"/")+superfly.tzoffset());var m;if(a=="time_only"){m=superfly.prettyclocktime(0,false,n)}else{if(a=="day_time"){m=superfly.timestampdate(0,n)}else{m=superfly.timestampjustdate(0,n)}}r.append('<value xid="'+q+'">'+m+"</value>");g.append('<value xid="'+q+'">'+k.people[q]+"</value>");v.append('<value xid="'+q+'">'+k["return"][q]+"</value>");c.append('<value xid="'+q+'">'+k.people_sma[q]+"</value>");f.append('<value xid="'+q+'">'+k.return_sma[q]+"</value>");o.append(historical.iterate_alert(l,["people","new","return"],q,n))}var h="<chart><series>"+r+'</series><graphs><graph gid="1" vertical_lines="true" line_alpha="0"color="#F24444" color_hover="#f24444" title="Total people" balloon_text="{value} total">'+g+'</graph><graph gid="2" vertical_lines="true" line_alpha="0" color="#5ea3c2" color_hover="#5ea3c2" balloon_text="{value} returning" title="Returning people">'+v+'</graph><graph gid="3" title="Total people avg" color="#a92f2f" color_hover="#a92f2f" balloon_text="" balloon_alpha="0" title="Average">'+c+'</graph><graph gid="4" title="Returning avg" color="#3f6e83" color_hover="#3f6e83" balloon_text="" balloon_alpha="0" title="Average">'+f+'</graph><graph gid="5" color="#405797" bullet="/flash/alert.swf" bullet_size="7" bullet_color="#0000ff" vertical_lines="true" balloon_text_color="#ffffff" balloon_text="{description}" visible_in_legend="false">'+o+"</graph></graphs></chart>";historical.barchart(b,h,e,u,s)}else{this.not_enough_data(b)}},sparkline:function(a,f,b,k,h){var g;if(!h){g="<values><x><enabled>false</enabled></x></values>"}else{g="<values><x><enabled>true</enabled><frequency>2</frequency></x></values>"}var e="<settings><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><text_color>#333333</text_color><plot_area><margins><left>40</left><right>25</right><top>20</top><bottom>50</bottom></margins></plot_area><axes><x><color>#cccccc</color><width>1</width></x><y_left><color>#cccccc</color><width>1</width></y_left><y_right><color>#cccccc</color><width>1</width></y_right></axes><indicator><color>#666666</color><x_balloon_text_color>#ffffff</x_balloon_text_color></indicator><balloon><text_size>10</text_size></balloon><grid><x><approx_count>15</approx_count></x></grid><error_messages><enabled>false</enabled></error_messages><legend><text_size>12</text_size><enabled>true</enabled></legend>"+g+"</settings>";var l=a+"_flash";var c=superfly.addSwf("amline.swf",a,l,b,k,{chart_settings:e,chart_data:f,chart_id:l});return c},barchart:function(a,f,b,k,h){if(!h){var g="<values><x><enabled>false</enabled></x></values>"}else{var g="<values><x><enabled>true</enabled><frequency>2</frequency></x></values>"}var e="<settings><decimals_separator>.</decimals_separator><thousands_separator>,</thousands_separator><text_color>#333333</text_color><plot_area><margins><left>40</left><right>25</right><top>20</top><bottom>50</bottom></margins></plot_area><axes><x><color>#cccccc</color><width>1</width></x><y_left><color>#cccccc</color><width>1</width></y_left><y_right><color>#cccccc</color><width>1</width></y_right></axes><indicator><color>#666666</color><x_balloon_text_color>#ffffff</x_balloon_text_color></indicator><balloon><text_size>10</text_size></balloon><grid><x><approx_count>15</approx_count></x></grid><error_messages><enabled>false</enabled></error_messages><legend><text_size>12</text_size><enabled>true</enabled></legend><vertical_lines><width>80</width></vertical_lines>"+g+"</settings>";var l=a+"_flash";var c=superfly.addSwf("amline.swf",a,l,b,k,{chart_settings:e,chart_data:f,chart_id:l});return c}};var last_click=false;function amClickedOnSeries(a,b){var e=new Date();var c=e.getTime()/1000;if(last_click&&c-last_click<0.6){if(b.indexOf("/")==-1){b=superfly.timestampjustdate(0,new Date())+" "+b}historical.replay(b)}last_click=c}historical.replay=function(a){$("realtime").setStyle("display","block");$("mainhistorical").setStyle("display","none");historical.series=a;superfly.startDashboard(main_url)};historical.get_days_from_data=function(b){var e=new Array();var c;for(var a in b){c=new Object();c.date=a;c.data=b[a];e.push(c)}return e};function Yetii(){this.defaults={id:null,active:1,interval:null,wait:null,persist:null,tabclass:"tab",activeclass:"active",callback:null,leavecallback:null};this.activebackup=null;for(var c in arguments[0]){this.defaults[c]=arguments[0][c]}this.getTabs=function(){var e=[];var g=document.getElementById(this.defaults.id).getElementsByTagName("*");var h=new RegExp("(^|\\s)"+this.defaults.tabclass.replace(/\-/g,"\\-")+"(\\s|$)");for(var f=0;f<g.length;f++){if(h.test(g[f].className)){e.push(g[f])}}return e};this.links=document.getElementById(this.defaults.id+"-nav").getElementsByTagName("a");this.listitems=document.getElementById(this.defaults.id+"-nav").getElementsByTagName("li");this.show=function(f){for(var e=0;e<this.tabs.length;e++){this.tabs[e].style.display=((e+1)==f)?"block":"none";if((e+1)==f){this.addClass(this.links[e],this.defaults.activeclass);this.addClass(this.listitems[e],this.defaults.activeclass)}else{this.removeClass(this.links[e],this.defaults.activeclass);this.removeClass(this.listitems[e],this.defaults.activeclass)}}if(this.defaults.leavecallback&&(f!=this.activebackup)){this.defaults.leavecallback(this.defaults.active)}this.activebackup=f;this.defaults.active=f;if(this.defaults.callback){this.defaults.callback(f)}};this.rotate=function(f){this.show(this.defaults.active);this.defaults.active++;if(this.defaults.active>this.tabs.length){this.defaults.active=1}var e=this;if(this.defaults.wait){clearTimeout(this.timer2)}this.timer1=setTimeout(function(){e.rotate(f)},f*1000)};this.next=function(){this.defaults.active++;if(this.defaults.active>this.tabs.length){this.defaults.active=1}this.show(this.defaults.active)};this.previous=function(){this.defaults.active--;if(!this.defaults.active){this.defaults.active=this.tabs.length}this.show(this.defaults.active)};this.gup=function(f){f=f.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e="[\\?&]"+f+"=([^&#]*)";var h=new RegExp(e);var g=h.exec(window.location.href);if(g==null){return null}else{return g[1]}};this.parseurl=function(g){var e=this.gup(g);if(e==null){return null}if(parseInt(e)){return parseInt(e)}if(document.getElementById(e)){for(var f=0;f<this.tabs.length;f++){if(this.tabs[f].id==e){return(f+1)}}}return null};this.createCookie=function(g,h,k){if(k){var f=new Date();f.setTime(f.getTime()+(k*24*60*60*1000));var e="; expires="+f.toGMTString()}else{var e=""}document.cookie=g+"="+h+e+"; path=/"};this.readCookie=function(f){var h=f+"=";var e=document.cookie.split(";");for(var g=0;g<e.length;g++){var k=e[g];while(k.charAt(0)==" "){k=k.substring(1,k.length)}if(k.indexOf(h)==0){return k.substring(h.length,k.length)}}return null};this.contains=function(e,f,g){return e.indexOf(f,g)!=-1};this.hasClass=function(f,e){return this.contains(f.className,e," ")};this.addClass=function(f,e){if(!this.hasClass(f,e)){f.className=(f.className+" "+e).replace(/\s{2,}/g," ").replace(/^\s+|\s+$/g,"")}};this.removeClass=function(f,e){f.className=f.className.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)"),"$1");f.className.replace(/\s{2,}/g," ").replace(/^\s+|\s+$/g,"")};this.tabs=this.getTabs();this.defaults.active=(this.parseurl(this.defaults.id))?this.parseurl(this.defaults.id):this.defaults.active;if(this.defaults.persist&&this.readCookie(this.defaults.id)){this.defaults.active=this.readCookie(this.defaults.id)}this.activebackup=this.defaults.active;this.show(this.defaults.active);var a=this;for(var b=0;b<this.links.length;b++){this.links[b].customindex=b+1;this.links[b].onclick=function(){if(a.timer1){clearTimeout(a.timer1)}if(a.timer2){clearTimeout(a.timer2)}a.show(this.customindex);if(a.defaults.persist){a.createCookie(a.defaults.id,this.customindex,0)}if(a.defaults.wait){a.timer2=setTimeout(function(){a.rotate(a.defaults.interval)},a.defaults.wait*1000)}return false}}if(this.defaults.interval){this.rotate(this.defaults.interval)}}var utf8={encode:function(a){return unescape(encodeURIComponent(a))},decode:function(a){try{return decodeURIComponent(escape(a))}catch(b){return a}}};