{"version":3,"sources":["lps_main.js"],"names":["PeopleMedia","CP","$jq","_domainName","_subdomain","_siteID","_domainID","_serverID","_searchID","_searchCategoryID","_pinnedSearchID","_pinnedSearchCategoryID","_affiliateID","_pageFolder","_pagePath","_pageVersion","_pageAlias","_sponsorID","_visitorID","_sessionVisitorID","_username","_genderID","_genderSeekID","_cpServer","_publicMemberId","_defaultGenderID","_defaultGenderSeekID","_defaultMinAge","_defaultMaxAge","_emailGuid","Oid","ClientMessages","RegHandle","RegEmail","RegPassword","RegCountryCode","RegPostalcode","RegCity","RegState","RegGender","RegBirthDay","RegBirthMonth","RegBirthYear","RegBirthGeneric","RegBirthUnder18","RegTermsAndConditions","LoginHandle","LoginPassword","RegCaptcha","_sessionid","_theme","_ready","_initComplete","_stacktraceScriptLoaded","_autologinEnabled","_persistentLoginEnabled","_genderSeekEnabled","_invalidEmailDomainCheckEnabled","_contentVersion","_versionedContentRoot","_eventTrackingEnabled","_eventTrackingPermitted","_facebookAppId","_facebookAuthData","_onReadyComplete","_onReadyHandlers","SessionId","sessionid","arguments","length","Theme","theme","DomainName","domainName","Net","getDomainName","Subdomain","subdomain","SiteID","siteID","DomainID","domainID","ServerID","serverID","SearchID","searchID","SearchCategoryID","searchCategoryID","PinnedSearchID","pinnedSearchID","PinnedSearchCategoryID","pinnedSearchCategoryID","AffiliateID","affiliateID","SponsorID","sponsorID","VisitorID","visitorID","SessionVisitorID","GenderID","genderID","GenderSeekID","genderSeekID","Username","username","CpServer","cpServer","PageFolder","pageFolder","PagePath","pagePath","PageVersion","pageVersion","PageAlias","pageAlias","AutoLoginEnabled","autologinEnabled","PersistentLoginEnabled","persistentLoginEnabled","GenderSeekEnabled","genderSeekEnabled","InvalidEmailDomainCheckEnabled","invalidEmailDomainCheckEnabled","ContentVersion","contentVersion","VersionedContentRoot","versionedContentRoot","DefaultGenderID","defaultGenderID","convertGenderToID","DefaultGenderSeekID","defaultGenderSeekID","DefaultMinAge","defaultMinAge","age","parseInt","isNaN","DefaultMaxAge","defaultMaxAge","EmailGuid","emailGuid","EventTrackingPermitted","eventTrackingPermitted","EventTrackingEnabled","eventTrackingEnabled","AjaxErrorMessage","FacebookAppId","facebookAppId","FacebookImportReset","clearFacebookImportStatus","FacebookImportSelected","facebookImportSelected","status","getFacebookImportStatus","selected","extend","setFacebookImportStatus","FacebookImportAttempted","facebookImportAttempted","attempted","FacebookImportFailed","facebookImportFailed","failed","FacebookImportGreetingFailed","facebookImportGreetingFailed","greetingFailed","FacebookImportPhotoFailed","facebookImportPhotoFailed","photoFailed","FacebookImportMember","facebookMember","member","FacebookAuthData","facebookAuthData","getFacebookAuthData","setFacebookAuthData","LpsPostbackHeader","header","$af","$token","find","val","ex","isAjaxCancelled","jqXHR","textStatus","errorThrown","readyState","handleException","oid","method","convertAjaxErrorToFault","codeValue","isCancelled","reason","responseText","indexOf","Code","Subcode","IsValid","Fault","Value","Name","Reason","IsAjaxError","IsCancelled","convertFaultToError","obj","field","errorObj","reasonIsArray","Utilities","isArray","Text","Field","createErrorObject","prop","errObj","errProp","getFirstError","errors","init","config","siteId","visitorId","visitorIdNumeric","searchId","affiliateId","sponsorId","genderId","genderSeekId","autoLoginEnabled","domainId","serverId","searchCategoryId","pinnedSearchId","pinnedSearchCategoryId","publicMemberId","initSessionValues","initQueryStringValues","initComplete","sessionCookie","readCookie","esid","ESID","THEME","loadState","saveState","eraseCookie","data","authData","value","createCookie","currentQueryString","keyValues","getQueryString","getQueryStringValue","gender","genderSeek","minAge","maxAge","initLogging","window","onerror","handleError","executeOnReadyCallback","handler","processed","cb","executeAllOnReadyHandlers","i","tryReady","trackRegistrationPage","document","ready","onReady","push","ui_busy","css","show","ui_done","hide","getStackTrace","exception","printStackTrace","e","guess","getDetailString","detail","result","JSON","stringify","formatErrorMessage","message","substr","formatStackTrace","stacktrace","encodeURI","join","formatDetailString","detailString","completeFunction","exceptionTypeName","url","lineNumber","name","fileName","_logExceptionPost","logAjax","logAjaxError","lowerUrl","toLowerCase","readystate","jqXHRStatus","statusText","jqXHRStatusText","jqXHRResponseText","href","location","logMessage","errorData","additionalInfo","SkipCSSVerif","jQuery","ajax","type","dataType","success","redirect","complete","finishCompletion","async","cache","timeout","appName","formatRegistrationEventError","error","formatRegistrationEventInfo","element","addlInfo","simpleArrayToString","isNullOrMissing","options","eventData","trackMemberRegistrationEvents","trackRegistrationSuccess","id","NickName","trackMemberRegistrationEvent","trackRegistrationCompleted","urlLower","trackRegistrationFailure","getRegistrationEventAnalyticsAction","isSearchIdPaid","Configuration","searchIdIsPaid","isMobile","trackRegistrationEventAnalytics","_gaq","action","trackEvent","createElement","innerHTML","getElementsByTagName","appendChild","formatTrackedRegItem","toString","trim","getFormattedTrackedRegItems","values","formattedItems","currentItem","formatRegistrationEventAlias","str","trackRegistrationEventShowRegQuestionsWithCategory","questionIds","category","trackRegistrationEventShowRegQuestions","trackRegistrationEventShowRegErrors","trackRegistrationEventShow","trackRegistrationEventShowWithAliasPanelViewed","panelAlias","showValue","viewedValue","Show","Viewed","trackRegistrationEventAliasPanelViewed","trackRegistrationEventAliasButtonTapped","buttonAlias","trackRegistrationEventOneClickGreetingSubmit","greetingItem","textValue","greetingId","greetingType","greetingTitle","greetingDescription","key","trackedValues","addEnterKeyAction","containerName","targetName","selectorTarget","charAt","selectorContainer","btn","parents","on","which","target","each","index","visible","b","parent","trigger","getSiteUrl","path","useSSL","basePath","getUrlWithoutQueryString","qsPath","getQueryStringFromUrl","qs","sessionId","split","qsPathKeyValues","parseQueryString","createQueryString","substring","reservedKeys","getQueryStringKeys","qsCurrentKeyValues","qsCurrent","addQueryStringValue","protocolIndex","baseStart","slashStart","protocol","startLoginFlow","getSelfProfileComplete","profileErr","getSelfProfileCompleteResponse","AutoLoginDetail","loginSource","ofp","ofpParameters","loginFlowFinishPhotoUpload","quickSearch","gotoSite","queryString","getCpUrl","cpPage","gotoCPPage","genderLower","isLoggedIntoSite","onComplete","startTime","Date","getTime","contentType","loginData","userId","token","signinStatus","signInStatus","endTime","duration","createGeneralError","gotoPromoUpgrade","loginErr","loginQS","apiMemberRequest","memberRequestData","memberRequestDataWithContext","Context","authenticateRegisteredMembers","authenticateRegisteredMembersErr","authenticateRegisteredMembersResponse","memberRequestDataWithTokenAndContext","Token","headers","response","seeking","getSelfProfileCompleteRequest","err","apiMemberRequestResponse","ajaxData","DetailLevel","detailResponse","requestData","convertSelfProfileCompleteToCommunityMember","selfProfileCompleteResponse","memberId","emailAddress","Identifier","EmailAddress","AutoLoginUrl","hostname","EncodedMemberId","EncodedIdentifier","SiteId","Gender","SeekingGender","PublicMemberId","IsDuplicateEmailAddressOnSisterSite","IsDuplicateEmailAddressUsernameAndPasswordOnSisterSite","SisterSiteID","SisterSiteName","errMessage","loadDDL","ddlId","valuePropertyName","textPropertyName","ddl","getElementById","idx","item","o","text","add","Diagnostics","loadAgeDropDownList","dropDown","empty","append","initDefaultForm","getPublicMemberProperties","GenderId","GenderSeekId","Member","Messaging","_messages","_handlers","addHandler","removeHandler","splice","invoke","results","apply","cbex","hasMessageSummary","getMessageSummary","hasFieldLevelError","fieldName","getFieldLevelError","filter","addOnShowMessages","removeOnShowMessages","reset","html","this","label","removeClass","messages","messageTracking","addClass","focus","fieldError","showEmailError","dim","fadeTo","dateStringToDate","dtString","reISO","reMsAjax","a","exec","UTC","parseDateString","reYYYYMMDD","reMMDDYYYY","dtMonth","dtDay","dtYear","dt","isValid","formattedYYYYMMDD","s","getFullYear","getMonth","getDate","month","day","formatDateMMDDYYYY","date","formatDateYYYYMMDD","year","formatDateYYYYMMDD_HHMMSS","hour","getHours","minute","getMinutes","sec","getSeconds","calculateAgeInYears","startDate","endDate","end","isNullOrWhiteSpace","test","isGuid","RegExp","isNullOrEmpty","Array","Object","prototype","call","formatHeight","heightInInches","display","height","feet","Math","floor","inches","transitionEndEventName","el","transitions","transition","OTransition","MozTransition","WebkitTransition","hasOwnProperty","style","debounce","func","wait","immediate","context","args","later","callNow","clearTimeout","setTimeout","scrollPosition","enableBodyScrolling","scrollTo","disableBodyScrolling","pageYOffset","isCommandKey","formattedTime","d","h","m","l","detectIOS","MSStream","navigator","userAgent","match","Consent","_consentAccepted","_personalizedConsent","_rejectAllClicked","_acceptAllClicked","_acceptClicked","_personalizeConfirmChoicesClicked","_loggedModal","$sdk","sdkInterval","sdkIntervalCount","refreshAfterConsent","getConsentAccepted","parseConsentGroups","map","kvp","keyIndex","getConsentGroups","optanonConsentCookie","consent","parseKeyValueString","groups","getPageId","pageDefinitionId","isEventValid","eventName","trackConsentEvents","params","validEvents","events","trackConsentEventsComplete","Events","PageDefinitionId","suppressErrors","trackConsentEvent","eventValue","callback","trackConsentChanged","trackedEvents","pageId","alertBoxClosed","groupString","groupParsed","shouldRefresh","accept","personalized","rejectAll","acceptAll","personalizedConfirmChoices","Advertising","onConsentChanged","reload","modalVisible","detectBannerDisplay","setInterval","clearInterval","console","log","onConsentPersonalizeTapped","onConsentMainAcceptTapped","onConsentMainAllowAllTapped","onConsentMainRefuseAllTapped","onConsentPersonalizeConfirmChoicesTapped","initialize","addEventListener","consentAccepted","consentGroups","ArkoseCaptcha","_captchaToken","_captchaLocation","_pageDefinitionId","_onValidateComplete","_$form","_selector","_isScriptLoaded","_scriptsReady","_scriptsFailed","_enforceTimer","_arkose","updateCaptchaTokenInForm","$inputToken","includeCaptchaFieldsInForm","captchaToken","captchaLocation","$form","$inputAction","$inputPageDefinitionId","onArkoseEnforcementComplete","timerExpired","setArkose","enforcement","setupEnforcement","setConfig","loadScripts","arkoseScript","attrib","createAttribute","setAttributeNode","src","arkoseSiteKey","head","execute","selector","onCompleted","run","onValidateComplete","scriptsFailed","scriptsReady","Animations","animations","_loaderTimeout","setupLottieAnimations","themeAnimationPath","querySelectorAll","forEach","animation","lottie","loadAnimation","container","animationData","renderer","loop","autoplay","loadLottie","lottieScript","onload","imagePath","showLoader","$loader","legacy","anim","play","hideLoader","hasClass","stop","loaderVisible","cancelDelayedLoader","showDelayedLoader","delayMilliseconds"],"mappings":"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","file":"../lps_main.js","sourcesContent":["var PeopleMedia = PeopleMedia || {};\r\nPeopleMedia.CP = (function ($jq) {\r\n \"use strict\";\r\n var Oid = \"PeopleMedia.CP\";\r\n var ClientMessages = {\r\n \"RegHandle\": \"Please enter your first name.\",\r\n \"RegEmail\": \"Please enter an email address.\",\r\n \"RegPassword\": \"Please enter a password.\",\r\n \"RegCountryCode\": \"Please select a country.\",\r\n \"RegPostalcode\": \"Please enter a valid zip/postal code.\",\r\n \"RegCity\": \"Please enter a city.\",\r\n \"RegState\": \"Please enter a state.\",\r\n \"RegGender\": \"Please enter your gender.\",\r\n \"RegBirthDay\": \"Please enter the Day of your birth.\",\r\n \"RegBirthMonth\": \"Please enter the Month of your birth.\",\r\n \"RegBirthYear\": \"Please enter the Year of your birth.\",\r\n \"RegBirthGeneric\": \"Please enter your complete birthday.\",\r\n \"RegBirthUnder18\": \"You must be past your 18th birthday to participate in this site.\",\r\n \"RegTermsAndConditions\": \"You must agree to the Terms and Conditions.\",\r\n \"LoginHandle\": \"Please enter your email address.\",\r\n \"LoginPassword\": \"Please enter your password.\",\r\n \"RegCaptcha\": \"Please prove you're not a robot\"\r\n };\r\n var _sessionid = '00000000-0000-0000-0000-000000000000';\r\n var _theme = 0;\r\n var _domainName;\r\n var _subdomain;\r\n var _siteID;\r\n var _domainID;\r\n var _serverID;\r\n var _searchID;\r\n var _searchCategoryID;\r\n var _pinnedSearchID;\r\n var _pinnedSearchCategoryID;\r\n var _affiliateID;\r\n var _pageFolder;\r\n var _pagePath;\r\n var _pageVersion;\r\n var _pageAlias;\r\n var _sponsorID;\r\n var _visitorID;\r\n var _sessionVisitorID;\r\n var _username;\r\n var _genderID;\r\n var _genderSeekID;\r\n var _cpServer;\r\n var _publicMemberId;\r\n\r\n var _ready = false;\r\n var _initComplete = false;\r\n var _stacktraceScriptLoaded = false;\r\n var _autologinEnabled = false;\r\n var _persistentLoginEnabled = false;\r\n var _genderSeekEnabled = false;\r\n var _invalidEmailDomainCheckEnabled = false;\r\n var _contentVersion = \"\";\r\n var _versionedContentRoot = \"\";\r\n var _defaultGenderID;\r\n var _defaultGenderSeekID;\r\n var _defaultMinAge;\r\n var _defaultMaxAge;\r\n var _emailGuid;\r\n var _eventTrackingEnabled = false;\r\n var _eventTrackingPermitted = false;\r\n var _ajaxErrorMessage = \"Whoops... something's amiss. Please try your request again. If you see this error repeatedly, please refresh the page.\";\r\n var _facebookAppId = null;\r\n\tvar _facebookAuthData = null;\r\n var _onReadyComplete = false;\r\n var _onReadyHandlers = [];\r\n\r\n var SessionId = function(sessionid) {\r\n if (arguments.length > 0) {\r\n _sessionid = sessionid;\r\n } else {\r\n return _sessionid;\r\n }\r\n };\r\n\r\n var Theme = function(theme) {\r\n if (arguments.length > 0) {\r\n _theme = theme;\r\n } else {\r\n return _theme;\r\n }\r\n };\r\n\r\n var DomainName = function(domainName) {\r\n if (arguments.length > 0) {\r\n _domainName = domainName;\r\n } else {\r\n if (typeof (_domainName) === 'undefined' || _domainName === null || _domainName.length === 0) {\r\n return PeopleMedia.Net.getDomainName();\r\n } else {\r\n return _domainName;\r\n }\r\n }\r\n };\r\n\r\n var Subdomain = function(subdomain) {\r\n if (arguments.length > 0) {\r\n _subdomain = subdomain;\r\n } else {\r\n if (typeof (_subdomain) === 'undefined' || _subdomain === null || _subdomain.length === 0) {\r\n return \"www\";\r\n } else {\r\n return _subdomain;\r\n }\r\n }\r\n };\r\n\r\n var SiteID = function(siteID) {\r\n if (arguments.length > 0) {\r\n _siteID = siteID;\r\n } else {\r\n return _siteID;\r\n }\r\n };\r\n\r\n var DomainID = function(domainID) {\r\n if (arguments.length > 0) {\r\n _domainID = domainID;\r\n } else {\r\n return _domainID;\r\n }\r\n };\r\n\r\n var ServerID = function(serverID) {\r\n if (arguments.length > 0) {\r\n _serverID = serverID;\r\n } else {\r\n return _serverID;\r\n }\r\n };\r\n\r\n var SearchID = function(searchID) {\r\n if (arguments.length > 0) {\r\n _searchID = searchID;\r\n } else {\r\n return _searchID;\r\n }\r\n };\r\n\r\n var SearchCategoryID = function(searchCategoryID) {\r\n if (arguments.length > 0) {\r\n _searchCategoryID = searchCategoryID;\r\n } else {\r\n return _searchCategoryID;\r\n }\r\n };\r\n\r\n var PinnedSearchID = function(pinnedSearchID) {\r\n if (arguments.length > 0) {\r\n _pinnedSearchID = pinnedSearchID;\r\n } else {\r\n return _pinnedSearchID;\r\n }\r\n };\r\n\r\n var PinnedSearchCategoryID = function(pinnedSearchCategoryID) {\r\n if (arguments.length > 0) {\r\n _pinnedSearchCategoryID = pinnedSearchCategoryID;\r\n } else {\r\n return _pinnedSearchCategoryID;\r\n }\r\n };\r\n\r\n var AffiliateID = function(affiliateID) {\r\n if (arguments.length > 0) {\r\n _affiliateID = affiliateID;\r\n } else {\r\n return _affiliateID;\r\n }\r\n };\r\n\r\n var SponsorID = function(sponsorID) {\r\n if (arguments.length > 0) {\r\n _sponsorID = sponsorID;\r\n } else {\r\n return _sponsorID;\r\n }\r\n };\r\n\r\n var VisitorID = function(visitorID) {\r\n if (arguments.length > 0) {\r\n _visitorID = visitorID;\r\n } else {\r\n return _visitorID;\r\n }\r\n };\r\n\r\n var SessionVisitorID = function (visitorID) {\r\n if (arguments.length > 0) {\r\n _sessionVisitorID = visitorID;\r\n } else {\r\n return _sessionVisitorID;\r\n }\r\n };\r\n\r\n var GenderID = function(genderID) {\r\n if (arguments.length > 0) {\r\n _genderID = genderID;\r\n } else {\r\n return _genderID;\r\n }\r\n };\r\n\r\n var GenderSeekID = function(genderSeekID) {\r\n if (arguments.length > 0) {\r\n _genderSeekID = genderSeekID;\r\n } else {\r\n return _genderSeekID;\r\n }\r\n };\r\n\r\n var Username = function (username) {\r\n if (arguments.length > 0) {\r\n _username = username;\r\n } else {\r\n return _username;\r\n }\r\n };\r\n\r\n var CpServer = function(cpServer) {\r\n if (arguments.length > 0) {\r\n _cpServer = cpServer;\r\n } else {\r\n return _cpServer;\r\n }\r\n };\r\n\r\n var PageFolder = function(pageFolder) {\r\n if (arguments.length > 0) {\r\n _pageFolder = pageFolder;\r\n } else {\r\n return _pageFolder;\r\n }\r\n };\r\n\r\n var PagePath = function(pagePath) {\r\n if (arguments.length > 0) {\r\n _pagePath = pagePath;\r\n } else {\r\n return _pagePath;\r\n }\r\n };\r\n\r\n var PageVersion = function(pageVersion) {\r\n if (arguments.length > 0) {\r\n _pageVersion = pageVersion;\r\n } else {\r\n return _pageVersion;\r\n }\r\n };\r\n\r\n var PageAlias = function (pageAlias) {\r\n if (arguments.length > 0) {\r\n _pageAlias = pageAlias;\r\n } else {\r\n return _pageAlias;\r\n }\r\n };\r\n\r\n var AutoLoginEnabled = function(autologinEnabled) {\r\n if (arguments.length > 0) {\r\n _autologinEnabled = autologinEnabled;\r\n } else {\r\n return _autologinEnabled;\r\n }\r\n };\r\n\r\n var PersistentLoginEnabled = function(persistentLoginEnabled) {\r\n if (arguments.length > 0) {\r\n _persistentLoginEnabled = persistentLoginEnabled;\r\n } else {\r\n return _persistentLoginEnabled;\r\n }\r\n };\r\n\r\n var GenderSeekEnabled = function(genderSeekEnabled) {\r\n if (arguments.length > 0) {\r\n _genderSeekEnabled = genderSeekEnabled;\r\n } else {\r\n return _genderSeekEnabled;\r\n }\r\n };\r\n\r\n var InvalidEmailDomainCheckEnabled = function(invalidEmailDomainCheckEnabled) {\r\n if (arguments.length > 0) {\r\n _invalidEmailDomainCheckEnabled = invalidEmailDomainCheckEnabled;\r\n } else {\r\n return _invalidEmailDomainCheckEnabled;\r\n }\r\n };\r\n\r\n var ContentVersion = function(contentVersion) {\r\n if (arguments.length > 0) {\r\n _contentVersion = contentVersion;\r\n } else {\r\n return _contentVersion;\r\n }\r\n };\r\n\r\n var VersionedContentRoot = function(versionedContentRoot) {\r\n if (arguments.length > 0) {\r\n _versionedContentRoot = versionedContentRoot;\r\n } else {\r\n return _versionedContentRoot;\r\n }\r\n };\r\n\r\n var SessionCookieName = function() {\r\n return \"SSKY\";\r\n };\r\n\r\n var FacebookImportCookieName = function() {\r\n return \"Lps.State.Facebook\";\r\n };\r\n\r\n var FacebookAuthCookieName = function() {\r\n return \"FBAD\";\r\n };\r\n\r\n var DefaultGenderID = function(defaultGenderID) {\r\n if (arguments.length > 0) {\r\n _defaultGenderID = convertGenderToID(defaultGenderID);\r\n } else {\r\n return _defaultGenderID;\r\n }\r\n };\r\n\r\n var DefaultGenderSeekID = function(defaultGenderSeekID) {\r\n if (arguments.length > 0) {\r\n _defaultGenderSeekID = convertGenderToID(defaultGenderSeekID);\r\n } else {\r\n return _defaultGenderSeekID;\r\n }\r\n };\r\n\r\n var DefaultMinAge = function (defaultMinAge) {\r\n var age = null;\r\n if (arguments.length > 0) {\r\n if (typeof (defaultMinAge) !== 'undefined' && defaultMinAge !== null) {\r\n age = parseInt(defaultMinAge, 10);\r\n if (isNaN(age)) {\r\n age = null;\r\n }\r\n }\r\n _defaultMinAge = age;\r\n } else {\r\n return _defaultMinAge;\r\n }\r\n };\r\n\r\n var DefaultMaxAge = function (defaultMaxAge) {\r\n var age = null;\r\n if (arguments.length > 0) {\r\n if (typeof (defaultMaxAge) !== 'undefined' && defaultMaxAge !== null) {\r\n age = parseInt(defaultMaxAge, 10);\r\n if (isNaN(age)) {\r\n age = null;\r\n }\r\n }\r\n _defaultMaxAge = age;\r\n } else {\r\n return _defaultMaxAge;\r\n }\r\n };\r\n\r\n var EmailGuid = function(emailGuid) {\r\n if (arguments.length > 0) {\r\n _emailGuid = emailGuid;\r\n } else {\r\n return _emailGuid;\r\n }\r\n };\r\n\r\n var EventTrackingPermitted = function(eventTrackingPermitted) {\r\n if (arguments.length > 0) {\r\n _eventTrackingPermitted = eventTrackingPermitted;\r\n } else {\r\n return _eventTrackingPermitted;\r\n }\r\n };\r\n\r\n var EventTrackingEnabled = function(eventTrackingEnabled) {\r\n if (arguments.length > 0) {\r\n _eventTrackingEnabled = eventTrackingEnabled;\r\n } else {\r\n return _eventTrackingEnabled;\r\n }\r\n };\r\n\r\n var AjaxErrorMessage = function() {\r\n return _ajaxErrorMessage;\r\n };\r\n\r\n var FacebookAppId = function(facebookAppId) {\r\n if (arguments.length > 0) {\r\n _facebookAppId = facebookAppId;\r\n } else {\r\n return _facebookAppId;\r\n }\r\n };\r\n\r\n var FacebookImportReset = function() {\r\n clearFacebookImportStatus();\r\n };\r\n\r\n var FacebookImportSelected = function(facebookImportSelected) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"selected\": facebookImportSelected });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.selected) ? status.selected : false;\r\n }\r\n };\r\n\r\n var FacebookImportAttempted = function(facebookImportAttempted) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"attempted\": facebookImportAttempted });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.attempted) ? status.attempted : false;\r\n }\r\n };\r\n\r\n var FacebookImportFailed = function(facebookImportFailed) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"failed\": facebookImportFailed });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.failed) ? status.failed : false;\r\n }\r\n };\r\n\r\n var FacebookImportGreetingFailed = function(facebookImportGreetingFailed) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"greetingFailed\": facebookImportGreetingFailed });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.greetingFailed) ? status.greetingFailed : false;\r\n }\r\n };\r\n\r\n var FacebookImportPhotoFailed = function(facebookImportPhotoFailed) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"photoFailed\": facebookImportPhotoFailed });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.photoFailed) ? status.photoFailed : false;\r\n }\r\n };\r\n\r\n var FacebookImportMember = function(facebookMember) {\r\n var status = getFacebookImportStatus();\r\n if (arguments.length > 0) {\r\n status = $jq.extend({}, status, { \"member\": facebookMember });\r\n setFacebookImportStatus(status);\r\n } else {\r\n return (status && status.member) ? status.member : null;\r\n }\r\n };\r\n\r\n var FacebookAuthData = function(facebookAuthData) {\r\n if (arguments.length > 0) {\r\n _facebookAuthData = facebookAuthData;\r\n setFacebookAuthData(_facebookAuthData);\r\n } else {\r\n _facebookAuthData = getFacebookAuthData();\r\n return _facebookAuthData;\r\n }\r\n };\r\n\r\n var LpsPostbackHeader = function () {\r\n var header = {};\r\n try {\r\n var tokenName = \"__RequestVerificationToken\";\r\n var $af = $jq(\"#lpsrvt\");\r\n if ($af.length > 0) {\r\n var $token = $af.find(\"input[name='\" + tokenName + \"']\");\r\n if ($token.length > 0) {\r\n header[tokenName] = $token.val();\r\n }\r\n }\r\n } catch (ex) {\r\n }\r\n return header;\r\n };\r\n\r\n var isAjaxCancelled = function(jqXHR, textStatus, errorThrown) {\r\n try {\r\n // return true when user navigates away from the page by refreshing, clicking a link, or changing the URL in the browser\r\n return (errorThrown !== 'timeout' && jqXHR && (jqXHR.readyState === 0 || jqXHR.status === 0));\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"isAjaxCancelled\" });\r\n return false;\r\n }\r\n };\r\n\r\n var convertAjaxErrorToFault = function(jqXHR, textStatus, errorThrown) {\r\n var codeValue = \"Ajax\";\r\n var isCancelled = false;\r\n var reason = \"Please try your request again.\";\r\n try {\r\n codeValue = \"Ajax\" + ((typeof (errorThrown) !== 'undefined' && errorThrown !== null) ? (\" \" + errorThrown) : \"\");\r\n isCancelled = isAjaxCancelled(jqXHR, textStatus, errorThrown);\r\n var responseText = (!isCancelled && jqXHR && jqXHR.responseText) ? jqXHR.responseText : null;\r\n if (responseText !== null && responseText.length > 0 && responseText.indexOf(\"<\") === -1 && responseText.indexOf(\"{\") === -1) {\r\n reason = jqXHR.responseText;\r\n } else {\r\n reason = AjaxErrorMessage();\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"convertAjaxErrorToFault\" });\r\n }\r\n return {\r\n \"Code\": codeValue,\r\n \"Subcode\": textStatus,\r\n \"IsValid\": false,\r\n \"Fault\": { \"Code\": { \"Subcode\": { \"Value\": { \"Name\": textStatus } }, \"Value\": { \"Name\": codeValue } }, \"Reason\": reason, \"IsAjaxError\": true, \"IsCancelled\": isCancelled },\r\n \"IsCancelled\": isCancelled,\r\n \"jqXHR\": jqXHR\r\n };\r\n };\r\n\r\n var convertFaultToError = function(obj, field) {\r\n var errorObj = {};\r\n try {\r\n errorObj.IsAjaxError = (typeof (obj.IsAjaxError) !== 'undefined' && obj.IsAjaxError === true);\r\n errorObj.IsCancelled = (typeof (obj.IsCancelled) !== 'undefined' && obj.IsCancelled === true);\r\n if (obj) {\r\n if (obj.Code) {\r\n errorObj.Code = (obj.Code.Value && obj.Code.Value.Name) ? obj.Code.Value.Name : obj.Code;\r\n if (obj.Code.Subcode && obj.Code.Subcode.Value && obj.Code.Subcode.Value.Name) {\r\n errorObj.Subcode = obj.Code.Subcode.Value.Name;\r\n }\r\n }\r\n if (obj.Subcode) {\r\n errorObj.Subcode = obj.Subcode;\r\n }\r\n if (obj.Reason) {\r\n var reasonIsArray = PeopleMedia.CP.Utilities.isArray(obj.Reason);\r\n if (errorObj.IsCancelled) {\r\n errorObj.Text = \"\";\r\n } else {\r\n errorObj.Text = (reasonIsArray) ? obj.Reason[0] : obj.Reason;\r\n }\r\n }\r\n if (typeof (field) !== 'undefined' && field !== null) {\r\n errorObj.Field = field;\r\n }\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"convertFaultToError\" });\r\n }\r\n return errorObj;\r\n };\r\n\r\n var createErrorObject = function (prop) {\r\n var errObj;\r\n try {\r\n var errProp = prop || {};\r\n errObj = $jq.extend({}, { reason: \"error\" }, errProp);\r\n } catch (ex) {\r\n errObj = { reason: \"error\" };\r\n }\r\n return errObj;\r\n };\r\n\r\n var getFirstError = function(errors) {\r\n try {\r\n var errorsIsArray = PeopleMedia.CP.Utilities.isArray(errors);\r\n if (!errorsIsArray) {\r\n return errors;\r\n }\r\n return (errors.length > 0) ? errors[0] : null;\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"getFirstError\" });\r\n return null;\r\n }\r\n };\r\n\r\n var init = function(config) {\r\n try {\r\n if (config) {\r\n SiteID(config.siteId);\r\n VersionedContentRoot(config.versionedContentRoot);\r\n PageFolder(config.pageFolder);\r\n DomainName(config.domainName);\r\n VisitorID(config.visitorId);\r\n var visitorIdNumeric = parseInt(config.visitorId, 10);\r\n if (!isNaN(visitorIdNumeric)) {\r\n SessionVisitorID(visitorIdNumeric);\r\n }\r\n if (typeof (config.searchId) !== 'undefined') {\r\n SearchID(config.searchId);\r\n }\r\n AffiliateID(config.affiliateId);\r\n SponsorID(config.sponsorId);\r\n GenderSeekEnabled(config.genderSeekEnabled);\r\n PersistentLoginEnabled(config.persistentLoginEnabled);\r\n InvalidEmailDomainCheckEnabled(config.invalidEmailDomainCheckEnabled);\r\n // MemberID(config.memberId);\r\n // EncodedMemberID(config.encodedMemberId);\r\n GenderID(config.genderId);\r\n GenderSeekID(config.genderSeekId);\r\n Username(config.username || \"\");\r\n AutoLoginEnabled(config.autoLoginEnabled);\r\n ContentVersion(config.contentVersion);\r\n PagePath(config.pagePath);\r\n PageVersion(config.pageVersion);\r\n DomainID(config.domainId);\r\n ServerID(config.serverId);\r\n SearchCategoryID(config.searchCategoryId);\r\n if (typeof (config.pinnedSearchId) !== 'undefined') {\r\n PinnedSearchID(config.pinnedSearchId);\r\n }\r\n if (typeof (config.pinnedSearchCategoryId) !== 'undefined') {\r\n PinnedSearchCategoryID(config.pinnedSearchCategoryId);\r\n }\r\n Subdomain(config.subdomain);\r\n FacebookAppId(config.facebookAppId);\r\n EventTrackingPermitted(config.eventTrackingPermitted);\r\n _publicMemberId = config.publicMemberId;\r\n }\r\n initSessionValues();\r\n initQueryStringValues();\r\n\r\n initComplete();\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"init\" });\r\n }\r\n };\r\n\r\n var initSessionValues = function() {\r\n var sessionCookie = null;\r\n try {\r\n sessionCookie = PeopleMedia.Net.readCookie(SessionCookieName());\r\n if (sessionCookie !== null) {\r\n var esid = sessionCookie.ESID;\r\n if (typeof (esid) !== 'undefined' && esid !== null) {\r\n SessionId(esid);\r\n }\r\n var theme = sessionCookie.THEME;\r\n if (typeof (theme) !== 'undefined' && theme !== null) {\r\n Theme(theme);\r\n }\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"initSessionValues\", sessionCookie: sessionCookie });\r\n }\r\n };\r\n\r\n var getFacebookImportStatus = function() {\r\n return PeopleMedia.Net.loadState(FacebookImportCookieName());\r\n };\r\n\r\n var setFacebookImportStatus = function(status) {\r\n PeopleMedia.Net.saveState(FacebookImportCookieName(), status);\r\n };\r\n\r\n var clearFacebookImportStatus = function() {\r\n try {\r\n PeopleMedia.Net.eraseCookie(FacebookImportCookieName());\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"clearFacebookImportStatus\" });\r\n }\r\n };\r\n\r\n var getFacebookAuthData = function() {\r\n var data = null;\r\n try {\r\n data = PeopleMedia.Net.readCookie(FacebookAuthCookieName());\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"getFacebookAuthData\", data: data });\r\n }\r\n return data || {};\r\n };\r\n\r\n var setFacebookAuthData = function(authData) {\r\n try {\r\n var value = authData || {};\r\n PeopleMedia.Net.createCookie(FacebookAuthCookieName(), value, null);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"setFacebookAuthData\", authData: authData });\r\n }\r\n };\r\n\r\n var initQueryStringValues = function(currentQueryString) {\r\n try {\r\n var keyValues = PeopleMedia.Net.getQueryString(currentQueryString);\r\n var emailGuid = PeopleMedia.Net.getQueryStringValue(keyValues, \"EmailGUID\");\r\n if (typeof(emailGuid) !== 'undefined' && emailGuid !== null && emailGuid.length === 36) {\r\n EmailGuid(emailGuid);\r\n }\r\n var gender = PeopleMedia.Net.getQueryStringValue(keyValues, \"iam\");\r\n if (typeof (gender) !== 'undefined' && gender !== null && gender.length > 0) {\r\n DefaultGenderID(gender);\r\n }\r\n var genderSeek = PeopleMedia.Net.getQueryStringValue(keyValues, \"seeking\");\r\n if (typeof (genderSeek) !== 'undefined' && genderSeek !== null && genderSeek.length > 0) {\r\n DefaultGenderSeekID(genderSeek);\r\n }\r\n var minAge = PeopleMedia.Net.getQueryStringValue(keyValues, \"minage\");\r\n if (typeof (minAge) !== 'undefined' && minAge !== null && minAge.length > 0) {\r\n DefaultMinAge(minAge);\r\n }\r\n var maxAge = PeopleMedia.Net.getQueryStringValue(keyValues, \"maxage\");\r\n if (typeof (maxAge) !== 'undefined' && maxAge !== null && maxAge.length > 0) {\r\n DefaultMaxAge(maxAge);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"initQueryStringValues\" });\r\n }\r\n };\r\n \r\n var initLogging = function () {\r\n window.onerror = handleError;\r\n // PeopleMedia.Diagnostics.registerExceptionHandler(handleException);\r\n _stacktraceScriptLoaded = true;\r\n };\r\n\r\n var executeOnReadyCallback = function(handler) {\r\n try {\r\n if (handler && !handler.processed && typeof (handler.cb) === \"function\") {\r\n handler.cb();\r\n handler.processed = true;\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"executeOnReadyCallback\" });\r\n }\r\n };\r\n\r\n var executeAllOnReadyHandlers = function() {\r\n try {\r\n for (var i = 0; i < _onReadyHandlers.length; i++) {\r\n executeOnReadyCallback(_onReadyHandlers[i]);\r\n }\r\n _onReadyHandlers = [];\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"executeAllOnReadyHandlers\" });\r\n }\r\n };\r\n\r\n var tryReady = function() {\r\n try {\r\n if (!_onReadyComplete && _initComplete && _ready && _stacktraceScriptLoaded) {\r\n _onReadyComplete = true;\r\n trackRegistrationPage();\r\n $jq(document).ready(function () {\r\n executeAllOnReadyHandlers();\r\n });\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"tryReady\" });\r\n }\r\n };\r\n\r\n var onReady = function (cb) {\r\n if (typeof (cb) === \"function\") {\r\n _onReadyHandlers.push({\r\n cb: cb,\r\n processed: false\r\n });\r\n }\r\n tryReady();\r\n };\r\n\r\n var ready = function() {\r\n _ready = true;\r\n tryReady();\r\n };\r\n\r\n var initComplete = function() {\r\n _initComplete = true;\r\n tryReady();\r\n };\r\n\r\n var ui_busy = function() {\r\n $jq('body').css('cursor', 'progress');\r\n $jq(\"div.loader\").show();\r\n };\r\n\r\n var ui_done = function() {\r\n $jq('body').css('cursor', 'auto');\r\n $jq(\"div.loader\").hide();\r\n };\r\n\r\n var getStackTrace = function(exception) {\r\n try {\r\n if (typeof (exception) !== 'undefined' && exception !== null && typeof (printStackTrace) !== 'undefined') {\r\n return printStackTrace({ e: exception, guess: true });\r\n }\r\n } catch (ex) {\r\n }\r\n return \"\";\r\n };\r\n\r\n var getDetailString = function(detail) {\r\n var result;\r\n try {\r\n if (typeof (detail) === 'undefined' || detail === null) {\r\n result = \"\";\r\n } else if (typeof (JSON) !== 'undefined') {\r\n result = JSON.stringify(detail);\r\n } else {\r\n result = detail;\r\n }\r\n } catch (ex) {\r\n result = \"\";\r\n }\r\n return result;\r\n };\r\n\r\n var formatErrorMessage = function(message) {\r\n try {\r\n if (typeof (message) !== 'undefined' && message !== null) {\r\n return message.substr(0, 200);\r\n }\r\n } catch (ex) {\r\n }\r\n return \"\";\r\n };\r\n\r\n var formatStackTrace = function(stacktrace) {\r\n try {\r\n if (typeof (stacktrace) !== 'undefined' && stacktrace !== null) {\r\n return encodeURI(stacktrace.join('\\n')).substr(0, 1000);\r\n }\r\n } catch (ex) {\r\n }\r\n return \"\";\r\n };\r\n\r\n var formatDetailString = function(detailString) {\r\n try {\r\n if (typeof (detailString) !== 'undefined' && detailString !== null) {\r\n return encodeURI(detailString);\r\n }\r\n } catch (ex) {\r\n }\r\n return \"\";\r\n };\r\n\r\n var handleException = function (exception, detail, completeFunction) {\r\n try {\r\n var stacktrace = \"\";\r\n var message = \"\";\r\n var exceptionTypeName = \"\";\r\n var url = \"\";\r\n var lineNumber = 0;\r\n if (typeof (exception) !== 'undefined' && exception !== null) {\r\n message = exception.message ? exception.message : ((typeof (exception) === 'string') ? exception : \"\");\r\n exceptionTypeName = exception.name ? exception.name : \"\";\r\n url = exception.fileName ? exception.fileName : \"\";\r\n lineNumber = exception.lineNumber ? exception.lineNumber : 0;\r\n stacktrace = getStackTrace(exception);\r\n }\r\n _logExceptionPost(\"LPS Client\", message, exceptionTypeName, url, lineNumber, stacktrace, detail, completeFunction);\r\n }\r\n catch (ex) {\r\n }\r\n };\r\n\r\n var handleError = function(message, url, lineNumber) {\r\n try {\r\n _logExceptionPost(\"LPS Client Unknown\", message, \"\", url, lineNumber, null, \"\", null);\r\n } catch (ex) {\r\n }\r\n };\r\n\r\n var logAjax = function (errorObj) {\r\n if (typeof (errorObj) === \"undefined\" || errorObj === null) {\r\n return;\r\n }\r\n var message = \"Ajax request failure\";\r\n var url;\r\n var jqXHR;\r\n var textStatus;\r\n var errorThrown;\r\n var completeFunction;\r\n var detail = $jq.extend({}, errorObj);\r\n if (detail.message) {\r\n message = detail.message;\r\n delete detail.message;\r\n }\r\n if (detail.url) {\r\n url = detail.url;\r\n delete detail.url;\r\n }\r\n if (detail.jqXHR) {\r\n jqXHR = detail.jqXHR;\r\n delete detail.jqXHR;\r\n }\r\n if (detail.textStatus) {\r\n textStatus = detail.textStatus;\r\n delete detail.textStatus;\r\n }\r\n if (detail.errorThrown) {\r\n errorThrown = detail.errorThrown;\r\n delete detail.errorThrown;\r\n }\r\n if (typeof (detail.completeFunction) === \"function\") {\r\n completeFunction = detail.completeFunction;\r\n delete detail.completeFunction;\r\n }\r\n return logAjaxError(message, url, detail, jqXHR, textStatus, errorThrown, completeFunction);\r\n };\r\n\r\n var logAjaxError = function(message, url, detail, jqXHR, textStatus, errorThrown, completeFunction) {\r\n try {\r\n // don't try to log for these urls\r\n var lowerUrl = (url || \"\").toLowerCase();\r\n if (lowerUrl.indexOf('/v3/lps/api/log') < 0 &&\r\n lowerUrl.indexOf('/v3/log/logexception') < 0 &&\r\n lowerUrl.indexOf('/v3/log/api/logexceptionpost') < 0 &&\r\n lowerUrl.indexOf('/v3/lps/api/logmessagepost') < 0 &&\r\n lowerUrl.indexOf('/v3/lps/api/trackmemberregistrationevent') < 0 &&\r\n lowerUrl.indexOf('/v3/lps/api/signinstatus') < 0 &&\r\n lowerUrl.indexOf('/v3/ajax/refreshsession') < 0) {\r\n try {\r\n // update detail\r\n if (typeof(detail) === 'undefined' || detail === null) {\r\n detail = {};\r\n }\r\n if (textStatus) {\r\n detail.textStatus = textStatus;\r\n }\r\n if (errorThrown) {\r\n detail.errorThrown = errorThrown;\r\n }\r\n if (jqXHR) {\r\n if (jqXHR.readyState) {\r\n detail.readystate = jqXHR.readyState;\r\n }\r\n if (jqXHR.status) {\r\n detail.jqXHRStatus = jqXHR.status;\r\n }\r\n if (jqXHR.statusText) {\r\n detail.jqXHRStatusText = jqXHR.statusText;\r\n }\r\n if (jqXHR.responseText) {\r\n detail.jqXHRResponseText = jqXHR.responseText.substr(0, 1000);\r\n }\r\n }\r\n if (!detail.pagePath) {\r\n detail.pagePath = PagePath();\r\n }\r\n if (!detail.pageVersion) {\r\n detail.pageVersion = PageVersion();\r\n }\r\n if (!detail.href) {\r\n detail.href = window.location.href;\r\n }\r\n } catch (ex) {\r\n }\r\n _logExceptionPost(\"LPS Client\", message, \"\", url, 0, null, detail, completeFunction);\r\n }\r\n } catch (ex) {\r\n }\r\n };\r\n\r\n var logMessage = function(message, detail, completeFunction) {\r\n try {\r\n var url = window.location.href;\r\n var detailString = getDetailString(detail);\r\n var timeoutValue = 30000;\r\n var errorData = {\r\n \"message\": formatErrorMessage(message),\r\n \"url\": url,\r\n \"pagePath\": PagePath() || '',\r\n \"pageVersion\": PageVersion() || '',\r\n \"additionalInfo\": formatDetailString(detailString),\r\n \"SkipCSSVerif\": \"HTMLEditor\"\r\n };\r\n jQuery.ajax({\r\n type: 'POST',\r\n url: \"/v3/lps/api/LogMessagePost\",\r\n data: errorData,\r\n dataType: \"json\",\r\n success: function(result) {\r\n try {\r\n if (result && result.redirect) {\r\n location.href = result.redirect;\r\n }\r\n } catch (ex) {\r\n }\r\n },\r\n complete: function() {\r\n finishCompletion(completeFunction);\r\n },\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue\r\n });\r\n } catch (ex) {\r\n }\r\n };\r\n \r\n var _logExceptionPost = function (appName, message, exceptionTypeName, url, lineNumber, stacktrace, detail, completeFunction) {\r\n try {\r\n var detailString = getDetailString(detail);\r\n if (stacktrace === null) {\r\n stacktrace = [];\r\n }\r\n url = url === \"\" ? window.location.href : url;\r\n lineNumber = typeof(lineNumber) !== 'undefined' && lineNumber !== null ? lineNumber : 0;\r\n for (var i = 0; i < stacktrace.length; ++i) {\r\n stacktrace[i] = 'at ' + stacktrace[i];\r\n }\r\n var timeoutValue = 30000;\r\n var errorData = {\r\n \"appName\": appName,\r\n \"message\": formatErrorMessage(message),\r\n \"exceptionTypeName\": exceptionTypeName,\r\n \"url\": url,\r\n \"lineNumber\": lineNumber,\r\n \"pagePath\": PagePath() || '',\r\n \"pageVersion\": PageVersion() || '',\r\n \"stacktrace\": formatStackTrace(stacktrace),\r\n \"additionalInfo\": formatDetailString(detailString),\r\n \"SkipCSSVerif\": \"HTMLEditor\"\r\n };\r\n jQuery.ajax({\r\n type: \"POST\",\r\n url: \"/v3/log/logexception\",\r\n data: errorData,\r\n dataType: \"json\",\r\n success: function (result) {\r\n try {\r\n if (result && result.redirect) {\r\n location.href = result.redirect;\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n },\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue,\r\n complete: function () {\r\n finishCompletion(completeFunction);\r\n }\r\n });\r\n }\r\n catch (ex) {\r\n }\r\n };\r\n\r\n var formatRegistrationEventError = function(error) {\r\n var result = \"\";\r\n try {\r\n if (error) {\r\n var errorIsArray = PeopleMedia.CP.Utilities.isArray(error);\r\n if (errorIsArray) {\r\n if (error.length > 0) {\r\n result = \"Error|\" + (error[0].Field || \"\") + \"|\" + (error[0].Text || \"\");\r\n } else {\r\n result = \"Error||\";\r\n }\r\n } else {\r\n result = \"Error|\" + (error.Field || \"\") + \"|\" + (error.Text || \"\");\r\n }\r\n }\r\n } catch (ex) {\r\n }\r\n return result;\r\n };\r\n\r\n var formatRegistrationEventInfo = function(element, addlInfo) {\r\n try {\r\n var value = PeopleMedia.CP.Utilities.simpleArrayToString(element);\r\n if (!PeopleMedia.CP.Utilities.isNullOrMissing(addlInfo)) {\r\n value = value + \":\" + PeopleMedia.CP.Utilities.simpleArrayToString(addlInfo);\r\n }\r\n return value;\r\n } catch (ex) {\r\n }\r\n };\r\n\r\n var trackRegistrationPage = function(options) {\r\n try {\r\n var alreadyTracked = EventTrackingEnabled();\r\n if (!alreadyTracked) {\r\n var eventData = {\r\n \"PagePath\": PagePath(),\r\n \"PageVersion\": PageVersion()\r\n };\r\n if (PageAlias()) {\r\n eventData.PageAlias = PageAlias();\r\n }\r\n EventTrackingEnabled(true);\r\n trackMemberRegistrationEvents(eventData);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationPage\" });\r\n }\r\n };\r\n\r\n var trackRegistrationSuccess = function(data, completeFunction) {\r\n try {\r\n var id = (typeof (data) !== 'undefined' && data !== null && data.NickName) ? data.NickName : \"\";\r\n trackMemberRegistrationEvent(\"RegistrationSuccess\", id, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationSuccess\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationCompleted = function(url, completeFunction) {\r\n try {\r\n if (typeof url !== 'undefined' && url !== null && url.length > 0) {\r\n var urlLower = url.toLowerCase();\r\n if (urlLower.indexOf(\"/v3/lps\") < 0 && urlLower.indexOf(\"cpp=\") < 0) {\r\n trackMemberRegistrationEvent(\"RegistrationCompleted\", url, completeFunction);\r\n } else {\r\n finishCompletion(completeFunction);\r\n }\r\n }\r\n } catch (ex) {\r\n handleException(ex,\r\n { oid: Oid, method: \"trackRegistrationCompleted\" },\r\n finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationFailure = function(errors, completeFunction) {\r\n try {\r\n trackMemberRegistrationEvent(\"RegistrationFailed\",\r\n formatRegistrationEventError(errors),\r\n completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationFailure\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var getRegistrationEventAnalyticsAction = function() {\r\n try {\r\n var isSearchIdPaid = !!PeopleMedia.Configuration.searchIdIsPaid;\r\n var isMobile = !!PeopleMedia.Configuration.isMobile;\r\n return ((isSearchIdPaid) ? \"Paid\" : \"Organic\") + \" \" + ((isMobile) ? \"Mobile\" : \"Desktop\") + \" Flow\";\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"getRegistrationEventAnalyticsAction\" });\r\n return \"Organic Desktop Flow\";\r\n }\r\n };\r\n\r\n var trackRegistrationEventAnalytics = function() {\r\n try {\r\n // uses global variable from Google Analytics snippet in header; skip logic if snippet is not there\r\n if (typeof (_gaq) !== \"undefined\" && _gaq !== null) {\r\n var category = \"Homepage Callout\";\r\n var action = getRegistrationEventAnalyticsAction();\r\n var trackingLabel = \"Registration Submit\";\r\n\r\n var trackEvent = document.createElement('div');\r\n trackEvent.innerHTML = \"_gaq.push([\\\"_trackEvent\\\",\\\"\" + category + \"\\\",\\\"\" + action + \"\\\",\\\"\" + trackingLabel + \"\\\"]);\";\r\n document.getElementsByTagName(\"head\")[0].appendChild(trackEvent);\r\n\r\n _gaq.push([\"_trackEvent\", category, action, trackingLabel]);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventAnalytics\" });\r\n }\r\n };\r\n\r\n var formatTrackedRegItem = function (value) {\r\n var result = \"\";\r\n try {\r\n if (typeof (value) === \"undefined\") {\r\n result = \"(undefined)\";\r\n } else if (value === null) {\r\n result = \"(null)\";\r\n } else {\r\n result = value.toString().trim();\r\n }\r\n } catch (ex) {\r\n }\r\n return result;\r\n };\r\n\r\n var getFormattedTrackedRegItems = function (values) {\r\n var result = \"\";\r\n try {\r\n var formattedItems = [];\r\n if (PeopleMedia.CP.Utilities.isArray(values)) {\r\n for (var i = 0; i < values.length; i++) {\r\n var currentItem = formatTrackedRegItem(values[i]);\r\n if (formattedItems.indexOf(currentItem) < 0) {\r\n formattedItems.push(currentItem);\r\n }\r\n }\r\n } else {\r\n formattedItems.push(formatTrackedRegItem(values));\r\n }\r\n result = PeopleMedia.CP.Utilities.simpleArrayToString(formattedItems);\r\n } catch (ex) {\r\n }\r\n return result;\r\n };\r\n\r\n var formatRegistrationEventAlias = function (element, action) {\r\n var str = \"\";\r\n try {\r\n str = (PageAlias() || \"\");\r\n if (element) {\r\n str += \"/\" + element;\r\n }\r\n if (action) {\r\n str += \"/\" + action;\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"formatRegistrationEventAlias\" });\r\n }\r\n return str;\r\n };\r\n\r\n var trackRegistrationEventShowRegQuestionsWithCategory = function (questionIds, category, completeFunction) {\r\n try {\r\n var value = getFormattedTrackedRegItems(questionIds);\r\n if (typeof (category) !== \"undefined\" && category !== null && category.length > 0) {\r\n value += \" \" + category;\r\n }\r\n trackMemberRegistrationEvent(\"ShowRegQuestions\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventShowRegQuestionsWithCategory\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventShowRegQuestions = function (questionIds, completeFunction) {\r\n try {\r\n var value = getFormattedTrackedRegItems(questionIds);\r\n trackMemberRegistrationEvent(\"ShowRegQuestions\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventShowRegQuestions\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventShowRegErrors = function (errors, completeFunction) {\r\n try {\r\n var value = getFormattedTrackedRegItems(errors);\r\n trackMemberRegistrationEvent(\"ShowRegErrors\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventShowRegErrors\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventShow = function(element, addlInfo, completeFunction) {\r\n try {\r\n var value = formatRegistrationEventInfo(element, addlInfo);\r\n trackMemberRegistrationEvent(\"Show\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventShow\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventShowWithAliasPanelViewed = function (element, addlInfo, panelAlias, completeFunction) {\r\n try {\r\n var showValue = formatRegistrationEventInfo(element, addlInfo);\r\n var viewedValue = formatRegistrationEventAlias(panelAlias, \"viewed\");\r\n trackMemberRegistrationEvents({\r\n \"Show\": showValue,\r\n \"Viewed\": viewedValue\r\n }, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventShow\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventAliasPanelViewed = function (panelAlias, completeFunction) {\r\n try {\r\n var value = formatRegistrationEventAlias(panelAlias, \"viewed\");\r\n trackMemberRegistrationEvent(\"Viewed\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventAliasPanelViewed\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventAliasButtonTapped = function (panelAlias, buttonAlias, completeFunction) {\r\n try {\r\n var value = formatRegistrationEventAlias(panelAlias, buttonAlias + \"tapped\");\r\n trackMemberRegistrationEvent(\"Tapped\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventAliasButtonTapped\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackRegistrationEventOneClickGreetingSubmit = function(greetingItem, textValue, completeFunction) {\r\n try {\r\n var value = greetingItem.greetingId.toString() +\r\n \":\" +\r\n greetingItem.greetingType.toString() +\r\n \":\" +\r\n greetingItem.greetingTitle;\r\n var trimmedText = (textValue || \"\").trim();\r\n if (trimmedText !== greetingItem.greetingDescription) {\r\n value += \" (modified)\";\r\n }\r\n trackMemberRegistrationEvent(\"OneClickGreetingSubmit\", value, completeFunction);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackRegistrationEventOneClickGreetingSubmit\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackMemberRegistrationEvent = function(key, value, completeFunction) {\r\n try {\r\n if (EventTrackingPermitted() && EventTrackingEnabled()) {\r\n var timeoutValue = 3000;\r\n jQuery.ajax({\r\n type: \"POST\",\r\n url: \"/v3/lps/api/TrackMemberRegistrationEvent\",\r\n data: {\r\n \"visitorId\": VisitorID(),\r\n \"key\": key || \"\",\r\n \"value\": value || \"\",\r\n \"SkipCSSVerif\": \"HTMLEditor\"\r\n },\r\n dataType: \"json\",\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue,\r\n complete: function () {\r\n finishCompletion(completeFunction);\r\n }\r\n });\r\n } else {\r\n finishCompletion(completeFunction);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackMemberRegistrationEvent\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var trackMemberRegistrationEvents = function(trackedValues, completeFunction) {\r\n try {\r\n if (EventTrackingPermitted() && EventTrackingEnabled()) {\r\n var timeoutValue = 3000;\r\n var detailString = getDetailString(trackedValues);\r\n jQuery.ajax({\r\n type: \"POST\",\r\n url: \"/v3/lps/api/TrackMemberRegistrationEvents\",\r\n data: {\r\n \"visitorId\": VisitorID(),\r\n \"trackedValues\": detailString,\r\n \"SkipCSSVerif\": \"HTMLEditor\"\r\n },\r\n dataType: \"json\",\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue,\r\n complete: function () {\r\n finishCompletion(completeFunction);\r\n }\r\n });\r\n } else {\r\n finishCompletion(completeFunction);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"trackMemberRegistrationEvents\" }, finishCompletion(completeFunction));\r\n }\r\n };\r\n\r\n var finishCompletion = function(completeFunction) {\r\n try {\r\n if (typeof(completeFunction) === 'function') {\r\n completeFunction();\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"finishCompletion\" });\r\n }\r\n };\r\n\r\n var addEnterKeyAction = function (containerName, targetName) {\r\n try {\r\n if (!containerName || !targetName) {\r\n return;\r\n }\r\n\r\n var selectorTarget = (targetName.charAt(0) !== \"#\" && targetName.charAt(0) !== \".\") ? '#' + targetName : targetName;\r\n var selectorContainer = (containerName.charAt(0) !== \"#\" && containerName.charAt(0) !== \".\") ? '#' + containerName : containerName;\r\n\r\n var btn = $jq(selectorTarget);\r\n btn.parents(selectorContainer).on(\"keypress\", function (e) {\r\n try {\r\n if (e.which === 13 && e.target.type !== 'textarea') {\r\n btn.each(function (index, element) {\r\n try {\r\n var visible = true;\r\n var b = $jq(element);\r\n b.parents(':hidden').each(function (index, parent) {\r\n visible = false;\r\n });\r\n if (visible) {\r\n b.trigger('click');\r\n }\r\n }\r\n catch (ex) {\r\n handleException(ex);\r\n }\r\n });\r\n return false;\r\n }\r\n }\r\n catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"addEnterKeyAction enter keypress\" });\r\n }\r\n });\r\n }\r\n catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"addEnterKeyAction\" });\r\n }\r\n };\r\n\r\n var getSiteUrl = function(path, currentQueryString) {\r\n var useSSL;\r\n try {\r\n var basePath = PeopleMedia.Net.getUrlWithoutQueryString(path);\r\n var qsPath = PeopleMedia.Net.getQueryStringFromUrl(path);\r\n var qs = '';\r\n\r\n var domainName = PeopleMedia.Net.getDomainName(DomainName()).toLowerCase();\r\n var sessionId = SessionId();\r\n var visitorId = VisitorID();\r\n var subdomain = Subdomain();\r\n\r\n if (domainName.split('.').length <= 2) {\r\n domainName = subdomain + \".\" + domainName;\r\n }\r\n\r\n var qsPathKeyValues = PeopleMedia.Net.parseQueryString(qsPath);\r\n qsPath = PeopleMedia.Net.createQueryString(qsPathKeyValues, ['CPSessionID', 'VisitorID']);\r\n if (qsPath.length > 0 && (qsPath.charAt(0) === '?' || qsPath.charAt(0) === '&')) {\r\n qsPath = qsPath.substring(1);\r\n }\r\n var reservedKeys = PeopleMedia.Net.getQueryStringKeys(qsPathKeyValues);\r\n reservedKeys.push('cpp',\r\n 'CPSessionID',\r\n 'VisitorID',\r\n 'notrack',\r\n 'code',\r\n 'username',\r\n 'password',\r\n 'email',\r\n 'emailaddress');\r\n\r\n // load current queryString into collection (or use currentQueryString parameter to override current querystring)\r\n var qsCurrentKeyValues = PeopleMedia.Net.getQueryString(currentQueryString);\r\n var qsCurrent = PeopleMedia.Net.createQueryString(qsCurrentKeyValues, reservedKeys);\r\n if (typeof (sessionId) !== 'undefined' && sessionId !== null) {\r\n qsCurrent = PeopleMedia.Net.addQueryStringValue(qsCurrent, \"CPSessionID\", sessionId);\r\n }\r\n if (typeof (visitorId) !== 'undefined' && visitorId !== null) {\r\n qsCurrent = PeopleMedia.Net.addQueryStringValue(qsCurrent, \"VisitorID\", visitorId);\r\n }\r\n if (qsCurrent.length > 0 && (qsCurrent.charAt(0) === '?' || qsCurrent.charAt(0) === '&')) {\r\n qsCurrent = qsCurrent.substring(1);\r\n }\r\n\r\n // get merged querystrings\r\n if (qsPath.length > 0 || qsCurrent.length > 0) {\r\n qs = '?' +\r\n ((qsPath.length > 0) ? qsPath : '') +\r\n ((qsPath.length > 0 && qsCurrent.length > 0) ? '&' : '') +\r\n qsCurrent;\r\n }\r\n\r\n // remove host and domain from basePath\r\n var protocolIndex = basePath.indexOf('://');\r\n if (protocolIndex >= 0 || basePath.substring(0, subdomain.length + 1).toLowerCase() === (subdomain + '.')) {\r\n var baseStart = (protocolIndex >= 0) ? (protocolIndex + 3) : 0;\r\n var slashStart = basePath.indexOf('/', baseStart);\r\n if (slashStart >= 0) {\r\n basePath = basePath.substring(slashStart + 1);\r\n } else {\r\n basePath = \"\";\r\n }\r\n }\r\n useSSL = \"https:\" === document.location.protocol;\r\n return (useSSL ? \"https://\" : \"http://\") +\r\n domainName +\r\n ((basePath.length > 0 && basePath.charAt(0) !== '/') ? '/' : '') +\r\n basePath +\r\n qs;\r\n } catch (ex) {\r\n useSSL = \"https:\" === document.location.protocol;\r\n handleException(ex, { oid: Oid, method: \"getSiteUrl\" });\r\n return (useSSL ? \"https://\" : \"http://\") + DomainName();\r\n }\r\n };\r\n\r\n var startLoginFlow = function (options) {\r\n try {\r\n getSelfProfileComplete({}, function (profileErr, getSelfProfileCompleteResponse) {\r\n var url = \"/v3/home\";\r\n if (profileErr === null && getSelfProfileCompleteResponse && getSelfProfileCompleteResponse.AutoLoginDetail) {\r\n var loginSource = \"XX\";\r\n var qs = null;\r\n if (options) {\r\n if (options.loginSource && loginSource.length === 2) {\r\n loginSource = options.loginSource;\r\n }\r\n if (options.ofp) {\r\n qs = \"&ofp=\" + options.ofp;\r\n if (options.ofp.toLowerCase() === \"quicksearch\" && options.ofpParameters) {\r\n qs += \"|\" + options.ofpParameters;\r\n }\r\n } else if (options.loginFlowFinishPhotoUpload === true) {\r\n qs = \"&lpsofp=fse\";\r\n } else if (options.quickSearch === true) {\r\n qs = \"&lpsofp=xx&UPN=&ofp=QuickSearch\";\r\n }\r\n }\r\n url = getSiteUrl(\"/v3/autologin?login=\" + loginSource + getSelfProfileCompleteResponse.AutoLoginDetail, qs);\r\n }\r\n trackRegistrationCompleted(url,\r\n function () {\r\n window.location.href = url;\r\n });\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"gotoSite\" });\r\n }\r\n };\r\n\r\n var gotoSite = function(path, queryString) {\r\n try {\r\n var url = getSiteUrl(path, queryString);\r\n trackRegistrationCompleted(url,\r\n function() {\r\n window.location.href = url;\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"gotoSite\" });\r\n }\r\n };\r\n\r\n var getCpUrl = function(cpPage, queryString) {\r\n var path;\r\n try {\r\n path = \"/v3/lps?cpp=\" + ((typeof(cpPage) !== 'undefined' && cpPage !== null) ? cpPage : \"\");\r\n return getSiteUrl(path, queryString);\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"getCpUrl\" });\r\n return path;\r\n }\r\n };\r\n\r\n var gotoCPPage = function(cpPage, queryString) {\r\n try {\r\n var path = getCpUrl(cpPage, queryString);\r\n window.location.href = path;\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"gotoCPPage\" });\r\n }\r\n };\r\n\r\n var convertGenderToID = function(gender) {\r\n try {\r\n if (typeof (gender) !== 'undefined' && gender !== null) {\r\n if (gender === 1 || gender === 2) {\r\n return gender;\r\n }\r\n var genderLower = gender.toString().toLowerCase();\r\n if (genderLower === \"1\" || genderLower === \"m\" || genderLower === \"male\") {\r\n return 1;\r\n }\r\n if (genderLower === \"2\" || genderLower === \"f\" || genderLower === \"female\") {\r\n return 2;\r\n }\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"convertGenderToID\" });\r\n }\r\n return null;\r\n };\r\n\r\n var isLoggedIntoSite = function(onComplete) {\r\n try {\r\n ui_busy();\r\n var url = \"/v3/lps/api/signinstatus\";\r\n var startTime = new Date().getTime();\r\n var timeoutValue = 30000;\r\n jQuery.ajax({\r\n type: \"GET\",\r\n url: url,\r\n data: {},\r\n dataType: \"json\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function(loginData) {\r\n ui_done();\r\n var username = \"\";\r\n var userId = \"\";\r\n var token = null;\r\n var signinStatus = false;\r\n if (loginData && loginData.status === \"Success\") {\r\n signinStatus = !!loginData.signInStatus;\r\n token = loginData.token;\r\n username = (loginData.token && loginData.token.username) ? loginData.token.username : \"\";\r\n userId = (loginData.token && loginData.token.userId) ? loginData.token.userId : \"\";\r\n }\r\n onComplete(null, {\r\n signinStatus: signinStatus,\r\n token: token,\r\n userId: userId,\r\n username: username\r\n });\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n ui_done();\r\n var endTime = new Date().getTime();\r\n var duration = (endTime - startTime);\r\n var data = convertAjaxErrorToFault(jqXHR, textStatus, errorThrown);\r\n if (!data.IsCancelled) {\r\n logAjax({ oid: Oid, method: \"isLoggedIntoSite\", url: url, duration: duration, jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown });\r\n }\r\n onComplete(data, null);\r\n },\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"isLoggedIntoSite\" });\r\n onComplete(createGeneralError(), null);\r\n }\r\n };\r\n\r\n var gotoPromoUpgrade = function () {\r\n try {\r\n isLoggedIntoSite(function (loginErr, loginData) {\r\n var keyValues = PeopleMedia.Net.getQueryString();\r\n var loginQS = PeopleMedia.Net.getQueryStringValue(keyValues, \"login\");\r\n var isLoggedIn = (loginErr === null && loginData && loginData.signinStatus);\r\n if (isLoggedIn ||\r\n typeof (loginQS) === \"undefined\" ||\r\n loginQS === null ||\r\n loginQS.length <= 2) {\r\n gotoSite(\"/v3/upgrade\");\r\n return;\r\n }\r\n gotoSite(\"/v3/autologin?lpsal=true&ofp=u\");\r\n });\r\n }\r\n catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"gotoPromoUpgrade\" });\r\n }\r\n };\r\n\r\n var apiMemberRequest = function(memberRequestData, onComplete) {\r\n try {\r\n memberRequestData = memberRequestData || {};\r\n var memberRequestDataWithContext = $jq.extend({}, memberRequestData, {\r\n Context: {}\r\n });\r\n\r\n authenticateRegisteredMembers(\r\n function(authenticateRegisteredMembersErr, authenticateRegisteredMembersResponse) {\r\n var memberRequestDataWithTokenAndContext;\r\n if (authenticateRegisteredMembersErr === null && authenticateRegisteredMembersResponse) {\r\n // authentication successful or already logged in\r\n memberRequestDataWithTokenAndContext = $jq.extend({},\r\n memberRequestDataWithContext,\r\n {\r\n Token: authenticateRegisteredMembersResponse.token || {}\r\n });\r\n onComplete(null, memberRequestDataWithTokenAndContext);\r\n } else {\r\n // authentication failed\r\n onComplete(authenticateRegisteredMembersErr, memberRequestDataWithContext);\r\n }\r\n });\r\n\r\n } catch (ex) {\r\n // unable to retrieve login status; treat as login failure\r\n handleException(ex, { oid: Oid, method: \"apiMemberRequest\" });\r\n onComplete(createGeneralError(), memberRequestData);\r\n }\r\n };\r\n\r\n var authenticateRegisteredMembers = function(completeFunction) {\r\n try {\r\n var timeout = 60000;\r\n var startTime = new Date().getTime();\r\n var url = \"/v3/lps/api/AuthenticateWithPersistentLogin\";\r\n\r\n jQuery.ajax({\r\n headers: PeopleMedia.CP.LpsPostbackHeader(),\r\n type: 'POST',\r\n url: url,\r\n data: {},\r\n dataType: \"json\",\r\n success: function(response) {\r\n if (response && response.redirect) {\r\n location.href = response.redirect;\r\n } else if (response && response.status === \"Success\") {\r\n if (response.publicMemberId) {\r\n _publicMemberId = response.publicMemberId;\r\n } else {\r\n _publicMemberId = \"\";\r\n }\r\n if (response.gender) {\r\n GenderID(response.gender);\r\n }\r\n if (response.seeking) {\r\n GenderSeekID(response.seeking);\r\n }\r\n if (response.visitorId && response.visitorId > 0) {\r\n SessionVisitorID(response.visitorId);\r\n }\r\n if (response.username) {\r\n Username(response.username);\r\n } else {\r\n Username(null);\r\n }\r\n } else {\r\n _publicMemberId = \"\";\r\n // EncodedMemberID(null);\r\n Username(null);\r\n }\r\n completeFunction(null, response);\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n var endTime = new Date().getTime();\r\n var duration = (endTime - startTime);\r\n var data = convertAjaxErrorToFault(jqXHR, textStatus, errorThrown);\r\n if (!data.IsCancelled) {\r\n logAjax({ oid: Oid, method: \"authenticateRegisteredMembers\", url: url, duration: duration, jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown });\r\n }\r\n completeFunction(data, null);\r\n },\r\n async: true,\r\n cache: false,\r\n timeout: timeout\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"authenticateRegisteredMembers\" });\r\n completeFunction(createGeneralError(), null);\r\n }\r\n };\r\n\r\n var getSelfProfileComplete = function(getSelfProfileCompleteRequest, onComplete) {\r\n try {\r\n apiMemberRequest(getSelfProfileCompleteRequest,\r\n function(err, apiMemberRequestResponse) {\r\n if (err === null &&\r\n apiMemberRequestResponse) {\r\n\r\n var url = \"/v3/lps/api/SelfProfileComplete\";\r\n var ajaxData = {\r\n \"DetailLevel\": 1\r\n };\r\n\r\n var startTime = new Date().getTime();\r\n var timeoutValue = 60000;\r\n jQuery.ajax({\r\n headers: PeopleMedia.CP.LpsPostbackHeader(),\r\n type: \"POST\",\r\n url: url,\r\n data: JSON.stringify(ajaxData),\r\n dataType: \"json\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (getSelfProfileCompleteResponse) {\r\n if (getSelfProfileCompleteResponse && getSelfProfileCompleteResponse.publicMemberId) {\r\n _publicMemberId = getSelfProfileCompleteResponse.publicMemberId;\r\n }\r\n var detailResponse = $jq.extend({}, getSelfProfileCompleteResponse, {\r\n requestData: apiMemberRequestResponse\r\n });\r\n onComplete(null, detailResponse);\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n var endTime = new Date().getTime();\r\n var duration = (endTime - startTime);\r\n var data = convertAjaxErrorToFault(jqXHR, textStatus, errorThrown);\r\n if (!data.IsCancelled) {\r\n logAjax({ oid: Oid, method: \"getSelfProfileComplete\", url: url, duration: duration, jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown });\r\n }\r\n onComplete(data, null);\r\n },\r\n async: true,\r\n cache: false,\r\n timeout: timeoutValue\r\n });\r\n\r\n } else {\r\n onComplete(createGeneralError(), null);\r\n }\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"getSelfProfileComplete\" });\r\n if (typeof (onComplete) === \"function\") {\r\n onComplete(createGeneralError(), null);\r\n }\r\n }\r\n };\r\n\r\n var convertSelfProfileCompleteToCommunityMember = function(selfProfileCompleteResponse, memberId, emailAddress) {\r\n var result = {};\r\n try {\r\n result.Identifier = (memberId) ? memberId.toString() : \"\";\r\n result.EmailAddress = (emailAddress) ? emailAddress : \"\";\r\n if (selfProfileCompleteResponse) {\r\n if (selfProfileCompleteResponse.AutoLoginDetail) {\r\n result.AutoLoginUrl =\r\n \"https://\" +\r\n window.location.hostname +\r\n \"/v3/autologin?login=XX\" +\r\n selfProfileCompleteResponse.AutoLoginDetail;\r\n }\r\n\r\n if (selfProfileCompleteResponse.Username) {\r\n result.NickName = selfProfileCompleteResponse.Username;\r\n }\r\n if (selfProfileCompleteResponse.EncodedMemberId) {\r\n result.EncodedIdentifier = selfProfileCompleteResponse.EncodedMemberId;\r\n }\r\n if (selfProfileCompleteResponse.SiteId) {\r\n result.SiteId = selfProfileCompleteResponse.SiteId;\r\n }\r\n if (selfProfileCompleteResponse.Gender) {\r\n result.Gender = selfProfileCompleteResponse.Gender;\r\n }\r\n if (selfProfileCompleteResponse.SeekingGender) {\r\n result.SeekingGender = selfProfileCompleteResponse.SeekingGender;\r\n }\r\n\r\n if (selfProfileCompleteResponse.publicMemberId) {\r\n result.PublicMemberId = selfProfileCompleteResponse.publicMemberId;\r\n }\r\n // assume user creation was valid\r\n result.IsDuplicateEmailAddressOnSisterSite = false;\r\n result.IsDuplicateEmailAddressUsernameAndPasswordOnSisterSite = false;\r\n result.SisterSiteID = 0;\r\n result.SisterSiteName = null;\r\n if (selfProfileCompleteResponse.requestData) {\r\n if (selfProfileCompleteResponse.requestData.Context) {\r\n result.Context = selfProfileCompleteResponse.requestData.Context;\r\n }\r\n if (selfProfileCompleteResponse.requestData.Token) {\r\n result.Token = selfProfileCompleteResponse.requestData.Token;\r\n }\r\n }\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"convertSelfProfileCompleteToCommunityMember\" });\r\n }\r\n return result;\r\n };\r\n\r\n var createGeneralError = function(errMessage) {\r\n return { Field: \"\", Text: errMessage || \"Error\" };\r\n };\r\n\r\n // was PeopleMedia.UI.loadDDL\r\n var loadDDL = function(ddlId, data, valuePropertyName, textPropertyName) {\r\n try {\r\n var ddl = document.getElementById(ddlId);\r\n $jq.each(data,\r\n function(idx, item) {\r\n try {\r\n var o = document.createElement(\"option\");\r\n o.text = item[textPropertyName];\r\n o.value = item[valuePropertyName];\r\n try {\r\n ddl.add(o, null);\r\n } catch (ex) { // ie only\r\n ddl.add(o);\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Diagnostics.handleException(ex, { oid: Oid, method: \"loadDDL each\" });\r\n }\r\n });\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"loadDDL\" });\r\n }\r\n };\r\n\r\n // was PeopleMedia.UI.loadAgeDropDownList\r\n var loadAgeDropDownList = function(name) {\r\n try {\r\n if ($jq('#' + name)) {\r\n var dropDown = $jq('#' + name);\r\n var selected = $jq('#' + name).val();\r\n dropDown.empty();\r\n for (var i = 18; i <= 120; i++) {\r\n dropDown.append(\"\");\r\n }\r\n $jq('#' + name).val(selected);\r\n }\r\n } catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"loadAgeDropDownList\" });\r\n }\r\n };\r\n\r\n var initDefaultForm = function () {\r\n try {\r\n addEnterKeyAction('.defaultForm', '.defaultButton');\r\n loadAgeDropDownList('minage');\r\n loadAgeDropDownList('maxage');\r\n }\r\n catch (ex) {\r\n handleException(ex, { oid: Oid, method: \"initDefaultForm\" });\r\n }\r\n };\r\n\r\n var getPublicMemberProperties = function () {\r\n return {\r\n SiteId: _siteID,\r\n PublicMemberId: _publicMemberId,\r\n Username: _username,\r\n GenderId: _genderID,\r\n GenderSeekId: _genderSeekID\r\n };\r\n };\r\n\r\n return {\r\n get Member() { return getPublicMemberProperties(); },\r\n DomainName: DomainName,\r\n Subdomain: Subdomain,\r\n SiteID: SiteID,\r\n SearchID: SearchID,\r\n AffiliateID: AffiliateID,\r\n VisitorID: VisitorID,\r\n SessionVisitorID: SessionVisitorID,\r\n GenderID: GenderID,\r\n GenderSeekID: GenderSeekID,\r\n Username: Username,\r\n CpServer: CpServer,\r\n AutoLoginEnabled: AutoLoginEnabled,\r\n PersistentLoginEnabled: PersistentLoginEnabled,\r\n GenderSeekEnabled: GenderSeekEnabled,\r\n InvalidEmailDomainCheckEnabled: InvalidEmailDomainCheckEnabled,\r\n VersionedContentRoot: VersionedContentRoot,\r\n DefaultGenderID: DefaultGenderID,\r\n DefaultGenderSeekID: DefaultGenderSeekID,\r\n AjaxErrorMessage: AjaxErrorMessage,\r\n FacebookAppId: FacebookAppId,\r\n FacebookImportReset: FacebookImportReset,\r\n FacebookImportSelected: FacebookImportSelected,\r\n FacebookImportAttempted: FacebookImportAttempted,\r\n FacebookImportFailed: FacebookImportFailed,\r\n FacebookImportGreetingFailed: FacebookImportGreetingFailed,\r\n FacebookImportPhotoFailed: FacebookImportPhotoFailed,\r\n FacebookImportMember: FacebookImportMember,\r\n FacebookAuthData: FacebookAuthData,\r\n convertAjaxErrorToFault: convertAjaxErrorToFault,\r\n convertFaultToError: convertFaultToError,\r\n getFirstError: getFirstError,\r\n init: init,\r\n initLogging: initLogging,\r\n onReady: onReady,\r\n ready: ready,\r\n ui_busy: ui_busy,\r\n ui_done: ui_done,\r\n handleException: handleException,\r\n logAjax: logAjax,\r\n logMessage: logMessage,\r\n formatRegistrationEventError: formatRegistrationEventError,\r\n formatRegistrationEventAlias: formatRegistrationEventAlias,\r\n trackRegistrationPage: trackRegistrationPage,\r\n trackRegistrationSuccess: trackRegistrationSuccess,\r\n trackRegistrationFailure: trackRegistrationFailure,\r\n trackRegistrationEventShowRegQuestionsWithCategory: trackRegistrationEventShowRegQuestionsWithCategory,\r\n trackRegistrationEventShowRegQuestions: trackRegistrationEventShowRegQuestions,\r\n trackRegistrationEventShowRegErrors: trackRegistrationEventShowRegErrors,\r\n trackRegistrationEventShow: trackRegistrationEventShow,\r\n trackRegistrationEventShowWithAliasPanelViewed: trackRegistrationEventShowWithAliasPanelViewed,\r\n trackRegistrationEventAliasPanelViewed: trackRegistrationEventAliasPanelViewed,\r\n trackRegistrationEventAliasButtonTapped: trackRegistrationEventAliasButtonTapped,\r\n trackRegistrationEventOneClickGreetingSubmit: trackRegistrationEventOneClickGreetingSubmit,\r\n trackMemberRegistrationEvent: trackMemberRegistrationEvent,\r\n trackMemberRegistrationEvents: trackMemberRegistrationEvents,\r\n trackRegistrationEventAnalytics: trackRegistrationEventAnalytics,\r\n finishCompletion: finishCompletion,\r\n addEnterKeyAction: addEnterKeyAction,\r\n getSiteUrl: getSiteUrl,\r\n startLoginFlow: startLoginFlow,\r\n gotoSite: gotoSite,\r\n gotoCPPage: gotoCPPage,\r\n gotoPromoUpgrade: gotoPromoUpgrade,\r\n authenticateRegisteredMembers: authenticateRegisteredMembers,\r\n getSelfProfileComplete: getSelfProfileComplete,\r\n convertSelfProfileCompleteToCommunityMember: convertSelfProfileCompleteToCommunityMember,\r\n createGeneralError: createGeneralError,\r\n createErrorObject: createErrorObject,\r\n initDefaultForm: initDefaultForm,\r\n loadDDL: loadDDL,\r\n ClientMessages: ClientMessages,\r\n LpsPostbackHeader: LpsPostbackHeader,\r\n PageAlias: PageAlias\r\n };\r\n})(jQuery);\r\n\r\nPeopleMedia.CP.Messaging = (function ($jq) {\r\n \"use strict\";\r\n var Oid = \"PeopleMedia.CP.Messaging\";\r\n var _messages = null;\r\n var _handlers = [];\r\n\r\n var addHandler = function (cb) {\r\n try {\r\n if (typeof (cb) === \"function\") {\r\n _handlers.push(cb);\r\n }\r\n } catch (ex) {\r\n PeopleMedia.CP.handleException(ex, { oid: Oid, method: \"addHandler\" });\r\n }\r\n };\r\n\r\n var removeHandler = function(cb) {\r\n try {\r\n if (typeof (cb) === \"function\") {\r\n for (var i = 0; i < _handlers.length; ++i) {\r\n if (_handlers[i] === cb) {\r\n _handlers.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n } catch (ex) {\r\n PeopleMedia.CP.handleException(ex, { oid: Oid, method: \"removeHandler\" });\r\n }\r\n };\r\n\r\n var invoke = function() {\r\n try {\r\n var result;\r\n var results = [];\r\n for (var i = 0; i < _handlers.length; ++i) {\r\n var handler = _handlers[i];\r\n if (typeof (handler) === \"function\") {\r\n try {\r\n result = handler.apply(null, arguments);\r\n if (typeof (result) !== \"undefined\") {\r\n results.push(result);\r\n }\r\n } catch (cbex) {\r\n PeopleMedia.CP.handleException(cbex, { oid: Oid, method: \"invoke callback\" });\r\n }\r\n }\r\n }\r\n return results;\r\n } catch (ex) {\r\n PeopleMedia.CP.handleException(ex, { oid: Oid, method: \"invoke\" });\r\n }\r\n };\r\n\r\n var hasMessageSummary = function () {\r\n return $jq('.errorMessageSummary').length > 0;\r\n };\r\n\r\n var getMessageSummary = function () {\r\n return $jq('.errorMessageSummary');\r\n };\r\n\r\n var hasFieldLevelError = function (fieldName) {\r\n return $jq('.error_' + fieldName).length > 0;\r\n };\r\n\r\n var getFieldLevelError = function (fieldName) {\r\n return $jq('.error_' + fieldName).filter('.fieldError');\r\n };\r\n\r\n var addOnShowMessages = function (cb) {\r\n addHandler(cb);\r\n };\r\n\r\n var removeOnShowMessages = function (cb) {\r\n removeHandler(cb);\r\n };\r\n\r\n var reset = function() {\r\n try {\r\n if (hasMessageSummary) {\r\n getMessageSummary().html('');\r\n getMessageSummary().hide();\r\n //getMessageSummary().fadeTo('fast', '1.0');\r\n }\r\n\r\n $jq('.fieldError').each(function() {\r\n $jq(this).hide();\r\n });\r\n\r\n if (_messages) {\r\n for (var i = 0; i < _messages.length; i++) {\r\n var field = $jq('input[name=\"' + _messages[i].Field + '\"]')[0];\r\n var label = $jq('label[for=\"' + _messages[i].Field + '\"]')[0];\r\n\r\n $jq(label).removeClass('invalidFieldLabel');\r\n $jq(field).removeClass('invalidField');\r\n }\r\n }\r\n\r\n _messages = null;\r\n } catch (ex) {\r\n PeopleMedia.CP.handleException(ex, { oid: Oid, method: \"reset\" });\r\n }\r\n };\r\n\r\n var show = function(messages) {\r\n try {\r\n invoke(messages);\r\n\r\n reset();\r\n\r\n var messageTracking = [];\r\n _messages = messages;\r\n\r\n if (hasMessageSummary()) {\r\n getMessageSummary().html('
' +\r\n messages[i].Text +\r\n '
Yes