/* * Piwik - Web Analytics * * JavaScript tracking client * * @link http://piwik.org * @source http://dev.piwik.org/trac/browser/trunk/js/piwik.js * @license http://www.opensource.org/licenses/bsd-license.php Simplified BSD */ if(!this.JSON2){this.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-i))},aa=function(ag){var af="",ae,W;for(ae=7;ae>=0;ae--){W=(ag>>>(ae*4))&15;af+=W.toString(16)}return af},O,ac,ab,K=[],S=1732584193,Q=4023233417,P=2562383102,N=271733878,M=3285377520,Y,X,V,U,T,ad,J,R=[];Z=s(Z);J=Z.length;for(ac=0;ac>>29);R.push((J<<3)&4294967295);for(O=0;O=0){be=be.slice(0,bd)}if((bd=be.lastIndexOf("/"))!==be.length-1){be=be.slice(0,bd+1)}return be+bc}function aF(bf){var bd,bc,be;for(bd=0;bd0)&&(bf.slice(be)===bc)){return true}}}return false}function bb(bc){var bd=new Image(1,1);bd.onload=function(){};bd.src=L+(L.indexOf("?")<0?"?":"&")+bc }function aR(bc){try{var be=H.XMLHttpRequest?new H.XMLHttpRequest():H.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;be.open("POST",L,true);be.onreadystatechange=function(){if(this.readyState===4&&this.status!==200){bb(bc)}};be.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");be.send(bc)}catch(bd){bb(bc)}}function ao(be,bd){var bc=new Date();if(!a2){if(aG==="POST"){aR(be)}else{bb(be)}n=bc.getTime()+bd}}function aP(bc){return a7+bc+"."+aZ+"."+aK}function N(){if(T){return"0"}if(!b(j.cookieEnabled)){var bc=aP("testcookie");aQ(bc,"1");return Z(bc)==="1"?"1":"0"}return j.cookieEnabled?"1":"0"}function aA(){aK=am((V||aV)+(a8||"/")).slice(0,4)}function X(){var bd=aP("cvar"),bc=Z(bd);if(bc.length){bc=JSON2.parse(bc);if(o(bc)){return bc}}return{}}function K(){if(O===false){O=X()}}function aY(){var bc=new Date();aH=bc.getTime()}function U(bg,bd,bc,bf,be,bh){aQ(aP("id"),bg+"."+bd+"."+bc+"."+bf+"."+be+"."+bh,aa,a8,V,Y)}function J(){var bd=new Date(),bc=Math.round(bd.getTime()/1000),bf=Z(aP("id")),be; if(bf){be=bf.split(".");be.unshift("0")}else{if(!aq){aq=am((j.userAgent||"")+(j.platform||"")+JSON2.stringify(a0)+bc).slice(0,16)}be=["1",aq,bc,0,bc,"",""]}return be}function i(){var bc=Z(aP("ref"));if(bc.length){try{bc=JSON2.parse(bc);if(o(bc)){return bc}}catch(bd){}}return["","",0,""]}function ak(be,bC,bD,bg){var bA,bd=new Date(),bm=Math.round(bd.getTime()/1000),bF,bB,bi,bt,bx,bl,bv,bj,bz,bh=1024,bG,bp,bw=O,br=aP("id"),bn=aP("ses"),bo=aP("ref"),bH=aP("cvar"),bu=J(),bq=Z(bn),by=i(),bE=at||a9,bk,bc;if(T){T=false;aQ(br,"",-86400,a8,V);aQ(bn,"",-86400,a8,V);aQ(bH,"",-86400,a8,V);aQ(bo,"",-86400,a8,V);T=true}if(a2){return""}bF=bu[0];bB=bu[1];bt=bu[2];bi=bu[3];bx=bu[4];bl=bu[5];if(!b(bu[6])){bu[6]=""}bv=bu[6];if(!b(bg)){bg=""}bk=by[0];bc=by[1];bj=by[2];bz=by[3];if(!bq){bi++;bl=bx;if(!ar||!bk.length){for(bA in an){if(Object.prototype.hasOwnProperty.call(an,bA)){bk=q(bE,an[bA]);if(bk.length){break}}}for(bA in ai){if(Object.prototype.hasOwnProperty.call(ai,bA)){bc=q(bE,ai[bA]);if(bc.length){break }}}}bG=y(aI);bp=bz.length?y(bz):"";if(bG.length&&!aF(bG)&&(!ar||!bp.length||aF(bp))){bz=aI}if(bz.length||bk.length){bj=bm;by=[bk,bc,bj,a4(bz.slice(0,bh))];aQ(bo,JSON2.stringify(by),au,a8,V,Y)}}be+="&idsite="+aZ+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+bd.getHours()+"&m="+bd.getMinutes()+"&s="+bd.getSeconds()+"&url="+e(a4(bE))+(aI.length?"&urlref="+e(a4(aI)):"")+"&_id="+bB+"&_idts="+bt+"&_idvc="+bi+"&_idn="+bF+(bk.length?"&_rcn="+e(bk):"")+(bc.length?"&_rck="+e(bc):"")+"&_refts="+bj+"&_viewts="+bl+(String(bv).length?"&_ects="+bv:"")+(String(bz).length?"&_ref="+e(a4(bz.slice(0,bh))):"");var bf=JSON2.stringify(ay);if(bf.length>2){be+="&cvar="+e(bf)}for(bA in a0){if(Object.prototype.hasOwnProperty.call(a0,bA)){be+="&"+bA+"="+a0[bA]}}if(bC){be+="&data="+e(JSON2.stringify(bC))}else{if(S){be+="&data="+e(JSON2.stringify(S))}}if(O){var bs=JSON2.stringify(O);if(bs.length>2){be+="&_cvar="+e(bs)}for(bA in bw){if(Object.prototype.hasOwnProperty.call(bw,bA)){if(O[bA][0]===""||O[bA][1]===""){delete O[bA] }}}aQ(bH,JSON2.stringify(O),ab,a8,V,Y)}U(bB,bt,bi,bm,bl,b(bg)&&String(bg).length?bg:bv);aQ(bn,"*",ab,a8,V,Y);be+=g(bD);return be}function aT(bf,be,bj,bg,bc,bm){var bh="idgoal=0",bi,bd=new Date(),bk=[],bl;if(String(bf).length){bh+="&ec_id="+e(bf);bi=Math.round(bd.getTime()/1000)}bh+="&revenue="+be;if(String(bj).length){bh+="&ec_st="+bj}if(String(bg).length){bh+="&ec_tx="+bg}if(String(bc).length){bh+="&ec_sh="+bc}if(String(bm).length){bh+="&ec_dt="+bm}if(aO){for(bl in aO){if(Object.prototype.hasOwnProperty.call(aO,bl)){if(!b(aO[bl][1])){aO[bl][1]=""}if(!b(aO[bl][2])){aO[bl][2]=""}if(!b(aO[bl][3])||String(aO[bl][3]).length===0){aO[bl][3]=0}if(!b(aO[bl][4])||String(aO[bl][4]).length===0){aO[bl][4]=1}bk.push(aO[bl])}}bh+="&ec_items="+e(JSON2.stringify(bk))}bh=ak(bh,S,"ecommerce",bi);ao(bh,aD)}function aS(bc,bg,bf,be,bd,bh){if(String(bc).length&&b(bg)){aT(bc,bg,bf,be,bd,bh)}}function a6(bc){if(b(bc)){aT("",bc,"","","","")}}function aw(bf,bg){var bc=new Date(),be=ak("action_name="+e(l(bf||aj)),bg,"log"); ao(be,aD);if(Q&&ae&&!aJ){aJ=true;t(d,"click",aY);t(d,"mouseup",aY);t(d,"mousedown",aY);t(d,"mousemove",aY);t(d,"mousewheel",aY);t(H,"DOMMouseScroll",aY);t(H,"scroll",aY);t(d,"keypress",aY);t(d,"keydown",aY);t(d,"keyup",aY);t(H,"resize",aY);t(H,"focus",aY);t(H,"blur",aY);aH=bc.getTime();setTimeout(function bd(){var bh=new Date(),bi;if((aH+ae)>bh.getTime()){if(Q0){bc=b(bc)&&!r(bc)?String(bc):bc;bg=b(bg)&&!r(bg)?String(bg):bg;bf=[bc.slice(0,a3),bg.slice(0,a3)];if(be==="visit"||be===2){K();O[bd]=bf}else{if(be==="page"||be===3){ay[bd]=bf}}}},getCustomVariable:function(bd,be){var bc;if(!b(be)){be="visit"}if(be==="page"||be===3){bc=ay[bd]}else{if(be==="visit"||be===2){K();bc=O[bd]}}if(!b(bc)||(bc&&bc[0]==="")){return false}return bc},deleteCustomVariable:function(bc,bd){if(this.getCustomVariable(bc,bd)){this.setCustomVariable(bc,"","",bd) }},setLinkTrackingTimer:function(bc){aD=bc},setDownloadExtensions:function(bc){al=bc},addDownloadExtensions:function(bc){al+="|"+bc},setDomains:function(bc){aE=r(bc)?[bc]:bc;aE.push(aV)},setIgnoreClasses:function(bc){P=r(bc)?[bc]:bc},setRequestMethod:function(bc){aG=bc||"GET"},setReferrerUrl:function(bc){aI=bc},setCustomUrl:function(bc){at=aU(a9,bc)},setDocumentTitle:function(bc){aj=bc},setDownloadClasses:function(bc){ax=r(bc)?[bc]:bc},setLinkClasses:function(bc){ac=r(bc)?[bc]:bc},setCampaignNameKey:function(bc){an=r(bc)?[bc]:bc},setCampaignKeywordKey:function(bc){ai=r(bc)?[bc]:bc},discardHashTag:function(bc){R=bc},setCookieNamePrefix:function(bc){a7=bc;O=X()},setCookieDomain:function(bc){V=m(bc);aA()},setCookiePath:function(bc){a8=bc;aA()},setVisitorCookieTimeout:function(bc){aa=bc*1000},setSessionCookieTimeout:function(bc){ab=bc*1000},setReferralCookieTimeout:function(bc){au=bc*1000},setConversionAttributionFirstReferrer:function(bc){ar=bc},disableCookies:function(){T=true;a0.cookie="0" },setDoNotTrack:function(bd){var bc=j.doNotTrack||j.msDoNotTrack;a2=bd&&(bc==="yes"||bc==="1");if(a2){this.disableCookies()}},addListener:function(bd,bc){aM(bd,bc)},enableLinkTracking:function(bc){if(h){av(bc)}else{C.push(function(){av(bc)})}},setHeartBeatTimer:function(be,bd){var bc=new Date();Q=bc.getTime()+be*1000;ae=bd*1000},killFrame:function(){if(H.location!==H.top.location){H.top.location=H.location}},redirectFile:function(bc){if(H.location.protocol==="file:"){H.location=bc}},setCountPreRendered:function(bc){ap=bc},trackGoal:function(bc,be,bd){ag(function(){aB(bc,be,bd)})},trackLink:function(bd,bc,be){ag(function(){aX(bd,bc,be)})},trackPageView:function(bc,bd){ag(function(){aw(bc,bd)})},trackSiteSearch:function(bc,be,bd){ag(function(){ah(bc,be,bd)})},setEcommerceView:function(bf,bc,be,bd){if(!b(be)||!be.length){be=""}else{if(be instanceof Array){be=JSON2.stringify(be)}}ay[5]=["_pkc",be];if(b(bd)&&String(bd).length){ay[2]=["_pkp",bd]}if((!b(bf)||!bf.length)&&(!b(bc)||!bc.length)){return }if(b(bf)&&bf.length){ay[3]=["_pks",bf]}if(!b(bc)||!bc.length){bc=""}ay[4]=["_pkn",bc]},addEcommerceItem:function(bg,bc,be,bd,bf){if(bg.length){aO[bg]=[bg,bc,be,bd,bf]}},trackEcommerceOrder:function(bc,bg,bf,be,bd,bh){aS(bc,bg,bf,be,bd,bh)},trackEcommerceCartUpdate:function(bc){a6(bc)}}}function c(){return{push:z}}t(H,"beforeunload",B,false);x();Date.prototype.getTimeAlias=Date.prototype.getTime;G=new F();for(D=0;D<_paq.length;D++){z(_paq[D])}_paq=new c();return{addPlugin:function(i,J){w[i]=J},getTracker:function(i,J){return new F(i,J)},getAsyncTracker:function(){return G}}}()),piwik_track,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()}};