{"version":3,"sources":["lps_core.js"],"names":["PeopleMedia","Net","Oid","handleException","CP","apply","arguments","ex","createCookie","name","value","days","serialize","cookieDomain","cookieValue","expires","getDomainName","toLowerCase","date","Date","setTime","getTime","toGMTString","length","serializeKeyValues","document","cookie","oid","method","hostname","host","window","location","arr","split","arrLen","test","readCookie","raw","nameEQ","ca","i","c","charAt","substring","indexOf","val","parseKeyValueString","eraseCookie","hash","pieces","pair","key","decodeURIComponent","str","pairs","hasOwnProperty","push","encodeURIComponent","join","getQueryString","queryString","qs","search","parseQueryString","keyVals","count","equalPos","createQueryString","keyValues","excludeKeys","keyFound","currentKeyValuePair","currentKey","currentKeyLower","currentValue","newQS","Array","isArray","excludeIndex","excludeCount","getQueryStringValue","keyLower","createKeyValues","dict","addQueryStringValue","url","newUrl","nameValue","getUrlWithoutQueryString","qIndex","getQueryStringFromUrl","getQueryStringKeys","result","getQueryStringKeyValue","persistCookies","response","Cookies","supportsWebStorage","sessionStorage","setItem","readTest","getItem","removeItem","e","loadState","state","JSON","parse","saveState","serializedValue","stringify","clearState"],"mappings":"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","file":"../lps_core.js","sourcesContent":["var PeopleMedia = PeopleMedia || {};\r\nPeopleMedia.Net = (function () {\r\n    \"use strict\";\r\n    var Oid = \"PeopleMedia.Net\";\r\n\r\n    var handleException = function () {\r\n        try {\r\n            if (typeof (PeopleMedia.CP.handleException) === \"function\") {\r\n                PeopleMedia.CP.handleException.apply(null, arguments);\r\n            }\r\n        } catch (ex) {\r\n        }\r\n    };\r\n\r\n    var createCookie = function(name, value, days, serialize) {\r\n        var cookieDomain = null;\r\n        try {\r\n            var expires = \"\";\r\n            var cookieValue;\r\n            cookieDomain = (getDomainName()).toLowerCase();\r\n            if (days) {\r\n                var date = new Date();\r\n                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n                expires = \"; expires=\" + date.toGMTString();\r\n            }\r\n            cookieValue = (arguments.length > 3 && serialize) ? serializeKeyValues(value) : value;\r\n            document.cookie = name + \"=\" + cookieValue + expires + \"; path=/; domain=\" + cookieDomain + \";secure\";\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"createCookie\", cookieDomain: cookieDomain });\r\n        }\r\n    };\r\n\r\n    var getDomainName = function(hostname) {\r\n        var host;\r\n        try {\r\n            host = hostname || window.location.hostname;\r\n            var arr = host.split('.');\r\n            var arrLen = arr.length;\r\n            if (arrLen === 3) {\r\n                return arr[1] + '.' + arr[2];\r\n            }\r\n            if (arrLen === 4) {\r\n                var ip = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$/g;\r\n                if (ip.test(host)) {\r\n                    return host;\r\n                }\r\n            }\r\n            if (arrLen > 3) {\r\n                return arr[arrLen - 2] + '.' + arr[arrLen - 1];\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getDomainName\" });\r\n        }\r\n        return host;\r\n    };\r\n\r\n    var readCookie = function(name, raw) {\r\n        try {\r\n            var nameEQ = name + \"=\";\r\n            var ca = document.cookie.split(';');\r\n            for (var i = 0; i < ca.length; i++) {\r\n                var c = ca[i];\r\n                while (c.charAt(0) === ' ') {\r\n                    c = c.substring(1, c.length);\r\n                }\r\n                if (c.indexOf(nameEQ) === 0) {\r\n                    var val = c.substring(nameEQ.length, c.length);\r\n                    if (!raw && (val.indexOf('&') >= 0 || val.indexOf('=') >= 0)) {\r\n                        return parseKeyValueString(val);\r\n                    } else {\r\n                        return val;\r\n                    }\r\n                }\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"readCookie\", name: name });\r\n        }\r\n        return null;\r\n    };\r\n\r\n    var eraseCookie = function(name) {\r\n        try {\r\n            createCookie(name, \"\", -1);\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"eraseCookie\", name: name });\r\n        }\r\n    };\r\n\r\n    var parseKeyValueString = function(val) {\r\n        var hash = [];\r\n        try {\r\n            var pieces = val.split('&');\r\n            for (var i = 0; i < pieces.length; i++) {\r\n                var pair = pieces[i].split('=');\r\n                if (pair.length > 0) {\r\n                    var key = decodeURIComponent(pair[0]);\r\n                    var str = decodeURIComponent(pair[1]);\r\n                    hash[key] = str;\r\n                }\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"parseKeyValueString\" });\r\n        }\r\n        return hash;\r\n    };\r\n\r\n    var serializeKeyValues = function(hash) {\r\n        try {\r\n            if (typeof(hash) !== \"undefined\" && hash !== null) {\r\n                var pairs = [];\r\n                for (var key in hash) {\r\n                    if (hash.hasOwnProperty(key)) {\r\n                        pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(hash[key]));\r\n                    }\r\n                }\r\n                return pairs.join('&');\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"serializeKeyValues\" });\r\n        }\r\n        return null;\r\n    };\r\n\r\n    var getQueryString = function(queryString) {\r\n        try {\r\n            var qs = (typeof (queryString) === 'undefined' || queryString === null)\r\n                ? window.location.search\r\n                : queryString;\r\n            return parseQueryString(qs);\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getQueryString\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var parseQueryString = function(queryString) {\r\n        try {\r\n            var keyVals = [];\r\n            var raw;\r\n            if (typeof (queryString) === 'undefined' || queryString === null || queryString.length < 1) {\r\n                raw = '';\r\n            } else if (queryString.substring(0, 1) === '?') {\r\n                raw = queryString.substring(1);\r\n            } else {\r\n                raw = queryString;\r\n            }\r\n            var pairs = raw.split(\"&\");\r\n            for (var i = 0, count = pairs.length; i < count; i++) {\r\n                var key = \"\";\r\n                var val = \"\";\r\n                var equalPos = pairs[i].indexOf(\"=\");\r\n\r\n                if (equalPos < 0) {\r\n                    key = pairs[i];\r\n                    val = null;\r\n                } else {\r\n                    if (equalPos >= 1) {\r\n                        key = pairs[i].substring(0, equalPos);\r\n                    }\r\n                    if (equalPos < pairs[i].length - 1) {\r\n                        val = pairs[i].substring(equalPos + 1, pairs[i].length);\r\n                    }\r\n                }\r\n                if (key.length > 0) {\r\n                    keyVals.push({ \"key\": key, \"value\": val });\r\n                }\r\n            }\r\n            return keyVals;\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"parseQueryString\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var createQueryString = function(keyValues, excludeKeys) {\r\n        try {\r\n            var newQS = \"\";\r\n            var keyFound;\r\n            var currentKeyValuePair;\r\n            var currentKey;\r\n            var currentKeyLower;\r\n            var currentValue;\r\n            if (typeof (excludeKeys) === 'undefined' || excludeKeys === null || excludeKeys.length <= 0) {\r\n                excludeKeys = [];\r\n            }\r\n            if (Array.isArray(keyValues)) {\r\n                for (var i = 0, count = keyValues.length; i < count; i++) {\r\n                    currentKeyValuePair = keyValues[i];\r\n                    if (typeof (currentKeyValuePair) !== 'undefined' && currentKeyValuePair !== null && currentKeyValuePair.hasOwnProperty(\"key\") && currentKeyValuePair.hasOwnProperty(\"value\")) {\r\n                        currentKey = currentKeyValuePair.key;\r\n                        currentKeyLower = (typeof (currentKey) !== 'undefined' && currentKey !== null) ? currentKey.toLowerCase() : currentKey;\r\n                        currentValue = currentKeyValuePair.value;\r\n                        keyFound = false;\r\n                        for (var excludeIndex = 0, excludeCount = excludeKeys.length; excludeIndex < excludeCount; excludeIndex++) {\r\n                            if (excludeKeys[excludeIndex] && excludeKeys[excludeIndex].toLowerCase() === currentKeyLower) {\r\n                                keyFound = true;\r\n                                break;\r\n                            }\r\n                        }\r\n                        if (!keyFound) {\r\n                            if (newQS.length > 0) {\r\n                                newQS += \"&\";\r\n                            }\r\n                            newQS += currentKey + ((typeof (currentValue) !== 'undefined' && currentValue !== null) ? (\"=\" + currentValue) : '');\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            if (newQS.length > 0) {\r\n                newQS = \"?\" + newQS;\r\n            }\r\n            return newQS;\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"createQueryString\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var getQueryStringValue = function(keyValues, key) {\r\n        try {\r\n            var currentKeyValuePair;\r\n            var currentKey;\r\n            var currentKeyLower;\r\n            var keyLower;\r\n            if (typeof (keyValues) !== 'undefined' && keyValues !== null && typeof (key) !== 'undefined' && key !== null) {\r\n                if (Array.isArray(keyValues)) {\r\n                    keyLower = key.toLowerCase();\r\n                    for (var i = 0, count = keyValues.length; i < count; i++) {\r\n                        currentKeyValuePair = keyValues[i];\r\n                        if (typeof (currentKeyValuePair) !== 'undefined' && currentKeyValuePair !== null && currentKeyValuePair.hasOwnProperty(\"key\") && currentKeyValuePair.hasOwnProperty(\"value\")) {\r\n                            currentKey = currentKeyValuePair.key;\r\n                            currentKeyLower = (typeof (currentKey) !== 'undefined' && currentKey !== null) ? currentKey.toLowerCase() : currentKey;\r\n                            if (currentKeyLower === keyLower) {\r\n                                return currentKeyValuePair.value;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getQueryStringValue\" });\r\n        }\r\n        return null;\r\n    };\r\n\r\n    var createKeyValues = function(dict) {\r\n        try {\r\n            var keyVals = [];\r\n            var val;\r\n            for (var key in dict) {\r\n                if (dict.hasOwnProperty(key) && typeof (key) !== 'undefined' && key !== null && key.length > 0) {\r\n                    val = dict[key];\r\n                    keyVals.push({ \"key\": key, \"value\": val });\r\n                }\r\n            }\r\n            return keyVals;\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"createKeyValues\" });\r\n        }\r\n        return [];\r\n    };\r\n\r\n    var addQueryStringValue = function(url, name, val) {\r\n        try {\r\n            var newUrl = (typeof (url) !== 'undefined' && url !== null) ? url : '';\r\n            var nameValue = ((typeof (name) !== 'undefined' && name !== null) ? name : '') + ((typeof (val) !== 'undefined' && val !== null) ? (\"=\" + val) : '');\r\n            if (nameValue.length > 0) {\r\n                return newUrl + ((newUrl.indexOf(\"?\") < 0) ? '?' : '&') + nameValue;\r\n            } else {\r\n                return newUrl;\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"addQueryStringValue\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var getUrlWithoutQueryString = function(url) {\r\n        try {\r\n            if (typeof (url) === 'undefined' || url === null) {\r\n                return '';\r\n            }\r\n            var qIndex = url.indexOf(\"?\");\r\n            if (qIndex < 0) {\r\n                return url;\r\n            } else {\r\n                return url.substring(0, qIndex);\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getUrlWithoutQueryString\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var getQueryStringFromUrl = function(url) {\r\n        try {\r\n            if (typeof (url) === 'undefined' || url === null) {\r\n                return '';\r\n            }\r\n            var qIndex = url.indexOf(\"?\");\r\n            if (qIndex > 0) {\r\n                return url.substring(qIndex + 1);\r\n            } else {\r\n                return '';\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getQueryStringFromUrl\" });\r\n            return [];\r\n        }\r\n    };\r\n\r\n    var getQueryStringKeys = function(keyValues) {\r\n        var result = [];\r\n        try {\r\n            var currentKeyValuePair;\r\n            var currentKey;\r\n            if (typeof (keyValues) !== 'undefined' && keyValues !== null) {\r\n                if (Array.isArray(keyValues)) {\r\n                    for (var i = 0, count = keyValues.length; i < count; i++) {\r\n                        currentKeyValuePair = keyValues[i];\r\n                        if (typeof (currentKeyValuePair) !== 'undefined' && currentKeyValuePair !== null && currentKeyValuePair.hasOwnProperty(\"key\") && currentKeyValuePair.hasOwnProperty(\"value\")) {\r\n                            currentKey = currentKeyValuePair.key;\r\n                            if (typeof (currentKey) !== 'undefined' && currentKey !== null) {\r\n                                result.push(currentKey);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getQueryStringKeys\" });\r\n        }\r\n        return result;\r\n    };\r\n\r\n    var getQueryStringKeyValue = function (key) {\r\n        try {\r\n            var qs = PeopleMedia.Net.getQueryString();\r\n            return PeopleMedia.Net.getQueryStringValue(qs, key); \r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"getQueryStringKeyValue\", key: key });\r\n            return null;\r\n        }\r\n    };\r\n\r\n    var persistCookies = function (response) {\r\n        if (response.Cookies) {\r\n            for (var key in response.Cookies) {\r\n                if (response.Cookies.hasOwnProperty(key)) {\r\n                    PeopleMedia.Net.createCookie(key, response.Cookies[key], 30);\r\n                }\r\n            }\r\n        }\r\n    };\r\n\r\n    var supportsWebStorage = function() {\r\n        try {\r\n            window.sessionStorage.setItem('Lps.State.Test', '1');\r\n            var readTest = window.sessionStorage.getItem('Lps.State.Test');\r\n            window.sessionStorage.removeItem('Lps.State.Test');\r\n            return (readTest === '1');\r\n        } catch (e) {\r\n            return false;\r\n        }\r\n    };\r\n\r\n    var loadState = function(name) {\r\n        var state = {};\r\n        name = name || \"Lps.State\";\r\n        if (supportsWebStorage()) {\r\n            state = window.sessionStorage.getItem(name);\r\n        } else {\r\n            state = readCookie(name, true);\r\n        }\r\n        try {\r\n            state = JSON.parse(state);\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"loadState\", name: name });\r\n            state = null;\r\n        }\r\n        return state || {};\r\n    };\r\n\r\n    var saveState = function(name, value) {\r\n        try {\r\n            name = name || \"Lps.State\";\r\n            var serializedValue = JSON.stringify(value);\r\n            if (supportsWebStorage()) {\r\n                window.sessionStorage.setItem(name, serializedValue);\r\n            } else {\r\n                createCookie(name, serializedValue);\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"saveState\", name: name });\r\n        }\r\n    };\r\n\r\n    var clearState = function(name) {\r\n        try {\r\n            name = name || \"Lps.State\";\r\n            if (supportsWebStorage()) {\r\n                window.sessionStorage.removeItem(name);\r\n            } else {\r\n                eraseCookie(name);\r\n            }\r\n        } catch (ex) {\r\n            handleException(ex, { oid: Oid, method: \"clearState\", name: name });\r\n        }\r\n    };\r\n\r\n    return {\r\n        createCookie: createCookie,\r\n        getDomainName: getDomainName,\r\n        readCookie: readCookie,\r\n        eraseCookie: eraseCookie,\r\n        persistCookies: persistCookies,\r\n        getQueryString: getQueryString,\r\n        parseQueryString: parseQueryString,\r\n        createQueryString: createQueryString,\r\n        getQueryStringValue: getQueryStringValue,\r\n        addQueryStringValue: addQueryStringValue,\r\n        getUrlWithoutQueryString: getUrlWithoutQueryString,\r\n        getQueryStringFromUrl: getQueryStringFromUrl,\r\n        getQueryStringKeys: getQueryStringKeys,\r\n        getQueryStringKeyValue: getQueryStringKeyValue,\r\n        parseKeyValueString: parseKeyValueString,\r\n        createKeyValues: createKeyValues,\r\n        supportsWebStorage: supportsWebStorage,\r\n        loadState: loadState,\r\n        saveState: saveState,\r\n        clearState: clearState\r\n    };\r\n})();\r\n"]}