(function(window){window.ringba_known_numbers = [{"int":"+18666039117","loc":"(866) 603-9117","jstag":"JS992e6457a0154730ae30da4d301fc7c1","replaceWithInt":null,"replaceWithLoc":null,"replaceLeftToRight":true}];!function(e){function t(){this.tagId="",this.id="",this.displayNumber="",this.phoneNumber="",this.impressionQueryPath="",this.maxEpoch=0,this.timeBetweenTicks=0,this.heartBeatMs=0,this.exp=0,this.displayFmt=0,this.heartBeatTimeout=null,this.ready=!0}var n=function(){function t(e){return JSON.stringify(e)}return{postRequest:function(n,r,a,i){if("XDomainRequest"in e&&null!==e.XDomainRequest){var o=new XDomainRequest;o.open("POST",n),o.onload=function(){result=o.responseText,a(result)},o.onerror=function(){i&&i()},o.send(t(r))}else{if(navigator.userAgent.indexOf("MSIE")!=-1&&parseInt(navigator.userAgent.match(/MSIE ([\d.]+)/)[1],10)<8)return!1;var u=new XMLHttpRequest;u.onreadystatechange=function(){4==u.readyState&&(200==u.status?a(u.responseText):i&&i())},u.open("POST",n,!0),u.setRequestHeader("Content-type","text/plain"),u.send(t(r))}}}};"undefined"!=typeof e.localStorage&&"undefined"!=typeof e.sessionStorage||function(){var t=function(t){function n(e,t,n){var r,a;n?(r=new Date,r.setTime(r.getTime()+24*n*60*60*1e3),a="; expires="+r.toGMTString()):a="",document.cookie=e+"="+t+a+"; path=/"}function r(e){var t,n,r=e+"=",a=document.cookie.split(";");for(t=0;t-1&&t>-1;i--){var r=e.charAt(i);n="n"==r||"N"==r?this.phoneNumber.charAt(t--)+n:r+n}return n}return this.displayNumber},t.prototype.save=function(){var e=JSON.parse(JSON.stringify(this));delete e.ready,delete e.heartBeatTimeout,localStorage.setItem("ringbaNumber_"+this.tagId,JSON.stringify(e))},t.prototype.isExpired=function(){var e=(new Date).getTime();return e>this.exp||this.maxEpoch>0&&e>this.maxEpoch},t.prototype.incrementExp=function(){this.exp=(new Date).getTime()+this.timeBetweenTicks,this.save()};var r=function(r){function a(e){if(""==e)return{};for(var t=[],n=0;n0&&!D&&p();null!=e&&e.length>0;){var t=e.pop();o(t)}k.length?N():l()}function s(e,t){if(e&&e.length){var n=JSON.parse(t);e.forEach(function(e){var t=n[e];t&&(c(e,t),A.push(e))})}l()}function l(){if(A&&A.length){var e=[];F&&A.forEach(function(t){var n=x[t];n&&e.push({tagId:t,number:n.phoneNumber,numberLocal:n.phoneNumberLocal,displayNumber:n.displayNumber})}),A=[],F&&setTimeout(function(){F(e)},0)}}function c(e,n){var r=t.getNumberFromResult(e,n);r.save(),x[e]=r,h(r),w(r)}function f(e,t){return e.getFmtNumber(t)}function h(e){var t=e.tagId,n=L[t];if(null!=n)for(var r=0;r0?(l=t[r],r+=n?1:-1,a--,u==i&&n&&a>0&&(l+=t.slice(-a))):l=" "),o=n?o+l:l+o}return o}function u(e){var t={replacement:null,foundMatch:!1,missingReplacements:!1,missingNumbers:null};if(!e)return t;var n=a(e);return n.forEach(function(n){var r=s(t.replacement||e,n);r?t.replacement=r:(t.missingReplacements=!0,(t.missingNumbers=t.missingNumbers||[]).push(n))}),t.foundMatch=n.length>0,t}function s(e,t){var n=t.isInternational,r=n?t.number.replaceWithInt:t.number.replaceWithLoc,a=null;return r&&(r=r.replace("+",""),r=o(t.format,r,t.number.replaceLeftToRight),a=e.replace(t.str,r)),a}function l(){return{Text_Data:{get:function(e){return e&&e.data},set:function(e,t){e&&e.data!=t&&(e.data=t)}},IMG_Alt:{get:function(e){return e&&e.alt},set:function(e,t){e&&e.alt!=t&&(e.alt=t)}},Anchor_HRef:{get:function(e){return e&&e.href},set:function(e,t){e&&e.href!=t&&(e.href=t)}}}}function c(e,t){var n=t.get(e),r=u(n);return r.replacement&&t.set(e,r.replacement),r.missingNumbers}function f(e,t,n){this.node=e,this.actionsGetSet=t,this.missingNumbers=n}function h(e,t){var n=c(e,t);return n&&n.length>0?new f(e,t,n):null}function p(e){var t=[],n=null;if(e){var r=e.nodeType;if(8==r)return t;if(3==r)n=h(e,O.Text_Data);else if(1==r&&!(e.className&&e.className.toString().indexOf("rb-ignore-number")>=0)){"IMG"==e.tagName?n=h(e,O.IMG_Alt):"A"==e.tagName&&(n=h(e,O.Anchor_HRef));var a=e.childNodes;if(a)for(var i=a.length;i--;i>=0){var o=a[i],u=p(o);u.forEach(function(e){t.push(e)})}}return n&&t.push(n),t}}function g(e){var t=[];return e?(e.forEach(function(e){var n=h(e.node,e.actionsGetSet);n&&t.push(n)}),t):t}function m(e){var t={},n=[];return e.forEach(function(e){e.missingNumbers.forEach(function(e){var r=e.number.jstag;t[r]||(t[r]=!0,n.push(e.number.jstag))})}),n}function d(e){return D=p(e||t.body),T(D)}function b(){return D=g(D),T(D)}function v(e){y(e),b()}function y(e){e.forEach(function(e){N(e)})}function N(e){if(!(e instanceof n))throw"'numberInfo' should be an instance of 'JSTagNumberInfo'";var t=_[e.jstag];if(!t)throw"Unknown jstag";t.replaceWithInt=i(e.numberInternational,!0),t.replaceWithLoc=i(e.numberLocal),t.replaceLeftToRight=e.formatLeftToRight}function T(e){if(!e)return null;var t=m(e);return w(t),t}function w(e){e&&e.forEach(function(e){I(e)}),S()}function I(e){var t=_[e];t&&(t.infoRequested||(t.infoRequested=!0,M.push(e)))}function S(){M.length>0&&R&&(R(M),M=[])}function E(e){if(null!=e&&"function"!=typeof e)throw"'cbFunction' should be a function";R=e,S()}var L=[];r&&r.length&&r.forEach(function(e){L.push({"int":i(e["int"],!0),loc:i(e.loc),jstag:e.jstag,replaceWithInt:i(e.replaceWithInt,!0),replaceWithLoc:i(e.replaceWithLoc),replaceLeftToRight:e.replaceLeftToRight})});var x={},_={},D=null,R=null,M=[];L.forEach(function(e){x[e["int"].replace("+","")]={number:e,isInternational:!0},x[e.loc]={number:e,isInternational:!1},_[e.jstag]=e});var O=l(),q=function(){var t=e.MutationObserver||e.WebKitMutationObserver||e.MozMutationObserver,n=e.addEventListener;return function(e,r){var a=!1,i=function(){a||(a=!0,setTimeout(function(){a=!1,r()},0))};if(t){var o=new t(function(e,t){(e[0].addedNodes.length||e[0].removedNodes.length||e[0].target)&&i()});o.observe(e,{childList:!0,subtree:!0,characterData:!0,attributes:!0})}else n&&(e.addEventListener("DOMNodeInserted",i,!1),e.addEventListener("DOMNodeRemoved",i,!1),e.addEventListener("DOMCharacterDataModified",i,!1),e.addEventListener("DOMAttrModified",i,!1))}}();return{InitialPass:d,FollowUp:b,SetNumberInfoAndFollowup:v,SetNewTagCallback:E,SetupObserver:function(e){q(e||t.body,function(){d()})}}};e.ringba&&(e.ringba.SetupNumberReplacement=i),t&&t.body?i():t.addEventListener("DOMContentLoaded",i)}(window,document);})(window);