/*! * Piwik - Web Analytics * * JavaScript tracking client * * @link http://piwik.org * @source https://github.com/piwik/piwik/blob/master/js/piwik.js * @license http://piwik.org/free-software/bsd/ Simplified BSD (also in js/LICENSE.txt) */ if(typeof JSON2!=="object"){JSON2={}}(function(){function d(f){return f<10?"0"+f:f}function l(n,m){var f=Object.prototype.toString.apply(n);if(f==="[object Date]"){return isFinite(n.valueOf())?n.getUTCFullYear()+"-"+d(n.getUTCMonth()+1)+"-"+d(n.getUTCDate())+"T"+d(n.getUTCHours())+":"+d(n.getUTCMinutes())+":"+d(n.getUTCSeconds())+"Z":null}if(f==="[object String]"||f==="[object Number]"||f==="[object Boolean]"){return n.valueOf()}if(f!=="[object Array]"&&typeof n.toJSON==="function"){return n.toJSON(m)}return n}var c=new RegExp("[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]","g"),e='\\\\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]',i=new RegExp("["+e,"g"),j,b,k={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},h; function a(f){i.lastIndex=0;return i.test(f)?'"'+f.replace(i,function(m){var n=k[m];return typeof n==="string"?n:"\\u"+("0000"+m.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function g(s,p){var n,m,t,f,q=j,o,r=p[s];if(r&&typeof r==="object"){r=l(r,s)}if(typeof h==="function"){r=h.call(p,s,r)}switch(typeof r){case"string":return a(r);case"number":return isFinite(r)?String(r):"null";case"boolean":case"null":return String(r);case"object":if(!r){return"null"}j+=b;o=[];if(Object.prototype.toString.apply(r)==="[object Array]"){f=r.length;for(n=0;n>>(32-W))},ah=function(an){var al="",am,W;for(am=7;am>=0;am--){W=(an>>>(am*4))&15;al+=W.toString(16)}return al},V,aj,ai,R=[],aa=1732584193,Y=4023233417,X=2562383102,U=271733878,T=3285377520,af,ae,ad,ac,ab,ak,Q,Z=[];ag=q(ag);Q=ag.length;for(aj=0;aj>>29);Z.push((Q<<3)&4294967295);for(V=0;V=0){bu=bu.slice(0,bt)}bt=bu.lastIndexOf("/");if(bt!==bu.length-1){bu=bu.slice(0,bt+1)}return bu+bs}function aT(bv){var bt,bs,bu;for(bt=0;bt0)&&(bv.slice(bu)===bs)){return true}}}return false}function br(bs){var bt=new Image(1,1);bt.onload=function(){r=0};bt.src=U+(U.indexOf("?")<0?"?":"&")+bs }function a5(bs){try{var bu=C.XMLHttpRequest?new C.XMLHttpRequest():C.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;bu.open("POST",U,true);bu.onreadystatechange=function(){if(this.readyState===4&&this.status!==200){br(bs)}};bu.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");bu.send(bs)}catch(bt){br(bs)}}function aB(bu,bt){var bs=new Date();if(!bh){if(aU==="POST"){a5(bu)}else{br(bu)}i=bs.getTime()+bt}}function a3(bs){return bm+bs+"."+be+"."+aY}function X(){if(ae){return"0"}if(!u(e.cookieEnabled)){var bs=a3("testcookie");a4(bs,"1");return aj(bs)==="1"?"1":"0"}return e.cookieEnabled?"1":"0"}function aN(){aY=az((ag||a9)+(bn||"/")).slice(0,4)}function ai(){var bt=a3("cvar"),bs=aj(bt);if(bs.length){bs=JSON2.parse(bs);if(E(bs)){return bs}}return{}}function T(){if(Y===false){Y=ai()}}function bd(){var bs=new Date();aV=bs.getTime()}function af(bw,bt,bs,bv,bu,bx){a4(a3("id"),bw+"."+bt+"."+bs+"."+bv+"."+bu+"."+bx,ak,bn,ag)}function S(){var bt=new Date(),bs=Math.round(bt.getTime()/1000),bv=aj(a3("id")),bu; if(bv){bu=bv.split(".");bu.unshift("0")}else{if(!aE){aE=az((e.userAgent||"")+(e.platform||"")+JSON2.stringify(bf)+bt.getTime()+Math.random()).slice(0,16)}bu=["1",aE,bs,0,bs,"",""]}return bu}function Q(){var bs=aj(a3("ref"));if(bs.length){try{bs=JSON2.parse(bs);if(E(bs)){return bs}}catch(bt){}}return["","",0,""]}function R(){var bs=ae;ae=false;a4(a3("id"),"",-86400,bn,ag);a4(a3("ses"),"",-86400,bn,ag);a4(a3("cvar"),"",-86400,bn,ag);a4(a3("ref"),"",-86400,bn,ag);ae=bs}function bc(bw){if(!bw||!E(bw)){return}var bv=[];var bu;for(bu in bw){if(Object.prototype.hasOwnProperty.call(bw,bu)){bv.push(bu)}}var bx={};bv.sort();var bs=bv.length;var bt;for(bt=0;btbU){bx++;bB=bN}if(!aF||!bz.length){for(bQ in aA){if(Object.prototype.hasOwnProperty.call(aA,bQ)){bz=D(bV,aA[bQ]);if(bz.length){break}}}for(bQ in av){if(Object.prototype.hasOwnProperty.call(av,bQ)){bs=D(bV,av[bQ]);if(bs.length){break}}}}bY=b(aW);bF=bP.length?b(bP):"";if(bY.length&&!aT(bY)&&(!aF||!bF.length||aT(bF))){bP=aW}if(bP.length||bz.length){by=bC;bO=[bz,bs,by,bj(bP.slice(0,bw))];a4(bE,JSON2.stringify(bO),aH,bn,ag)}}bu+="&idsite="+be+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+bt.getHours()+"&m="+bt.getMinutes()+"&s="+bt.getSeconds()+"&url="+k(bj(bV))+(aW.length?"&urlref="+k(bj(aW)):"")+"&_id="+bR+"&_idts="+bI+"&_idvc="+bx+"&_idn="+bW+(bz.length?"&_rcn="+k(bz):"")+(bs.length?"&_rck="+k(bs):"")+"&_refts="+by+"&_viewts="+bB+(String(bL).length?"&_ects="+bL:"")+(String(bP).length?"&_ref="+k(bj(bP.slice(0,bw))):"")+(bG?"&cs="+k(bG):""); for(bQ in bf){if(Object.prototype.hasOwnProperty.call(bf,bQ)){bu+="&"+bQ+"="+bf[bQ]}}if(bS){bu+="&data="+k(JSON2.stringify(bS))}else{if(ad){bu+="&data="+k(JSON2.stringify(ad))}}function bA(b0,b1){var b2=JSON2.stringify(b0);if(b2.length>2){return"&"+b1+"="+k(b2)}return""}var bX=bc(aL);var bK=bc(V);bu+=bA(bX,"cvar");bu+=bA(bK,"e_cvar");if(Y){bu+=bA(Y,"_cvar");for(bQ in bM){if(Object.prototype.hasOwnProperty.call(bM,bQ)){if(Y[bQ][0]===""||Y[bQ][1]===""){delete Y[bQ]}}}a4(bZ,JSON2.stringify(Y),am,bn,ag)}if(aD){if(ar){bu+=">_ms="+ar}else{if(f&&f.timing&&f.timing.requestStart&&f.timing.responseEnd){bu+=">_ms="+(f.timing.responseEnd-f.timing.requestStart)}}}af(bR,bI,bx,bC,bB,u(bv)&&String(bv).length?bv:bL);a4(bD,"*",am,bn,ag);bu+=J(bT);if(aR.length){bu+="&"+aR}return bu}function a7(bv,bu,bz,bw,bs,bC){var bx="idgoal=0",by,bt=new Date(),bA=[],bB;if(String(bv).length){bx+="&ec_id="+k(bv);by=Math.round(bt.getTime()/1000)}bx+="&revenue="+bu;if(String(bz).length){bx+="&ec_st="+bz}if(String(bw).length){bx+="&ec_tx="+bw }if(String(bs).length){bx+="&ec_sh="+bs}if(String(bC).length){bx+="&ec_dt="+bC}if(a2){for(bB in a2){if(Object.prototype.hasOwnProperty.call(a2,bB)){if(!u(a2[bB][1])){a2[bB][1]=""}if(!u(a2[bB][2])){a2[bB][2]=""}if(!u(a2[bB][3])||String(a2[bB][3]).length===0){a2[bB][3]=0}if(!u(a2[bB][4])||String(a2[bB][4]).length===0){a2[bB][4]=1}bA.push(a2[bB])}}bx+="&ec_items="+k(JSON2.stringify(bA))}bx=ax(bx,ad,"ecommerce",by);aB(bx,aQ)}function a6(bs,bw,bv,bu,bt,bx){if(String(bs).length&&u(bw)){a7(bs,bw,bv,bu,bt,bx)}}function bl(bs){if(u(bs)){a7("",bs,"","","","")}}function aJ(bv,bw){var bs=new Date(),bu=ax("action_name="+k(P(bv||aw)),bw,"log");aB(bu,aQ);if(aa&&ap&&!aX){aX=true;O(s,"click",bd);O(s,"mouseup",bd);O(s,"mousedown",bd);O(s,"mousemove",bd);O(s,"mousewheel",bd);O(C,"DOMMouseScroll",bd);O(C,"scroll",bd);O(s,"keypress",bd);O(s,"keydown",bd);O(s,"keyup",bd);O(C,"resize",bd);O(C,"focus",bd);O(C,"blur",bd);aV=bs.getTime();setTimeout(function bt(){var bx;bs=new Date();if((aV+ap)>bs.getTime()){if(aa0){bs=!l(bs)?String(bs):bs;bw=!l(bw)?String(bw):bw;bv=[bs.slice(0,bi),bw.slice(0,bi)];if(bu==="visit"||bu===2){T();Y[bt]=bv}else{if(bu==="page"||bu===3){aL[bt]=bv}else{if(bu==="event"){V[bt]=bv}}}}},getCustomVariable:function(bt,bu){var bs;if(!u(bu)){bu="visit"}if(bu==="page"||bu===3){bs=aL[bt]}else{if(bu==="event"){bs=V[bt]}else{if(bu==="visit"||bu===2){T(); bs=Y[bt]}}}if(!u(bs)||(bs&&bs[0]==="")){return false}return bs},deleteCustomVariable:function(bs,bt){if(this.getCustomVariable(bs,bt)){this.setCustomVariable(bs,"","",bt)}},setLinkTrackingTimer:function(bs){aQ=bs},setDownloadExtensions:function(bs){ay=bs},addDownloadExtensions:function(bs){ay+="|"+bs},setDomains:function(bs){aS=l(bs)?[bs]:bs;aS.push(a9)},setIgnoreClasses:function(bs){Z=l(bs)?[bs]:bs},setRequestMethod:function(bs){aU=bs||"GET"},setReferrerUrl:function(bs){aW=bs},setCustomUrl:function(bs){aG=a8(bo,bs)},setDocumentTitle:function(bs){aw=bs},setAPIUrl:function(bs){al=bs},setDownloadClasses:function(bs){aK=l(bs)?[bs]:bs},setLinkClasses:function(bs){an=l(bs)?[bs]:bs},setCampaignNameKey:function(bs){aA=l(bs)?[bs]:bs},setCampaignKeywordKey:function(bs){av=l(bs)?[bs]:bs},discardHashTag:function(bs){ab=bs},setCookieNamePrefix:function(bs){bm=bs;Y=ai()},setCookieDomain:function(bs){ag=w(bs);aN()},setCookiePath:function(bs){bn=bs;aN()},setVisitorCookieTimeout:function(bs){ak=bs*1000 },setSessionCookieTimeout:function(bs){am=bs*1000},setReferralCookieTimeout:function(bs){aH=bs*1000},setConversionAttributionFirstReferrer:function(bs){aF=bs},disableCookies:function(){ae=true;bf.cookie="0"},deleteCookies:function(){R()},setDoNotTrack:function(bt){var bs=e.doNotTrack||e.msDoNotTrack;bh=bt&&(bs==="yes"||bs==="1");if(bh){this.disableCookies()}},addListener:function(bt,bs){a0(bt,bs)},enableLinkTracking:function(bs){if(n){aI(bs)}else{A.push(function(){aI(bs)})}},enableJSErrorTracking:function(){if(bp){return}bp=true;var bs=C.onerror;C.onerror=function(bx,bv,bu,bw,bt){at(function(){var by="JavaScript Errors";var bz=bv+":"+bu;if(bw){bz+=":"+bw}ac(by,bz,bx)});if(bs){return bs(bx,bv,bu,bw,bt)}return false}},disablePerformanceTracking:function(){aD=false},setGenerationTimeMs:function(bs){ar=parseInt(bs,10)},setHeartBeatTimer:function(bu,bt){var bs=new Date();aa=bs.getTime()+bu*1000;ap=bt*1000},killFrame:function(){if(C.location!==C.top.location){C.top.location=C.location}},redirectFile:function(bs){if(C.location.protocol==="file:"){C.location=bs }},setCountPreRendered:function(bs){aC=bs},trackGoal:function(bs,bu,bt){at(function(){aO(bs,bu,bt)})},trackLink:function(bt,bs,bu){at(function(){bb(bt,bs,bu)})},trackPageView:function(bs,bt){if(x(be)){at(function(){H(U,al,be)})}else{at(function(){aJ(bs,bt)})}},trackEvent:function(bt,bv,bs,bu){at(function(){ac(bt,bv,bs,bu)})},trackSiteSearch:function(bs,bu,bt){at(function(){au(bs,bu,bt)})},setEcommerceView:function(bv,bs,bu,bt){if(!u(bu)||!bu.length){bu=""}else{if(bu instanceof Array){bu=JSON2.stringify(bu)}}aL[5]=["_pkc",bu];if(u(bt)&&String(bt).length){aL[2]=["_pkp",bt]}if((!u(bv)||!bv.length)&&(!u(bs)||!bs.length)){return}if(u(bv)&&bv.length){aL[3]=["_pks",bv]}if(!u(bs)||!bs.length){bs=""}aL[4]=["_pkn",bs]},addEcommerceItem:function(bw,bs,bu,bt,bv){if(bw.length){a2[bw]=[bw,bs,bu,bt,bv]}},trackEcommerceOrder:function(bs,bw,bv,bu,bt,bx){a6(bs,bw,bv,bu,bt,bx)},trackEcommerceCartUpdate:function(bs){bl(bs)}}}function t(){return{push:L}}O(C,"beforeunload",M,false);m();Date.prototype.getTimeAlias=Date.prototype.getTime; G=new z();var p={setTrackerUrl:1,setAPIUrl:1,setSiteId:1};var d;for(r=0;r<_paq.length;r++){d=_paq[r][0];if(p[d]){L(_paq[r]);delete _paq[r];if(p[d]>1){if(console!==undefined&&console&&console.error){console.error("The method "+d+' 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/api-reference/tracking-javascript#multiple-piwik-trackers')}}p[d]++}}for(r=0;r<_paq.length;r++){if(_paq[r]){L(_paq[r])}}_paq=new t();c={addPlugin:function(Q,R){a[Q]=R},getTracker:function(Q,R){return new z(Q,R)},getAsyncTracker:function(){return G}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return c})}return c}())}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=Piwik}}());if(typeof piwik_log!=="function"){piwik_log=function(b,f,d,g){function a(h){try{return eval("piwik_"+h) }catch(i){}return}var c,e=Piwik.getTracker(d,f);e.setDocumentTitle(b);e.setCustomData(g);c=a("tracker_pause");if(c){e.setLinkTrackingTimer(c)}c=a("download_extensions");if(c){e.setDownloadExtensions(c)}c=a("hosts_alias");if(c){e.setDomains(c)}c=a("ignore_classes");if(c){e.setIgnoreClasses(c)}e.trackPageView();if(a("install_tracker")){piwik_track=function(i,k,j,h){e.setSiteId(k);e.setTrackerUrl(j);e.trackLink(i,h)};e.enableLinkTracking()}}};