{"version":3,"file":"pemco.com.common.min.js","names":["currentPage","$","fn","extend","pepHelp","$content","this","append","dialogObj","$dialog","$openerElement","open","btnHelp","helpId","helpTextTitle","helpTextDescription","helpWidth","ajax","type","url","dataType","success","result","getHelpText","find","attr","error","req","status","alert","Title","Description","PixelWidth","helpTextObject","html","dialog","dialogClass","resizable","width","title","minHeight","alignToElement","close","element","pos","obj","offset","x","left","y","top","getLocation","doc","document","pTop","scrollTop","pLeft","scrollLeft","forceLeft","hasClass","h","outerHeight","w","outerWidth","winW","window","className","each","i","n","removeClass","addClass","my","at","of","handleWindowResize","resize","addHover","hover","css","parseInt","click","isOnScreen","viewport","bottom","height","bounds","scrollIntoView","options","speed","minimumVisible","show","scrollBeyondBounds","visible","is","elemOffsetTop","elemHeight","winHeight","winScrollTop","hide","Math","min","slideDown","newWinScrollTop","max","animate","clearField","elem","get","tag","tagName","toLowerCase","val","prop","selectedIndex","trigger","prev","next","emailencode","pthName","location","pathname","substring","lastIndexOf","on","e","preventDefault","settings","jQuery","atsign","formatedAddress","replace","String","prototype","HtmlEncode","HtmlDecode","domain","ex","ratingsDisplayed","totalReviewsCount","avgRating","ratingsOnlyReviewCount","recommendPercentage","productID","bvRevCntr","getElementById","bvSVPLink","style","display","href","indexOf","onAfterDomModified","loadPurchaseService","callback","getScript","data","textStatus","jqxhr","pageChanged","pageName","pageStatus","BVHandleSummaryResults","jsonData","reviewsSummaryContent","subjectID","totalReviews","reviewsUrl","length","readReviewStr","innerHTML","averageRating","toFixed","link","getQuerystringValue","key","defaultValue","qs","RegExp","exec","support","touch","createElement","placeholder","placeholderPollyFill","handleWatermark","$e","c","$this","call","focus","blur","pepTracking","omniture","skipBuiltInTrack","IdleTimer","milliseconds","t","eventNames","reset","clearTimeout","setTimeout","start","addEventListener","turnOff","removeEventListener","BrowserIE","IsIe","navigator","appVersion","Navigator","Version","version","parseFloat","split","matchMedia","styleMedia","media","info","script","getElementsByTagName","id","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","matches","MobileQuoteBar","isNoticeBarShown","wasAtBottom","documentElement","innerHeight","scrollHeight","toggleBottomQuoteBar","pageYOffset","toggleNoticeBarShadow","isNowAtBottom","init","scroll","querySelector","Init","ToggleQuoteBar","ToggleQuoteBarShadow","Engagement","Track","engagementData","Promise","resolve","reject","PolicyCacheID","CifID","EngagementType","Area","PageName","Initiated","UserAgent","userAgent","PolicyNumber","PolicyID","console","log","done","fail","SalesLead","Process","leadData","referenceNumber","policyCacheId","SchedulerWidget","context","addSchedulerScript","src","d","s","js","fjs","riqMessageHandler","message","category","event","isRiqMessage","cifId","callType","area","page","policyNumber","policyID","then","finished","Result","isProduction","ga","command","getAll","schedulerContext","callSchedulerLink","widgetId","hidePhoneIcon","IsAvailable","contents","Open","Responseiq","CallbackWidget","toggleWidgetOpenState","stopPropagation","Cobrowse","sessionData","logSession","contextInfo","initiated","cobrowseData","cobrowseInterval","setInterval","RcrsvAPI","once","ChatWidget","ToggleCobrowse","resuming","resumingSession","getPageAndPolicyContext","AdjustPositionForCobrowse","onCobrowseEnd","clearInterval","Launch","getCurrentState","Error","code","SendMessage","session","getSessionInfo","joinCodes","addJoinCode","onCobrowseStart","hostName","username","hostEmail","emailAddress","isReplay","LogSession","IsSupportedBrowser","bowser","name","IsInSession","GoogleReview","InitSigninV2","initSigninV2","strLoggedin","strLoggedOut","$reviewDiv","policyNbrAndId","reviewClicked","cookie","target","nodeName","getAttribute","reviewBtnClicked","setCookies","googleReviewCookieExpirationDays","Number","sessionStorage","getItem","expires","path","Date","toUTCString","fullPolicyNumber","policyId","policyList","sessionParams","client_id","session_state","gapi","auth","checkSessionState","stateMatched","undefined"],"sources":["Members/Scripts/pemco.com.common.js"],"mappings":"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","sourcesContent":["// Common routines - (used by root site, purchase, etc.)\r\n//set current page name\r\nvar currentPage;\r\n\r\n$.fn.extend({\r\n pepHelp: function () {\r\n var $content = $(this);\r\n\r\n $content.append('' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'' +\r\n\t\t\t\t\t\t\t'
');\r\n\r\n var dialogObj = {\r\n $dialog: null,\r\n $openerElement: null,\r\n open: function (btnHelp, helpId, helpTextTitle, helpTextDescription, helpWidth) {\r\n this.$openerElement = btnHelp;\r\n\r\n if (helpId) {\r\n $.ajax(\r\n {\r\n type: \"GET\",\r\n url: \"/purchase/common/GetHelpText?HelpId=\" + helpId,\r\n dataType: \"json\",\r\n success: function (result) {\r\n dialogObj.getHelpText(result);\r\n //added for tealeaf so we can properly replay\r\n $(\".ui-dialog\").find('[role=button]').attr('id', 'ui-dialog-close-button');\r\n },\r\n error: function (req, status, error) {\r\n alert(\"sorry, we could not get the help text at this time!\");\r\n }\r\n });\r\n }\r\n else if (helpTextTitle) {\r\n dialogObj.getHelpText({Title: helpTextTitle, Description: helpTextDescription, PixelWidth: helpWidth});\r\n }\r\n\r\n return false;\r\n },\r\n getHelpText: function (helpTextObject) {\r\n $('#helpTitle').html(helpTextObject.Title);\r\n $('#helpDescription').html(helpTextObject.Description);\r\n var helpWidth = helpTextObject.PixelWidth;\r\n if (helpWidth == null || helpWidth == 0)\r\n helpWidth = 240;\r\n\r\n if (dialogObj.$dialog)\r\n dialogObj.$dialog\r\n\t\t \t.dialog('option', 'position', 'center')\r\n\t\t \t.dialog('option', 'width', helpWidth)\r\n\t\t \t.dialog('open');\r\n else {\r\n dialogObj.$dialog = $content.dialog({\r\n dialogClass: 'pepDialog pepHelp',\r\n resizable: false,\r\n width: helpWidth,\r\n title: '',\r\n minHeight: 0\r\n });\r\n }\r\n\r\n dialogObj.alignToElement(dialogObj.$openerElement);\r\n },\r\n close: function () {\r\n this.$openerElement = null;\r\n if (this.$dialog) this.$dialog.dialog('close');\r\n return false;\r\n },\r\n alignToElement: function (element) {\r\n var getLocation = function (obj) {\r\n var pos = $(obj).offset();\r\n return { x: pos.left, y: pos.top };\r\n };\r\n var pos = getLocation(element),\r\n \t\tdoc = $(document),\r\n pTop = pos.y - doc.scrollTop(),\r\n pLeft = pos.x - doc.scrollLeft(),\r\n forceLeft = $(element).hasClass('forceLeft');\r\n\r\n var h = $content.outerHeight()\r\n\t\t\t\t\t\t, w = $content.outerWidth()\r\n\t\t\t\t\t\t, winW = $(window).width()\r\n\t\t\t\t\t\t, x = pLeft + ((forceLeft || (pLeft + w > winW)) ? 19 - w : 0)\r\n\t\t\t\t\t\t, y = pTop + (((pTop - h) < 0) ? 15 : -h)\r\n\t\t\t\t\t\t, className = 'pepHelp' + (x < pLeft ? \"Right\" : \"Left\") + (y < pTop ? \"Bottom\" : \"Top\");\r\n\r\n $.each(['pepHelpLeftBottom', 'pepHelpRightBottom', 'pepHelpLeftTop', 'pepHelpRightTop'], function (i, n) {\r\n $content.find('.' + n).removeClass(n + 'Ptr');\r\n });\r\n\r\n $content.find('.' + className)\r\n\t\t\t\t\t\t.addClass(className + \"Ptr\")\r\n\r\n if (this.$dialog) this.$dialog.dialog('option', 'position', {'my': 'left-38 bottom', 'at': 'right top', 'of': $(element)});\r\n },\r\n handleWindowResize: function () {\r\n if (typeof (dialogObj) != \"undefined\" && dialogObj.$openerElement != null)\r\n dialogObj.alignToElement(dialogObj.$openerElement);\r\n }\r\n };\r\n\r\n $(window).resize(dialogObj.handleWindowResize);\r\n\r\n return dialogObj;\r\n }\r\n});\r\n\r\n$.fn.extend({\r\n addHover: function() {\r\n this.hover(\r\n function() {\r\n if ($(this).hasClass('disableHover')) return;\r\n $(this).css('background-position',\r\n '0 -' + parseInt($(this).css('height')) + 'px');\r\n },\r\n function() {\r\n if ($(this).hasClass('disableHover')) return;\r\n $(this).css('background-position', '0 0px')\r\n })\r\n this.click(\r\n function() {\r\n $(this).css('background-position',\r\n '0 -' + (parseInt($(this).css('height')) * 2) + 'px');\r\n });\r\n }\r\n});\r\n\r\n$.fn.extend({\r\n isOnScreen: function () {\r\n var viewport = {};\r\n viewport.top = $(window).scrollTop();\r\n viewport.bottom = viewport.top + $(window).height();\r\n var bounds = {};\r\n bounds.top = this.offset().top;\r\n bounds.bottom = bounds.top + this.outerHeight();\r\n return ((bounds.top <= viewport.bottom) && (bounds.bottom >= viewport.top));\r\n }\r\n});\r\n\r\n$.fn.extend({\r\n scrollIntoView: function (options) {\r\n var options = $.extend(\r\n {\r\n speed: \"slow\",\r\n minimumVisible: 20,\r\n show: false,\r\n scrollBeyondBounds: false\r\n },\r\n options)\r\n\r\n var visible = $(this).is(\":visible\");\r\n\r\n if (!visible && !options.show)\r\n return;\r\n\r\n // show in this event loop so we can calc offsets\r\n if (options.show && !visible)\r\n $(this).show();\r\n\r\n var elemOffsetTop = $(this).offset().top;\r\n var elemHeight = $(this).outerHeight();\r\n var winHeight = $(window).height();\r\n var winScrollTop = $(window).scrollTop();\r\n\r\n if (options.show && !visible)\r\n $(this).hide();\r\n\r\n var visibleHeight = (winHeight + winScrollTop) - elemOffsetTop;\r\n if (visibleHeight >= (options.scrollBeyondBounds ? options.minimumVisible : Math.min(options.minimumVisible, elemHeight))) {\r\n // No need to scroll\r\n if (options.show)\r\n $(this).slideDown(options.speed);\r\n\r\n return $(this);\r\n }\r\n\r\n // Show immediately, we will animate the scrolling part\r\n if (options.show) $(this).show();\r\n\r\n // Element is out of view, scroll into view\r\n var newWinScrollTop = Math.min((elemOffsetTop + Math.max(elemHeight, options.scrollBeyondBounds ? options.minimumVisible : elemHeight)) - winHeight, elemOffsetTop);\r\n if (newWinScrollTop > 0 && newWinScrollTop > winScrollTop) // Only scroll down, not back up\r\n $('html, body').animate({\r\n scrollTop: newWinScrollTop\r\n }, options.speed);\r\n\r\n return $(this);\r\n }\r\n});\r\n\r\n$.fn.extend({\r\n clearField: function(){\r\n var elem = $(this).get(0);\r\n if (elem == null) return;\r\n var type = elem.type;\r\n var tag = elem.tagName.toLowerCase();\r\n if (type == 'text' || type == 'password' || tag == 'textarea' || type == 'file')\r\n this.val('');\r\n else if (type == 'checkbox' || type == 'radio')\r\n this.prop(\"checked\", false);\r\n else if (tag == 'select')\r\n elem.selectedIndex = 0;\r\n this.trigger('change');\r\n return $(this);\r\n }\r\n});\r\n\r\n//set start up values\r\n$(function() {\r\n\r\n // NOTE: Due to the nature of the Font Size control buttons, their hover state \r\n // is handled seperately, within \"/scripts/pemco.com.rootsite.js\"\r\n\r\n $('.btnHover').addHover();\r\n\r\n $('div.listItemTitle').hover(\r\n function() {\r\n $(this).prev().trigger('mouseenter');\r\n },\r\n function() {\r\n $(this).prev().trigger('mouseout');\r\n }\r\n );\r\n\r\n $('div[id$=_listItemImage]').hover(\r\n \tfunction() {\r\n \t // cannot trigger mouse events for div.listItemTitle because of recursion\r\n $(this).next().find('a').css('color', '#ebad30');\r\n \t},\r\n \tfunction() {\r\n \t $(this).next().find('a').css('color', '');\r\n \t}\r\n );\r\n\r\n $(\".mailto\").emailencode();\r\n //set current page name\r\n var pthName = window.location.pathname;\r\n currentPage = pthName.substring(pthName.lastIndexOf('/') + 1);\r\n\r\n // disable all links in inquiry mode\r\n $(\"body.inquirymode\")\r\n .attr(\"onclick\",\"\")\r\n .on(\"click\", \".readonly, .readonly a\", function (e) {\r\n e.preventDefault();\r\n return false;\r\n })\r\n});\r\n\r\n(function ($) {\r\n $.fn.emailencode = function (options) {\r\n var settings = jQuery.extend({\r\n atsign: \"*\"\r\n }, options);\r\n\r\n return this.each(function () {\r\n var address = $(this).attr(\"href\");\r\n var formatedAddress = address.replace(settings.atsign, \"@\");\r\n $(this).attr(\"href\", \"mailto:\" + formatedAddress);\r\n });\r\n };\r\n})(jQuery);\r\n\r\nString.prototype.HtmlEncode = function() {\r\n return this.replace(/&/g, '&').replace(//g, '>');\r\n};\r\n\r\nString.prototype.HtmlDecode = function() {\r\n return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\r\n};\r\n\r\ntry {document.domain = \"pemco.com\";} catch(ex){};\r\n\r\nfunction ratingsDisplayed(totalReviewsCount, avgRating, ratingsOnlyReviewCount, recommendPercentage, productID) {\r\n if (totalReviewsCount == 0) {\r\n var bvRevCntr = document.getElementById(\"BVReviewsContainer\");\r\n var bvSVPLink = document.getElementById(\"BVSVPLinkContainer\");\r\n\r\n if (bvRevCntr) { bvRevCntr.style.display = \"none\"; }\r\n if (bvSVPLink) { bvSVPLink.style.display = \"none\"; }\r\n }\r\n\r\n if (window.location.href.toLowerCase().indexOf('purchase/auto/start.aspx') > -1) {\r\n $('.BVRRRatingSummarySubhead, .BVRRRatingSummaryLinks a').hide();\r\n }\r\n\r\n if (typeof onAfterDomModified === 'function') {\r\n onAfterDomModified();\r\n }\r\n}\r\n\r\nfunction loadPurchaseService(callback, error) {\r\n if (typeof (PEP) == 'undefined') {\r\n $.getScript('/purchase/services/purchaseservices.asmx/js', function (data, textStatus, jqxhr) {\r\n if(typeof (callback) != 'undefined')\r\n callback();\r\n },\r\n function (data) {\r\n if (typeof (error) != 'undefined')\r\n error(data);\r\n });\r\n }\r\n else {\r\n if (typeof (callback) != 'undefined')\r\n callback();\r\n }\r\n}\r\n\r\nfunction pageChanged(pageName, pageStatus) {\r\n}\r\n\r\nfunction BVHandleSummaryResults(jsonData) {\r\n var reviewsSummaryContent = document.getElementById('ReviewsSummaryContent_' + jsonData.subjectID);\r\n if (reviewsSummaryContent) {\r\n if (jsonData.totalReviews > 0 && jsonData.reviewsUrl.length > 0) {\r\n var readReviewStr = \"Read \" + jsonData.totalReviews + \" Reviews\";\r\n reviewsSummaryContent.innerHTML += \"Average Rating: \" + jsonData.averageRating.toFixed(2) + \"
\";\r\n reviewsSummaryContent.innerHTML += readReviewStr.link(jsonData.reviewsUrl);\r\n }\r\n }\r\n}\r\n\r\nfunction getQuerystringValue(key, defaultValue) {\r\n if (defaultValue == null) defaultValue = \"\";\r\n key = key.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + key + \"=([^&#]*)\");\r\n var qs = regex.exec(window.location.href);\r\n if (qs == null)\r\n return defaultValue;\r\n else\r\n return qs[1];\r\n}\r\n\r\n$.support.touch = ('ongesturestart' in document.createElement('div'));\r\n$.support.placeholder = ('placeholder' in document.createElement('input'));\r\nif ($.support.placeholder)\r\n $.fn.placeholderPollyFill = function () { return this; };\r\nelse {\r\n var handleWatermark = function () {\r\n var $e = $(this);\r\n var c = $e.attr('placeholder') + '-watermark';\r\n if ($e.val().length > 0) $e.removeClass(c);\r\n else $e.addClass(c);\r\n };\r\n $.fn.placeholderPollyFill = function () {\r\n if ($.support.placeholder) return this;\r\n return this.each(function () {\r\n var $this = $(this);\r\n if ($this.attr('placeholder')) {\r\n handleWatermark.call(this);\r\n $this\r\n\t\t\t\t.focus(function () { $this.removeClass($this.attr('placeholder') + '-watermark'); })\r\n\t\t\t\t.blur(handleWatermark);\r\n }\r\n });\r\n };\r\n $(function () {\r\n $('[placeholder]').placeholderPollyFill();\r\n });\r\n}\r\n\r\nvar pepTracking = {\r\n omniture: {\r\n skipBuiltInTrack: false\r\n }\r\n};\r\n\r\nvar IdleTimer = function (milliseconds, callback) {\r\n var t;\r\n\r\n var eventNames = [\r\n \"mousemove\",\r\n \"mousedown\",\r\n \"click\",\r\n \"scroll\",\r\n \"keypress\"\r\n ];\r\n\r\n var start = function () {\r\n var i = 0;\r\n while (i < eventNames.length) {\r\n window.addEventListener(eventNames[i], reset);\r\n i++;\r\n }\r\n };\r\n\r\n var reset = function () {\r\n clearTimeout(t);\r\n t = setTimeout(callback, milliseconds);\r\n };\r\n\r\n var turnOff = function () {\r\n var i = 0;\r\n while (i < eventNames.length) {\r\n window.removeEventListener(eventNames[i], reset);\r\n i++;\r\n }\r\n };\r\n\r\n return {\r\n start: start,\r\n turnOff: turnOff\r\n };\r\n};\r\n\r\nvar BrowserIE = {\r\n IsIe: function () {\r\n return navigator.appVersion.indexOf(\"MSIE\") > -1 || navigator.appVersion.indexOf(\"Trident/\") > -1;\r\n },\r\n Navigator: navigator.appVersion,\r\n Version: function () {\r\n var version = 999; // we assume a sane browser\r\n if (navigator.appVersion.indexOf(\"MSIE\") != -1)\r\n // bah, IE again, lets downgrade version number\r\n version = parseFloat(navigator.appVersion.split(\"MSIE\")[1]);\r\n return version;\r\n }\r\n};\r\n\r\n// Add support for window.matchMedia() for older browsers (IE9 etc)\r\nwindow.matchMedia || (window.matchMedia = function () {\r\n \"use strict\";\r\n\r\n // For browsers that support matchMedium api such as IE 9 and webkit\r\n var styleMedia = (window.styleMedia || window.media);\r\n\r\n // For those that don't support matchMedium\r\n if (!styleMedia) {\r\n var style = document.createElement('style'),\r\n script = document.getElementsByTagName('script')[0],\r\n info = null;\r\n\r\n style.type = 'text/css';\r\n style.id = 'matchmediajs-test';\r\n\r\n script.parentNode.insertBefore(style, script);\r\n\r\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\r\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\r\n\r\n styleMedia = {\r\n matchMedium: function (media) {\r\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\r\n\r\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = text;\r\n } else {\r\n style.textContent = text;\r\n }\r\n\r\n // Test if media query is true or false\r\n return info.width === '1px';\r\n }\r\n };\r\n }\r\n\r\n return function (media) {\r\n return {\r\n matches: styleMedia.matchMedium(media || 'all'),\r\n media: media || 'all'\r\n };\r\n };\r\n}());\r\n\r\nvar MobileQuoteBar = new function () {\r\n var isNoticeBarShown = false;\r\n var wasAtBottom = (document.documentElement.scrollTop + window.innerHeight === document.documentElement.scrollHeight);\r\n\r\n toggleBottomQuoteBar = function () {\r\n if (window.pageYOffset > 0) {\r\n $('#noticeBar').addClass('show');\r\n if (!isNoticeBarShown) {\r\n $('#noticeBar').addClass('slideInUp');\r\n window.setTimeout(function () {\r\n $('#noticeBar').removeClass('slideInUp');\r\n }, 1000);\r\n }\r\n $('#actionBar').removeClass('bottomBar_shadow');\r\n isNoticeBarShown = true;\r\n }\r\n else {\r\n if (isNoticeBarShown) {\r\n $('#noticeBar').addClass('slideOutDown');\r\n window.setTimeout(function () {\r\n $('#noticeBar').removeClass('slideOutDown');\r\n $('#noticeBar').removeClass('show');\r\n }, 1000);\r\n }\r\n\r\n isNoticeBarShown = false;\r\n }\r\n };\r\n\r\n toggleNoticeBarShadow = function () {\r\n var isNowAtBottom = (document.documentElement.scrollTop + window.innerHeight === document.documentElement.scrollHeight);\r\n if (wasAtBottom && !isNowAtBottom) {\r\n $('#noticeBar').addClass('bottomBar_shadow');\r\n wasAtBottom = false;\r\n }\r\n else if (isNowAtBottom) {\r\n $('#noticeBar').removeClass('bottomBar_shadow');\r\n wasAtBottom = true;\r\n }\r\n };\r\n\r\n init = function () {\r\n toggleBottomQuoteBar();\r\n window.setTimeout(toggleNoticeBarShadow, 1000);\r\n\r\n $(window).scroll(function () {\r\n toggleBottomQuoteBar();\r\n toggleNoticeBarShadow();\r\n });\r\n\r\n if (document.querySelector('#noticeBar') !== null) {\r\n document.querySelector('#noticeBar').addEventListener('animationend', function () {\r\n if (!isNoticeBarShown)\r\n $('#actionBar').addClass('bottomBar_shadow');\r\n });\r\n }\r\n\r\n };\r\n\r\n return {\r\n Init: init,\r\n ToggleQuoteBar: toggleBottomQuoteBar,\r\n ToggleQuoteBarShadow: toggleNoticeBarShadow\r\n };\r\n}();\r\n\r\nvar Engagement = new function () {\r\n var track = function (engagementData) {\r\n return new Promise(function (resolve, reject) {\r\n $.ajax({\r\n type: \"POST\",\r\n url: \"/purchase/common/TrackEngagement\",\r\n dataType: \"json\",\r\n data: {\r\n PolicyCacheID: engagementData.PolicyCacheID,\r\n CifID: engagementData.CifID,\r\n EngagementType: engagementData.EngagementType,\r\n Area: engagementData.Area,\r\n PageName: engagementData.PageName,\r\n Initiated: engagementData.Initiated,\r\n UserAgent: navigator.userAgent,\r\n PolicyNumber: engagementData.PolicyNumber,\r\n PolicyID: engagementData.PolicyID\r\n },\r\n success: function (result) { },\r\n error: function (req, status, error) {\r\n console.log(\"We could not save the engagement. \");\r\n }\r\n }).done(resolve).fail(reject);\r\n })\r\n };\r\n\r\n return {\r\n Track: track\r\n };\r\n};\r\n\r\nvar SalesLead = new function () {\r\n var process = function (leadData) {\r\n return new Promise(function (resolve, reject) {\r\n $.ajax({\r\n type: \"POST\",\r\n url: \"/purchase/common/ProcessLead\",\r\n dataType: \"json\",\r\n data: {\r\n referenceNumber: leadData.referenceNumber,\r\n policyCacheId: leadData.policyCacheId\r\n }\r\n }).done(resolve).fail(reject);\r\n })\r\n };\r\n\r\n return {\r\n Process: process\r\n }\r\n}\r\n\r\nvar SchedulerWidget = new function () {\r\n var context\r\n\r\n var Init = function (schedulerContext) {\r\n context = schedulerContext;\r\n\r\n var callSchedulerLink = \"https://app.responseiq.com/widgetsrc.php?widget=\" + context.widgetId;\r\n\r\n if (context.hidePhoneIcon)\r\n callSchedulerLink += \"&cwHiddenMode=true\";\r\n\r\n addSchedulerScript(callSchedulerLink);\r\n\r\n window.addEventListener('message', riqMessageHandler);\r\n }\r\n\r\n var IsAvailable = function () {\r\n return $('iframe[name=\"ResponseIq-Iframe\"]').length > 0 && $('iframe[name=\"ResponseIq-Iframe\"]').contents().find(\"#riq_dilricn2nw\").length > 0;\r\n }\r\n // Note: the open() method was replaced by adding a CSS class to the element, but kept here in case it's still needed.\r\n // See https://knowledge.responseiq.com/en/articles/4061781-control-your-widget-via-javascript-and-installation-code\r\n var Open = function (e) {\r\n window.Responseiq.CallbackWidget.toggleWidgetOpenState();\r\n e.stopPropagation();\r\n }\r\n\r\n var addSchedulerScript = function (src) {\r\n (function (d, s, id) {\r\n var js,\r\n fjs = d.getElementsByTagName(s)[0];\r\n js = d.createElement(s);\r\n js.id = id;\r\n js.src = src;\r\n fjs.parentNode.insertBefore(js, fjs);\r\n })(document, \"script\", \"riq-main\");\r\n }\r\n\r\n // Code taken by Martin Hecher at ResponseiQ. See https://gist.github.com/martinhecher/f0e9d1156d474cf27daa880833231e3f.\r\n var isRiqMessage = function(message) {\r\n return message.data &&\r\n message.data.category &&\r\n message.data.category === 'callback-widget' &&\r\n message.data.event &&\r\n message.data.event === 'call:requested';\r\n }\r\n\r\n var riqMessageHandler = function (message) {\r\n if (!isRiqMessage(message)) {\r\n return;\r\n }\r\n var data = message.data.data;\r\n\r\n Engagement.Track({\r\n PolicyCacheID: context.policyCacheId,\r\n CifID: context.cifId,\r\n EngagementType: \"Call Request: \" + data.callType,\r\n Area: context.area,\r\n PageName: context.page,\r\n Initiated: true,\r\n UserAgent: navigator.userAgent,\r\n PolicyNumber: context.policyNumber,\r\n PolicyID: context.policyID\r\n }).then(\r\n function finished(data) {\r\n if (data.Result !== \"Success\") {\r\n console.log(\"Error saving engagement.\");\r\n console.log(data);\r\n return;\r\n }\r\n if (context.area === \"Purchase\") {\r\n SalesLead.Process({\r\n referenceNumber: context.referenceNumber,\r\n policyCacheId: context.policyCacheId\r\n });\r\n }\r\n });\r\n\r\n if (context.isProduction && typeof ga === \"function\") {\r\n var trackerName = ga.getAll()[0].get(\"name\");\r\n var command = trackerName + \".send\";\r\n\r\n if (data.callType === \"instant\")\r\n ga(command, 'event', 'ResponseiQ', 'call.now.button.clicked', 'Call Now Button Clicked', 0);\r\n else if (data.callType === \"scheduled\")\r\n ga(command, 'event', 'ResponseiQ', 'schedule.button.clicked', 'Schedule Button Clicked', 0);\r\n }\r\n }\r\n\r\n return {\r\n Init: Init,\r\n IsAvailable: IsAvailable,\r\n Open: Open\r\n };\r\n}\r\n\r\nvar Cobrowse = new function () {\r\n var sessionData;\r\n\r\n var init = function (cobrowseData) {\r\n sessionData = cobrowseData;\r\n\r\n var cobrowseInterval = setInterval(function () {\r\n if (typeof RcrsvAPI !== \"undefined\") {\r\n // No need for the alert here, but saving this in case we want to do something special in the future.\r\n RcrsvAPI.once('incompatible', function () {\r\n ChatWidget.ToggleCobrowse(false);\r\n });\r\n\r\n RcrsvAPI.on('in session', function (resuming) {\r\n if (resuming.resumingSession) {\r\n sessionData.initiated = false;\r\n\r\n var context = null;\r\n if (typeof getPageAndPolicyContext === \"function\")\r\n context = getPageAndPolicyContext();\r\n logSession(context);\r\n\r\n window.setTimeout(function () { ChatWidget.AdjustPositionForCobrowse(true); }, 500);\r\n }\r\n });\r\n\r\n if (sessionData.onCobrowseEnd)\r\n RcrsvAPI.on('end session', sessionData.onCobrowseEnd);\r\n\r\n clearInterval(cobrowseInterval);\r\n }\r\n }, 100);\r\n };\r\n\r\n var logSession = function (contextInfo) {\r\n\r\n if (contextInfo) {\r\n sessionData.page = contextInfo.pageName;\r\n sessionData.policyNumber = contextInfo.policyNumber;\r\n sessionData.policyID = contextInfo.policyID;\r\n }\r\n\r\n Engagement.Track({\r\n PolicyCacheID: sessionData.policyCacheId,\r\n CifID: sessionData.cifId,\r\n EngagementType: 'Cobrowse',\r\n Area: sessionData.area,\r\n PageName: sessionData.page,\r\n Initiated: sessionData.initiated,\r\n UserAgent: navigator.userAgent,\r\n PolicyNumber: sessionData.policyNumber,\r\n PolicyID: sessionData.policyID\r\n });\r\n };\r\n\r\n var launch = function () {\r\n sessionData.initiated = true;\r\n if (RcrsvAPI.getCurrentState() === \"in session\") {\r\n throw new Error(\"A screen sharing session is already in progress\");\r\n }\r\n else {\r\n RcrsvAPI.once('added join code', function (code) {\r\n if (ChatWidget)\r\n ChatWidget.SendMessage(\"Screen sharing code: \" + code);\r\n });\r\n\r\n RcrsvAPI.once('in session', function () {\r\n if (RcrsvAPI.session.getSessionInfo().joinCodes.length > 0) {\r\n console.log('Existing join code is: ' + RcrsvAPI.session.getSessionInfo().joinCodes[0]);\r\n }\r\n else {\r\n RcrsvAPI.session.addJoinCode();\r\n }\r\n\r\n if (sessionData.onCobrowseStart)\r\n sessionData.onCobrowseStart();\r\n });\r\n\r\n if (sessionData.onCobrowseEnd)\r\n RcrsvAPI.on('end session', sessionData.onCobrowseEnd);\r\n\r\n if (RcrsvAPI.getCurrentState() === \"no session\") {\r\n\r\n RcrsvAPI.session.start({\r\n hostName: sessionData.username,\r\n hostEmail: sessionData.emailAddress,\r\n isReplay: false\r\n });\r\n }\r\n }\r\n };\r\n\r\n var isSupportedBrowser = function () {\r\n if (typeof RcrsvAPI !== \"undefined\" && RcrsvAPI.getCurrentState() === \"incompatible browser\")\r\n return false;\r\n\r\n if (typeof bowser === \"undefined\")\r\n return true; // just default to allowing it in case something screwy happens with bowser loading.\r\n\r\n switch (bowser.name) {\r\n case 'Chrome':\r\n case 'Firefox':\r\n case 'Safari':\r\n case 'iPad':\r\n case 'iPhone':\r\n case 'Microsoft Edge':\r\n case 'Edge':\r\n return true;\r\n\r\n case 'Internet Explorer':\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n var isInSession = function() {\r\n if (typeof RcrsvAPI === \"undefined\")\r\n return false;\r\n return (RcrsvAPI.getCurrentState() === \"in session\");\r\n };\r\n\r\n return {\r\n Init: init,\r\n Launch: launch,\r\n LogSession: logSession,\r\n IsSupportedBrowser: isSupportedBrowser,\r\n IsInSession: isInSession\r\n };\r\n}();\r\n\r\nvar GoogleReview = new function () {\r\n function initSigninV2(strLoggedin, strLoggedOut, $reviewDiv, policyNbrAndId) {\r\n var reviewClicked = $.cookie(\"GoogleReviewClicked\");\r\n $reviewDiv.on(\"click\", function (e) {\r\n if (e.target.nodeName != 'A' || e.target.getAttribute(\"href\") == null || e.target.getAttribute(\"href\").indexOf(\"/contact-us\") == -1) {\r\n reviewBtnClicked(policyNbrAndId);\r\n }\r\n });\r\n\r\n sessionParams = {\r\n 'client_id': 'YOUR_CLIENT_ID_HERE',\r\n 'session_state': null,\r\n };\r\n if (gapi && gapi.auth) {\r\n gapi.auth.checkSessionState(sessionParams, function (stateMatched) {\r\n if (stateMatched == true) {\r\n if (reviewClicked == undefined || reviewClicked == \"false\" || reviewClicked == false)\r\n $reviewDiv.html(strLoggedOut);\r\n } else if (stateMatched == false) {\r\n if (reviewClicked == undefined || reviewClicked == \"false\" || reviewClicked == false)\r\n $reviewDiv.html(strLoggedin);\r\n }\r\n });\r\n }\r\n }\r\n \r\n function reviewBtnClicked(policyNbrAndId) {\r\n \r\n setCookies();\r\n\r\n var pageName = $(this).attr(\"currentPage\");\r\n var fullPolicyNumber = null;\r\n var policyId = null;\r\n\r\n if (policyNbrAndId) {\r\n var policyList = policyNbrAndId.split(';');\r\n if (policyList.length === 2) {\r\n fullPolicyNumber = policyList[0];\r\n policyId = policyList[1];\r\n }\r\n }\r\n $.ajax({\r\n type: \"POST\",\r\n url: \"/purchase/common/TrackEngagement\",\r\n dataType: \"json\",\r\n data: {\r\n CifID: sessionStorage.getItem('Id'),\r\n EngagementType: 'Google Review',\r\n Area: 'Self-Service',\r\n PageName: pageName,\r\n Initiated: true,\r\n UserAgent: navigator.userAgent,\r\n PolicyNumber: fullPolicyNumber,\r\n PolicyID: policyId\r\n }\r\n });\r\n }\r\n\r\n function setCookies() {\r\n var googleReviewCookieExpirationDays = Number(window.sessionStorage.getItem(\"googleReviewCookieExpirationDays\") || 1); // default to 1 day\r\n $.cookie(\"GoogleReviewClicked\", \"true\", { expires: googleReviewCookieExpirationDays, path: '/' });\r\n $.cookie(\"GoogleReviewLastClicked\", new Date().toUTCString(), { expires: 365, path: '/' });\r\n }\r\n\r\n return {\r\n InitSigninV2: initSigninV2\r\n };\r\n}();\r\n"]}