{"version":3,"sources":["webpack:///./src/js/modules/legacy/navis.js"],"names":["Module","this","account","jspass","navisBaseUrl","updateElementWithNavisNumber","defaultPhone","el","getAttribute","loadScript","error","innerHTML","dataset","navisPrepend","window","ProcessNavisNCKeyword","updateElement","callback","url","getNavisUrlFor","script","document","createElement","type","readyState","onreadystatechange","onload","onerror","Error","src","getElementsByTagName","appendChild","replace","navisTfnRaw","NavisConvertTagToPhoneNumberBasic","ReadNavisTagCookie","navisTfnDisp","FormatPhone","navisTfnHref","href","title","Component"],"mappings":"olDAEMA,E,sWACJ,WACEC,KAAKC,QAAU,MACfD,KAAKE,OAAS,uBACdF,KAAKG,aACH,6GAEFH,KAAKI,iC,0CAGP,WAA+B,WACvBC,EAAeL,KAAKM,GAAGC,aAAa,QAErCF,GAELL,KAAKQ,WAAWH,GAAc,SAAAI,GACxBA,EACF,EAAKH,GAAGI,UAAY,EAAKJ,GAAGK,QAAQC,aAAhB,UACb,EAAKN,GAAGK,QAAQC,aADH,YACmBP,GACnCA,GAKNQ,OAAOC,wBACP,EAAKC,sB,wBAIT,SAAWV,EAAcW,GACvB,IAAMC,EAAMjB,KAAKkB,eAAeb,GAC1Bc,EAASC,SAASC,cAAc,UACtCF,EAAOG,KAAO,kBAEVH,EAAOI,WAETJ,EAAOK,mBAAqB,WAEF,WAAtBL,EAAOI,YACe,aAAtBJ,EAAOI,aAEPJ,EAAOK,mBAAqB,KAC5BR,OAIJG,EAAOM,OAAS,kBAAMT,KACtBG,EAAOO,QAAU,kBAAMV,EAAS,IAAIW,MAAM,kCAG5CR,EAAOS,IAAMX,EACbG,SAASS,qBAAqB,QAAQ,GAAGC,YAAYX,K,4BAGvD,SAAed,GACb,IAAIY,EAAMjB,KAAKG,aAAa4B,QAAQ,eAAgB/B,KAAKC,SAIzD,OAFAgB,GADAA,EAAMA,EAAIc,QAAQ,cAAe/B,KAAKE,SAC5B6B,QAAQ,YAAa1B,K,2BAKjC,WAEE,IAAM2B,EAAcnB,OAAOoB,kCACzBpB,OAAOqB,sBAGHC,EAAetB,OAAOuB,YAAYJ,EAAa,gBAC/CK,EAAexB,OAAOuB,YAAYJ,EAAa,gBAErDhC,KAAKM,GAAGgC,KAAR,iBAAyBD,GACzBrC,KAAKM,GAAGI,UAAYV,KAAKM,GAAGK,QAAQC,aAAhB,UACbZ,KAAKM,GAAGK,QAAQC,aADH,YACmBuB,GACnCA,EACJnC,KAAKM,GAAGiC,MAAQJ,O,8BA3ECK,aA+ENzC","file":"68.8dd5f41caa963bbf48b6.js","sourcesContent":["import { Component } from '@verndale/core';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.account = 15705;\n    this.jspass = 'ca8h5wkaotnr98zc4y7s';\n    this.navisBaseUrl =\n      'https://twi.revinate.com/JavascriptPhoneNumber/js.aspx?account={{account}}&jspass={{jspass}}&dflt={{dflt}}';\n\n    this.updateElementWithNavisNumber();\n  }\n\n  updateElementWithNavisNumber() {\n    const defaultPhone = this.el.getAttribute('href');\n\n    if (!defaultPhone) return;\n\n    this.loadScript(defaultPhone, error => {\n      if (error) {\n        this.el.innerHTML = this.el.dataset.navisPrepend\n          ? `${this.el.dataset.navisPrepend} ${defaultPhone}`\n          : defaultPhone;\n\n        return;\n      }\n\n      window.ProcessNavisNCKeyword();\n      this.updateElement();\n    });\n  }\n\n  loadScript(defaultPhone, callback) {\n    const url = this.getNavisUrlFor(defaultPhone);\n    const script = document.createElement('script');\n    script.type = 'text/javascript';\n\n    if (script.readyState) {\n      //IE\n      script.onreadystatechange = () => {\n        if (\n          script.readyState === 'loaded' ||\n          script.readyState === 'complete'\n        ) {\n          script.onreadystatechange = null;\n          callback();\n        }\n      };\n    } else {\n      script.onload = () => callback();\n      script.onerror = () => callback(new Error('failed to load Navis script'));\n    }\n\n    script.src = url;\n    document.getElementsByTagName('head')[0].appendChild(script);\n  }\n\n  getNavisUrlFor(defaultPhone) {\n    let url = this.navisBaseUrl.replace(/{{account}}/g, this.account);\n    url = url.replace(/{{jspass}}/g, this.jspass);\n    url = url.replace(/{{dflt}}/g, defaultPhone);\n\n    return url;\n  }\n\n  updateElement() {\n    // modified logic from #5: https://twi.revinate.com/wisdom_external/Dynamic_telephone_number_coding.pdf\n    const navisTfnRaw = window.NavisConvertTagToPhoneNumberBasic(\n      window.ReadNavisTagCookie()\n    );\n\n    const navisTfnDisp = window.FormatPhone(navisTfnRaw, '###-###-####');\n    const navisTfnHref = window.FormatPhone(navisTfnRaw, '###-###-####');\n\n    this.el.href = `tel:+1-${navisTfnHref}`;\n    this.el.innerHTML = this.el.dataset.navisPrepend\n      ? `${this.el.dataset.navisPrepend} ${navisTfnDisp}`\n      : navisTfnDisp;\n    this.el.title = navisTfnDisp;\n  }\n}\n\nexport default Module;\n"],"sourceRoot":""}