// Google Analytics Support Functions
// (c) 2011 Lynchpin Analytics Limited, All Rights Reserved
// 
// Change Log
// V1.0   15/Mar/2011 AJH Initial Release
// V1.1   09/May/2011 AJH Added intial marketing source and minute tracking

LPGA=function(){this.init();}
LPGA.prototype.isLandingPage=false;       // True if visit has just started
LPGA.prototype.marketingSource='';        // Most recent utm_source
LPGA.prototype.marketingMedium='';        // Most recent utm_medium
LPGA.prototype.marketingCampaign='';      // Most recent utm_campaign
LPGA.prototype.marketingKeyword='';       // Most recent utm_term
LPGA.prototype.marketingAdContent='';     // Most recent utm_content
LPGA.prototype.marketingTouchpoints=0;    // Distinct marketing touchpoints
LPGA.prototype.initialMarketingSource=''; // First visit utm_source
LPGA.prototype.initialMarketingMedium=''; // First visit utm_medium
LPGA.prototype.timestampMinUTC='';        // UTC time in YYYY-mm-dd HH:mm form
LPGA.prototype.timestampFirstVisit='';    // Timestamp of first visit start
LPGA.prototype.timestampPreviousVisit=''; // Timestamp of previous visit start
LPGA.prototype.timestampCurrentVisit='';  // Timestamp of current visit start
LPGA.prototype.init=function(){this.utmaparse();this.utmzparse();this.time();
this.landingpage();this.initialsource();}                             
LPGA.prototype.getcookie=function(cname){var d=document.cookie;
var j=d.indexOf(cname+'=');if(j>-1){k=d.indexOf(';',j+cname.length+1);
return d.substring(j+cname.length+1,(k>0)?k:d.length);}else{return '';}}
LPGA.prototype.setcookie=function(cname,value,days){var d=new Date();
d.setDate(d.getDate()+days);c=value+"; expires="+d.toUTCString();
document.cookie=cname+"="+c;}
LPGA.prototype.qs=function(q){q=q.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var r=new RegExp("[\\?&]"+q+"=([^&#]*)");var qs=r.exec(window.location.href);
if(qs==null){return '';}else{return qs[1];}}
LPGA.prototype.dom=function(u){var r=new RegExp("(http|ftp|https)://(.*?)/.*$");
var d=r.match(u);return d[2];}
LPGA.prototype.utmaparse=function(){var a=this.getcookie('__utma');if(a==''){
return;}var b=a.split(".");this.timestampFirstVisit=Date(b[2]);
this.timestampPreviousVisit=Date(b[3]);this.timestampCurrentVisit=Date(b[4]);}
LPGA.prototype.utmzparse=function(){var u=false,u1='',u2='',u3='',u4='',u5='';
var a,b,c,d,e,f;a=this.getcookie('__utmz');if (a==''){return;}b=a.split('|');
c=b[0].split('.utm');b[0]='utm'+c[1];d=c[0].split('.');u=false;
this.marketingTouchpoints=d[4];for(f=0;f<b.length;f++){c=b[f];
d=c.substring(0,c.indexOf('='));
e=decodeURI(c.substring(c.indexOf('=')+1,c.length));switch(d){case 'utmcsr':
u1=e;break;case 'utmcmd':u2=e;break;case 'utmccn':u3=e;case 'utmctr':u4=e;break;
case 'utmcct':u5=e;break;case 'utmgclid':u=true;break;}}if(u){u1='google';
u2='cpc';u3='';u5='';}this.marketingSource=u1;this.marketingMedium=u2;
this.marketingCampaign=u3;this.marketingKeyword=u4;this.marketingAdContent=u5;}
LPGA.prototype.landingpage=function(){if(this.getcookie('_utmb')==''||
this.getcookie('_utmc')==''){this.isLandingPage=true;}}
LPGA.prototype.time=function(){var ts=new Date();var y=ts.getUTCFullYear();
var m=ts.getUTCMonth();if(m<10){m='0'+m;}var d=ts.getUTCDate();if(d<10){d='0'+d;}
this.timestampMinUTC=y+'-'+m+'-'+d+' '+ts.getUTCHours()+':'+ts.getUTCMinutes();}
LPGA.prototype.initialsource=function(){if(this.getcookie('_fvm')==''){
var m=this.qs('utm_medium');var s=this.qs('utm_source');if(this.qs('gclid')!='')
{m='cpc';s='google';}if(m==''){if(document.referer){m='referral';
s=this.dom(document.referer);}else{m='(none)';s='(direct)';}}
this.setcookie('_fvm',m,90);this.setcookie('_fvs',s,90);}
this.initialMarketingSource=this.getcookie('_fvm');
this.initialMarketingMedium=this.getcookie('_fvs');}
LPGA.prototype.assign=function(e,v){var a=document.getElementById(e);if(a){
a.value=v}}

