
function Phonalytics(profile,mode)
{this.version='1.2';this.mode=1;this.permanentCookieExpire=180;this.trackssl='https://app.phonalytics.com/track/__track.gif';this.trackweb='http://app.phonalytics.com/track/__track.gif';this.dynssl='https://app.phonalytics.com/track/__number.php';this.dynweb='http://app.phonalytics.com/track/__number.php';this.sessionCookie='__phses';this.userIdCookie='__phusr';this.phoneCookie='__phphn';this.campaignCookie='__phcam';this.modeCookie='__phmod';this.initialized=false;this.numberPattern='1.###.###.####';this.siteProfileId=profile;this.siteTrackingMode=(mode)?mode:"FIFO";this.sessionId=0;this.uniqueUserId=0;this.campaignId=0;this.trackingPhoneNumber='';this.cookieBasePath='/';this.pageHost;this.pageTitle;this.pagePath;this.pageReferrer;this.userFlashVersion;this.userJavaEnabled;this.userLocale;this.userResolution;this.userBitDepth;this.stack={};this.stackLookup=[];this.index=Phonalytics.instances.length;Phonalytics.instances[this.index]=this;this.init=function(){if(this.initialize)return false;this.initialize=true;if(!this.siteProfileId)
{this.mode=2;}
this.uniqueUserId=this.getCookie(this.userIdCookie);if(!this.uniqueUserId){this.uniqueUserId=this.generateNewId();}
this.setCookie(this.userIdCookie,this.uniqueUserId,this.permanentCookieExpire,this.cookieBasePath);this.sessionId=this.getCookie(this.sessionCookie);if(!this.sessionId){this.sessionId=this.generateNewId();}
this.setCookie(this.sessionCookie,this.sessionId,null,this.cookieBasePath);this.campaignId=this.getCookie(this.campaignCookie);this.__dynamicTag();}
this.loadNumber=function(json){if(this.mode==2)
{this.siteTrackingMode='FIFO';if(this.siteTrackingMode)this.setCookie(this.modeCookie,this.siteTrackingMode,this.permanentCookieExpire,this.cookieBasePath);}
if(this.siteTrackingMode=='LIFO'){if(json.number){this.campaignId=json.campaign;this.trackingPhoneNumber=json.number;}
else{this.campaignId=this.getCookie(this.campaignCookie);this.trackingPhoneNumber=this.getCookie(this.phoneCookie);}}
else{this.campaignId=this.getCookie(this.campaignCookie);this.trackingPhoneNumber=this.getCookie(this.phoneCookie);if(json.number&&(!this.campaignId||!this.trackingPhoneNumber)){this.campaignId=json.campaign;this.trackingPhoneNumber=json.number;}}
if(this.campaignId)this.setCookie(this.campaignCookie,this.campaignId,this.permanentCookieExpire,this.cookieBasePath);if(this.trackingPhoneNumber)this.setCookie(this.phoneCookie,this.trackingPhoneNumber,this.permanentCookieExpire,this.cookieBasePath);this.pageHost=location.host
this.pageTitle=document.title;this.pagePath=location.pathname+location.search;this.pageReferrer=(document.referrer)?document.referrer:'';this.userFlashVersion=this.getFlashVersion();this.userJavaEnabled=navigator.javaEnabled();this.userLocale=navigator.language;this.userResolution=screen.width+'x'+screen.height;this.userBitDepth=screen.colorDepth;this.initialized=true;this.__executeStack();}
this.trackPageview=function()
{if(!this.initialized)
{this.__addToStack('trackPageview',arguments);if(!this.initialize)
{this.init();}
return;}
if(!this.siteProfileId&&!this.campaignId)
{return;}
var qs='?';qs+='pid='+this.siteProfileId;qs+='&uid='+this.uniqueUserId;qs+='&sid='+this.sessionId;qs+='&cid='+this.campaignId;qs+='&pat='+this.e(this.pageTitle);qs+='&pah='+this.e(this.pageHost);qs+='&pap='+this.e(this.pagePath);qs+='&par='+this.e(this.pageReferrer);qs+='&usfl='+this.e(this.userFlashVersion);qs+='&usjv='+((this.userJavaEnabled)?1:0);qs+='&uslc='+this.e(this.userLocale);qs+='&usbd='+this.e(this.userBitDepth);qs+='&usrs='+this.e(this.userResolution);trackImg=document.createElement('img');trackImg.src=(("https:"==document.location.protocol)?this.trackssl:this.trackweb)+qs;}
this.phoneTracking=function(class_ref)
{if(!this.initialized)
{this.__addToStack('phoneTracking',arguments);if(!this.initialize)
{this.init();}
return;}
if(this.trackingPhoneNumber){if(this.trackingPhoneNumber.indexOf(1)===0)
{this.trackingPhoneNumber=this.trackingPhoneNumber.substr(1);}
this.trackingPhoneNumber=this.trackingPhoneNumber.replace(/([^\d])/g,'');var format=this.__format(this.trackingPhoneNumber,this.numberPattern);if(class_ref){var nodes=this.getElementsByClassName(document,'*',class_ref);for(i=0;i<nodes.length;i++)
{nodes[i].innerHTML=format;}}
else
{document.body.innerHTML=document.body.innerHTML.replace(/([\s|\>])(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?/gim,'$1'+format);}}}
this.getElementsByClassName=function(oElm,strTagName,oClassNames){var arrElements=(strTagName=="*"&&oElm.all)?oElm.all:oElm.getElementsByTagName(strTagName);var arrReturnElements=new Array();var arrRegExpClassNames=new Array();if(typeof oClassNames=="object"){for(var i=0;i<oClassNames.length;i++){arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames[i].replace(/\-/g,"\\-")+"(\\s|$)"));}}
else{arrRegExpClassNames.push(new RegExp("(^|\\s)"+oClassNames.replace(/\-/g,"\\-")+"(\\s|$)"));}
var oElement;var bMatchesAll;for(var j=0;j<arrElements.length;j++){oElement=arrElements[j];bMatchesAll=true;for(var k=0;k<arrRegExpClassNames.length;k++){if(!arrRegExpClassNames[k].test(oElement.className)){bMatchesAll=false;break;}}
if(bMatchesAll){arrReturnElements.push(oElement);}}
return(arrReturnElements)}
this.setCookie=function(name,value,ttl,path)
{if(!path)path='/';var expires='';if(ttl){var date=new Date();date.setTime(date.getTime()+(ttl*24*60*60*1000));var expires='; expires='+date.toGMTString();}
var domain='';if(location.hostname.indexOf('www.')===0)
{domain=location.hostname.substr(3);}
document.cookie=name+"="+escape(value)+expires+'; path='+path+'; '+((domain)?('domain='+domain+';'):'');}
this.getCookie=function(name)
{var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return unescape(c.substring(nameEQ.length,c.length));}
return null;}
this.getFlashVersion=function()
{try{try{var axo=new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');try{axo.AllowScriptAccess='always';}
catch(e){return'6,0,0';}}catch(e){}
return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g,',').match(/^,?(.+),?$/)[1];}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1];}}catch(e){}}
return false;}
this.generateNewId=function()
{d=new Date();return Math.floor(d.getTime()/1000);}
this.e=function(s)
{return encodeURIComponent(s);}
this.__format=function(number,pattern)
{var format='';var y=0;for(x=0;x<pattern.length;x++)
{if(pattern.substr(x,1)=='#')
{format+=number.substr(y,1);y++;}
else
{format+=pattern.substr(x,1);}}
if(number.length>10)
{format+=' x'+number.substr(10);}
return format;}
this.__dynamicTag=function()
{var request=(("https:"==document.location.protocol)?this.dynssl:this.dynweb)+((window.location.search)?window.location.search:'?');request+='&phsite='+((this.siteProfileId)?this.siteProfileId:'');request+='&phcampaign='+((this.campaignId)?this.campaignId:'');var head=document.getElementsByTagName('head')[0];var script=document.createElement('script');script.type='text/javascript';script.src=request;head.appendChild(script);}
this.__addToStack=function(f,args)
{this.stack[f]=args;this.stackLookup.push(f);}
this.__executeStack=function()
{var func='';for(x=0;x<this.stackLookup.length;x++)
{func+='this.'+this.stackLookup[x]+'(';if(this.stack[this.stackLookup[x]].length)
{for(y=0;y<this.stack[this.stackLookup[x]].length;y++)
{if(typeof this.stack[this.stackLookup[x]][y]=='string')
{func+="'"+this.stack[this.stackLookup[x]][y]+"'";}
else
{func+=this.stack[this.stackLookup[x]][y];}
func+=((this.stack[this.stackLookup[x]].length-1!=y)?',':'');}}
func+=');';}
eval(func);}}
Phonalytics.instances=[];
