var UT=UT||{};UT.log=function(b){window.location.href.indexOf("utlogger")!=-1&&console.debug(b)};
UT.init=function(){UT.domain=UT.domain==null?"http://usertimeapp.com":UT.domain;UT.done=false;UT.domready=false;UT.marks={};UT.measures={};UT.starts={};UT.numScripts=0;UT.numScriptsInHead=0;UT.numInlineScripts=0;UT.numStylesheets=0;UT.numImages=0;UT.numIncompleteImages=0;UT.slowImages={};UT.bindDomReady();UT.findStartTime();UT.handleEpisodeMessage("UT:mark:firstbyte:"+UT.firstbyte);UT.handleEpisodeMessage("UT:measure:firstbyte:backendstarttime:firstbyte");UT.addEventListener("load",function(){UT.handleEpisodeMessage("UT:measure:perceivedrendertime:firstbyte");
UT.handleEpisodeMessage("UT:measure:pageready:firstbyte");UT.handleEpisodeMessage("UT:done")},false);UT.addEventListener("beforeunload",UT.beforeUnload,false);UT.countsTimer=setTimeout(UT.getCounts,1500);UT.countsDone=false;UT.auditCookieExpire=30;UT.auditSampleRate=3};UT.auditEligible=function(){if(1==Math.floor(Math.random()*UT.auditSampleRate+1))return!document.cookie.match("UTAudited=true")};
UT.resetAudit=function(){var b=new Date;b.setTime(b.getTime()-1E3);b="; expires="+b.toGMTString();document.cookie="UTAudited="+b+"; path=/";return true};
UT.handleEpisodeMessage=function(b){var c=(new Date).getTime(),a=b.split(":");if("UT"===a[0]){var d=a[1];if("init"===d)UT.init();else if("mark"===d)UT.marks[a[2]]=parseInt(a[3]||Number(new Date));else if("measure"===d){d=a[2];var e="undefined"!=typeof a[3]?a[3]:d;e="undefined"!=typeof UT.marks[e]?UT.marks[e]:""+e===parseInt(e)?e:undefined;a="undefined"===typeof a[4]?Number(new Date):"undefined"!=typeof UT.marks[a[4]]?UT.marks[a[4]]:a[4];if(e){UT.measures[d]=parseInt(a-e);UT.starts[d]=parseInt(e)}}else if("done"===
d){UT.done=true;setTimeout(UT.sendBeacon,0)}a=(new Date).getTime();UT.log("Since start: "+(a-UT.firstbyte)+"ms. In handler: "+(a-c)+"ms. "+b)}};
UT.getCounts=function(){UT.countsDone=true;var b=document.getElementsByTagName("script"),c=b.length,a=document.getElementsByTagName("head")[0];for(i=0;i<c;i++){s=b[i];if(s.src=="")UT.numInlineScripts+=1;else{UT.numScripts+=1;if(s.parentNode==a)UT.numScriptsInHead+=1}}UT.numStylesheets=document.styleSheets.length;b=document.images;UT.numImages=b.length;for(i=0;i<UT.numImages;i++){image=b[i];image.complete||(UT.numIncompleteImages+=1)}};UT.getMeasures=function(){return UT.measures};UT.getStarts=function(){return UT.starts};
UT.sendBeacon=function(){var b=UT.domain+"/beacon.js",c=UT.getMeasures(),a="";for(var d in c)a+=","+d+":"+c[d];UT.countsDone||UT.getCounts();if(a){a=a.substring(1);b+="?ets="+a;b+="&counts="+UT.numScripts+"."+UT.numScriptsInHead+"."+UT.numInlineScripts+"."+UT.numStylesheets+"."+UT.numImages+"."+UT.numIncompleteImages;if(UT.key)b+="&key="+UT.key;b+="&title="+encodeURIComponent(document.title);if(UT.label!=null&&UT.label!="")b+="&label="+encodeURIComponent(UT.label);if(UT.auditEligible()){b+="&audit_eligible=1";
UT.log("audit eligible")}if(window.location.href.indexOf("utforceaudit")!=-1){b+="&force_audit=1";UT.log("forcing audit")}c=document.createElement("script");c.src=b;c.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(c)}return""};
UT.findStartTime=function(){for(var b=document.cookie.split(" "),c=0;c<b.length;c++)if(0===b[c].indexOf("UT=")){for(var a=b[c].substring(3).split("&"),d,e,f=0;f<a.length;f++)if(0===a[f].indexOf("s="))d=a[f].substring(2);else if(0===a[f].indexOf("r=")){if(a[f][a[f].length-1]==";")a[f]=a[f].substring(0,a[f].length-1);e=a[f].substring(2,a[f].length);e=encodeURIComponent(document.referrer)==e}e&&d&&UT.handleEpisodeMessage("UT:mark:backendstarttime:"+d)}};
UT.beforeUnload=function(){document.cookie="UT=s="+Number(new Date)+"&r="+encodeURIComponent(document.location)+"; path=/"};UT.addEventListener=function(b,c,a){if("undefined"!=typeof window.attachEvent)return window.attachEvent("on"+b,c);else if(window.addEventListener)return window.addEventListener(b,c,a)};
UT.bindDomReady=function(){if(document.addEventListener)document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);UT.domIsReady()},false);else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);UT.domIsReady()}});document.documentElement.doScroll&&window==window.top&&function(){if(!UT.domready){try{document.documentElement.doScroll("left")}catch(b){setTimeout(arguments.callee,
0);return}UT.domIsReady()}}()}UT.addEventListener("load",function(){UT.domIsReady()},false)};UT.domIsReady=function(){if(!UT.domready){UT.domready=true;UT.handleEpisodeMessage("UT:measure:domready:firstbyte")}};UT.headDone=function(){UT.handleEpisodeMessage("UT:measure:headdone:firstbyte")};UT.init();