var gYdlAttrDtcCfg = [{"name":"paid","dt":"QUERYSTRING","pa":"paid","sa":null,"dk":"provider","dkv":null},{"name":"unpaid","dt":"URL","pa":"unpaid","sa":null,"dk":null,"dkv":null}]; var gUserAgentBots = ["AdsBot-Google","RPT-HTTPClient","yahoo","Googlebot","msnbot","msnptc","gsa-crawler","bingbot"]; var adversiteConnectorHostname = 'labs.natpal.com'; var ydlVisitTypeCookieTTL = 14; // days var ydlVisitTypeCookieName = 'vt'; var ydlPUT = 'p'; var ydlUUT = 'u'; if (adversiteConnectorHostname == null || adversiteConnectorHostname == '') { adversiteConnectorHostname = "labs.natpal.com"; } function matchURL(detectionKey) { if(detectionKey == null) { return true; } var urlParts = window.location.pathname.split('/'); if (urlParts && urlParts.length > 0) { if (urlParts[1] == detectionKey) { return true; } } return false; } function matchQueryString(detectionKey, detectionKeyValue) { if (detectionKey == null) { return true; } var queryString = window.location.search; if (queryString && queryString.length > 0) { queryString = queryString.substr(1); var pairs = queryString.split('&'); if (pairs && pairs.length > 0) { for (var i = 0; i < pairs.length; i++) { var keyVal = pairs[i].split('='); if (keyVal && keyVal.length == 2) { if (keyVal[0] == detectionKey) { if (detectionKeyValue == null) { return true; } if (keyVal[1] == detectionKeyValue) { return true; } } } } } } return false; } function createCookie(name,value,days,path,domain,secure) { var cookie_string = name + "=" + escape(value); if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); cookie_string += "; expires=" + date.toGMTString(); } if (path) { cookie_string += "; path=" + escape ( path ); } if (domain) { cookie_string += "; domain=" + escape ( domain ); } if (secure) { cookie_string += "; secure"; } document.cookie = cookie_string; } function readCookie (name) { var results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); if (results) { return (unescape(results[2])); } else { return null; } } function getBaseDomain(){ var domainParts = document.domain.split(/\./); if(domainParts.length > 1) { return(domainParts[domainParts.length-2] + "." + domainParts[domainParts.length-1]); } else { return(document.domain); } } function detectVisitType() { var matched = matchQueryString('provider', null); if (matched) { return ydlPUT; } return ydlUUT; } // ydleLeadUrl, ydlLoadPixel, and ydlSubmitLead are used in lead.js and franchise-simple-lead.js var ydlLeadUrlScheme = (location.protocol === 'https:') ? 'https://' : 'http://'; var ydlLeadUrl = ydlLeadUrlScheme + adversiteConnectorHostname + '/trk/lead'; function ydlLoadPixel(customQsParams) { try { if (ydlShouldLoadPixel()) { var url = ydlGetLeadUrl(customQsParams); var oScript = document.createElement("img"); oScript.setAttribute("src", url); var head = document.getElementsByTagName("head").item(0); head.appendChild(oScript); } } catch (e) { } return true; } function ydlSubmitLead() { var typeInCookie = readCookie(ydlVisitTypeCookieName); if (typeInCookie == null || typeInCookie == ydlPUT) { return true; } return false; } function ydlGetCommonQueryString() { return 'unpaid=' + (readCookie(ydlVisitTypeCookieName) == ydlUUT); } /* facade over the common operations to make them testable */ YDLCommon = {}; YDLCommon.readCookie = readCookie; YDLCommon.matchURL = matchURL; YDLCommon.matchQueryString = matchQueryString; YDLCommon.createCookie = createCookie; YDLCommon.getBaseDomain = getBaseDomain; YDLCommon.getUserAgent = function() { return navigator.userAgent; }; YDLCommon.isBot = function(userAgents) { userAgents = userAgents || gUserAgentBots; var userAgent = YDLCommon.getUserAgent(); if (userAgent == null) { return false; } for(var i = 0; i < userAgents.length; i++) { if (userAgent.indexOf(userAgents[i]) >= 0) { return true; } } return false; }; if (adversiteConnectorHostname == null || adversiteConnectorHostname == '') { adversiteConnectorHostname = "labs.natpal.com"; } function detect(clientId, replaceAll, destNumber, config) { config = config || gYdlAttrDtcCfg; if((typeof(config) != "undefined") && (config != null)) { var attrCfg = { }; var ydlOSCookieName = 'yodle.os.attrib'; var cookieAttribBucket = YDLCommon.readCookie(ydlOSCookieName); var matched = false; for(var i=0; i=10) swapPhoneNumber(numberType, numbers[numberType], formatPhoneNumber(newNumber)); } } } function swapPhoneNumber(id, oldNumber, newNumber) { var spans = document.getElementsByTagName('span'); if(typeof(spans) == 'undefined' || typeof(spans[0]) == 'undefined' || spans == null) { addLoadEvent(function() {swapPhoneNumber(id, oldNumber, newNumber);} ); return; } var re = new RegExp(oldNumber, 'g'); for(var i=0; i