From 197adeccfe1fbbfec0c5bfd8b12befe191ea97fd Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Sat, 10 Sep 2016 07:47:39 +0000 Subject: Add possibility to retry _paq plugin method calls at a later point --- piwik.js | 96 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) (limited to 'piwik.js') diff --git a/piwik.js b/piwik.js index 002e4cb757..e5ca7ccd06 100644 --- a/piwik.js +++ b/piwik.js @@ -18,54 +18,54 @@ var I="000000";var t=function(ac,ad){return(I+(ad||0)).slice(-ac)};var z="\\u00" }else{at=null}}else{if(typeof at.toJSON=="function"&&((ae!=N&&ae!=O&&ae!=E)||r.call(at,"toJSON"))){at=at.toJSON(ai)}}}if(ag){at=ag.call(aA,ai,at)}if(at===null){return"null"}ae=u.call(at);if(ae==A){return""+at}else{if(ae==N){return at>-1/0&&at<1/0?""+at:"null"}else{if(ae==O){return C(""+at)}}}if(typeof at=="object"){for(af=aj.length;af--;){if(aj[af]===at){throw aa()}}aj.push(at);ar=[];av=ac;ac+=ax;if(ae==E){for(ah=0,af=at.length;ah0){for(ad="",af>10&&(af=10); ad.length=48&&ad<=57||ad>=97&&ad<=102||ad>=65&&ad<=70)){H()}}ag+=M("0x"+ah.slice(ae,G));break;default:H()}}else{if(ad==34){break}ad=ah.charCodeAt(G);ae=G;while(ad>=32&&ad!=92&&ad!=34){ad=ah.charCodeAt(++G)}ag+=ah.slice(ae,G)}}}if(ah.charCodeAt(G)==34){G++; return ag}H();default:ae=G;if(ad==45){ai=true;ad=ah.charCodeAt(++G)}if(ad>=48&&ad<=57){if(ad==48&&((ad=ah.charCodeAt(G+1)),ad>=48&&ad<=57)){H()}ai=false;for(;G=48&&ad<=57);G++){}if(ah.charCodeAt(G)==46){ac=++G;for(;ac=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}ad=ah.charCodeAt(G);if(ad==101||ad==69){ad=ah.charCodeAt(++G);if(ad==43||ad==45){G++}for(ac=G;ac=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}return +ah.slice(ae,G)}if(ai){H()}if(ah.slice(G,G+4)=="true"){G+=4;return true}else{if(ah.slice(G,G+5)=="false"){G+=5;return false}else{if(ah.slice(G,G+4)=="null"){G+=4;return null}}}H()}}return"$"};var W=function(ad){var ac,ae;if(ad=="$"){H()}if(typeof ad=="string"){if((F?ad.charAt(0):ad[0])=="@"){return ad.slice(1)}if(ad=="["){ac=[];for(;;ae||(ae=true)){ad=y();if(ad=="]"){break}if(ae){if(ad==","){ad=y();if(ad=="]"){H()}}else{H()}}if(ad==","){H()}ac.push(W(ad))}return ac}else{if(ad=="{"){ac={};for(;;ae||(ae=true)){ad=y(); -if(ad=="}"){break}if(ae){if(ad==","){ad=y();if(ad=="}"){H()}}else{H()}}if(ad==","||typeof ad!="string"||(F?ad.charAt(0):ad[0])!="@"||y()!=":"){H()}ac[ad.slice(1)]=W(y())}return ac}}H()}return ad};var P=function(ae,ad,af){var ac=w(ae,ad,af);if(ac===L){delete ae[ad]}else{ae[ad]=ac}};var w=function(af,ae,ag){var ad=af[ae],ac;if(typeof ad=="object"&&ad){if(u.call(ad)==E){for(ac=ad.length;ac--;){P(ad,ac,ag)}}else{m(ad,function(ah){P(ad,ah,ag)})}}return ag.call(af,ae,ad)};V.parse=function(ae,af){var ac,ad;G=0;X=""+ae;ac=W(y());if(y()!="$"){H()}G=X=null;return af&&u.call(af)==U?w((ad={},ad[""]=ac,ad),"",af):ac}}}V.runInContext=j;return V}if(h&&!c){j(i,h)}else{var f=i.JSON,k=i.JSON3,d=false;var g=j(i,(i.JSON3={noConflict:function(){if(!d){d=true;i.JSON=f;i.JSON3=k;f=k=null}return g}}));i.JSON={parse:g.parse,stringify:g.stringify}}if(c){define(function(){return g})}}).call(this);JSON2=a})()}if(typeof _paq!=="object"){_paq=[]}if(typeof window.Piwik!=="object"){window.Piwik=(function(){var l,a={},r={},y=document,f=navigator,P=screen,L=window,g=L.performance||L.mozPerformance||L.msPerformance||L.webkitPerformance,n=L.encodeURIComponent,K=L.decodeURIComponent,i=unescape,A=[],x,d; -function k(ac){try{return K(ac)}catch(ad){return unescape(ac)}}function B(ad){var ac=typeof ad;return ac!=="undefined"}function t(ac){return typeof ac==="function"}function O(ac){return typeof ac==="object"}function q(ac){return typeof ac==="string"||ac instanceof String}function u(ad){if(!ad){return true}var ac;var ae=true;for(ac in ad){if(Object.prototype.hasOwnProperty.call(ad,ac)){ae=false}}return ae}function Y(ac){if(console!==undefined&&console&&console.error){console.error(ac)}}function V(){var ag,af,ai,ac;for(ag=0;ag0;if(ae){ah=ai.split("::");ad=ah[0];ai=ah[1];if("object"===typeof d[ad]&&"function"===typeof d[ad][ai]){d[ad][ai].apply(d[ad],ac)}return}var aj=ai.indexOf(".")>0;if(aj){ah=ai.split(".");ad=ad[ah[0]];ai=ah[1]}if(ad[ai]){ad[ai].apply(ad,ac)}else{var ak="The method '"+ai+'\' was not found in "_paq" variable. Please have a look at the Piwik tracker documentation: http://developer.piwik.org/api-reference/tracking-javascript'; -Y(ak);if(!aj){throw new TypeError(ak)}}if(ai==="addTracker"){break}if(ai==="setTrackerUrl"||ai==="setSiteId"){break}}else{ai.apply(A[af],ac)}}}}function aa(af,ae,ad,ac){if(af.addEventListener){af.addEventListener(ae,ad,ac);return true}if(af.attachEvent){return af.attachEvent("on"+ae,ad)}af["on"+ae]=ad}function S(ad,ah){var ac="",af,ae,ag;for(af in a){if(Object.prototype.hasOwnProperty.call(a,af)){ae=a[af][ad];if(t(ae)){ag=ae(ah);if(ag){ac+=ag}}}}return ac}function W(){var ac;S("unload");if(l){do{ac=new Date()}while(ac.getTimeAlias()>>(32-ax))},at=function(aA){var ay="",az,ax;for(az=7;az>=0;az--){ax=(aA>>>(az*4))&15;ay+=ax.toString(16)}return ay},ah,av,au,ad=[],al=1732584193,aj=4023233417,ai=2562383102,ag=271733878,af=3285377520,aq,ap,ao,an,am,aw,ac,ak=[];ar=w(ar);ac=ar.length;for(av=0;av>>29);ak.push((ac<<3)&4294967295);for(ah=0;ahah.offsetWidth+ah.scrollLeft||aj+am-anah.offsetHeight+ah.scrollTop||ao+ak-anak?-1:1});if(ac.length<=1){return ac}var ad=0;var af=0;var ag=[];var ae;ae=ac[ad++];while(ae){if(ae===ac[ad]){af=ag.push(ad)}ae=ac[ad++]||null}while(af--){ac.splice(ag[af],1)}return ac},getAttributeValueFromNode:function(ag,ae){if(!this.hasNodeAttribute(ag,ae)){return}if(ag&&ag.getAttribute){return ag.getAttribute(ae)}if(!ag||!ag.attributes){return}var af=(typeof ag.attributes[ae]);if("undefined"===af){return}if(ag.attributes[ae].value){return ag.attributes[ae].value}if(ag.attributes[ae].nodeValue){return ag.attributes[ae].nodeValue}var ad;var ac=ag.attributes;if(!ac){return}for(ad=0;ad1000){break}ac++}},findPieceNode:function(ad){var ac;ac=U.findFirstNodeHavingAttribute(ad,this.CONTENT_PIECE_ATTR);if(!ac){ac=U.findFirstNodeHavingClass(ad,this.CONTENT_PIECE_CLASS)}if(ac){return ac}return ad},findTargetNodeNoDefault:function(ac){if(!ac){return}var ad=U.findFirstNodeHavingAttributeWithValue(ac,this.CONTENT_TARGET_ATTR); -if(ad){return ad}ad=U.findFirstNodeHavingAttribute(ac,this.CONTENT_TARGET_ATTR);if(ad){return ad}ad=U.findFirstNodeHavingClass(ac,this.CONTENT_TARGET_CLASS);if(ad){return ad}},findTargetNode:function(ac){var ad=this.findTargetNodeNoDefault(ac);if(ad){return ad}return ac},findContentName:function(ad){if(!ad){return}var ag=U.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_NAME_ATTR);if(ag){return U.getAttributeValueFromNode(ag,this.CONTENT_NAME_ATTR)}var ac=this.findContentPiece(ad);if(ac){return this.removeDomainIfIsInLink(ac)}if(U.hasNodeAttributeWithValue(ad,"title")){return U.getAttributeValueFromNode(ad,"title")}var ae=this.findPieceNode(ad);if(U.hasNodeAttributeWithValue(ae,"title")){return U.getAttributeValueFromNode(ae,"title")}var af=this.findTargetNode(ad);if(U.hasNodeAttributeWithValue(af,"title")){return U.getAttributeValueFromNode(af,"title")}},findContentPiece:function(ad){if(!ad){return}var af=U.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_PIECE_ATTR);if(af){return U.getAttributeValueFromNode(af,this.CONTENT_PIECE_ATTR) -}var ac=this.findPieceNode(ad);var ae=this.findMediaUrlInNode(ac);if(ae){return this.toAbsoluteUrl(ae)}},findContentTarget:function(ae){if(!ae){return}var af=this.findTargetNode(ae);if(U.hasNodeAttributeWithValue(af,this.CONTENT_TARGET_ATTR)){return U.getAttributeValueFromNode(af,this.CONTENT_TARGET_ATTR)}var ad;if(U.hasNodeAttributeWithValue(af,"href")){ad=U.getAttributeValueFromNode(af,"href");return this.toAbsoluteUrl(ad)}var ac=this.findPieceNode(ae);if(U.hasNodeAttributeWithValue(ac,"href")){ad=U.getAttributeValueFromNode(ac,"href");return this.toAbsoluteUrl(ad)}},isSameDomain:function(ac){if(!ac||!ac.indexOf){return false}if(0===ac.indexOf(this.getLocation().origin)){return true}var ad=ac.indexOf(this.getLocation().host);if(8>=ad&&0<=ad){return true}return false},removeDomainIfIsInLink:function(ae){var ad="^https?://[^/]+";var ac="^.*//[^/]+";if(ae&&ae.search&&-1!==ae.search(new RegExp(ad))&&this.isSameDomain(ae)){ae=ae.replace(new RegExp(ac),"");if(!ae){ae="/"}}return ae},findMediaUrlInNode:function(ag){if(!ag){return -}var ae=["img","embed","video","audio"];var ac=ag.nodeName.toLowerCase();if(-1!==E(ae,ac)&&U.findFirstNodeHavingAttributeWithValue(ag,"src")){var af=U.findFirstNodeHavingAttributeWithValue(ag,"src");return U.getAttributeValueFromNode(af,"src")}if(ac==="object"&&U.hasNodeAttributeWithValue(ag,"data")){return U.getAttributeValueFromNode(ag,"data")}if(ac==="object"){var ah=U.findNodesByTagName(ag,"param");if(ah&&ah.length){var ad;for(ad=0;ad0 -}var ad=af.clientWidth;if(L.innerWidth&&ad>L.innerWidth){ad=L.innerWidth}var ac=af.clientHeight;if(L.innerHeight&&ac>L.innerHeight){ac=L.innerHeight}return((ag.bottom>0||ae)&&ag.right>0&&ag.left=0){cE=cE.slice(0,cD)}cD=cE.lastIndexOf("/");if(cD!==cE.length-1){cE=cE.slice(0,cD+1)}return cE+cC}function b8(cE,cC){var cD;cE=String(cE).toLowerCase();cC=String(cC).toLowerCase();if(cE===cC){return true}if(cC.slice(0,1)==="."){if(cE===cC.slice(1)){return true}cD=cE.length-cC.length;if((cD>0)&&(cE.slice(cD)===cC)){return true}}return false}function bQ(cC){var cD=document.createElement("a");if(cC.indexOf("//")!==0&&cC.indexOf("http")!==0){if(cC.indexOf("*")===0){cC=cC.substr(1) -}if(cC.indexOf(".")===0){cC=cC.substr(1)}cC="http://"+cC}cD.href=p.toAbsoluteUrl(cC);if(cD.pathname){return cD.pathname}return""}function aJ(cD,cC){if(!X(cC,"/")){cC="/"+cC}if(!X(cD,"/")){cD="/"+cD}var cE=(cC==="/"||cC==="/*");if(cE){return true}if(cD===cC){return true}cC=String(cC).toLowerCase();cD=String(cD).toLowerCase();if(J(cC,"*")){cC=cC.slice(0,-1);cE=(!cC||cC==="/");if(cE){return true}if(cD===cC){return true}return cD.indexOf(cC)===0}if(!J(cD,"/")){cD+="/"}if(!J(cC,"/")){cC+="/"}return cD.indexOf(cC)===0}function af(cG,cI){var cD,cC,cE,cF,cH;for(cD=0;cD0)&&(cF.slice(cE)===cC)){return true}}}return false}function bV(cC,cE){var cD=new Image(1,1);cD.onload=function(){x=0;if(typeof cE==="function"){cE() -}};cC=cC.replace("send_image=0","send_image=1");cD.src=am+(am.indexOf("?")<0?"?":"&")+cC}function cq(cD,cG,cC){if(!B(cC)||null===cC){cC=true}try{var cF=L.XMLHttpRequest?new L.XMLHttpRequest():L.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cF.open("POST",am,true);cF.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cC){bV(cD,cG)}else{if(this.readyState===4&&(typeof cG==="function")){cG()}}};cF.setRequestHeader("Content-Type",b0);cF.send(cD)}catch(cE){if(cC){bV(cD,cG)}}}function bM(cD){var cC=new Date();var cE=cC.getTime()+cD;if(!l||cE>l){l=cE}}function bT(cC){if(bI||!aL){return}bI=setTimeout(function cD(){bI=null;if(!aS){aS=(!y.hasFocus||y.hasFocus())}if(!aS){bT(aL);return}if(bo()){return}var cE=new Date(),cF=aL-(cE.getTime()-cm);cF=Math.min(aL,cF);bT(cF)},cC||aL)}function bh(){if(!bI){return}clearTimeout(bI);bI=null}function aP(){aS=true;if(bo()){return}bT()}function aj(){bh()}function cA(){if(av||!aL){return}av=true;aa(L,"focus",aP); -aa(L,"blur",aj);bT()}function b5(cG){var cD=new Date();var cC=cD.getTime();cm=cC;if(b4&&cCc1){cS.visitCount++; -cS.lastVisitTs=cS.currentVisitTs}if(!a5||!cK.length){for(cY in bW){if(Object.prototype.hasOwnProperty.call(bW,cY)){cK=N(c2,bW[cY]);if(cK.length){break}}}for(cY in be){if(Object.prototype.hasOwnProperty.call(be,cY)){cC=N(c2,be[cY]);if(cC.length){break}}}}c5=c(aZ);cN=cX.length?c(cX):"";if(c5.length&&!aC(c5)&&(!a5||!cN.length||aC(cN))){cX=aZ}if(cX.length||cK.length){cJ=cM;cW=[cK,cC,cJ,by(cX.slice(0,cG))];cy(cT,JSON2.stringify(cW),cr,a1,cl)}}cE+="&idsite="+bC+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cD.getHours()+"&m="+cD.getMinutes()+"&s="+cD.getSeconds()+"&url="+n(by(c2))+(aZ.length?"&urlref="+n(by(aZ)):"")+((a8&&a8.length)?"&uid="+n(a8):"")+"&_id="+cS.uuid+"&_idts="+cS.createTs+"&_idvc="+cS.visitCount+"&_idn="+cS.newVisitor+(cK.length?"&_rcn="+n(cK):"")+(cC.length?"&_rck="+n(cC):"")+"&_refts="+cJ+"&_viewts="+cS.lastVisitTs+(String(cS.lastEcommerceOrderTs).length?"&_ects="+cS.lastEcommerceOrderTs:"")+(String(cX).length?"&_ref="+n(by(cX.slice(0,cG))):"")+(cP?"&cs="+n(cP):"")+"&send_image=0"; -for(cY in ct){if(Object.prototype.hasOwnProperty.call(ct,cY)){cE+="&"+cY+"="+ct[cY]}}var c4=[];if(cZ){for(cY in cZ){if(Object.prototype.hasOwnProperty.call(cZ,cY)&&/^dimension\d+$/.test(cY)){var cI=cY.replace("dimension","");c4.push(parseInt(cI,10));c4.push(String(cI));cE+="&"+cY+"="+cZ[cY];delete cZ[cY]}}}if(cZ&&u(cZ)){cZ=null}for(cY in aY){if(Object.prototype.hasOwnProperty.call(aY,cY)){var cO=(-1===E(c4,cY));if(cO){cE+="&dimension"+cY+"="+aY[cY]}}}if(cZ){cE+="&data="+n(JSON2.stringify(cZ))}else{if(ac){cE+="&data="+n(JSON2.stringify(ac))}}function cL(c6,c7){var c8=JSON2.stringify(c6);if(c8.length>2){return"&"+c7+"="+n(c8)}return""}var c3=cB(bs);var cU=cB(bR);cE+=cL(c3,"cvar");cE+=cL(cU,"e_cvar");if(ax){cE+=cL(ax,"_cvar");for(cY in cV){if(Object.prototype.hasOwnProperty.call(cV,cY)){if(ax[cY][0]===""||ax[cY][1]===""){delete ax[cY]}}}if(bn){cy(cQ,JSON2.stringify(ax),bU,a1,cl)}}if(aI){if(bS){cE+=">_ms="+bS}else{if(g&&g.timing&&g.timing.requestStart&&g.timing.responseEnd){cE+=">_ms="+(g.timing.responseEnd-g.timing.requestStart) -}}}cS.lastEcommerceOrderTs=B(cF)&&String(cF).length?cF:cS.lastEcommerceOrderTs;at(cS);bJ();cE+=S(c0);if(cn.length){cE+="&"+cn}if(t(bH)){cE=bH(cE)}return cE}bo=function aM(){var cC=new Date();if(cm+aL<=cC.getTime()){var cD=bX("ping=1",null,"ping");bd(cD,bg);return true}return false};function a2(cF,cE,cK,cG,cC,cN){var cI="idgoal=0",cJ,cD=new Date(),cL=[],cM,cH=String(cF).length;if(cH){cI+="&ec_id="+n(cF);cJ=Math.round(cD.getTime()/1000)}cI+="&revenue="+cE;if(String(cK).length){cI+="&ec_st="+cK}if(String(cG).length){cI+="&ec_tx="+cG}if(String(cC).length){cI+="&ec_sh="+cC}if(String(cN).length){cI+="&ec_dt="+cN}if(co){for(cM in co){if(Object.prototype.hasOwnProperty.call(co,cM)){if(!B(co[cM][1])){co[cM][1]=""}if(!B(co[cM][2])){co[cM][2]=""}if(!B(co[cM][3])||String(co[cM][3]).length===0){co[cM][3]=0}if(!B(co[cM][4])||String(co[cM][4]).length===0){co[cM][4]=1}cL.push(co[cM])}}cI+="&ec_items="+n(JSON2.stringify(cL))}cI=bX(cI,ac,"ecommerce",cJ);bd(cI,bg);if(cH){co={}}}function bv(cC,cG,cF,cE,cD,cH){if(String(cC).length&&B(cG)){a2(cC,cG,cF,cE,cD,cH) -}}function a3(cC){if(B(cC)){a2("",cC,"","","","")}}function bw(cD,cF,cE){var cC=bX("action_name="+n(ab(cD||aV)),cF,"log");bd(cC,bg,cE)}function aG(cE,cD){var cF,cC="(^| )(piwik[_-]"+cD;if(cE){for(cF=0;cF0){cG=parseInt(cG,10);cJ(cG)}})}function b7(){var cD,cF,cG={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(f.userAgent))){if(f.mimeTypes&&f.mimeTypes.length){for(cD in cG){if(Object.prototype.hasOwnProperty.call(cG,cD)){cF=f.mimeTypes[cG[cD]];ct[cD]=(cF&&cF.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&B(f.javaEnabled)&&f.javaEnabled()){ct.java="1"}if(t(L.GearsFactory)){ct.gears="1"}ct.cookie=bB()}var cE=parseInt(P.width,10);var cC=parseInt(P.height,10);ct.res=parseInt(cE,10)+"x"+parseInt(cC,10)}b7();aU();at();this.getVisitorId=function(){return aE().uuid};this.getVisitorInfo=function(){return cd()};this.getAttributionInfo=function(){return bj()};this.getAttributionCampaignName=function(){return bj()[0] -};this.getAttributionCampaignKeyword=function(){return bj()[1]};this.getAttributionReferrerTimestamp=function(){return bj()[2]};this.getAttributionReferrerUrl=function(){return bj()[3]};this.setTrackerUrl=function(cC){am=cC};this.getTrackerUrl=function(){return am};this.addTracker=function(cC,cE){if(!cE){throw new Error("A siteId must be given to add a new tracker")}if(!B(cC)||null===cC){cC=this.getTrackerUrl()}var cD=new I(cC,cE);A.push(cD);return cD};this.getSiteId=function(){return bC};this.setSiteId=function(cC){bz(cC)};this.setUserId=function(cC){if(!B(cC)||!cC.length){return}a8=cC;bl=bD(a8).substr(0,16)};this.getUserId=function(){return a8};this.setCustomData=function(cC,cD){if(O(cC)){ac=cC}else{if(!ac){ac={}}ac[cC]=cD}};this.getCustomData=function(){return ac};this.setCustomRequestProcessing=function(cC){bH=cC};this.appendToTrackingUrl=function(cC){cn=cC};this.getRequest=function(cC){return bX(cC)};this.addPlugin=function(cC,cD){a[cC]=cD};this.setCustomDimension=function(cC,cD){cC=parseInt(cC,10); -if(cC>0){if(!B(cD)){cD=""}if(!q(cD)){cD=String(cD)}aY[cC]=cD}};this.getCustomDimension=function(cC){cC=parseInt(cC,10);if(cC>0&&Object.prototype.hasOwnProperty.call(aY,cC)){return aY[cC]}};this.deleteCustomDimension=function(cC){cC=parseInt(cC,10);if(cC>0){delete aY[cC]}};this.setCustomVariable=function(cD,cC,cG,cE){var cF;if(!B(cE)){cE="visit"}if(!B(cC)){return}if(!B(cG)){cG=""}if(cD>0){cC=!q(cC)?String(cC):cC;cG=!q(cG)?String(cG):cG;cF=[cC.slice(0,a4),cG.slice(0,a4)];if(cE==="visit"||cE===2){b6();ax[cD]=cF}else{if(cE==="page"||cE===3){bs[cD]=cF}else{if(cE==="event"){bR[cD]=cF}}}}};this.getCustomVariable=function(cD,cE){var cC;if(!B(cE)){cE="visit"}if(cE==="page"||cE===3){cC=bs[cD]}else{if(cE==="event"){cC=bR[cD]}else{if(cE==="visit"||cE===2){b6();cC=ax[cD]}}}if(!B(cC)||(cC&&cC[0]==="")){return false}return cC};this.deleteCustomVariable=function(cC,cD){if(this.getCustomVariable(cC,cD)){this.setCustomVariable(cC,"","",cD)}};this.storeCustomVariablesInCookie=function(){bn=true};this.setLinkTrackingTimer=function(cC){bg=cC -};this.setDownloadExtensions=function(cC){if(q(cC)){cC=cC.split("|")}cs=cC};this.addDownloadExtensions=function(cD){var cC;if(q(cD)){cD=cD.split("|")}for(cC=0;cC1){Y("The method "+ad+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers') -}ai[ad]++}}}}return ah}var v=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];function T(ac,ae){var ad=new I(ac,ae);A.push(ad);_paq=b(_paq,v);for(x=0;x<_paq.length;x++){if(_paq[x]){V(_paq[x])}}_paq=new z();return ad}aa(L,"beforeunload",W,false);Date.prototype.getTimeAlias=Date.prototype.getTime;d={initialized:false,on:function(ad,ac){if(!r[ad]){r[ad]=[]}r[ad].push(ac)},off:function(ae,ad){if(!r[ae]){return}var ac=0;for(ac;ac0;if(ag){aj=ak.split("::");af=aj[0];ak=aj[1];if("object"===typeof d[af]&&"function"===typeof d[af][ak]){d[af][ak].apply(d[af],ae)}else{if(ad){W.push(ad)}}}else{for(ah=0;ah0;if(al){aj=ak.split(".");if(af&&"object"===typeof af[aj[0]]){af=af[aj[0]]; +ak=aj[1]}else{if(ad){W.push(ad);break}}}if(af[ak]){af[ak].apply(af,ae)}else{var am="The method '"+ak+'\' was not found in "_paq" variable. Please have a look at the Piwik tracker documentation: http://developer.piwik.org/api-reference/tracking-javascript';Z(am);if(!al){throw new TypeError(am)}}if(ak==="addTracker"){break}if(ak==="setTrackerUrl"||ak==="setSiteId"){break}}else{ak.apply(A[ah],ae)}}}}}function ac(ag,af,ae,ad){if(ag.addEventListener){ag.addEventListener(af,ae,ad);return true}if(ag.attachEvent){return ag.attachEvent("on"+af,ae)}ag["on"+af]=ae}function S(ae,ai){var ad="",ag,af,ah;for(ag in a){if(Object.prototype.hasOwnProperty.call(a,ag)){af=a[ag][ae];if(t(af)){ah=af(ai);if(ah){ad+=ah}}}}return ad}function X(){var ad;S("unload");if(l){do{ad=new Date()}while(ad.getTimeAlias()>>(32-ay))},au=function(aB){var az="",aA,ay;for(aA=7;aA>=0;aA--){ay=(aB>>>(aA*4))&15;az+=ay.toString(16)}return az},ai,aw,av,ae=[],am=1732584193,ak=4023233417,aj=2562383102,ah=271733878,ag=3285377520,ar,aq,ap,ao,an,ax,ad,al=[];at=w(at);ad=at.length;for(aw=0;aw>>29);al.push((ad<<3)&4294967295);for(ai=0;aiai.offsetWidth+ai.scrollLeft||ak+an-aoai.offsetHeight+ai.scrollTop||ap+al-aoal?-1:1});if(ad.length<=1){return ad}var ae=0;var ag=0;var ah=[];var af;af=ad[ae++];while(af){if(af===ad[ae]){ag=ah.push(ae)}af=ad[ae++]||null}while(ag--){ad.splice(ah[ag],1)}return ad},getAttributeValueFromNode:function(ah,af){if(!this.hasNodeAttribute(ah,af)){return}if(ah&&ah.getAttribute){return ah.getAttribute(af)}if(!ah||!ah.attributes){return}var ag=(typeof ah.attributes[af]);if("undefined"===ag){return}if(ah.attributes[af].value){return ah.attributes[af].value}if(ah.attributes[af].nodeValue){return ah.attributes[af].nodeValue}var ae;var ad=ah.attributes;if(!ad){return}for(ae=0;ae1000){break}ad++}},findPieceNode:function(ae){var ad;ad=U.findFirstNodeHavingAttribute(ae,this.CONTENT_PIECE_ATTR);if(!ad){ad=U.findFirstNodeHavingClass(ae,this.CONTENT_PIECE_CLASS)}if(ad){return ad}return ae},findTargetNodeNoDefault:function(ad){if(!ad){return}var ae=U.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_TARGET_ATTR); +if(ae){return ae}ae=U.findFirstNodeHavingAttribute(ad,this.CONTENT_TARGET_ATTR);if(ae){return ae}ae=U.findFirstNodeHavingClass(ad,this.CONTENT_TARGET_CLASS);if(ae){return ae}},findTargetNode:function(ad){var ae=this.findTargetNodeNoDefault(ad);if(ae){return ae}return ad},findContentName:function(ae){if(!ae){return}var ah=U.findFirstNodeHavingAttributeWithValue(ae,this.CONTENT_NAME_ATTR);if(ah){return U.getAttributeValueFromNode(ah,this.CONTENT_NAME_ATTR)}var ad=this.findContentPiece(ae);if(ad){return this.removeDomainIfIsInLink(ad)}if(U.hasNodeAttributeWithValue(ae,"title")){return U.getAttributeValueFromNode(ae,"title")}var af=this.findPieceNode(ae);if(U.hasNodeAttributeWithValue(af,"title")){return U.getAttributeValueFromNode(af,"title")}var ag=this.findTargetNode(ae);if(U.hasNodeAttributeWithValue(ag,"title")){return U.getAttributeValueFromNode(ag,"title")}},findContentPiece:function(ae){if(!ae){return}var ag=U.findFirstNodeHavingAttributeWithValue(ae,this.CONTENT_PIECE_ATTR);if(ag){return U.getAttributeValueFromNode(ag,this.CONTENT_PIECE_ATTR) +}var ad=this.findPieceNode(ae);var af=this.findMediaUrlInNode(ad);if(af){return this.toAbsoluteUrl(af)}},findContentTarget:function(af){if(!af){return}var ag=this.findTargetNode(af);if(U.hasNodeAttributeWithValue(ag,this.CONTENT_TARGET_ATTR)){return U.getAttributeValueFromNode(ag,this.CONTENT_TARGET_ATTR)}var ae;if(U.hasNodeAttributeWithValue(ag,"href")){ae=U.getAttributeValueFromNode(ag,"href");return this.toAbsoluteUrl(ae)}var ad=this.findPieceNode(af);if(U.hasNodeAttributeWithValue(ad,"href")){ae=U.getAttributeValueFromNode(ad,"href");return this.toAbsoluteUrl(ae)}},isSameDomain:function(ad){if(!ad||!ad.indexOf){return false}if(0===ad.indexOf(this.getLocation().origin)){return true}var ae=ad.indexOf(this.getLocation().host);if(8>=ae&&0<=ae){return true}return false},removeDomainIfIsInLink:function(af){var ae="^https?://[^/]+";var ad="^.*//[^/]+";if(af&&af.search&&-1!==af.search(new RegExp(ae))&&this.isSameDomain(af)){af=af.replace(new RegExp(ad),"");if(!af){af="/"}}return af},findMediaUrlInNode:function(ah){if(!ah){return +}var af=["img","embed","video","audio"];var ad=ah.nodeName.toLowerCase();if(-1!==E(af,ad)&&U.findFirstNodeHavingAttributeWithValue(ah,"src")){var ag=U.findFirstNodeHavingAttributeWithValue(ah,"src");return U.getAttributeValueFromNode(ag,"src")}if(ad==="object"&&U.hasNodeAttributeWithValue(ah,"data")){return U.getAttributeValueFromNode(ah,"data")}if(ad==="object"){var ai=U.findNodesByTagName(ah,"param");if(ai&&ai.length){var ae;for(ae=0;ae0 +}var ae=ag.clientWidth;if(L.innerWidth&&ae>L.innerWidth){ae=L.innerWidth}var ad=ag.clientHeight;if(L.innerHeight&&ad>L.innerHeight){ad=L.innerHeight}return((ah.bottom>0||af)&&ah.right>0&&ah.left=0){cF=cF.slice(0,cE)}cE=cF.lastIndexOf("/");if(cE!==cF.length-1){cF=cF.slice(0,cE+1)}return cF+cD}function b9(cF,cD){var cE;cF=String(cF).toLowerCase();cD=String(cD).toLowerCase();if(cF===cD){return true}if(cD.slice(0,1)==="."){if(cF===cD.slice(1)){return true}cE=cF.length-cD.length;if((cE>0)&&(cF.slice(cE)===cD)){return true}}return false}function bR(cD){var cE=document.createElement("a");if(cD.indexOf("//")!==0&&cD.indexOf("http")!==0){if(cD.indexOf("*")===0){cD=cD.substr(1) +}if(cD.indexOf(".")===0){cD=cD.substr(1)}cD="http://"+cD}cE.href=p.toAbsoluteUrl(cD);if(cE.pathname){return cE.pathname}return""}function aK(cE,cD){if(!Y(cD,"/")){cD="/"+cD}if(!Y(cE,"/")){cE="/"+cE}var cF=(cD==="/"||cD==="/*");if(cF){return true}if(cE===cD){return true}cD=String(cD).toLowerCase();cE=String(cE).toLowerCase();if(J(cD,"*")){cD=cD.slice(0,-1);cF=(!cD||cD==="/");if(cF){return true}if(cE===cD){return true}return cE.indexOf(cD)===0}if(!J(cE,"/")){cE+="/"}if(!J(cD,"/")){cD+="/"}return cE.indexOf(cD)===0}function ag(cH,cJ){var cE,cD,cF,cG,cI;for(cE=0;cE0)&&(cG.slice(cF)===cD)){return true}}}return false}function bW(cD,cF){var cE=new Image(1,1);cE.onload=function(){x=0;if(typeof cF==="function"){cF() +}};cD=cD.replace("send_image=0","send_image=1");cE.src=an+(an.indexOf("?")<0?"?":"&")+cD}function cr(cE,cH,cD){if(!B(cD)||null===cD){cD=true}try{var cG=L.XMLHttpRequest?new L.XMLHttpRequest():L.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cG.open("POST",an,true);cG.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cD){bW(cE,cH)}else{if(this.readyState===4&&(typeof cH==="function")){cH()}}};cG.setRequestHeader("Content-Type",b1);cG.send(cE)}catch(cF){if(cD){bW(cE,cH)}}}function bN(cE){var cD=new Date();var cF=cD.getTime()+cE;if(!l||cF>l){l=cF}}function bU(cD){if(bJ||!aM){return}bJ=setTimeout(function cE(){bJ=null;if(!aT){aT=(!y.hasFocus||y.hasFocus())}if(!aT){bU(aM);return}if(bp()){return}var cF=new Date(),cG=aM-(cF.getTime()-cn);cG=Math.min(aM,cG);bU(cG)},cD||aM)}function bi(){if(!bJ){return}clearTimeout(bJ);bJ=null}function aQ(){aT=true;if(bp()){return}bU()}function ak(){bi()}function cB(){if(aw||!aM){return}aw=true;ac(L,"focus",aQ); +ac(L,"blur",ak);bU()}function b6(cH){var cE=new Date();var cD=cE.getTime();cn=cD;if(b5&&cDc2){cT.visitCount++; +cT.lastVisitTs=cT.currentVisitTs}if(!a6||!cL.length){for(cZ in bX){if(Object.prototype.hasOwnProperty.call(bX,cZ)){cL=N(c3,bX[cZ]);if(cL.length){break}}}for(cZ in bf){if(Object.prototype.hasOwnProperty.call(bf,cZ)){cD=N(c3,bf[cZ]);if(cD.length){break}}}}c6=c(a0);cO=cY.length?c(cY):"";if(c6.length&&!aD(c6)&&(!a6||!cO.length||aD(cO))){cY=a0}if(cY.length||cL.length){cK=cN;cX=[cL,cD,cK,bz(cY.slice(0,cH))];cz(cU,JSON2.stringify(cX),cs,a2,cm)}}cF+="&idsite="+bD+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cE.getHours()+"&m="+cE.getMinutes()+"&s="+cE.getSeconds()+"&url="+n(bz(c3))+(a0.length?"&urlref="+n(bz(a0)):"")+((a9&&a9.length)?"&uid="+n(a9):"")+"&_id="+cT.uuid+"&_idts="+cT.createTs+"&_idvc="+cT.visitCount+"&_idn="+cT.newVisitor+(cL.length?"&_rcn="+n(cL):"")+(cD.length?"&_rck="+n(cD):"")+"&_refts="+cK+"&_viewts="+cT.lastVisitTs+(String(cT.lastEcommerceOrderTs).length?"&_ects="+cT.lastEcommerceOrderTs:"")+(String(cY).length?"&_ref="+n(bz(cY.slice(0,cH))):"")+(cQ?"&cs="+n(cQ):"")+"&send_image=0"; +for(cZ in cu){if(Object.prototype.hasOwnProperty.call(cu,cZ)){cF+="&"+cZ+"="+cu[cZ]}}var c5=[];if(c0){for(cZ in c0){if(Object.prototype.hasOwnProperty.call(c0,cZ)&&/^dimension\d+$/.test(cZ)){var cJ=cZ.replace("dimension","");c5.push(parseInt(cJ,10));c5.push(String(cJ));cF+="&"+cZ+"="+c0[cZ];delete c0[cZ]}}}if(c0&&u(c0)){c0=null}for(cZ in aZ){if(Object.prototype.hasOwnProperty.call(aZ,cZ)){var cP=(-1===E(c5,cZ));if(cP){cF+="&dimension"+cZ+"="+aZ[cZ]}}}if(c0){cF+="&data="+n(JSON2.stringify(c0))}else{if(ad){cF+="&data="+n(JSON2.stringify(ad))}}function cM(c7,c8){var c9=JSON2.stringify(c7);if(c9.length>2){return"&"+c8+"="+n(c9)}return""}var c4=cC(bt);var cV=cC(bS);cF+=cM(c4,"cvar");cF+=cM(cV,"e_cvar");if(ay){cF+=cM(ay,"_cvar");for(cZ in cW){if(Object.prototype.hasOwnProperty.call(cW,cZ)){if(ay[cZ][0]===""||ay[cZ][1]===""){delete ay[cZ]}}}if(bo){cz(cR,JSON2.stringify(ay),bV,a2,cm)}}if(aJ){if(bT){cF+=">_ms="+bT}else{if(g&&g.timing&&g.timing.requestStart&&g.timing.responseEnd){cF+=">_ms="+(g.timing.responseEnd-g.timing.requestStart) +}}}cT.lastEcommerceOrderTs=B(cG)&&String(cG).length?cG:cT.lastEcommerceOrderTs;au(cT);bK();cF+=S(c1);if(co.length){cF+="&"+co}if(t(bI)){cF=bI(cF)}return cF}bp=function aN(){var cD=new Date();if(cn+aM<=cD.getTime()){var cE=bY("ping=1",null,"ping");be(cE,bh);return true}return false};function a3(cG,cF,cL,cH,cD,cO){var cJ="idgoal=0",cK,cE=new Date(),cM=[],cN,cI=String(cG).length;if(cI){cJ+="&ec_id="+n(cG);cK=Math.round(cE.getTime()/1000)}cJ+="&revenue="+cF;if(String(cL).length){cJ+="&ec_st="+cL}if(String(cH).length){cJ+="&ec_tx="+cH}if(String(cD).length){cJ+="&ec_sh="+cD}if(String(cO).length){cJ+="&ec_dt="+cO}if(cp){for(cN in cp){if(Object.prototype.hasOwnProperty.call(cp,cN)){if(!B(cp[cN][1])){cp[cN][1]=""}if(!B(cp[cN][2])){cp[cN][2]=""}if(!B(cp[cN][3])||String(cp[cN][3]).length===0){cp[cN][3]=0}if(!B(cp[cN][4])||String(cp[cN][4]).length===0){cp[cN][4]=1}cM.push(cp[cN])}}cJ+="&ec_items="+n(JSON2.stringify(cM))}cJ=bY(cJ,ad,"ecommerce",cK);be(cJ,bh);if(cI){cp={}}}function bw(cD,cH,cG,cF,cE,cI){if(String(cD).length&&B(cH)){a3(cD,cH,cG,cF,cE,cI) +}}function a4(cD){if(B(cD)){a3("",cD,"","","","")}}function bx(cE,cG,cF){var cD=bY("action_name="+n(aa(cE||aW)),cG,"log");be(cD,bh,cF)}function aH(cF,cE){var cG,cD="(^| )(piwik[_-]"+cE;if(cF){for(cG=0;cG0){cH=parseInt(cH,10);cK(cH)}})}function b8(){var cE,cG,cH={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(f.userAgent))){if(f.mimeTypes&&f.mimeTypes.length){for(cE in cH){if(Object.prototype.hasOwnProperty.call(cH,cE)){cG=f.mimeTypes[cH[cE]];cu[cE]=(cG&&cG.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&B(f.javaEnabled)&&f.javaEnabled()){cu.java="1"}if(t(L.GearsFactory)){cu.gears="1"}cu.cookie=bC()}var cF=parseInt(P.width,10);var cD=parseInt(P.height,10);cu.res=parseInt(cF,10)+"x"+parseInt(cD,10)}b8();aV();au();this.getVisitorId=function(){return aF().uuid};this.getVisitorInfo=function(){return ce()};this.getAttributionInfo=function(){return bk()};this.getAttributionCampaignName=function(){return bk()[0] +};this.getAttributionCampaignKeyword=function(){return bk()[1]};this.getAttributionReferrerTimestamp=function(){return bk()[2]};this.getAttributionReferrerUrl=function(){return bk()[3]};this.setTrackerUrl=function(cD){an=cD};this.getTrackerUrl=function(){return an};this.addTracker=function(cD,cF){if(!cF){throw new Error("A siteId must be given to add a new tracker")}if(!B(cD)||null===cD){cD=this.getTrackerUrl()}var cE=new I(cD,cF);A.push(cE);return cE};this.getSiteId=function(){return bD};this.setSiteId=function(cD){bA(cD)};this.setUserId=function(cD){if(!B(cD)||!cD.length){return}a9=cD;bm=bE(a9).substr(0,16)};this.getUserId=function(){return a9};this.setCustomData=function(cD,cE){if(O(cD)){ad=cD}else{if(!ad){ad={}}ad[cD]=cE}};this.getCustomData=function(){return ad};this.setCustomRequestProcessing=function(cD){bI=cD};this.appendToTrackingUrl=function(cD){co=cD};this.getRequest=function(cD){return bY(cD)};this.addPlugin=function(cD,cE){a[cD]=cE};this.setCustomDimension=function(cD,cE){cD=parseInt(cD,10); +if(cD>0){if(!B(cE)){cE=""}if(!q(cE)){cE=String(cE)}aZ[cD]=cE}};this.getCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0&&Object.prototype.hasOwnProperty.call(aZ,cD)){return aZ[cD]}};this.deleteCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0){delete aZ[cD]}};this.setCustomVariable=function(cE,cD,cH,cF){var cG;if(!B(cF)){cF="visit"}if(!B(cD)){return}if(!B(cH)){cH=""}if(cE>0){cD=!q(cD)?String(cD):cD;cH=!q(cH)?String(cH):cH;cG=[cD.slice(0,a5),cH.slice(0,a5)];if(cF==="visit"||cF===2){b7();ay[cE]=cG}else{if(cF==="page"||cF===3){bt[cE]=cG}else{if(cF==="event"){bS[cE]=cG}}}}};this.getCustomVariable=function(cE,cF){var cD;if(!B(cF)){cF="visit"}if(cF==="page"||cF===3){cD=bt[cE]}else{if(cF==="event"){cD=bS[cE]}else{if(cF==="visit"||cF===2){b7();cD=ay[cE]}}}if(!B(cD)||(cD&&cD[0]==="")){return false}return cD};this.deleteCustomVariable=function(cD,cE){if(this.getCustomVariable(cD,cE)){this.setCustomVariable(cD,"","",cE)}};this.storeCustomVariablesInCookie=function(){bo=true};this.setLinkTrackingTimer=function(cD){bh=cD +};this.setDownloadExtensions=function(cD){if(q(cD)){cD=cD.split("|")}ct=cD};this.addDownloadExtensions=function(cE){var cD;if(q(cE)){cE=cE.split("|")}for(cD=0;cD1){Z("The method "+ae+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers') +}aj[ae]++}}}}return ai}var v=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];function T(ad,af){var ae=new I(ad,af);A.push(ae);_paq=b(_paq,v);for(x=0;x<_paq.length;x++){if(_paq[x]){V(_paq[x])}}_paq=new z();return ae}ac(L,"beforeunload",X,false);Date.prototype.getTimeAlias=Date.prototype.getTime;d={initialized:false,on:function(ae,ad){if(!r[ae]){r[ae]=[]}r[ae].push(ad)},off:function(af,ae){if(!r[af]){return}var ad=0;for(ad;ad Date: Tue, 20 Sep 2016 10:14:04 +1200 Subject: expose some DOM methods (#10522) --- piwik.js | 97 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 49 insertions(+), 48 deletions(-) (limited to 'piwik.js') diff --git a/piwik.js b/piwik.js index e5ca7ccd06..656f61ca66 100644 --- a/piwik.js +++ b/piwik.js @@ -18,54 +18,55 @@ var I="000000";var t=function(ac,ad){return(I+(ad||0)).slice(-ac)};var z="\\u00" }else{at=null}}else{if(typeof at.toJSON=="function"&&((ae!=N&&ae!=O&&ae!=E)||r.call(at,"toJSON"))){at=at.toJSON(ai)}}}if(ag){at=ag.call(aA,ai,at)}if(at===null){return"null"}ae=u.call(at);if(ae==A){return""+at}else{if(ae==N){return at>-1/0&&at<1/0?""+at:"null"}else{if(ae==O){return C(""+at)}}}if(typeof at=="object"){for(af=aj.length;af--;){if(aj[af]===at){throw aa()}}aj.push(at);ar=[];av=ac;ac+=ax;if(ae==E){for(ah=0,af=at.length;ah0){for(ad="",af>10&&(af=10); ad.length=48&&ad<=57||ad>=97&&ad<=102||ad>=65&&ad<=70)){H()}}ag+=M("0x"+ah.slice(ae,G));break;default:H()}}else{if(ad==34){break}ad=ah.charCodeAt(G);ae=G;while(ad>=32&&ad!=92&&ad!=34){ad=ah.charCodeAt(++G)}ag+=ah.slice(ae,G)}}}if(ah.charCodeAt(G)==34){G++; return ag}H();default:ae=G;if(ad==45){ai=true;ad=ah.charCodeAt(++G)}if(ad>=48&&ad<=57){if(ad==48&&((ad=ah.charCodeAt(G+1)),ad>=48&&ad<=57)){H()}ai=false;for(;G=48&&ad<=57);G++){}if(ah.charCodeAt(G)==46){ac=++G;for(;ac=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}ad=ah.charCodeAt(G);if(ad==101||ad==69){ad=ah.charCodeAt(++G);if(ad==43||ad==45){G++}for(ac=G;ac=48&&ad<=57);ac++){}if(ac==G){H()}G=ac}return +ah.slice(ae,G)}if(ai){H()}if(ah.slice(G,G+4)=="true"){G+=4;return true}else{if(ah.slice(G,G+5)=="false"){G+=5;return false}else{if(ah.slice(G,G+4)=="null"){G+=4;return null}}}H()}}return"$"};var W=function(ad){var ac,ae;if(ad=="$"){H()}if(typeof ad=="string"){if((F?ad.charAt(0):ad[0])=="@"){return ad.slice(1)}if(ad=="["){ac=[];for(;;ae||(ae=true)){ad=y();if(ad=="]"){break}if(ae){if(ad==","){ad=y();if(ad=="]"){H()}}else{H()}}if(ad==","){H()}ac.push(W(ad))}return ac}else{if(ad=="{"){ac={};for(;;ae||(ae=true)){ad=y(); -if(ad=="}"){break}if(ae){if(ad==","){ad=y();if(ad=="}"){H()}}else{H()}}if(ad==","||typeof ad!="string"||(F?ad.charAt(0):ad[0])!="@"||y()!=":"){H()}ac[ad.slice(1)]=W(y())}return ac}}H()}return ad};var P=function(ae,ad,af){var ac=w(ae,ad,af);if(ac===L){delete ae[ad]}else{ae[ad]=ac}};var w=function(af,ae,ag){var ad=af[ae],ac;if(typeof ad=="object"&&ad){if(u.call(ad)==E){for(ac=ad.length;ac--;){P(ad,ac,ag)}}else{m(ad,function(ah){P(ad,ah,ag)})}}return ag.call(af,ae,ad)};V.parse=function(ae,af){var ac,ad;G=0;X=""+ae;ac=W(y());if(y()!="$"){H()}G=X=null;return af&&u.call(af)==U?w((ad={},ad[""]=ac,ad),"",af):ac}}}V.runInContext=j;return V}if(h&&!c){j(i,h)}else{var f=i.JSON,k=i.JSON3,d=false;var g=j(i,(i.JSON3={noConflict:function(){if(!d){d=true;i.JSON=f;i.JSON3=k;f=k=null}return g}}));i.JSON={parse:g.parse,stringify:g.stringify}}if(c){define(function(){return g})}}).call(this);JSON2=a})()}if(typeof _paq!=="object"){_paq=[]}if(typeof window.Piwik!=="object"){window.Piwik=(function(){var l,a={},r={},y=document,f=navigator,P=screen,L=window,g=L.performance||L.mozPerformance||L.msPerformance||L.webkitPerformance,n=L.encodeURIComponent,K=L.decodeURIComponent,i=unescape,A=[],x,d,W=[]; -function k(ad){try{return K(ad)}catch(ae){return unescape(ad)}}function B(ae){var ad=typeof ae;return ad!=="undefined"}function t(ad){return typeof ad==="function"}function O(ad){return typeof ad==="object"}function q(ad){return typeof ad==="string"||ad instanceof String}function u(ae){if(!ae){return true}var ad;var af=true;for(ad in ae){if(Object.prototype.hasOwnProperty.call(ae,ad)){af=false}}return af}function Z(ad){if(console!==undefined&&console&&console.error){console.error(ad)}}function V(){var ai,ah,ak,ae,ad;for(ai=0;ai0;if(ag){aj=ak.split("::");af=aj[0];ak=aj[1];if("object"===typeof d[af]&&"function"===typeof d[af][ak]){d[af][ak].apply(d[af],ae)}else{if(ad){W.push(ad)}}}else{for(ah=0;ah0;if(al){aj=ak.split(".");if(af&&"object"===typeof af[aj[0]]){af=af[aj[0]]; -ak=aj[1]}else{if(ad){W.push(ad);break}}}if(af[ak]){af[ak].apply(af,ae)}else{var am="The method '"+ak+'\' was not found in "_paq" variable. Please have a look at the Piwik tracker documentation: http://developer.piwik.org/api-reference/tracking-javascript';Z(am);if(!al){throw new TypeError(am)}}if(ak==="addTracker"){break}if(ak==="setTrackerUrl"||ak==="setSiteId"){break}}else{ak.apply(A[ah],ae)}}}}}function ac(ag,af,ae,ad){if(ag.addEventListener){ag.addEventListener(af,ae,ad);return true}if(ag.attachEvent){return ag.attachEvent("on"+af,ae)}ag["on"+af]=ae}function S(ae,ai){var ad="",ag,af,ah;for(ag in a){if(Object.prototype.hasOwnProperty.call(a,ag)){af=a[ag][ae];if(t(af)){ah=af(ai);if(ah){ad+=ah}}}}return ad}function X(){var ad;S("unload");if(l){do{ad=new Date()}while(ad.getTimeAlias()>>(32-ay))},au=function(aB){var az="",aA,ay;for(aA=7;aA>=0;aA--){ay=(aB>>>(aA*4))&15;az+=ay.toString(16)}return az},ai,aw,av,ae=[],am=1732584193,ak=4023233417,aj=2562383102,ah=271733878,ag=3285377520,ar,aq,ap,ao,an,ax,ad,al=[];at=w(at);ad=at.length;for(aw=0;aw>>29);al.push((ad<<3)&4294967295);for(ai=0;aiai.offsetWidth+ai.scrollLeft||ak+an-aoai.offsetHeight+ai.scrollTop||ap+al-aoal?-1:1});if(ad.length<=1){return ad}var ae=0;var ag=0;var ah=[];var af;af=ad[ae++];while(af){if(af===ad[ae]){ag=ah.push(ae)}af=ad[ae++]||null}while(ag--){ad.splice(ah[ag],1)}return ad},getAttributeValueFromNode:function(ah,af){if(!this.hasNodeAttribute(ah,af)){return}if(ah&&ah.getAttribute){return ah.getAttribute(af)}if(!ah||!ah.attributes){return}var ag=(typeof ah.attributes[af]);if("undefined"===ag){return}if(ah.attributes[af].value){return ah.attributes[af].value}if(ah.attributes[af].nodeValue){return ah.attributes[af].nodeValue}var ae;var ad=ah.attributes;if(!ad){return}for(ae=0;ae1000){break}ad++}},findPieceNode:function(ae){var ad;ad=U.findFirstNodeHavingAttribute(ae,this.CONTENT_PIECE_ATTR);if(!ad){ad=U.findFirstNodeHavingClass(ae,this.CONTENT_PIECE_CLASS)}if(ad){return ad}return ae},findTargetNodeNoDefault:function(ad){if(!ad){return}var ae=U.findFirstNodeHavingAttributeWithValue(ad,this.CONTENT_TARGET_ATTR); -if(ae){return ae}ae=U.findFirstNodeHavingAttribute(ad,this.CONTENT_TARGET_ATTR);if(ae){return ae}ae=U.findFirstNodeHavingClass(ad,this.CONTENT_TARGET_CLASS);if(ae){return ae}},findTargetNode:function(ad){var ae=this.findTargetNodeNoDefault(ad);if(ae){return ae}return ad},findContentName:function(ae){if(!ae){return}var ah=U.findFirstNodeHavingAttributeWithValue(ae,this.CONTENT_NAME_ATTR);if(ah){return U.getAttributeValueFromNode(ah,this.CONTENT_NAME_ATTR)}var ad=this.findContentPiece(ae);if(ad){return this.removeDomainIfIsInLink(ad)}if(U.hasNodeAttributeWithValue(ae,"title")){return U.getAttributeValueFromNode(ae,"title")}var af=this.findPieceNode(ae);if(U.hasNodeAttributeWithValue(af,"title")){return U.getAttributeValueFromNode(af,"title")}var ag=this.findTargetNode(ae);if(U.hasNodeAttributeWithValue(ag,"title")){return U.getAttributeValueFromNode(ag,"title")}},findContentPiece:function(ae){if(!ae){return}var ag=U.findFirstNodeHavingAttributeWithValue(ae,this.CONTENT_PIECE_ATTR);if(ag){return U.getAttributeValueFromNode(ag,this.CONTENT_PIECE_ATTR) -}var ad=this.findPieceNode(ae);var af=this.findMediaUrlInNode(ad);if(af){return this.toAbsoluteUrl(af)}},findContentTarget:function(af){if(!af){return}var ag=this.findTargetNode(af);if(U.hasNodeAttributeWithValue(ag,this.CONTENT_TARGET_ATTR)){return U.getAttributeValueFromNode(ag,this.CONTENT_TARGET_ATTR)}var ae;if(U.hasNodeAttributeWithValue(ag,"href")){ae=U.getAttributeValueFromNode(ag,"href");return this.toAbsoluteUrl(ae)}var ad=this.findPieceNode(af);if(U.hasNodeAttributeWithValue(ad,"href")){ae=U.getAttributeValueFromNode(ad,"href");return this.toAbsoluteUrl(ae)}},isSameDomain:function(ad){if(!ad||!ad.indexOf){return false}if(0===ad.indexOf(this.getLocation().origin)){return true}var ae=ad.indexOf(this.getLocation().host);if(8>=ae&&0<=ae){return true}return false},removeDomainIfIsInLink:function(af){var ae="^https?://[^/]+";var ad="^.*//[^/]+";if(af&&af.search&&-1!==af.search(new RegExp(ae))&&this.isSameDomain(af)){af=af.replace(new RegExp(ad),"");if(!af){af="/"}}return af},findMediaUrlInNode:function(ah){if(!ah){return -}var af=["img","embed","video","audio"];var ad=ah.nodeName.toLowerCase();if(-1!==E(af,ad)&&U.findFirstNodeHavingAttributeWithValue(ah,"src")){var ag=U.findFirstNodeHavingAttributeWithValue(ah,"src");return U.getAttributeValueFromNode(ag,"src")}if(ad==="object"&&U.hasNodeAttributeWithValue(ah,"data")){return U.getAttributeValueFromNode(ah,"data")}if(ad==="object"){var ai=U.findNodesByTagName(ah,"param");if(ai&&ai.length){var ae;for(ae=0;ae0 -}var ae=ag.clientWidth;if(L.innerWidth&&ae>L.innerWidth){ae=L.innerWidth}var ad=ag.clientHeight;if(L.innerHeight&&ad>L.innerHeight){ad=L.innerHeight}return((ah.bottom>0||af)&&ah.right>0&&ah.left=0){cF=cF.slice(0,cE)}cE=cF.lastIndexOf("/");if(cE!==cF.length-1){cF=cF.slice(0,cE+1)}return cF+cD}function b9(cF,cD){var cE;cF=String(cF).toLowerCase();cD=String(cD).toLowerCase();if(cF===cD){return true}if(cD.slice(0,1)==="."){if(cF===cD.slice(1)){return true}cE=cF.length-cD.length;if((cE>0)&&(cF.slice(cE)===cD)){return true}}return false}function bR(cD){var cE=document.createElement("a");if(cD.indexOf("//")!==0&&cD.indexOf("http")!==0){if(cD.indexOf("*")===0){cD=cD.substr(1) -}if(cD.indexOf(".")===0){cD=cD.substr(1)}cD="http://"+cD}cE.href=p.toAbsoluteUrl(cD);if(cE.pathname){return cE.pathname}return""}function aK(cE,cD){if(!Y(cD,"/")){cD="/"+cD}if(!Y(cE,"/")){cE="/"+cE}var cF=(cD==="/"||cD==="/*");if(cF){return true}if(cE===cD){return true}cD=String(cD).toLowerCase();cE=String(cE).toLowerCase();if(J(cD,"*")){cD=cD.slice(0,-1);cF=(!cD||cD==="/");if(cF){return true}if(cE===cD){return true}return cE.indexOf(cD)===0}if(!J(cE,"/")){cE+="/"}if(!J(cD,"/")){cD+="/"}return cE.indexOf(cD)===0}function ag(cH,cJ){var cE,cD,cF,cG,cI;for(cE=0;cE0)&&(cG.slice(cF)===cD)){return true}}}return false}function bW(cD,cF){var cE=new Image(1,1);cE.onload=function(){x=0;if(typeof cF==="function"){cF() -}};cD=cD.replace("send_image=0","send_image=1");cE.src=an+(an.indexOf("?")<0?"?":"&")+cD}function cr(cE,cH,cD){if(!B(cD)||null===cD){cD=true}try{var cG=L.XMLHttpRequest?new L.XMLHttpRequest():L.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cG.open("POST",an,true);cG.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cD){bW(cE,cH)}else{if(this.readyState===4&&(typeof cH==="function")){cH()}}};cG.setRequestHeader("Content-Type",b1);cG.send(cE)}catch(cF){if(cD){bW(cE,cH)}}}function bN(cE){var cD=new Date();var cF=cD.getTime()+cE;if(!l||cF>l){l=cF}}function bU(cD){if(bJ||!aM){return}bJ=setTimeout(function cE(){bJ=null;if(!aT){aT=(!y.hasFocus||y.hasFocus())}if(!aT){bU(aM);return}if(bp()){return}var cF=new Date(),cG=aM-(cF.getTime()-cn);cG=Math.min(aM,cG);bU(cG)},cD||aM)}function bi(){if(!bJ){return}clearTimeout(bJ);bJ=null}function aQ(){aT=true;if(bp()){return}bU()}function ak(){bi()}function cB(){if(aw||!aM){return}aw=true;ac(L,"focus",aQ); -ac(L,"blur",ak);bU()}function b6(cH){var cE=new Date();var cD=cE.getTime();cn=cD;if(b5&&cDc2){cT.visitCount++; -cT.lastVisitTs=cT.currentVisitTs}if(!a6||!cL.length){for(cZ in bX){if(Object.prototype.hasOwnProperty.call(bX,cZ)){cL=N(c3,bX[cZ]);if(cL.length){break}}}for(cZ in bf){if(Object.prototype.hasOwnProperty.call(bf,cZ)){cD=N(c3,bf[cZ]);if(cD.length){break}}}}c6=c(a0);cO=cY.length?c(cY):"";if(c6.length&&!aD(c6)&&(!a6||!cO.length||aD(cO))){cY=a0}if(cY.length||cL.length){cK=cN;cX=[cL,cD,cK,bz(cY.slice(0,cH))];cz(cU,JSON2.stringify(cX),cs,a2,cm)}}cF+="&idsite="+bD+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cE.getHours()+"&m="+cE.getMinutes()+"&s="+cE.getSeconds()+"&url="+n(bz(c3))+(a0.length?"&urlref="+n(bz(a0)):"")+((a9&&a9.length)?"&uid="+n(a9):"")+"&_id="+cT.uuid+"&_idts="+cT.createTs+"&_idvc="+cT.visitCount+"&_idn="+cT.newVisitor+(cL.length?"&_rcn="+n(cL):"")+(cD.length?"&_rck="+n(cD):"")+"&_refts="+cK+"&_viewts="+cT.lastVisitTs+(String(cT.lastEcommerceOrderTs).length?"&_ects="+cT.lastEcommerceOrderTs:"")+(String(cY).length?"&_ref="+n(bz(cY.slice(0,cH))):"")+(cQ?"&cs="+n(cQ):"")+"&send_image=0"; -for(cZ in cu){if(Object.prototype.hasOwnProperty.call(cu,cZ)){cF+="&"+cZ+"="+cu[cZ]}}var c5=[];if(c0){for(cZ in c0){if(Object.prototype.hasOwnProperty.call(c0,cZ)&&/^dimension\d+$/.test(cZ)){var cJ=cZ.replace("dimension","");c5.push(parseInt(cJ,10));c5.push(String(cJ));cF+="&"+cZ+"="+c0[cZ];delete c0[cZ]}}}if(c0&&u(c0)){c0=null}for(cZ in aZ){if(Object.prototype.hasOwnProperty.call(aZ,cZ)){var cP=(-1===E(c5,cZ));if(cP){cF+="&dimension"+cZ+"="+aZ[cZ]}}}if(c0){cF+="&data="+n(JSON2.stringify(c0))}else{if(ad){cF+="&data="+n(JSON2.stringify(ad))}}function cM(c7,c8){var c9=JSON2.stringify(c7);if(c9.length>2){return"&"+c8+"="+n(c9)}return""}var c4=cC(bt);var cV=cC(bS);cF+=cM(c4,"cvar");cF+=cM(cV,"e_cvar");if(ay){cF+=cM(ay,"_cvar");for(cZ in cW){if(Object.prototype.hasOwnProperty.call(cW,cZ)){if(ay[cZ][0]===""||ay[cZ][1]===""){delete ay[cZ]}}}if(bo){cz(cR,JSON2.stringify(ay),bV,a2,cm)}}if(aJ){if(bT){cF+=">_ms="+bT}else{if(g&&g.timing&&g.timing.requestStart&&g.timing.responseEnd){cF+=">_ms="+(g.timing.responseEnd-g.timing.requestStart) -}}}cT.lastEcommerceOrderTs=B(cG)&&String(cG).length?cG:cT.lastEcommerceOrderTs;au(cT);bK();cF+=S(c1);if(co.length){cF+="&"+co}if(t(bI)){cF=bI(cF)}return cF}bp=function aN(){var cD=new Date();if(cn+aM<=cD.getTime()){var cE=bY("ping=1",null,"ping");be(cE,bh);return true}return false};function a3(cG,cF,cL,cH,cD,cO){var cJ="idgoal=0",cK,cE=new Date(),cM=[],cN,cI=String(cG).length;if(cI){cJ+="&ec_id="+n(cG);cK=Math.round(cE.getTime()/1000)}cJ+="&revenue="+cF;if(String(cL).length){cJ+="&ec_st="+cL}if(String(cH).length){cJ+="&ec_tx="+cH}if(String(cD).length){cJ+="&ec_sh="+cD}if(String(cO).length){cJ+="&ec_dt="+cO}if(cp){for(cN in cp){if(Object.prototype.hasOwnProperty.call(cp,cN)){if(!B(cp[cN][1])){cp[cN][1]=""}if(!B(cp[cN][2])){cp[cN][2]=""}if(!B(cp[cN][3])||String(cp[cN][3]).length===0){cp[cN][3]=0}if(!B(cp[cN][4])||String(cp[cN][4]).length===0){cp[cN][4]=1}cM.push(cp[cN])}}cJ+="&ec_items="+n(JSON2.stringify(cM))}cJ=bY(cJ,ad,"ecommerce",cK);be(cJ,bh);if(cI){cp={}}}function bw(cD,cH,cG,cF,cE,cI){if(String(cD).length&&B(cH)){a3(cD,cH,cG,cF,cE,cI) -}}function a4(cD){if(B(cD)){a3("",cD,"","","","")}}function bx(cE,cG,cF){var cD=bY("action_name="+n(aa(cE||aW)),cG,"log");be(cD,bh,cF)}function aH(cF,cE){var cG,cD="(^| )(piwik[_-]"+cE;if(cF){for(cG=0;cG0){cH=parseInt(cH,10);cK(cH)}})}function b8(){var cE,cG,cH={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(f.userAgent))){if(f.mimeTypes&&f.mimeTypes.length){for(cE in cH){if(Object.prototype.hasOwnProperty.call(cH,cE)){cG=f.mimeTypes[cH[cE]];cu[cE]=(cG&&cG.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&B(f.javaEnabled)&&f.javaEnabled()){cu.java="1"}if(t(L.GearsFactory)){cu.gears="1"}cu.cookie=bC()}var cF=parseInt(P.width,10);var cD=parseInt(P.height,10);cu.res=parseInt(cF,10)+"x"+parseInt(cD,10)}b8();aV();au();this.getVisitorId=function(){return aF().uuid};this.getVisitorInfo=function(){return ce()};this.getAttributionInfo=function(){return bk()};this.getAttributionCampaignName=function(){return bk()[0] -};this.getAttributionCampaignKeyword=function(){return bk()[1]};this.getAttributionReferrerTimestamp=function(){return bk()[2]};this.getAttributionReferrerUrl=function(){return bk()[3]};this.setTrackerUrl=function(cD){an=cD};this.getTrackerUrl=function(){return an};this.addTracker=function(cD,cF){if(!cF){throw new Error("A siteId must be given to add a new tracker")}if(!B(cD)||null===cD){cD=this.getTrackerUrl()}var cE=new I(cD,cF);A.push(cE);return cE};this.getSiteId=function(){return bD};this.setSiteId=function(cD){bA(cD)};this.setUserId=function(cD){if(!B(cD)||!cD.length){return}a9=cD;bm=bE(a9).substr(0,16)};this.getUserId=function(){return a9};this.setCustomData=function(cD,cE){if(O(cD)){ad=cD}else{if(!ad){ad={}}ad[cD]=cE}};this.getCustomData=function(){return ad};this.setCustomRequestProcessing=function(cD){bI=cD};this.appendToTrackingUrl=function(cD){co=cD};this.getRequest=function(cD){return bY(cD)};this.addPlugin=function(cD,cE){a[cD]=cE};this.setCustomDimension=function(cD,cE){cD=parseInt(cD,10); -if(cD>0){if(!B(cE)){cE=""}if(!q(cE)){cE=String(cE)}aZ[cD]=cE}};this.getCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0&&Object.prototype.hasOwnProperty.call(aZ,cD)){return aZ[cD]}};this.deleteCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0){delete aZ[cD]}};this.setCustomVariable=function(cE,cD,cH,cF){var cG;if(!B(cF)){cF="visit"}if(!B(cD)){return}if(!B(cH)){cH=""}if(cE>0){cD=!q(cD)?String(cD):cD;cH=!q(cH)?String(cH):cH;cG=[cD.slice(0,a5),cH.slice(0,a5)];if(cF==="visit"||cF===2){b7();ay[cE]=cG}else{if(cF==="page"||cF===3){bt[cE]=cG}else{if(cF==="event"){bS[cE]=cG}}}}};this.getCustomVariable=function(cE,cF){var cD;if(!B(cF)){cF="visit"}if(cF==="page"||cF===3){cD=bt[cE]}else{if(cF==="event"){cD=bS[cE]}else{if(cF==="visit"||cF===2){b7();cD=ay[cE]}}}if(!B(cD)||(cD&&cD[0]==="")){return false}return cD};this.deleteCustomVariable=function(cD,cE){if(this.getCustomVariable(cD,cE)){this.setCustomVariable(cD,"","",cE)}};this.storeCustomVariablesInCookie=function(){bo=true};this.setLinkTrackingTimer=function(cD){bh=cD -};this.setDownloadExtensions=function(cD){if(q(cD)){cD=cD.split("|")}ct=cD};this.addDownloadExtensions=function(cE){var cD;if(q(cE)){cE=cE.split("|")}for(cD=0;cD1){Z("The method "+ae+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers') -}aj[ae]++}}}}return ai}var v=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];function T(ad,af){var ae=new I(ad,af);A.push(ae);_paq=b(_paq,v);for(x=0;x<_paq.length;x++){if(_paq[x]){V(_paq[x])}}_paq=new z();return ae}ac(L,"beforeunload",X,false);Date.prototype.getTimeAlias=Date.prototype.getTime;d={initialized:false,on:function(ae,ad){if(!r[ae]){r[ae]=[]}r[ae].push(ad)},off:function(af,ae){if(!r[af]){return}var ad=0;for(ad;ad0;if(ai){al=am.split("::");ah=al[0];am=al[1];if("object"===typeof d[ah]&&"function"===typeof d[ah][am]){d[ah][am].apply(d[ah],ag)}else{if(af){Y.push(af)}}}else{for(aj=0;aj0;if(an){al=am.split(".");if(ah&&"object"===typeof ah[al[0]]){ah=ah[al[0]]; +am=al[1]}else{if(af){Y.push(af);break}}}if(ah[am]){ah[am].apply(ah,ag)}else{var ao="The method '"+am+'\' was not found in "_paq" variable. Please have a look at the Piwik tracker documentation: http://developer.piwik.org/api-reference/tracking-javascript';ab(ao);if(!an){throw new TypeError(ao)}}if(am==="addTracker"){break}if(am==="setTrackerUrl"||am==="setSiteId"){break}}else{am.apply(C[aj],ag)}}}}}function ae(ai,ah,ag,af){if(ai.addEventListener){ai.addEventListener(ah,ag,af);return true}if(ai.attachEvent){return ai.attachEvent("on"+ah,ag)}ai["on"+ah]=ag}function j(af){if(A.readyState==="complete"){af()}else{if(N.addEventListener){N.addEventListener("load",af)}else{if(N.attachEvent){N.attachEvent("onload",af)}}}}function m(ai){var af=false;if(A.attachEvent){af=A.readyState==="complete"}else{af=A.readyState!=="loading"}if(af){ai();return}var ah;if(A.addEventListener){ae(A,"DOMContentLoaded",function ag(){A.removeEventListener("DOMContentLoaded",ag,false);if(!af){af=true;ai()}})}else{if(A.attachEvent){A.attachEvent("onreadystatechange",function ag(){if(A.readyState==="complete"){A.detachEvent("onreadystatechange",ag); +if(!af){af=true;ai()}}});if(A.documentElement.doScroll&&N===N.top){(function ag(){if(!af){try{A.documentElement.doScroll("left")}catch(aj){setTimeout(ag,0);return}af=true;ai()}}())}}}ae(N,"load",function(){if(!af){af=true;ai()}},false)}function U(ag,ak){var af="",ai,ah,aj;for(ai in a){if(Object.prototype.hasOwnProperty.call(a,ai)){ah=a[ai][ag];if(v(ah)){aj=ah(ak);if(aj){af+=aj}}}}return af}function Z(){var af;U("unload");if(n){do{af=new Date()}while(af.getTimeAlias()>>(32-aA))},aw=function(aD){var aB="",aC,aA;for(aC=7;aC>=0;aC--){aA=(aD>>>(aC*4))&15;aB+=aA.toString(16)}return aB},ak,ay,ax,ag=[],ao=1732584193,am=4023233417,al=2562383102,aj=271733878,ai=3285377520,au,at,ar,aq,ap,az,af,an=[];av=y(av);af=av.length;for(ay=0;ay>>29);an.push((af<<3)&4294967295);for(ak=0;akak.offsetWidth+ak.scrollLeft||am+ap-aqak.offsetHeight+ak.scrollTop||ar+an-aqan?-1:1});if(af.length<=1){return af}var ag=0;var ai=0;var aj=[];var ah;ah=af[ag++];while(ah){if(ah===af[ag]){ai=aj.push(ag)}ah=af[ag++]||null}while(ai--){af.splice(aj[ai],1)}return af},getAttributeValueFromNode:function(aj,ah){if(!this.hasNodeAttribute(aj,ah)){return}if(aj&&aj.getAttribute){return aj.getAttribute(ah)}if(!aj||!aj.attributes){return}var ai=(typeof aj.attributes[ah]);if("undefined"===ai){return}if(aj.attributes[ah].value){return aj.attributes[ah].value}if(aj.attributes[ah].nodeValue){return aj.attributes[ah].nodeValue}var ag;var af=aj.attributes;if(!af){return}for(ag=0;ag1000){break}af++}},findPieceNode:function(ag){var af;af=W.findFirstNodeHavingAttribute(ag,this.CONTENT_PIECE_ATTR);if(!af){af=W.findFirstNodeHavingClass(ag,this.CONTENT_PIECE_CLASS)}if(af){return af}return ag},findTargetNodeNoDefault:function(af){if(!af){return}var ag=W.findFirstNodeHavingAttributeWithValue(af,this.CONTENT_TARGET_ATTR); +if(ag){return ag}ag=W.findFirstNodeHavingAttribute(af,this.CONTENT_TARGET_ATTR);if(ag){return ag}ag=W.findFirstNodeHavingClass(af,this.CONTENT_TARGET_CLASS);if(ag){return ag}},findTargetNode:function(af){var ag=this.findTargetNodeNoDefault(af);if(ag){return ag}return af},findContentName:function(ag){if(!ag){return}var aj=W.findFirstNodeHavingAttributeWithValue(ag,this.CONTENT_NAME_ATTR);if(aj){return W.getAttributeValueFromNode(aj,this.CONTENT_NAME_ATTR)}var af=this.findContentPiece(ag);if(af){return this.removeDomainIfIsInLink(af)}if(W.hasNodeAttributeWithValue(ag,"title")){return W.getAttributeValueFromNode(ag,"title")}var ah=this.findPieceNode(ag);if(W.hasNodeAttributeWithValue(ah,"title")){return W.getAttributeValueFromNode(ah,"title")}var ai=this.findTargetNode(ag);if(W.hasNodeAttributeWithValue(ai,"title")){return W.getAttributeValueFromNode(ai,"title")}},findContentPiece:function(ag){if(!ag){return}var ai=W.findFirstNodeHavingAttributeWithValue(ag,this.CONTENT_PIECE_ATTR);if(ai){return W.getAttributeValueFromNode(ai,this.CONTENT_PIECE_ATTR) +}var af=this.findPieceNode(ag);var ah=this.findMediaUrlInNode(af);if(ah){return this.toAbsoluteUrl(ah)}},findContentTarget:function(ah){if(!ah){return}var ai=this.findTargetNode(ah);if(W.hasNodeAttributeWithValue(ai,this.CONTENT_TARGET_ATTR)){return W.getAttributeValueFromNode(ai,this.CONTENT_TARGET_ATTR)}var ag;if(W.hasNodeAttributeWithValue(ai,"href")){ag=W.getAttributeValueFromNode(ai,"href");return this.toAbsoluteUrl(ag)}var af=this.findPieceNode(ah);if(W.hasNodeAttributeWithValue(af,"href")){ag=W.getAttributeValueFromNode(af,"href");return this.toAbsoluteUrl(ag)}},isSameDomain:function(af){if(!af||!af.indexOf){return false}if(0===af.indexOf(this.getLocation().origin)){return true}var ag=af.indexOf(this.getLocation().host);if(8>=ag&&0<=ag){return true}return false},removeDomainIfIsInLink:function(ah){var ag="^https?://[^/]+";var af="^.*//[^/]+";if(ah&&ah.search&&-1!==ah.search(new RegExp(ag))&&this.isSameDomain(ah)){ah=ah.replace(new RegExp(af),"");if(!ah){ah="/"}}return ah},findMediaUrlInNode:function(aj){if(!aj){return +}var ah=["img","embed","video","audio"];var af=aj.nodeName.toLowerCase();if(-1!==G(ah,af)&&W.findFirstNodeHavingAttributeWithValue(aj,"src")){var ai=W.findFirstNodeHavingAttributeWithValue(aj,"src");return W.getAttributeValueFromNode(ai,"src")}if(af==="object"&&W.hasNodeAttributeWithValue(aj,"data")){return W.getAttributeValueFromNode(aj,"data")}if(af==="object"){var ak=W.findNodesByTagName(aj,"param");if(ak&&ak.length){var ag;for(ag=0;ag0 +}var ag=ai.clientWidth;if(N.innerWidth&&ag>N.innerWidth){ag=N.innerWidth}var af=ai.clientHeight;if(N.innerHeight&&af>N.innerHeight){af=N.innerHeight}return((aj.bottom>0||ah)&&aj.right>0&&aj.left=0){cF=cF.slice(0,cE)}cE=cF.lastIndexOf("/");if(cE!==cF.length-1){cF=cF.slice(0,cE+1)}return cF+cD}function b9(cF,cD){var cE;cF=String(cF).toLowerCase();cD=String(cD).toLowerCase();if(cF===cD){return true}if(cD.slice(0,1)==="."){if(cF===cD.slice(1)){return true}cE=cF.length-cD.length;if((cE>0)&&(cF.slice(cE)===cD)){return true}}return false}function bR(cD){var cE=document.createElement("a");if(cD.indexOf("//")!==0&&cD.indexOf("http")!==0){if(cD.indexOf("*")===0){cD=cD.substr(1) +}if(cD.indexOf(".")===0){cD=cD.substr(1)}cD="http://"+cD}cE.href=r.toAbsoluteUrl(cD);if(cE.pathname){return cE.pathname}return""}function aL(cE,cD){if(!aa(cD,"/")){cD="/"+cD}if(!aa(cE,"/")){cE="/"+cE}var cF=(cD==="/"||cD==="/*");if(cF){return true}if(cE===cD){return true}cD=String(cD).toLowerCase();cE=String(cE).toLowerCase();if(L(cD,"*")){cD=cD.slice(0,-1);cF=(!cD||cD==="/");if(cF){return true}if(cE===cD){return true}return cE.indexOf(cD)===0}if(!L(cE,"/")){cE+="/"}if(!L(cD,"/")){cD+="/"}return cE.indexOf(cD)===0}function ai(cH,cJ){var cE,cD,cF,cG,cI;for(cE=0;cE0)&&(cG.slice(cF)===cD)){return true}}}return false}function bW(cD,cF){var cE=new Image(1,1);cE.onload=function(){z=0;if(typeof cF==="function"){cF() +}};cD=cD.replace("send_image=0","send_image=1");cE.src=ap+(ap.indexOf("?")<0?"?":"&")+cD}function cr(cE,cH,cD){if(!D(cD)||null===cD){cD=true}try{var cG=N.XMLHttpRequest?new N.XMLHttpRequest():N.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cG.open("POST",ap,true);cG.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&cD){bW(cE,cH)}else{if(this.readyState===4&&(typeof cH==="function")){cH()}}};cG.setRequestHeader("Content-Type",b1);cG.send(cE)}catch(cF){if(cD){bW(cE,cH)}}}function bN(cE){var cD=new Date();var cF=cD.getTime()+cE;if(!n||cF>n){n=cF}}function bU(cD){if(bJ||!aN){return}bJ=setTimeout(function cE(){bJ=null;if(!aT){aT=(!A.hasFocus||A.hasFocus())}if(!aT){bU(aN);return}if(bp()){return}var cF=new Date(),cG=aN-(cF.getTime()-cn);cG=Math.min(aN,cG);bU(cG)},cD||aN)}function bi(){if(!bJ){return}clearTimeout(bJ);bJ=null}function aR(){aT=true;if(bp()){return}bU()}function am(){bi()}function cB(){if(ax||!aN){return}ax=true;ae(N,"focus",aR); +ae(N,"blur",am);bU()}function b6(cH){var cE=new Date();var cD=cE.getTime();cn=cD;if(b5&&cDc2){cT.visitCount++; +cT.lastVisitTs=cT.currentVisitTs}if(!a6||!cL.length){for(cZ in bX){if(Object.prototype.hasOwnProperty.call(bX,cZ)){cL=P(c3,bX[cZ]);if(cL.length){break}}}for(cZ in bf){if(Object.prototype.hasOwnProperty.call(bf,cZ)){cD=P(c3,bf[cZ]);if(cD.length){break}}}}c6=c(a0);cO=cY.length?c(cY):"";if(c6.length&&!aE(c6)&&(!a6||!cO.length||aE(cO))){cY=a0}if(cY.length||cL.length){cK=cN;cX=[cL,cD,cK,bz(cY.slice(0,cH))];cz(cU,JSON2.stringify(cX),cs,a2,cm)}}cF+="&idsite="+bD+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+cE.getHours()+"&m="+cE.getMinutes()+"&s="+cE.getSeconds()+"&url="+p(bz(c3))+(a0.length?"&urlref="+p(bz(a0)):"")+((a9&&a9.length)?"&uid="+p(a9):"")+"&_id="+cT.uuid+"&_idts="+cT.createTs+"&_idvc="+cT.visitCount+"&_idn="+cT.newVisitor+(cL.length?"&_rcn="+p(cL):"")+(cD.length?"&_rck="+p(cD):"")+"&_refts="+cK+"&_viewts="+cT.lastVisitTs+(String(cT.lastEcommerceOrderTs).length?"&_ects="+cT.lastEcommerceOrderTs:"")+(String(cY).length?"&_ref="+p(bz(cY.slice(0,cH))):"")+(cQ?"&cs="+p(cQ):"")+"&send_image=0"; +for(cZ in cu){if(Object.prototype.hasOwnProperty.call(cu,cZ)){cF+="&"+cZ+"="+cu[cZ]}}var c5=[];if(c0){for(cZ in c0){if(Object.prototype.hasOwnProperty.call(c0,cZ)&&/^dimension\d+$/.test(cZ)){var cJ=cZ.replace("dimension","");c5.push(parseInt(cJ,10));c5.push(String(cJ));cF+="&"+cZ+"="+c0[cZ];delete c0[cZ]}}}if(c0&&w(c0)){c0=null}for(cZ in aZ){if(Object.prototype.hasOwnProperty.call(aZ,cZ)){var cP=(-1===G(c5,cZ));if(cP){cF+="&dimension"+cZ+"="+aZ[cZ]}}}if(c0){cF+="&data="+p(JSON2.stringify(c0))}else{if(af){cF+="&data="+p(JSON2.stringify(af))}}function cM(c7,c8){var c9=JSON2.stringify(c7);if(c9.length>2){return"&"+c8+"="+p(c9)}return""}var c4=cC(bt);var cV=cC(bS);cF+=cM(c4,"cvar");cF+=cM(cV,"e_cvar");if(az){cF+=cM(az,"_cvar");for(cZ in cW){if(Object.prototype.hasOwnProperty.call(cW,cZ)){if(az[cZ][0]===""||az[cZ][1]===""){delete az[cZ]}}}if(bo){cz(cR,JSON2.stringify(az),bV,a2,cm)}}if(aK){if(bT){cF+=">_ms="+bT}else{if(g&&g.timing&&g.timing.requestStart&&g.timing.responseEnd){cF+=">_ms="+(g.timing.responseEnd-g.timing.requestStart) +}}}cT.lastEcommerceOrderTs=D(cG)&&String(cG).length?cG:cT.lastEcommerceOrderTs;av(cT);bK();cF+=U(c1);if(co.length){cF+="&"+co}if(v(bI)){cF=bI(cF)}return cF}bp=function aO(){var cD=new Date();if(cn+aN<=cD.getTime()){var cE=bY("ping=1",null,"ping");be(cE,bh);return true}return false};function a3(cG,cF,cL,cH,cD,cO){var cJ="idgoal=0",cK,cE=new Date(),cM=[],cN,cI=String(cG).length;if(cI){cJ+="&ec_id="+p(cG);cK=Math.round(cE.getTime()/1000)}cJ+="&revenue="+cF;if(String(cL).length){cJ+="&ec_st="+cL}if(String(cH).length){cJ+="&ec_tx="+cH}if(String(cD).length){cJ+="&ec_sh="+cD}if(String(cO).length){cJ+="&ec_dt="+cO}if(cp){for(cN in cp){if(Object.prototype.hasOwnProperty.call(cp,cN)){if(!D(cp[cN][1])){cp[cN][1]=""}if(!D(cp[cN][2])){cp[cN][2]=""}if(!D(cp[cN][3])||String(cp[cN][3]).length===0){cp[cN][3]=0}if(!D(cp[cN][4])||String(cp[cN][4]).length===0){cp[cN][4]=1}cM.push(cp[cN])}}cJ+="&ec_items="+p(JSON2.stringify(cM))}cJ=bY(cJ,af,"ecommerce",cK);be(cJ,bh);if(cI){cp={}}}function bw(cD,cH,cG,cF,cE,cI){if(String(cD).length&&D(cH)){a3(cD,cH,cG,cF,cE,cI) +}}function a4(cD){if(D(cD)){a3("",cD,"","","","")}}function bx(cE,cG,cF){var cD=bY("action_name="+p(ac(cE||aW)),cG,"log");be(cD,bh,cF)}function aI(cF,cE){var cG,cD="(^| )(piwik[_-]"+cE;if(cF){for(cG=0;cG0){cH=parseInt(cH,10);cK(cH)}})}function b8(){var cE,cG,cH={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",dir:"application/x-director",fla:"application/x-shockwave-flash",java:"application/x-java-vm",gears:"application/x-googlegears",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(f.userAgent))){if(f.mimeTypes&&f.mimeTypes.length){for(cE in cH){if(Object.prototype.hasOwnProperty.call(cH,cE)){cG=f.mimeTypes[cH[cE]];cu[cE]=(cG&&cG.enabledPlugin)?"1":"0"}}}if(typeof navigator.javaEnabled!=="unknown"&&D(f.javaEnabled)&&f.javaEnabled()){cu.java="1"}if(v(N.GearsFactory)){cu.gears="1" +}cu.cookie=bC()}var cF=parseInt(R.width,10);var cD=parseInt(R.height,10);cu.res=parseInt(cF,10)+"x"+parseInt(cD,10)}b8();aV();av();this.getVisitorId=function(){return aG().uuid};this.getVisitorInfo=function(){return ce()};this.getAttributionInfo=function(){return bk()};this.getAttributionCampaignName=function(){return bk()[0]};this.getAttributionCampaignKeyword=function(){return bk()[1]};this.getAttributionReferrerTimestamp=function(){return bk()[2]};this.getAttributionReferrerUrl=function(){return bk()[3]};this.setTrackerUrl=function(cD){ap=cD};this.getTrackerUrl=function(){return ap};this.addTracker=function(cD,cF){if(!cF){throw new Error("A siteId must be given to add a new tracker")}if(!D(cD)||null===cD){cD=this.getTrackerUrl()}var cE=new K(cD,cF);C.push(cE);return cE};this.getSiteId=function(){return bD};this.setSiteId=function(cD){bA(cD)};this.setUserId=function(cD){if(!D(cD)||!cD.length){return}a9=cD;bm=bE(a9).substr(0,16)};this.getUserId=function(){return a9};this.setCustomData=function(cD,cE){if(Q(cD)){af=cD +}else{if(!af){af={}}af[cD]=cE}};this.getCustomData=function(){return af};this.setCustomRequestProcessing=function(cD){bI=cD};this.appendToTrackingUrl=function(cD){co=cD};this.getRequest=function(cD){return bY(cD)};this.addPlugin=function(cD,cE){a[cD]=cE};this.setCustomDimension=function(cD,cE){cD=parseInt(cD,10);if(cD>0){if(!D(cE)){cE=""}if(!s(cE)){cE=String(cE)}aZ[cD]=cE}};this.getCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0&&Object.prototype.hasOwnProperty.call(aZ,cD)){return aZ[cD]}};this.deleteCustomDimension=function(cD){cD=parseInt(cD,10);if(cD>0){delete aZ[cD]}};this.setCustomVariable=function(cE,cD,cH,cF){var cG;if(!D(cF)){cF="visit"}if(!D(cD)){return}if(!D(cH)){cH=""}if(cE>0){cD=!s(cD)?String(cD):cD;cH=!s(cH)?String(cH):cH;cG=[cD.slice(0,a5),cH.slice(0,a5)];if(cF==="visit"||cF===2){b7();az[cE]=cG}else{if(cF==="page"||cF===3){bt[cE]=cG}else{if(cF==="event"){bS[cE]=cG}}}}};this.getCustomVariable=function(cE,cF){var cD;if(!D(cF)){cF="visit"}if(cF==="page"||cF===3){cD=bt[cE] +}else{if(cF==="event"){cD=bS[cE]}else{if(cF==="visit"||cF===2){b7();cD=az[cE]}}}if(!D(cD)||(cD&&cD[0]==="")){return false}return cD};this.deleteCustomVariable=function(cD,cE){if(this.getCustomVariable(cD,cE)){this.setCustomVariable(cD,"","",cE)}};this.storeCustomVariablesInCookie=function(){bo=true};this.setLinkTrackingTimer=function(cD){bh=cD};this.setDownloadExtensions=function(cD){if(s(cD)){cD=cD.split("|")}ct=cD};this.addDownloadExtensions=function(cE){var cD;if(s(cE)){cE=cE.split("|")}for(cD=0;cD1){ab("The method "+ag+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: http://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}al[ag]++}}}}return ak}var x=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","enableLinkTracking"];function V(af,ah){var ag=new K(af,ah);C.push(ag);_paq=b(_paq,x);for(z=0;z<_paq.length;z++){if(_paq[z]){X(_paq[z])}}_paq=new B();return ag}ae(N,"beforeunload",Z,false);Date.prototype.getTimeAlias=Date.prototype.getTime;d={initialized:false,DOM:{addEventListener:function(ai,ah,ag,af){var aj=typeof af;if(aj==="undefined"){af=false}ae(ai,ah,ag,af) +},onLoad:j,onReady:m},on:function(ag,af){if(!t[ag]){t[ag]=[]}t[ag].push(af)},off:function(ah,ag){if(!t[ah]){return}var af=0;for(af;af