From 1be53f99011327221fc955990bd1653803bcc2b8 Mon Sep 17 00:00:00 2001 From: Jon Petto Date: Sat, 21 Apr 2012 18:49:04 -0500 Subject: [PATCH] added WT tracking code. used output of WT tag builder - please confirm functionality. bug 744848 --- js/webtrends.js | 583 +++++++++++++++++++++++++++++++++++++++++++ templates/index.html | 24 +- 2 files changed, 603 insertions(+), 4 deletions(-) create mode 100644 js/webtrends.js diff --git a/js/webtrends.js b/js/webtrends.js new file mode 100644 index 0000000..c73a229 --- /dev/null +++ b/js/webtrends.js @@ -0,0 +1,583 @@ +// WebTrends SmartSource Data Collector Tag +// Version: 9.4.0 +// Tag Builder Version: 4.0 +// Created: 4/17/2012 8:04:51 PM + +function WebTrends(){ + var that=this; + // begin: user modifiable + this.dcsid="dcsj4a4uwuz5bdmdwicyom3wj_6s6e"; + this.domain="statse.webtrendslive.com"; + this.timezone=0; + this.fpcdom=".start.mozilla.org"; + this.enabled=true; + this.i18n=false; + this.fpc="WT_FPC"; + this.paidsearchparams="gclid"; + this.splitvalue=""; + this.preserve=false; + // end: user modifiable + this.DCS={}; + this.WT={}; + this.DCSext={}; + this.images=[]; + this.index=0; + this.exre=(function(){return(window.RegExp?new RegExp("dcs(uri)|(ref)|(aut)|(met)|(sta)|(sip)|(pro)|(byt)|(dat)|(p3p)|(cfg)|(redirect)|(cip)","i"):"");})(); + this.re=(function(){return(window.RegExp?(that.i18n?{"%25":/\%/g,"%26":/\&/g}:{"%09":/\t/g,"%20":/ /g,"%23":/\#/g,"%26":/\&/g,"%2B":/\+/g,"%3F":/\?/g,"%5C":/\\/g,"%22":/\"/g,"%7F":/\x7F/g,"%A0":/\xA0/g}):"");})(); +} +WebTrends.prototype.dcsGetId=function(){ + if (this.enabled&&(document.cookie.indexOf(this.fpc+"=")==-1)&&(document.cookie.indexOf("WTLOPTOUT=")==-1)){ + document.write("<\/scr"+"ipt>"); + } +} +WebTrends.prototype.dcsGetCookie=function(name){ + var cookies=document.cookie.split("; "); + var cmatch=[]; + var idx=0; + var i=0; + var namelen=name.length; + var clen=cookies.length; + for (i=0;i0){ + idx=0; + if ((cmatchCount>1)&&(name==this.fpc)){ + var dLatest=new Date(0); + for (i=0;idLatest){ + dLatest.setTime(dLst.getTime()); + idx=i; + } + } + } + return unescape(cmatch[idx].substring(namelen+1)); + } + else{ + return null; + } +} +WebTrends.prototype.dcsGetCrumb=function(cval,crumb,sep){ + var aCookie=cval.split(sep||":"); + for (var i=0;i(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){ + WT.vt_f_tlv=Math.floor((dSes.getTime()-adj)/1000); + dSes.setTime(dCur.getTime()); + WT.vt_f_s="1"; + } + if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||(dCur.getYear()!=dLst.getYear())){ + WT.vt_f_d="1"; + } + } + WT.co_f=escape(WT.co_f); + WT.vtid=(typeof(this.vtid)=="undefined")?WT.co_f:(this.vtid||""); + WT.vtvs=(dSes.getTime()-adj).toString(); + var expiry="; expires="+dExp.toGMTString(); + var cur=dCur.getTime().toString(); + var ses=dSes.getTime().toString(); + document.cookie=name+"="+"id="+WT.co_f+":lv="+cur+":ss="+ses+expiry+"; path=/"+(((this.fpcdom!=""))?("; domain="+this.fpcdom):("")); + var rc=this.dcsIsFpcSet(name,WT.co_f,cur,ses); + if (rc!=0){ + WT.co_f=WT.vtvs=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv=""; + if (typeof(this.vtid)=="undefined"){ + WT.vtid=""; + } + WT.vt_f=WT.vt_f_a=rc; + } +} +WebTrends.prototype.dcsMultiTrack=function(){ + var args=dcsMultiTrack.arguments?dcsMultiTrack.arguments:arguments; + if (args.length%2==0){ + this.dcsSaveProps(args); + this.dcsSetProps(args); + var dCurrent=new Date(); + this.DCS.dcsdat=dCurrent.getTime(); + this.dcsFPC(); + this.dcsTag(); + this.dcsRestoreProps(); + } +} + +WebTrends.prototype.dcsCleanUp=function(){ + this.DCS={}; + this.WT={}; + this.DCSext={}; + if (arguments.length%2==0){ + this.dcsSetProps(arguments); + } +} +WebTrends.prototype.dcsSetProps=function(args){ + for (var i=0;i=5)); + var ie=((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1)); + var ie4=(ie&&(major==4)&&(agt.indexOf("msie 4")!=-1)); + var ie5up=(ie&&!ie4); + var op=(agt.indexOf("opera")!=-1); + var op5=(agt.indexOf("opera 5")!=-1||agt.indexOf("opera/5")!=-1); + var op6=(agt.indexOf("opera 6")!=-1||agt.indexOf("opera/6")!=-1); + var op7up=(op&&!op5&&!op6); + var jv="1.1"; + if (ff3up){ + jv="1.8"; + } + else if (ff20){ + jv="1.7"; + } + else if (ff15){ + jv="1.6"; + } + else if (ff0||ff10||nn6up||op7up){ + jv="1.5"; + } + else if ((mac&&ie5up)||op6){ + jv="1.4"; + } + else if (ie5up||nn4||op5){ + jv="1.3"; + } + else if (ie4){ + jv="1.2"; + } + return jv; + })(); + WT.ct="unknown"; + if (document.body&&document.body.addBehavior){ + try{ + document.body.addBehavior("#default#clientCaps"); + WT.ct=document.body.connectionType||"unknown"; + document.body.addBehavior("#default#homePage"); + WT.hp=document.body.isHomePage(location.href)?"1":"0"; + } + catch(e){ + } + } + if (document.all){ + WT.bs=document.body?document.body.offsetWidth+"x"+document.body.offsetHeight:"unknown"; + } + else{ + WT.bs=window.innerWidth+"x"+window.innerHeight; + } + WT.fv=(function(){ + var i,flash; + if (window.ActiveXObject){ + for(i=15;i>0;i--){ + try{ + flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i); + return i+".0"; + } + catch(e){ + } + } + } + else if (navigator.plugins&&navigator.plugins.length){ + for (i=0;i0;i--){ + M=i; + if (Silverlight.isInstalled(M+".0")){ + break; + } + if (slv==M){ + break; + } + } + for (m=9;m>=0;m--){ + F=M+"."+m; + if (Silverlight.isInstalled(F)){ + slv=F; + break; + } + if (slv==F){ + break; + } + } + } + } + return slv; + })(); + if (this.i18n){ + if (typeof(document.defaultCharset)=="string"){ + WT.le=document.defaultCharset; + } + else if (typeof(document.characterSet)=="string"){ + WT.le=document.characterSet; + } + else{ + WT.le="unknown"; + } + } + WT.tv="9.4.0"; + WT.sp=this.splitvalue; + WT.dl="0"; + WT.ssl=(window.location.protocol.indexOf('https:')==0)?"1":"0"; + DCS.dcsdat=dCurrent.getTime(); + DCS.dcssip=window.location.hostname; + DCS.dcsuri=window.location.pathname; + WT.es=DCS.dcssip+DCS.dcsuri; + if (window.location.search){ + DCS.dcsqry=window.location.search; + } + if (DCS.dcsqry){ + var dcsqry=DCS.dcsqry.toLowerCase(); + var params=this.paidsearchparams.length?this.paidsearchparams.toLowerCase().split(","):[]; + for (var i=0;i0){ + if (name.toUpperCase().indexOf("WT.")==0){ + this.WT[name.substring(3)]=content; + } + else if (name.toUpperCase().indexOf("DCSEXT.")==0){ + this.DCSext[name.substring(7)]=content; + } + else if (name.toUpperCase().indexOf("DCS.")==0){ + this.DCS[name.substring(4)]=content; + } + } + } + } +} +WebTrends.prototype.dcsTag=function(){ + if (document.cookie.indexOf("WTLOPTOUT=")!=-1){ + return; + } + var WT=this.WT; + var DCS=this.DCS; + var DCSext=this.DCSext; + var i18n=this.i18n; + var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+this.domain+(this.dcsid==""?'':'/'+this.dcsid)+"/dcs.gif?"; + if (i18n){ + WT.dep=""; + } + for (var N in DCS){ + if (DCS[N]&&(typeof DCS[N]!="function")){ + P+=this.dcsA(N,DCS[N]); + } + } + for (N in WT){ + if (WT[N]&&(typeof WT[N]!="function")){ + P+=this.dcsA("WT."+N,WT[N]); + } + } + for (N in DCSext){ + if (DCSext[N]&&(typeof DCSext[N]!="function")){ + if (i18n){ + WT.dep=(WT.dep.length==0)?N:(WT.dep+";"+N); + } + P+=this.dcsA(N,DCSext[N]); + } + } + if (i18n&&(WT.dep.length>0)){ + P+=this.dcsA("WT.dep",WT.dep); + } + if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){ + P=P.substring(0,2040)+"&WT.tu=1"; + } + this.dcsCreateImage(P); + this.WT.ad=""; +} +WebTrends.prototype.dcsDebug=function(){ + var t=this; + var i=t.images[0].src; + var q=i.indexOf("?"); + var r=i.substring(0,q).split("/"); + var m="Protocol
"+r[0]+"
"; + m+="Domain
"+r[2]+"
"; + m+="Path
/"+r[3]+"/"+r[4]+"
"; + m+="Query Params"+i.substring(q+1).replace(/\&/g,"
")+"
"; + m+="
Cookies
"+document.cookie.replace(/\;/g,"
")+"
"; + if (t.w&&!t.w.closed){ + t.w.close(); + } + t.w=window.open("","dcsDebug","width=500,height=650,scrollbars=yes,resizable=yes"); + t.w.document.write(m); + t.w.focus(); +} +WebTrends.prototype.dcsCollect=function(){ + if (this.enabled){ + this.dcsVar(); + this.dcsMeta(); + this.dcsAdv(); + if (typeof(this.dcsCustom)=="function"){ + this.dcsCustom(); + } + this.dcsTag(); + } +} + +function dcsMultiTrack(){ + if (typeof(_tag)!="undefined"){ + return(_tag.dcsMultiTrack()); + } +} + +function dcsDebug(){ + if (typeof(_tag)!="undefined"){ + return(_tag.dcsDebug()); + } +} + +Function.prototype.wtbind = function(obj){ + var method=this; + var temp=function(){ + return method.apply(obj,arguments); + }; + return temp; +} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 489047d..0e4f9e6 100755 --- a/templates/index.html +++ b/templates/index.html @@ -195,15 +195,31 @@

{{ _('Your browser is out of date.') }}

{{ _("No thanks, I'll risk it.") }} -
- - + + + + + + + - + \ No newline at end of file